Brownian Distance Variance
PortfolioOptimisers.BrownianDistanceVarianceFormulation Type
abstract type BrownianDistanceVarianceFormulation <: AbstractAlgorithmAbstract 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
sourcePortfolioOptimisers.NormOneConeBrownianDistanceVariance Type
struct NormOneConeBrownianDistanceVariance <: BrownianDistanceVarianceFormulationNorm-one cone formulation for the Brownian Distance Variance optimisation constraint.
Uses a norm-one cone constraint to encode the
Related Types
sourcePortfolioOptimisers.IneqBrownianDistanceVariance Type
struct IneqBrownianDistanceVariance <: BrownianDistanceVarianceFormulationInequality 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
sourcePortfolioOptimisers.BDVarRkFormulations Type
const BDVarRkFormulations = Union{<:RSOCRiskExpr, <:QuadRiskExpr}Union of valid optimisation formulations for the BrownianDistanceVariance risk measure.
Related
sourcePortfolioOptimisers.BrownianDistanceVariance Type
struct BrownianDistanceVariance{__T_settings, __T_alg1, __T_alg2} <: RiskMeasureRepresents 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
The Brownian Distance Variance is:
where
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
BrownianDistanceVariance(;
settings::RiskMeasureSettings = RiskMeasureSettings(),
alg1::BDVarRkFormulations = QuadRiskExpr(),
alg2::BrownianDistanceVarianceFormulation = NormOneConeBrownianDistanceVariance()
) -> BrownianDistanceVarianceKeywords correspond to the struct's fields.
Functor
(r::BrownianDistanceVariance)(x::VecNum)Computes the Brownian Distance Variance of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> BrownianDistanceVariance()
BrownianDistanceVariance
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: true
alg1 ┼ QuadRiskExpr()
alg2 ┴ NormOneConeBrownianDistanceVariance()Related