Skip to content
13

Brownian Distance Variance

PortfolioOptimisers.BrownianDistanceVarianceFormulation Type
julia
abstract type BrownianDistanceVarianceFormulation <: AbstractAlgorithm

Abstract supertype for all Brownian Distance Variance formulation algorithms in PortfolioOptimisers.jl.

All concrete types implementing specific formulations for the Brownian Distance Variance optimisation constraint should subtype BrownianDistanceVarianceFormulation.

Related Types

source
PortfolioOptimisers.NormOneConeBrownianDistanceVariance Type
julia
struct NormOneConeBrownianDistanceVariance <: BrownianDistanceVarianceFormulation

Norm-one cone formulation for the Brownian Distance Variance optimisation constraint.

Uses a norm-one cone constraint to encode the L1 structure of the Brownian distance matrix in the optimisation model.

Related Types

source
PortfolioOptimisers.IneqBrownianDistanceVariance Type
julia
struct IneqBrownianDistanceVariance <: BrownianDistanceVarianceFormulation

Inequality formulation for the Brownian Distance Variance optimisation constraint.

Uses explicit linear inequality constraints to encode the absolute value structure of the Brownian distance matrix in the optimisation model.

Related Types

source
PortfolioOptimisers.BDVarRkFormulations Type
julia
const BDVarRkFormulations = Union{<:RSOCRiskExpr, <:QuadRiskExpr}

Union of valid optimisation formulations for the BrownianDistanceVariance risk measure.

Related

source
PortfolioOptimisers.BrownianDistanceVariance Type
julia
struct BrownianDistanceVariance{__T_settings, __T_alg1, __T_alg2} <: RiskMeasure

Represents the Brownian Distance Variance (BDVar) risk measure.

BrownianDistanceVariance measures dependence between portfolio returns and a reference using the Brownian (distance) covariance framework. It captures non-linear dependence and is zero if and only if the returns are independent of the reference.

Mathematical Definition

Given a portfolio returns vector x=(x1,,xT), define the pairwise absolute distance matrix:

Dij=|xixj|.

The Brownian Distance Variance is:

BDVar(x)=1T2(DF2+1T2(i,jDij)2),

where F denotes the Frobenius norm.

Fields

  • settings: Risk measure configuration.

  • alg1: Second-moment formulation used for the quadratic term in optimisation.

  • alg2: Brownian distance variance formulation for the linear absolute-value constraint.

Constructors

julia
BrownianDistanceVariance(;
    settings::RiskMeasureSettings = RiskMeasureSettings(),
    alg1::BDVarRkFormulations = QuadRiskExpr(),
    alg2::BrownianDistanceVarianceFormulation = NormOneConeBrownianDistanceVariance()
) -> BrownianDistanceVariance

Keywords correspond to the struct's fields.

Functor

julia
(r::BrownianDistanceVariance)(x::VecNum)

Computes the Brownian Distance Variance of a portfolio returns vector x.

Arguments

  • x::VecNum: Portfolio returns vector.

Examples

julia
julia> BrownianDistanceVariance()
BrownianDistanceVariance
  settings ┼ RiskMeasureSettings
           │   scale ┼ Float64: 1.0
           │      ub ┼ nothing
           │     rke ┴ Bool: true
      alg1 ┼ QuadRiskExpr()
      alg2 ┴ NormOneConeBrownianDistanceVariance()

Related

source