No Risk

PortfolioOptimisers.NoRiskType
struct NoRisk{__T_settings} <: RiskMeasure

Risk measure that contributes no risk.

NoRisk measures nothing: its functor returns zero and its optimisation formulation adds a zero risk expression. It exists so that a risk-taking optimiser can express a problem that genuinely has no risk term, without a vestigial one changing the model class.

Fields

  • settings: Risk measure settings.

Constructors

NoRisk(; settings::RiskMeasureSettings = RiskMeasureSettings()) -> NoRisk

Keywords correspond to the struct's fields.

Details

MeanRisk requires a risk measure, so an objective that ignores risk — MaximumReturn — would otherwise still build the default Variance term. That term is discarded by the objective, but it drags second-order cone constraints into the model, forcing a conic solver on a problem that is a linear program. NoRisk keeps such problems linear.

Two families need this:

  • The robust best-characteristic portfolios of [4] — the $1/N$, quintile and inverse-volatility portfolios — which are linear programs (see CharacteristicUncertaintySet).
  • The global maximum return portfolio (GMRP), maximize μᵀw subject to w ≥ 0, 1ᵀw = 1.

Notes

NoRisk is only coherent under an objective that does not consult risk. MeanRisk rejects it with MinimumRisk (whose objective would be identically zero, so any feasible portfolio would be optimal) and with MaximumRatio (whose risk-normalisation constraint would become vacuous, leaving the model unbounded). Use it with MaximumReturn, or with MaximumUtility where the risk-aversion term drops out.

Setting settings.ub is legal but pointless: the bound applies to a quantity that is always zero.

Functor

(r::NoRisk)(x::VecNum)

Returns zero, with the element type of the portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia> r = NoRisk()NoRisk  settings ┼ RiskMeasureSettings           │   scale ┼ Float64: 1.0           │      ub ┼ nothing           │     rke ┴ Bool: truejulia> r([0.1, -0.2, 0.05])0.0

Related

source

References

[4]
R. Zhou and D. P. Palomar. Understanding the Quintile Portfolio. IEEE Transactions on Signal Processing 68, 4030–4040 (2020).