Relativistic X at Risk

PortfolioOptimisers.RelativisticValueatRiskType
struct RelativisticValueatRisk{__T_settings, __T_slv, __T_alpha, __T_kappa, __T_w} <: RiskMeasure

Represents the Relativistic Value-at-Risk (RLVaR) risk measure.

RelativisticValueatRisk is a coherent risk measure generalising EVaR via the Kaniadakis ($\kappa$-deformed) entropy. It is parametrised by a deformation parameter $\kappa \in (0, 1)$ and reduces to EVaR in the limit $\kappa \to 0$. It is solved via a conic programme. It is the Kaniadakis counterpart of the Kullback-Leibler ambiguity ball that EntropicValueatRisk reads as a risk measure.

Mathematical definition

The RLVaR is:

\[\begin{align} \mathrm{RLVaR}_{\alpha,\kappa}(\boldsymbol{x}) &= \underset{t,\, z}{\min} \Bigl\{ t + \ln_{\kappa}\!\left(\tfrac{1}{\alpha T}\right) z + \sum_{i=1}^{T} (\psi_i + \theta_i) \;:\; z \geq 0 \Bigr\}\,. \end{align}\]

Where:

  • $\mathrm{RLVaR}_{\alpha,\kappa}(\boldsymbol{x})$: Relativistic Value-at-Risk.
  • $\boldsymbol{x}$: Portfolio returns vector $T \times 1$.
  • $\alpha$: Significance level (left tail probability), $\alpha \in (0, 1)$.
  • $T$: Number of observations.
  • $\kappa$: Kaniadakis deformation parameter, $\kappa \in (0, 1)$.
  • $\ln_{\kappa}(u) = \dfrac{u^{\kappa} - u^{-\kappa}}{2 \kappa}$: Kaniadakis logarithm.
  • $t$, $z$, $\psi_i$, $\theta_i$, $\epsilon_i$, $\omega_i$: Conic optimisation variables.

subject to the power-cone constraints:

\[\begin{align} & \left(\tfrac{z(1+\kappa)}{2\kappa},\, \tfrac{\psi_i(1+\kappa)}{\kappa},\, \epsilon_i\right) \in \mathcal{K}_{\mathrm{pow}}\!\left(\tfrac{1}{1+\kappa}\right) \quad \forall i\,,\\ & \left(\tfrac{\omega_i}{1-\kappa},\, \tfrac{\theta_i}{\kappa},\, -\tfrac{z}{2\kappa}\right) \in \mathcal{K}_{\mathrm{pow}}(1-\kappa) \quad \forall i\,,\\ & \epsilon_i + \omega_i \leq x_i + t \quad \forall i\,. \end{align}\]

Where:

  • $\mathcal{K}_{\mathrm{pow}}(p) = \{(a,b,c) : a^p b^{1-p} \geq |c|,\, a \geq 0,\, b \geq 0\}$: Power cone.

For observation-weighted samples the weight vector is normalised to $\boldsymbol{w}$ with $\sum_{t=1}^{T} w_t = 1$. The Kaniadakis logarithm keeps the argument $\frac{1}{\alpha T}$, and the sum $\sum_{i=1}^{T} (\psi_i + \theta_i)$ becomes $T \sum_{i=1}^{T} w_i (\psi_i + \theta_i)$. The Kaniadakis logarithm has no multiplication-to-addition property, so the normalisation $\alpha T$ cannot absorb the weights the way it does for EntropicValueatRisk.

The dual of that programme is the worst expected loss over a Kaniadakis ball about the sample distribution:

\[\begin{align} \mathrm{RLVaR}_{\alpha,\kappa}(\boldsymbol{x}) &= \underset{Q \in \mathcal{Q}_{\kappa}(\alpha)}{\sup} \mathbb{E}_{Q}[L]\,, \\ \mathcal{Q}_{\kappa}(\alpha) &= \left\{ Q : \sum_{t=1}^{T} q_t \ln_{\kappa}\!\left(\frac{q_t}{p_t T}\right) \leq \ln_{\kappa}\!\left(\frac{1}{\alpha T}\right) \right\}\,. \end{align}\]

