#[repr(C)]pub struct MaxDrawdown {}Expand description
Calculates the Maximum Drawdown for returns.
Maximum Drawdown is the maximum observed loss from a peak to a trough, before a new peak is attained. It is an indicator of downside risk over a specified time period.
Formula: Max((Peak - Trough) / Peak) for all peak-trough sequences
The equity curve compounds returns from a starting value of 1.0, and the
result is reported as a negative fraction (e.g. -0.20 is a 20% drawdown).
§References
- Bacon, C. R. (2008). Practical Portfolio Performance Measurement and Attribution (2nd ed.). Wiley.
Implementations§
Source§impl MaxDrawdown
impl MaxDrawdown
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new MaxDrawdown instance.
Trait Implementations§
Source§impl Clone for MaxDrawdown
impl Clone for MaxDrawdown
Source§fn clone(&self) -> MaxDrawdown
fn clone(&self) -> MaxDrawdown
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MaxDrawdown
impl Debug for MaxDrawdown
Source§impl Default for MaxDrawdown
impl Default for MaxDrawdown
Source§fn default() -> MaxDrawdown
fn default() -> MaxDrawdown
Returns the “default value” for a type. Read more
Source§impl PortfolioStatistic for MaxDrawdown
impl PortfolioStatistic for MaxDrawdown
type Item = f64
Source§fn name(&self) -> String
fn name(&self) -> String
Returns the name of this statistic for display and identification purposes.
Source§fn calculate_from_returns(
&self,
returns: &BTreeMap<UnixNanos, f64>,
) -> Option<Self::Item>
fn calculate_from_returns( &self, returns: &BTreeMap<UnixNanos, f64>, ) -> 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>
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>
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>
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>
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>)
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
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
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
fn calculate_std(&self, returns: &Returns) -> f64
Calculates the standard deviation of returns with Bessel’s correction.
Auto Trait Implementations§
impl Freeze for MaxDrawdown
impl RefUnwindSafe for MaxDrawdown
impl Send for MaxDrawdown
impl Sync for MaxDrawdown
impl Unpin for MaxDrawdown
impl UnsafeUnpin for MaxDrawdown
impl UnwindSafe for MaxDrawdown
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more