skfolio.moments.BaseCovariance#
- class skfolio.moments.BaseCovariance(nearest=True, higham=False, higham_max_iteration=100)[source]#
- Base class for all covariance estimators in - skfolio.- Parameters:
- nearestbool, default=True
- If this is set to True, the covariance is replaced by the nearest covariance matrix that is positive definite and with a Cholesky decomposition than can be computed. The variance is left unchanged. A covariance matrix that is not positive definite often occurs in high dimensional problems. It can be due to multicollinearity, floating-point inaccuracies, or when the number of observations is smaller than the number of assets. For more details, see - cov_nearest. The default is- True.
- highambool, default=False
- If this is set to True, the Higham (2002) algorithm is used to find the nearest PD covariance, otherwise the eigenvalues are clipped to a threshold above zeros (1e-13). The default is - Falseand uses the clipping method as the Higham algorithm can be slow for large datasets.
- higham_max_iterationint, default=100
- Maximum number of iterations of the Higham (2002) algorithm. The default value is - 100.
 
- Attributes:
- covariance_ndarray of shape (n_assets, n_assets)
- Estimated covariance matrix. 
 
 - Methods - Get metadata routing of this object. - get_params([deep])- Get parameters for this estimator. - set_params(**params)- Set the parameters of this estimator. - fit - Notes - All estimators should specify all the parameters that can be set at the class level in their - __init__as explicit keyword arguments (no- *argsor- **kwargs).- get_metadata_routing()#
- Get metadata routing of this object. - Please check User Guide on how the routing mechanism works. - Returns:
- routingMetadataRequest
- A - MetadataRequestencapsulating routing information.
 
 
 - get_params(deep=True)#
- Get parameters for this estimator. - Parameters:
- deepbool, default=True
- If True, will return the parameters for this estimator and contained subobjects that are estimators. 
 
- Returns:
- paramsdict
- Parameter names mapped to their values. 
 
 
 - set_params(**params)#
- Set the parameters of this estimator. - The method works on simple estimators as well as on nested objects (such as - Pipeline). The latter have parameters of the form- <component>__<parameter>so that it’s possible to update each component of a nested object.- Parameters:
- **paramsdict
- Estimator parameters. 
 
- Returns:
- selfestimator instance
- Estimator instance.