Where:

  • $\mathcal{Q}_{\kappa}(\alpha)$: Kaniadakis ambiguity ball of radius $\ln_{\kappa}\!\left(\frac{1}{\alpha T}\right)$.
  • $Q$: Distribution in the ambiguity ball, whose $t$-th probability is $q_t$.
  • $P$: Sample distribution of the losses, whose $t$-th probability is $p_t$. It is uniform over the $T$ observations, or the normalised observation weights when they are stated.
  • $\mathbb{E}_{Q}[L] = \sum_{t=1}^{T} q_t L_t$: Expected loss under $Q$.
  • $L_t = -x_t$: Loss at period $t$.

The left side takes the place the Kullback-Leibler divergence holds for EntropicValueatRisk. With equal observation weights $p_t = 1/T$ it is the negated Kaniadakis entropy of $Q$. Because $\ln_{\kappa}$ has no multiplication-to-addition property, the sample size $T$ stays inside both sides, and neither side separates into a term in $T$ and a term in $\alpha$. The Kullback-Leibler ball at radius $-\ln(\alpha)$ is recovered in the limit $\kappa \to 0$.

Fields

  • settings: Risk measure settings.
  • slv: Solver or vector of solvers.
  • w: Optional observation weights vector observations × 1, or a concrete subtype of DynamicAbstractWeights. If nothing, the computation is unweighted.

Constructors

RelativisticValueatRisk(;    settings::RiskMeasureSettings = RiskMeasureSettings(),    slv::Option{<:Slv_VecSlv} = nothing,    alpha::Num_SigCal = 0.05,    kappa::Num_DefCal = 0.3,    w::Option{<:ObsWeights} = nothing) -> RelativisticValueatRisk

Keywords correspond to the struct's fields.

Validation

  • If alpha is a number: 0 < alpha < 1.
  • If kappa is a number: 0 < kappa < 1.
  • If slv is a VecSlv: !isempty(slv).
  • If w is not nothing: !isempty(w).

Functor

(r::RelativisticValueatRisk)(x::VecNum)

Computes the RLVaR of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia> RelativisticValueatRisk()RelativisticValueatRisk  settings ┼ RiskMeasureSettings           │   scale ┼ Float64: 1.0           │      ub ┼ nothing           │     rke ┴ Bool: true       slv ┼ nothing     alpha ┼ Float64: 0.05     kappa ┼ Float64: 0.3         w ┴ nothing

Related

References

  • [105] D. Cajas. Portfolio Optimization of Relativistic Value at Risk. Available at SSRN 4378498 (2023).
source
PortfolioOptimisers.RelativisticValueatRiskRangeType
struct RelativisticValueatRiskRange{__T_settings, __T_slv, __T_alpha, __T_kappa_a, __T_beta, __T_kappa_b, __T_w} <: RiskMeasure

Represents the Relativistic Value-at-Risk Range (RLVaR Range) risk measure.

RelativisticValueatRiskRange computes the sum of the lower-tail RLVaR (at level alpha with deformation kappa_a) and the upper-tail RLVaR (at level beta with deformation kappa_b).

Mathematical definition

\[\begin{align} \mathrm{RVaRRange}_{\alpha,\kappa_a,\beta,\kappa_b}(\boldsymbol{x}) &= \mathrm{RLVaR}_{\alpha,\kappa_a}(\boldsymbol{x}) + \mathrm{RLVaR}_{\beta,\kappa_b}(-\boldsymbol{x})\,. \end{align}\]

Where:

  • $\mathrm{RVaRRange}_{\alpha,\kappa_a,\beta,\kappa_b}(\boldsymbol{x})$: Relativistic VaR range.
  • $\boldsymbol{x}$: Portfolio returns vector $T \times 1$.
  • $\mathrm{RLVaR}_{\alpha,\kappa_a}(\boldsymbol{x})$: Lower-tail RLVaR with parameters $(\alpha, \kappa_a)$.
  • $\mathrm{RLVaR}_{\beta,\kappa_b}(-\boldsymbol{x})$: Upper-tail RLVaR with parameters $(\beta, \kappa_b)$.

The upper tail is the base measure applied to the negated returns $-\boldsymbol{x}$, so both tails are reported on the same sign convention and the range is their sum, not their difference.

Each term is the worst expected loss over its own Kaniadakis ball about the sample distribution, one deformed by $\kappa_a$ at level $\alpha$ and one deformed by $\kappa_b$ at level $\beta$. RelativisticValueatRisk states the ball.

