PyPortfolioOpt
把预期收益估计、协方差建模、约束优化和离散持仓分开组织的投资组合工具。
为什么值得学
适合将均值-方差理论落实到权重,并观察估计误差如何影响资产配置。
数据与控制流程
- 1历史价格
- 2收益 / 协方差估计
- 3目标与约束
- 4连续权重
- 5离散持仓
此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。
架构拆解 · 4 个核心模块
每个入口均已核对,点击可阅读源码预期收益估计
expected_returns 提供历史均值、指数加权和 CAPM 等收益估计。
- 输入
- 历史价格或收益率
- 输出
- 资产预期收益向量
pypfopt/expected_returns.py风险矩阵
risk_models 提供协方差、半协方差和收缩估计等方法。
- 输入
- 收益矩阵与估计配置
- 输出
- 风险矩阵
pypfopt/risk_models.py有效前沿求解
EfficientFrontier 把预期收益、风险矩阵和约束交给优化器。
- 输入
- 收益、协方差与约束
- 输出
- 最优连续权重
pypfopt/efficient_frontier/efficient_frontier.py离散资产配置
DiscreteAllocation 将连续权重转成有限预算下的整数持仓。
- 输入
- 目标权重、价格与预算
- 输出
- 持仓数量和剩余现金
pypfopt/discrete_allocation.py建议阅读顺序
- 先理解预期收益与协方差的估计窗口
- 读 EfficientFrontier 的 min_volatility / max_sharpe
- 增加一个权重上限观察可行域
- 最后读离散配置与剩余资金
动手做一次
比较等权、最小方差与带权重上限的组合,并做滚动样本外评估。
完成后,检查这些证据
- 每次调仓只用过去数据
- 列出集中度和换手
- 报告约束、求解状态、离散资金余量
适用边界与版本说明
权重对估计误差敏感;优化器收敛不等于样本外有效,连续权重也不保证现实交易约束全部满足。
Star 快照:6,108 · 核验日期:2026-10-20 · GitHub 归档标记:未归档
核验默认分支:main · 源码固定提交:a6638d2e06da ↗
来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。