Skip to content
13

Maximum Drawdown

PortfolioOptimisers.MaximumDrawdown Type
julia
struct MaximumDrawdown{__T_settings} <: RiskMeasure

Represents 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:

ct=s=1txs,dt=ctmax0stcs0.

The Maximum Drawdown is the most negative value in the drawdown series:

MDD(x)=min1tTdt.

Fields

  • settings: Risk measure configuration.

Constructors

julia
MaximumDrawdown(;
    settings::RiskMeasureSettings = RiskMeasureSettings()
) -> MaximumDrawdown

Keywords correspond to the struct's fields.

Functor

julia
(r::MaximumDrawdown)(x::VecNum)

Computes the Maximum Drawdown of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia
julia> MaximumDrawdown()
MaximumDrawdown
  settings ┼ RiskMeasureSettings
           │   scale ┼ Float64: 1.0
           │      ub ┼ nothing
           │     rke ┴ Bool: true

Related

source
PortfolioOptimisers.RelativeMaximumDrawdown Type
julia
struct RelativeMaximumDrawdown{__T_settings} <: HierarchicalRiskMeasure

Represents 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:

Ct=s=1t(1+xs),rdt=Ctmax0stCs10.

The Relative Maximum Drawdown is:

RMDD(x)=min1tTrdt.

Fields

  • settings: Hierarchical risk measure configuration.

Constructors

julia
RelativeMaximumDrawdown(;
    settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings()
) -> RelativeMaximumDrawdown

Keywords correspond to the struct's fields.

Functor

julia
(r::RelativeMaximumDrawdown)(x::VecNum)

Computes the Relative Maximum Drawdown of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia
julia> RelativeMaximumDrawdown()
RelativeMaximumDrawdown
  settings ┼ HierarchicalRiskMeasureSettings
           │   scale ┴ Float64: 1.0

Related

source