Expected Return Estimator#
An expected return estimator estimates the expected returns (mu) of
the assets.
It follows the same API as scikit-learn’s estimator: the fit method takes X as
the assets returns and stores the expected returns in its mu_ attribute.
X can be any array-like structure (numpy array, pandas DataFrame, etc.)
mu_ is expressed in the periodicity of X (daily returns give daily expected
returns) and is consumed as is by the optimizers, without annualization (see
Periodicity Convention).
- Available estimators are:
For online learning and streaming workflows, EWMu supports
incremental updates with partial_fit. It also supports NaN-aware updates with
active_mask, which helps distinguish assets that belong to the universe but have
missing returns (e.g. holidays), from assets outside the universe (e.g. pre-listing
or post-delisting periods).
See Online Learning for the full online workflow, including online
portfolio optimization evaluation with incremental moments.
See Missing Data and Changing Universes for the full convention
on NaNs, universe membership, estimator warmup and investability.
Example:
from skfolio.datasets import load_sp500_dataset
from skfolio.moments import EmpiricalMu
from skfolio.preprocessing import prices_to_returns
prices = load_sp500_dataset()
X = prices_to_returns(prices)
model = EmpiricalMu()
model.fit(X)
print(model.mu_)