Skip to content
13

Turnover risk measure

PortfolioOptimisers.TurnoverRiskMeasure Type
julia
struct TurnoverRiskMeasure{__T_settings, __T_w, __T_fixed} <: RiskMeasure

Represents the Turnover risk measure.

TurnoverRiskMeasure penalises portfolio rebalancing by measuring the L1 distance between the new portfolio weights and a reference weight vector. It is used to control trading costs or limit portfolio drift.

Mathematical Definition

Let w be the new portfolio weights and w0 the reference (previous or target) weights:

Turnover(w)=w0w1=i=1N|w0,iwi|.

Fields

  • settings: Risk measure configuration.

  • w: Reference weight vector (previous or benchmark portfolio weights).

  • fixed: If true, the reference weights are fixed and not updated between optimisations. If false, the reference weights are updated to the previous optimisation result.

Constructors

julia
TurnoverRiskMeasure(;
    settings::RiskMeasureSettings = RiskMeasureSettings(),
    w::VecNum,
    fixed::Bool = false
) -> TurnoverRiskMeasure

Keywords correspond to the struct's fields.

Validation

  • !isempty(w).

Functor

julia
(r::TurnoverRiskMeasure)(w::VecNum)

Computes the Turnover risk of a portfolio weight vector w.

Arguments

  • w::VecNum: New portfolio weights vector.

Examples

julia
julia> TurnoverRiskMeasure(; w = [0.5, 0.5])
TurnoverRiskMeasure
  settings ┼ RiskMeasureSettings
           │   scale ┼ Float64: 1.0
           │      ub ┼ nothing
           │     rke ┴ Bool: true
         w ┼ Vector{Float64}: [0.5, 0.5]
     fixed ┴ Bool: false

Related

source