Equal Risk Measure
PortfolioOptimisers.EqualRisk — Type
struct EqualRisk{__T_settings} <: HierarchicalRiskMeasureRepresents the Equal Risk Measure for hierarchical portfolio optimisation.
EqualRisk reports the same risk for every portfolio: the reciprocal of the length of the weight vector it is given. A hierarchical optimiser weights a cluster by the reciprocal of its risk, so a constant risk makes every split an even one.
Mathematical definition
For a portfolio of $N$ assets with weights $\boldsymbol{w} \in \mathbb{R}^N$:
\[\begin{align} \mathrm{EqR}(\boldsymbol{w}) &= \frac{1}{N}\,. \end{align}\]
Where:
- $\mathrm{EqR}(\boldsymbol{w})$: Equal risk of the portfolio.
- $\boldsymbol{w}$: Portfolio weights vector $N \times 1$.
- $N$: Number of assets.
$N$ is the length of the weight vector the functor receives, not the size of a cluster. A hierarchical optimiser passes the full-length weight vector with zeros outside the cluster, so every cluster reports the same $1/N$ and every bisection splits the weight evenly.
Fields
settings: Risk measure settings.
Constructors
EqualRisk(; settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings()) -> EqualRiskKeywords correspond to the struct's fields.
Functor
(r::EqualRisk)(w::VecNum)Returns the reciprocal of the length of the weight vector w.
Arguments
w::VecNum: Portfolio weights vector.
Examples
julia> EqualRisk()EqualRisk settings ┼ HierarchicalRiskMeasureSettings │ scale ┴ Float64: 1.0Related