skfolio.uncertainty_set.BootstrapMuUncertaintySet#

class skfolio.uncertainty_set.BootstrapMuUncertaintySet(prior_estimator=None, confidence_level=0.95, diagonal=True, n_bootstrap_samples=1000, block_size=None, seed=None)[来源]#

Bootstrap Mu 不确定性集。

使用圆形自举法计算预期收益的椭圆不确定性集合:

\[U_{\mu}=\left\{\mu\,|\left(\mu-\hat{\mu}\right)S^{-1}\left(\mu-\hat{\mu}\right)^{T}\leq\kappa^{2}\right\}\]

椭球体的大小 \(\kappa\)(置信区域)是通过以下方式计算的:

\[\kappa^2 = \chi^2_{n\_assets} (\beta)\]

\(\chi^2_{n\_assets}(\beta)\) 相关的是卡方分布的逆累积分布函数,该函数在 n_assets 自由度下,在 \(\beta\) 置信水平上。

椭球体的形状 \(S\) 是使用静态自助法计算的,并且可以选择将协方差矩阵的非对角元素强制为零。

Parameters:
prior_estimatorBasePrior, optional

用于估计资产协方差矩阵的 先验估计器。默认值 (None) 是使用 EmpiricalPrior

confidence_levelfloat , default=0.95

卡方分布的逆累积分布函数的置信水平 \(\beta\)。默认值是 0.95

diagonalbool, default=True

如果将此设置为 True,协方差矩阵的非对角线元素将被设置为零。

n_bootstrap_samplesint, default=1000

生成的自助采样数量。默认值为 1000

block_sizefloat, optional

Bootstrap 块大小。默认值(None)是使用 Politis & White 算法为所有个别资产估计最佳块大小。

seedint, optional

用于初始化伪随机数生成器的随机种子。

Attributes:
uncertainty_set_UncertaintySet

Mu 不确定集 UncertaintySet

prior_estimator_BasePrior

调整过的 prior_estimator.

参考文献

[1]

“均值-方差投资组合的稳健性特征”, 优化:数学规划与运筹研究杂志, Schöttle & Werner (2009).

[2]

“自动块长度选择用于依赖引导法”, Politis & White (2004).

[3]

“对依赖自助法的自动块长度选择的修正”, 帕顿,波利蒂斯与怀特(2009年)。

方法

fit(X[, y])

拟合Bootstrap Mu不确定性集估计器。

get_metadata_routing()

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

get_params([deep])

获取此估计器的参数。

set_params(**params)

设置此估计器的参数。

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

拟合Bootstrap Mu不确定性集估计器。

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

资产的价格收益。

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

因子的价格回报。 默认值是 None

**fit_paramsdict

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

Returns:
selfBootstrapMuUncertaintySet

拟合的估计器。

get_metadata_routing()#

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

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

Returns:
routingMetadataRequest

一个 MetadataRequest 封装路由信息。

get_params(deep=True)#

获取此估计器的参数。

Parameters:
deepbool, default=True

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

Returns:
paramsdict

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

set_params(**params)#

设置该估计器的参数。

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

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。