Ulcer Index
PortfolioOptimisers.UlcerIndex Type
struct UlcerIndex{__T_settings} <: RiskMeasureRepresents the Ulcer Index risk measure.
UlcerIndex measures the depth and duration of drawdowns in portfolio returns. It is defined as the root-mean-square of the absolute drawdown series, capturing both the magnitude and persistence of losses.
Mathematical Definition
Define the absolute drawdown series:
The Ulcer Index is:
Fields
settings: Risk measure configuration.
Constructors
UlcerIndex(;
settings::RiskMeasureSettings = RiskMeasureSettings()
) -> UlcerIndexKeywords correspond to the struct's fields.
Functor
(r::UlcerIndex)(x::VecNum)Computes the Ulcer Index of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> UlcerIndex()
UlcerIndex
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: trueRelated
sourcePortfolioOptimisers.RelativeUlcerIndex Type
struct RelativeUlcerIndex{__T_settings} <: HierarchicalRiskMeasureRepresents the Relative Ulcer Index risk measure for hierarchical optimisation.
RelativeUlcerIndex applies the Ulcer Index framework to the relative (compounded) drawdown series.
Mathematical Definition
Define the relative drawdown series:
The Relative Ulcer Index is:
Fields
settings: Hierarchical risk measure configuration.
Constructors
RelativeUlcerIndex(;
settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings()
) -> RelativeUlcerIndexKeywords correspond to the struct's fields.
Functor
(r::RelativeUlcerIndex)(x::VecNum)Computes the Relative Ulcer Index of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> RelativeUlcerIndex()
RelativeUlcerIndex
settings ┼ HierarchicalRiskMeasureSettings
│ scale ┴ Float64: 1.0Related
source