Equal Risk Measure

PortfolioOptimisers.EqualRiskType
struct EqualRisk{__T_settings} <: HierarchicalRiskMeasure

Represents 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()) -> EqualRisk

Keywords 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.0

Related

source