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_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
估计器实例。