Fields

  • settings: Risk measure settings.
  • slv: Solver or vector of solvers.
  • kappa_a: Relativistic deformation parameter for the lower tail. The bound is Num_DefCal, so the slot takes the parameter itself, an AbstractDeformationCalibrationAlgorithm that computes it from the prior result, or a plain function of the same five arguments.
  • kappa_b: Relativistic deformation parameter for the upper tail. The bound is Num_DefCal, so the slot takes the parameter itself, an AbstractDeformationCalibrationAlgorithm that computes it from the prior result, or a plain function of the same five arguments.
  • w: Optional observation weights vector observations × 1, or a concrete subtype of DynamicAbstractWeights. If nothing, the computation is unweighted.

Constructors

RelativisticValueatRiskRange(;    settings::RiskMeasureSettings = RiskMeasureSettings(),    slv::Option{<:Slv_VecSlv} = nothing,    alpha::Num_SigCal = 0.05,    kappa_a::Num_DefCal = 0.3,    beta::Num_SigCal = alpha,    kappa_b::Num_DefCal = kappa_a,    w::Option{<:ObsWeights} = nothing) -> RelativisticValueatRiskRange

Keywords correspond to the struct's fields.

Validation

  • Each of alpha and kappa_a that is a number: 0 < val < 1.
  • Each of beta and kappa_b that is a number: 0 < val < 1.
  • If slv is a VecSlv: !isempty(slv).
  • If w is not nothing: !isempty(w).

Functor

(r::RelativisticValueatRiskRange)(x::VecNum)

Computes the RLVaR Range of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia> RelativisticValueatRiskRange()RelativisticValueatRiskRange  settings ┼ RiskMeasureSettings           │   scale ┼ Float64: 1.0           │      ub ┼ nothing           │     rke ┴ Bool: true       slv ┼ nothing     alpha ┼ Float64: 0.05   kappa_a ┼ Float64: 0.3      beta ┼ Float64: 0.05   kappa_b ┼ Float64: 0.3         w ┴ nothing

Related

References

  • [105] D. Cajas. Portfolio Optimization of Relativistic Value at Risk. Available at SSRN 4378498 (2023).
source
PortfolioOptimisers.RelativisticDrawdownatRiskType
struct RelativisticDrawdownatRisk{__T_settings, __T_slv, __T_alpha, __T_kappa, __T_w} <: RiskMeasure

Represents the Relativistic Drawdown-at-Risk (RLDaR) risk measure.

RelativisticDrawdownatRisk applies the Relativistic Value-at-Risk framework to the absolute drawdown series of portfolio returns.

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 Relativistic Drawdown-at-Risk is the RLVaR of the drawdown series:

\[\begin{align} \mathrm{RLDaR}_{\alpha,\kappa}(\boldsymbol{x}) &= \mathrm{RLVaR}_{\alpha,\kappa}(\boldsymbol{d}(\boldsymbol{x}))\,. \end{align}\]

Where:

  • $\mathrm{RLDaR}_{\alpha,\kappa}(\boldsymbol{x})$: Relativistic Drawdown-at-Risk.
  • $\alpha$: Significance level (left tail probability), $\alpha \in (0, 1)$.
  • $\kappa$: Kaniadakis deformation parameter, $\kappa \in (0, 1)$.
  • $\boldsymbol{d}(\boldsymbol{x})$: Absolute drawdown series vector $T \times 1$.

So the RLDaR is the worst expected drawdown over a Kaniadakis ball about the sample distribution of $\boldsymbol{d}(\boldsymbol{x})$. RelativisticValueatRisk states the ball.

Fields

  • settings: Risk measure settings.
  • slv: Solver or vector of solvers.
  • w: Optional observation weights vector observations × 1, or a concrete subtype of DynamicAbstractWeights. If nothing, the computation is unweighted.

Constructors

RelativisticDrawdownatRisk(;    settings::RiskMeasureSettings = RiskMeasureSettings(),    slv::Option{<:Slv_VecSlv} = nothing,    alpha::Num_SigCal = 0.05,    kappa::Num_DefCal = 0.3,    w::Option{<:ObsWeights} = nothing) -> RelativisticDrawdownatRisk

Keywords correspond to the struct's fields.

Validation

  • If alpha is a number: 0 < alpha < 1.
  • If kappa is a number: 0 < kappa < 1.
  • If slv is a VecSlv: !isempty(slv).
  • If w is not nothing: !isempty(w).

Functor

(r::RelativisticDrawdownatRisk)(x::VecNum)

