一个 Python 回测引擎,用于可复现的投资组合研究,覆盖信号、订单成交、交易成本、净值与滚动验证。
skfolio/skfolio
基于 scikit-learn 接口的 Python 投资组合优化、因子模型构建与风险管理库。
- Star
- 2,596
- Fork
- 303
- 未关闭 Issue
- 34
- 最近提交
- 昨天
本页只介绍开源项目,不构成投资建议。交易和投资可能造成亏损,使用前请自行评估风险,并遵守当地法律法规。
这是什么?
skfolio 是一个用于构建和评估投资组合的 Python 库。它提供从等权、逆波动率等朴素配置方法,到凸优化均值-风险模型、风险平价、层次聚类和堆叠集成等多种资产配置方法,并包含期望收益与协方差估计、Black-Litterman、熵池化以及基于特征或时间序列的因子模型。
由于遵循 scikit-learn 的 API,投资组合模型可以直接与 Pipeline、GridSearchCV 及交叉验证工具配合使用。库中包含滚动前推(walk-forward)和组合清洗交叉验证,便于在限制数据泄露的前提下调参。风险度量支持方差、CVaR、回撤类指标等,优化时还可加入换手率、交易成本、跟踪误差和基数等约束。
项目采用 BSD-3-Clause 许可证,需要 Python 3.10 及以上版本,并提供示例、用户指南和 API 参考文档。
核心功能
- 01均值-风险、风险平价、层次聚类等多种组合优化模型
- 02支持基于特征和时间序列的因子模型构建
- 03提供协方差、期望收益和分布估计器,并包含 Black-Litterman 与熵池化
- 04支持滚动前推与组合清洗交叉验证,兼容 sklearn 调参工具
- 05基于 Copula 合成数据进行压力测试
- 06支持交易成本、换手率、跟踪误差和基数等约束
适用场景
- 在历史收益数据上比较和调优资产配置策略
- 构建带行业中性风格因子的多因子股票模型
- 对组合进行单一资产下跌等情景压力测试
- 使用样本外交叉验证回测资产配置模型
快速上手
- 1
从 PyPI 安装 skfolio
pip install -U skfolio - 2
导入 MeanRisk,加载 S&P 500 示例数据集,然后拟合最小方差模型
使用前须知
- 需要 Python 3.10 或更高版本。
- 部分混合整数求解器需要在基础安装之外进行额外配置,详见安装指南。
标签
常见问题
- skfolio 是什么?
- 基于 scikit-learn 接口的 Python 投资组合优化、因子模型构建与风险管理库。 skfolio 是一个用于构建和评估投资组合的 Python 库。它提供从等权、逆波动率等朴素配置方法,到凸优化均值-风险模型、风险平价、层次聚类和堆叠集成等多种资产配置方法,并包含期望收益与协方差估计、Black-Litterman、熵池化以及基于特征或时间序列的因子模型。
- skfolio 可以免费使用吗?用的什么许可证?
- skfolio 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- skfolio 还在维护吗?
- 活跃维护中。skfolio 最近一次提交是在 2026年11月6日。
- skfolio 适合用来做什么?
- 在历史收益数据上比较和调优资产配置策略 构建带行业中性风格因子的多因子股票模型 对组合进行单一资产下跌等情景压力测试 使用样本外交叉验证回测资产配置模型
- skfolio 怎么安装和运行?
- 从 PyPI 安装 skfolio: pip install -U skfolio 导入 MeanRisk,加载 S&P 500 示例数据集,然后拟合最小方差模型
- 在哪里获取 skfolio?
- 源代码和安装说明在 GitHub 上:https://github.com/skfolio/skfolio
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
作者个人的一组 Python/JavaScript 工具包与研究资料,涵盖在线时间序列预测、协方差估计、投资组合构建和黑盒优化。
高盛推出的 Python 量化金融工具包,用于衍生品分析、风险管理和交易策略开发。
一个免费开源的 C++ 量化金融库,用于建模、交易和风险管理。
模块化量化交易框架,统一覆盖选股、组合配置、回测与 Alpaca 实盘/模拟交易。
以 C++ 为核心的量化交易框架,覆盖数据存储、回测、实盘交易与运营调度,并提供 Python 子框架 wtpy。