skfolio.optimization .逆波动率#

class skfolio.optimization.InverseVolatility(prior_estimator=None, portfolio_params=None)[来源]#

逆波动率估计器。

每个资产的权重是通过其波动率的倒数计算得出的,并重新调整以使权重之和等于一。资产的波动率是从先前估计器的协方差矩阵中得出的。

Parameters:
prior_estimatorBasePrior, optional

先验估计器. 先验估计器用于估计PriorModel 包含资产预期收益、协方差矩阵、收益和协方差的Cholesky分解的估计。 默认值(None)是使用EmpiricalPrior

portfolio_paramsdict, optional

传递给通过 predictscore 方法评估的投资组合的投资组合参数。如果未提供,nametransaction_costsmanagement_feesprevious_weightsrisk_free_rate 将从优化模型中复制并传递给投资组合。

Attributes:
weights_ndarray of shape (n_assets,) or (n_optimizations, n_assets)

资产的权重。

prior_estimator_BasePrior

调整过的 prior_estimator.

方法

fit(X[, y])

拟合反向波动率估计器。

fit_predict(X)

X 执行 fit 操作,并返回基于拟合的 weightsPortfolioPopulation 的预测结果。

get_metadata_routing()

获取此对象的元数据路由。

get_params([deep])

获取此估计器的参数。

predict(X)

根据拟合的权重预测PortfolioPopulationX上的Portfolio

score(X[, y])

预测分数。

set_params(**params)

设置此估计器的参数。

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

拟合逆波动性估计器。

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

资产的价格收益。

yarray-like of shape (n_observations, n_targets), optional

因子或目标基准的价格回报。 默认值是 None

**fit_paramsdict

传递给基础估计器的参数。只有在 enable_metadata_routing=True 的情况下可用,您可以通过使用 sklearn.set_config(enable_metadata_routing=True) 来设置。详情请参见 元数据路由用户指南

Returns:
selfInverseVolatility

拟合的估计器。

fit_predict(X)#

X执行fit并根据拟合的weights返回预测的PortfolioPopulationPortfolioX上的值。对于因子模型,分别使用fit(X, y)然后predict(X)

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

资产的价格收益。

Returns:
predictionPortfolio | Population

基于拟合的 weights 估计的 PortfolioPopulationPortfolioX 上。

get_metadata_routing()[来源]#

获取这个对象的元数据路由。

请查看 用户指南 了解路由机制是如何工作的。

Returns:
routingMetadataRequest

一个 MetadataRequest 封装路由信息。

get_params(deep=True)#

获取此估计器的参数。

Parameters:
deepbool, default=True

如果为真,将返回此估计器及其包含的子对象的参数,这些子对象也是估计器。

Returns:
paramsdict

参数名称映射到它们的值。

predict(X)#

根据拟合的权重预测PortfolioPopulationX上的Portfolio

优化估计器可以返回一个一维或二维数组的 weights。对于一维数组,预测返回一个 Portfolio。对于二维数组,预测返回一个 PopulationPortfolio

如果 name 在投资组合参数中没有提供,我们将使用估计器名称的前 500 个字符。

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

资产的价格收益。

Returns:
predictionPortfolio | Population

基于拟合的 weights 估计的 PortfolioPopulationPortfolioX 上。

score(X, y=None)#

预测分数。 如果预测是单个 Portfolio,则分数是夏普比率。 如果预测是一组 PopulationPortfolio,则分数是该组中所有投资组合夏普比率的平均值。

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

资产的价格收益。

yIgnored

未使用,仅为了遵循API一致性而存在。

Returns:
scorefloat

如果预测是单个 Portfolio,则投资组合的夏普比率为;如果预测是 PortfolioPopulation 的所有投资组合夏普比率的平均值。

set_params(**params)#

设置该估计器的参数。

该方法适用于简单估计器以及嵌套对象(如 Pipeline)。后者具有 <component>__<parameter> 形式的参数,因此可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。