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:
\[\begin{align} c_t &= \sum_{s=1}^{t} x_s\,, \\ d_t &= c_t - \max_{0 \leq s \leq t} c_s \leq 0\,. \end{align}\]
Where:
- $\boldsymbol{x}$: Portfolio returns vector $T \times 1$.
- $c_t$: Cumulative simple portfolio return at period $t$.
- $d_t \leq 0$: Absolute drawdown at period $t$.
The Ulcer Index is:
\[\begin{align} \mathrm{UI}(\boldsymbol{x}) &= \sqrt{\frac{1}{T} \sum_{t=1}^{T} d_t^2} = \frac{\lVert \boldsymbol{d} \rVert_2}{\sqrt{T}}\,. \end{align}\]
Where:
- $\mathrm{UI}(\boldsymbol{x})$: Ulcer Index (root-mean-square drawdown).
- $T$: Number of observations.
- $d_t \leq 0$: Absolute drawdown at period $t$.
- $\boldsymbol{d}$: Absolute drawdown series vector $T \times 1$.
Fields
settings: Risk measure settings.
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
References
- [113] P. G. Martin and B. B. McCann. The Investor's Guide to Fidelity Funds (John Wiley & Sons, 1989).
PortfolioOptimisers.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:
\[\begin{align} C_t &= \prod_{s=1}^{t} (1 + x_s)\,, \\ rd_t &= \frac{C_t}{\max_{0 \leq s \leq t} C_s} - 1 \leq 0\,. \end{align}\]
Where:
- $\boldsymbol{x}$: Portfolio returns vector $T \times 1$.
- $C_t$: Compound wealth process at period $t$.
- $rd_t \leq 0$: Relative drawdown at period $t$.
The Relative Ulcer Index is:
\[\begin{align} \mathrm{RUI}(\boldsymbol{x}) &= \frac{\lVert \boldsymbol{rd} \rVert_2}{\sqrt{T}}\,. \end{align}\]
Where:
- $\mathrm{RUI}(\boldsymbol{x})$: Relative Ulcer Index (root-mean-square relative drawdown).
- $T$: Number of observations.
- $rd_t \leq 0$: Relative drawdown at period $t$.
- $\boldsymbol{rd}$: Relative drawdown series vector $T \times 1$.
Fields
settings: Risk measure settings.
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
References
- [113] P. G. Martin and B. B. McCann. The Investor's Guide to Fidelity Funds (John Wiley & Sons, 1989).
References
- [113]
- P. G. Martin and B. B. McCann. The Investor's Guide to Fidelity Funds (John Wiley & Sons, 1989).