Equilibrium expected returns
PortfolioOptimisers.EquilibriumExpectedReturns Type
struct EquilibriumExpectedReturns{__T_ce, __T_w, __T_l} <: AbstractShrunkExpectedReturnsEstimatorContainer 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).
Fields
ce: Covariance estimator.w: Equilibrium weights vectorfeatures × 1.l: Risk aversion parameter.
Constructors
EquilibriumExpectedReturns(;
ce::StatsBase.CovarianceEstimator = PortfolioOptimisersCovariance(),
w::Option{<:VecNum} = nothing,
l::Number = 1
) -> EquilibriumExpectedReturnsKeywords correspond to the struct's fields.
Validation
- If
wis notnothing,!isempty(w).
Propagated parameters
When factory is called on this type, the following @fprop-tagged fields are automatically propagated:
ce: Recursively updated viafactory.
View parameters
When port_opt_view is called on this type, the following @vprop-tagged fields are automatically subset to the selected indices:
ce: Recursively viewed viaport_opt_view.w: Sliced to the selected indices viaport_opt_view.
Examples
julia> EquilibriumExpectedReturns()
EquilibriumExpectedReturns
ce ┼ PortfolioOptimisersCovariance
│ ce ┼ Covariance
│ │ me ┼ SimpleExpectedReturns
│ │ │ w ┴ nothing
│ │ ce ┼ GeneralCovariance
│ │ │ ce ┼ StatsBase.SimpleCovariance: StatsBase.SimpleCovariance(true)
│ │ │ w ┴ nothing
│ │ alg ┴ Full()
│ mp ┼ MatrixProcessing
│ │ pdm ┼ Posdef
│ │ │ alg ┼ UnionAll: NearestCorrelationMatrix.Newton
│ │ │ kwargs ┴ @NamedTuple{}: NamedTuple()
│ │ dn ┼ nothing
│ │ dt ┼ nothing
│ │ alg ┼ nothing
│ │ order ┴ NTuple{4, Symbol}: (:pdm, :dn, :dt, :alg)
w ┼ nothing
l ┴ Int64: 1Related
Statistics.mean Method
Statistics.mean(me::EquilibriumExpectedReturns, X::MatNum; 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 in the estimator, equal weights are used.
Mathematical definition
Where:
: Risk aversion parameter ( me.l).: N × Ncovariance matrix estimated from the data.: N × 1equilibrium portfolio weights (equal weights if not provided).
Arguments
me: Equilibrium expected returns estimator.X: Data matrix (observations × assets).dims: Dimension along which to perform the computation.kwargs...: Additional keyword arguments passed to the covariance estimator.
Returns
mu::ArrNum: Equilibrium expected returns vector.
Related
source