skfolio.prior.FactorModel#

class skfolio.prior.FactorModel(loading_matrix_estimator=None, factor_prior_estimator=None, residual_variance=True, higham=False, max_iteration=100)[来源]#

因子模型估计器。

因子模型的目的是通过少数共通因子对金融变量及其协方差矩阵施加结构。这可以通过减少参数数量,即估计问题的维度,帮助克服估计误差,使得投资组合优化更能抗衡数据中的噪音。因子模型还提供了将金融风险分解为系统性风险和特定证券风险的方式。

Parameters:
loading_matrix_estimatorLoadingMatrixEstimator, optional

因子的加载矩阵(betas)的估计器。 默认值(None)是使用 LoadingMatrixRegression,该方法使用 LassoCV 单独拟合每个资产的因子。

factor_prior_estimatorBasePrior, optional

因素先前估计器。 它用于估计包含因素预期收益和协方差矩阵的先前模型。 默认值()是使用经验先验

residual_variancebool, default=True

如果将其设置为 True,则残差协方差的对角项(残差方差)将被添加到因子模型协方差中。

highambool, default=False

如果将此设置为 True,我们将使用 Higham & Nick (2002) 算法来找到最近的正半定协方差矩阵。它更准确但比默认的剪切方法慢。有关更多信息,请参见 cov_nearest

max_iterationint, default=100

仅在 higham 设置为 True 时使用。Higham & Nick (2002) 算法的最大迭代次数。

Attributes:
prior_model_PriorModel

PriorModel

factor_prior_estimator_BasePrior

拟合 factor_prior_estimator

loading_matrix_estimator_BaseLoadingMatrix

拟合 loading_matrix_estimator

n_features_in_int

fit期间看到的资产数量。

feature_names_in_ndarray of shape (n_features_in_,)

fit过程中看到的特征名称。只有在X具有全部为字符串的特征名称时才会定义。

方法

fit(X, y, **fit_params)

拟合因子模型估计器。

get_metadata_routing()

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

get_params([deep])

获取此估计器的参数。

set_params(**params)

设置此估计器的参数。

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

拟合因子模型估计量。

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

资产的价格收益。

yarray-like of shape (n_observations, n_factors)

因素的回报。

**fit_paramsdict

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

Returns:
selfFactorModel

拟合的估计器。

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

估计器实例。