Computes the Relativistic Drawdown-at-Risk of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia> RelativisticDrawdownatRisk()RelativisticDrawdownatRisk  settings ┼ RiskMeasureSettings           │   scale ┼ Float64: 1.0           │      ub ┼ nothing           │     rke ┴ Bool: true       slv ┼ nothing     alpha ┼ Float64: 0.05     kappa ┼ Float64: 0.3         w ┴ nothing

Related

References

  • [102] A. Chekhlov, S. Uryasev and M. Zabarankin. Drawdown measure in portfolio optimization. International Journal of Theoretical and Applied Finance 8, 13–58 (2005).
  • [105] D. Cajas. Portfolio Optimization of Relativistic Value at Risk. Available at SSRN 4378498 (2023).
source
PortfolioOptimisers.RelativeRelativisticDrawdownatRiskType
struct RelativeRelativisticDrawdownatRisk{__T_settings, __T_slv, __T_alpha, __T_kappa, __T_w} <: HierarchicalRiskMeasure

Represents the Relative Relativistic Drawdown-at-Risk (Relative RLDaR) risk measure for hierarchical optimisation.

RelativeRelativisticDrawdownatRisk applies the Relativistic Value-at-Risk framework to the relative (compounded) drawdown series of portfolio returns.

Mathematical definition

Define the compounded wealth process and 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 Relativistic Drawdown-at-Risk is the RLVaR of the relative drawdown series:

\[\begin{align} \mathrm{RRDDaR}_{\alpha,\kappa}(\boldsymbol{x}) &= \mathrm{RLVaR}_{\alpha,\kappa}(\boldsymbol{rd}(\boldsymbol{x}))\,. \end{align}\]

Where:

  • $\mathrm{RRDDaR}_{\alpha,\kappa}(\boldsymbol{x})$: Relative Relativistic Drawdown-at-Risk.
  • $\alpha$: Significance level (left tail probability), $\alpha \in (0, 1)$.
  • $\kappa$: Kaniadakis deformation parameter, $\kappa \in (0, 1)$.
  • $\boldsymbol{rd}(\boldsymbol{x})$: Relative drawdown series vector $T \times 1$.

So the Relative RLDaR is the worst expected relative drawdown over a Kaniadakis ball about the sample distribution of $\boldsymbol{rd}(\boldsymbol{x})$. RelativisticValueatRisk states the ball.

Fields

  • settings: Risk measure settings.
  • slv: Solver or vector of solvers.
  • w: Optional observation weights vector observations × 1, or a concrete subtype of DynamicAbstractWeights. If nothing, the computation is unweighted.

Constructors

RelativeRelativisticDrawdownatRisk(;    settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings(),    slv::Option{<:Slv_VecSlv} = nothing,    alpha::Num_SigCal = 0.05,    kappa::Num_DefCal = 0.3,    w::Option{<:ObsWeights} = nothing) -> RelativeRelativisticDrawdownatRisk

Keywords correspond to the struct's fields.

Validation

  • If alpha is a number: 0 < alpha < 1.
  • If kappa is a number: 0 < kappa < 1.
  • If slv is a VecSlv: !isempty(slv).
  • If w is not nothing: !isempty(w).

Functor

(r::RelativeRelativisticDrawdownatRisk)(x::VecNum)

Computes the Relative Relativistic Drawdown-at-Risk of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia> RelativeRelativisticDrawdownatRisk()RelativeRelativisticDrawdownatRisk  settings ┼ HierarchicalRiskMeasureSettings           │   scale ┴ Float64: 1.0       slv ┼ nothing     alpha ┼ Float64: 0.05     kappa ┼ Float64: 0.3         w ┴ nothing

Related

References

  • [102] A. Chekhlov, S. Uryasev and M. Zabarankin. Drawdown measure in portfolio optimization. International Journal of Theoretical and Applied Finance 8, 13–58 (2005).
  • [105] D. Cajas. Portfolio Optimization of Relativistic Value at Risk. Available at SSRN 4378498 (2023).
source

References

[102]
A. Chekhlov, S. Uryasev and M. Zabarankin. Drawdown measure in portfolio optimization. International Journal of Theoretical and Applied Finance 8, 13–58 (2005).
[105]
D. Cajas. Portfolio Optimization of Relativistic Value at Risk. Available at SSRN 4378498 (2023).