Maximum Drawdown
PortfolioOptimisers.MaximumDrawdown Type
struct MaximumDrawdown{__T_settings} <: RiskMeasureRepresents the Maximum Drawdown risk measure.
MaximumDrawdown computes the largest peak-to-trough decline in the cumulative portfolio returns. It captures the worst-case loss from a previous high.
Mathematical definition
Define the absolute drawdown series:
Where:
: Portfolio returns vector . : Cumulative simple portfolio return at period . : Absolute drawdown at period .
The Maximum Drawdown is the most negative value in the drawdown series:
Where:
: Maximum drawdown. : Number of observations. : Absolute drawdown at period .
Fields
settings: Risk measure settings.
Constructors
MaximumDrawdown(;
settings::RiskMeasureSettings = RiskMeasureSettings()
) -> MaximumDrawdownKeywords correspond to the struct's fields.
Functor
(r::MaximumDrawdown)(x::VecNum)Computes the Maximum Drawdown of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> MaximumDrawdown()
MaximumDrawdown
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: trueRelated
sourcePortfolioOptimisers.RelativeMaximumDrawdown Type
struct RelativeMaximumDrawdown{__T_settings} <: HierarchicalRiskMeasureRepresents the Relative Maximum Drawdown risk measure for hierarchical optimisation.
RelativeMaximumDrawdown computes the maximum of the relative (compounded) drawdown series.
Mathematical definition
Define the relative drawdown series:
Where:
: Portfolio returns vector . : Compound wealth process at period . : Relative drawdown at period .
The Relative Maximum Drawdown is:
Where:
: Relative maximum drawdown. : Number of observations. : Relative drawdown at period .
Fields
settings: Risk measure settings.
Constructors
RelativeMaximumDrawdown(;
settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings()
) -> RelativeMaximumDrawdownKeywords correspond to the struct's fields.
Functor
(r::RelativeMaximumDrawdown)(x::VecNum)Computes the Relative Maximum Drawdown of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> RelativeMaximumDrawdown()
RelativeMaximumDrawdown
settings ┼ HierarchicalRiskMeasureSettings
│ scale ┴ Float64: 1.0Related
source