Skip to main content

ReturnsVolatility

Struct ReturnsVolatility 

Source
pub struct ReturnsVolatility { /* private fields */ }
Expand description

Calculates the annualized volatility (standard deviation) of portfolio returns.

Volatility is calculated as the standard deviation of returns, annualized by multiplying the daily standard deviation by the square root of the period: Standard Deviation * sqrt(period)

Uses Bessel’s correction (ddof=1) for sample standard deviation. This provides a measure of the portfolio’s risk or uncertainty of returns.

§References

  • CFA Institute Level I Curriculum: Quantitative Methods
  • Hull, J. C. (2018). Options, Futures, and Other Derivatives (10th ed.). Pearson.
  • Fabozzi, F. J., et al. (2002). The Handbook of Financial Instruments. Wiley.

Implementations§

Source§

impl ReturnsVolatility

Source

pub fn new(period: Option<usize>) -> Self

Creates a new ReturnsVolatility instance.

Trait Implementations§

Source§

impl Clone for ReturnsVolatility

Source§

fn clone(&self) -> ReturnsVolatility

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ReturnsVolatility

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ReturnsVolatility

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PortfolioStatistic for ReturnsVolatility

Source§

type Item = f64

Source§

fn name(&self) -> String

Returns the name of this statistic for display and identification purposes.
Source§

fn calculate_from_returns(&self, raw_returns: &Returns) -> Option<Self::Item>

Calculates the statistic from time-indexed returns data. Read more
Source§

fn calculate_from_realized_pnls( &self, _realized_pnls: &[f64], ) -> Option<Self::Item>

Calculates the statistic from realized profit and loss values. Read more
Source§

fn calculate_from_positions( &self, _positions: &[Position], ) -> Option<Self::Item>

Calculates the statistic from position data. Read more
Source§

fn calculate_from_orders( &self, orders: Vec<Box<dyn Order>>, ) -> Option<Self::Item>

Calculates the statistic from order data. Read more
Source§

fn calculate_from_returns_with_benchmark( &self, returns: &Returns, benchmark: &Returns, ) -> Option<Self::Item>

Calculates the statistic from time-indexed strategy returns relative to a benchmark. Read more
Source§

fn align_returns(&self, a: &Returns, b: &Returns) -> (Vec<f64>, Vec<f64>)

Aligns two returns series onto a common daily grid. Read more
Source§

fn check_valid_returns(&self, returns: &Returns) -> bool

Validates that returns data is not empty.
Source§

fn downsample_to_daily_bins(&self, returns: &Returns) -> Returns

Downsamples high-frequency returns to daily bins by geometric compounding. Read more
Source§

fn calculate_std(&self, returns: &Returns) -> f64

Calculates the standard deviation of returns with Bessel’s correction.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.