Equilibrium expected returns

PortfolioOptimisers.EquilibriumExpectedReturnsType
struct EquilibriumExpectedReturns{T1, T2, T3} <: AbstractShrunkExpectedReturnsEstimator
    ce::T1
    w::T2
    l::T3
end

Container type for equilibrium expected returns estimators.

EquilibriumExpectedReturns encapsulates the covariance estimator, equilibrium weights, and risk aversion parameter for computing equilibrium expected returns (e.g., as in Black-Litterman). This enables modular workflows for reverse optimization and equilibrium-based return estimation.

Fields

  • ce::StatsBase.CovarianceEstimator: Covariance estimator.
  • w::Union{Nothing, <:AbstractWeights}: Equilibrium portfolio weights. If nothing, uses equal weights.
  • l::Real: Risk aversion parameter.

Constructor

EquilibriumExpectedReturns(; ce::StatsBase.CovarianceEstimator = PortfolioOptimisersCovariance(),
                           w::Union{Nothing, <:AbstractWeights} = nothing,
                           l::Real = 1.0)

Construct an EquilibriumExpectedReturns estimator with the specified covariance estimator, weights, and risk aversion.

Related

source
PortfolioOptimisers.EquilibriumExpectedReturnsMethod
EquilibriumExpectedReturns(; ce::StatsBase.CovarianceEstimator = PortfolioOptimisersCovariance(),
                           w::Union{Nothing, <:AbstractWeights} = nothing,
                           l::Real = 1.0)

Construct an EquilibriumExpectedReturns estimator for equilibrium-based expected returns.

Arguments

  • ce::StatsBase.CovarianceEstimator: Covariance estimator.

  • w::Union{Nothing, <:AbstractWeights}: Equilibrium portfolio weights. If nothing, uses equal weights.

  • l::Real: Risk aversion parameter.

ReturnsResult

  • EquilibriumExpectedReturns: Configured equilibrium expected returns estimator.

Examples

julia> EquilibriumExpectedReturns()
EquilibriumExpectedReturns
  ce | PortfolioOptimisersCovariance
     |   ce | Covariance
     |      |    me | SimpleExpectedReturns
     |      |       |   w | nothing
     |      |    ce | GeneralWeightedCovariance
     |      |       |   ce | StatsBase.SimpleCovariance: StatsBase.SimpleCovariance(true)
     |      |       |    w | nothing
     |      |   alg | Full()
     |   mp | DefaultMatrixProcessing
     |      |       pdm | Posdef
     |      |           |   alg | UnionAll: NearestCorrelationMatrix.Newton
     |      |   denoise | nothing
     |      |    detone | nothing
     |      |       alg | nothing
   w | nothing
   l | Float64: 1.0

Related

source
Statistics.meanMethod
mean(me::EquilibriumExpectedReturns, X::AbstractArray; dims::Int = 1, kwargs...)

Compute equilibrium expected returns from a covariance estimator, weights, and risk aversion.

This method computes equilibrium expected returns as λ * Σ * w, where λ is the risk aversion parameter, Σ is the covariance matrix, and w are the equilibrium weights. If w is not provided, equal weights are used.

Arguments

  • me::EquilibriumExpectedReturns: Equilibrium expected returns estimator.
  • X::AbstractArray: Data matrix (observations × assets).
  • dims::Int: Dimension along which to compute the covariance.
  • kwargs...: Additional keyword arguments passed to the covariance estimator.

ReturnsResult

  • mu::AbstractArray: Equilibrium expected returns vector.

Related

source