Skip to content
5

Delta Uncertainty Sets

PortfolioOptimisers.DeltaUncertaintySet Type
julia
struct DeltaUncertaintySet{T1, T2, T3} <: AbstractUncertaintySetEstimator
    pe::T1
    dmu::T2
    dsigma::T3
end

Estimator for box uncertainty sets using delta bounds on mean and covariance statistics in portfolio optimisation.

Fields

  • pe: Prior estimator used to compute mean and covariance statistics.

  • dmu: Delta bound for expected returns (mean).

  • dsigma: Delta bound for covariance.

Constructor

julia
DeltaUncertaintySet(; pe::AbstractPriorEstimator = EmpiricalPrior(), dmu::Real = 0.1,
                    dsigma::Real = 0.1)

Keyword arguments correspond to the fields above.

Validation

  • dmu >= 0.

  • dsigma >= 0.

Examples

julia
julia> DeltaUncertaintySet()
DeltaUncertaintySet
      pe ┼ EmpiricalPrior
         │        ce ┼ PortfolioOptimisersCovariance
         │           │   ce ┼ Covariance
         │           │      │    me ┼ SimpleExpectedReturns
         │           │      │       │   w ┴ nothing
         │           │      │    ce ┼ GeneralCovariance
         │           │      │       │   ce ┼ StatsBase.SimpleCovariance: StatsBase.SimpleCovariance(true)
         │           │      │       │    w ┴ nothing
         │           │      │   alg ┴ Full()
         │           │   mp ┼ DefaultMatrixProcessing
         │           │      │       pdm ┼ Posdef
         │           │      │           │   alg ┴ UnionAll: NearestCorrelationMatrix.Newton
         │           │      │   denoise ┼ nothing
         │           │      │    detone ┼ nothing
         │           │      │       alg ┴ nothing
         │        me ┼ SimpleExpectedReturns
         │           │   w ┴ nothing
         │   horizon ┴ nothing
     dmu ┼ Float64: 0.1
  dsigma ┴ Float64: 0.1

Related

source
PortfolioOptimisers.ucs Function
julia
ucs(ue::DeltaUncertaintySet, X::AbstractMatrix,
    F::Union{Nothing, <:AbstractMatrix} = nothing; dims::Int = 1, kwargs...)

Constructs box uncertainty sets for mean and covariance statistics using delta bounds from a prior estimator.

Arguments

  • ue: Delta uncertainty set estimator. Provides delta bounds and prior estimator.

  • X: Data matrix (e.g., returns).

  • F: Optional factor matrix. Used by the prior estimator.

  • dims: Dimension along which to compute statistics (default: 1).

  • kwargs...: Additional keyword arguments passed to the prior estimator.

Returns

  • (mu_ucs::BoxUncertaintySet, sigma_ucs::BoxUncertaintySet): Expected returns and covariance uncertainty sets.

Details

  • Computes prior statistics using the provided prior estimator.

  • Constructs mean uncertainty set with lower bound at zero and upper bound at 2 * dmu * abs.(pr.mu).

  • Constructs covariance uncertainty set with bounds at pr.sigma ± d_sigma, where d_sigma = dsigma * abs.(pr.sigma).

  • Returns both sets as a tuple.

Related

source
PortfolioOptimisers.mu_ucs Function
julia
mu_ucs(ue::DeltaUncertaintySet, X::AbstractMatrix,
       F::Union{Nothing, <:AbstractMatrix} = nothing; dims::Int = 1, kwargs...)

Constructs a box uncertainty set for expected returns (mean) using delta bounds from a prior estimator.

Arguments

  • ue: Delta uncertainty set estimator. Provides delta bounds and prior estimator.

  • X: Data matrix (e.g., returns).

  • F: Optional factor matrix. Used by the prior estimator (default: nothing).

  • dims: Dimension along which to compute statistics (default: 1).

  • kwargs...: Additional keyword arguments passed to the prior estimator.

Returns

  • mu_ucs::BoxUncertaintySet: Expected returns uncertainty set.

Details

  • Computes prior statistics using the provided prior estimator.

  • Constructs mean uncertainty set with lower bound at zero and upper bound at 2 * dmu * abs.(pr.mu).

  • Ignores additional arguments and keyword arguments except those passed to the prior estimator.

Related

source
PortfolioOptimisers.sigma_ucs Function
julia
sigma_ucs(ue::DeltaUncertaintySet, X::AbstractMatrix,
          F::Union{Nothing, <:AbstractMatrix} = nothing; dims::Int = 1, kwargs...)

Constructs a box uncertainty set for covariance using delta bounds from a prior estimator.

Arguments

  • ue: Delta uncertainty set estimator. Provides delta bounds and prior estimator.

  • X: Data matrix (e.g., returns).

  • F: Optional factor matrix. Used by the prior estimator (default: nothing).

  • dims: Dimension along which to compute statistics (default: 1).

  • kwargs...: Additional keyword arguments passed to the prior estimator.

Returns

  • sigma_ucs::BoxUncertaintySet: Covariance uncertainty set.

Details

  • Computes prior statistics using the provided prior estimator.

  • Constructs covariance uncertainty set with lower bound at pr.sigma - d_sigma and upper bound at pr.sigma + d_sigma, where d_sigma = dsigma * abs.(pr.sigma).

  • Ignores additional arguments and keyword arguments except those passed to the prior estimator.

Related

source