skfolio.moments.EquilibriumMu#

class skfolio.moments.EquilibriumMu(risk_aversion=1, weights=None, covariance_estimator=None)[source]#

Equilibrium Expected Returns (Mu) estimator.

The Equilibrium is defined as:

\[risk\_aversion \times \Sigma \cdot w^T\]

For Market Cap Equilibrium, the weights are the assets Market Caps. For Equal-weighted Equilibrium, the weights are equal-weighted (1/N).

Parameters:
risk_aversionfloat, default=1.0

Risk aversion factor. The default value is 1.0.

weightsarray-like of shape (n_assets,), optional

Asset weights used to compute the Expected Return Equilibrium. The default is to use the equal-weighted equilibrium (1/N). For a Market Cap weighted equilibrium, you must provide the asset Market Caps.

covariance_estimatorBaseCovariance, optional

Covariance estimator used to estimate the covariance in the equilibrium formula. The default (None) is to use EmpiricalCovariance.

Attributes:
mu_ndarray of shape (n_assets,)

Estimated expected returns of the assets.

covariance_estimator_BaseCovariance

Fitted covariance_estimator.

n_features_in_int

Number of assets seen during fit.

feature_names_in_ndarray of shape (n_features_in_,)

Names of assets seen during fit. Defined only when X has assets names that are all strings.

Methods

fit(X[, y])

Fit the EquilibriumMu estimator model.

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

set_params(**params)

Set the parameters of this estimator.

fit(X, y=None, **fit_params)[source]#

Fit the EquilibriumMu estimator model.

Parameters:
Xarray-like of shape (n_observations, n_assets)

Price returns of the assets.

yIgnored

Not used, present for API consistency by convention.

**fit_paramsdict

Parameters to pass to the underlying estimators. Only available if enable_metadata_routing=True, which can be set by using sklearn.set_config(enable_metadata_routing=True). See Metadata Routing User Guide for more details.

Returns:
selfEquilibriumMu

Fitted estimator.

get_metadata_routing()[source]#

Get metadata routing of this object.

Please check User Guide on how the routing mechanism works.

Returns:
routingMetadataRequest

A MetadataRequest encapsulating routing information.

get_params(deep=True)#

Get parameters for this estimator.

Parameters:
deepbool, default=True

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:
paramsdict

Parameter names mapped to their values.

set_params(**params)#

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters:
**paramsdict

Estimator parameters.

Returns:
selfestimator instance

Estimator instance.