组合、风险与定价进阶

PyPortfolioOpt

把预期收益估计、协方差建模、约束优化和离散持仓分开组织的投资组合工具。

★ 6,108PyPortfolio/PyPortfolioOpt核验 2026-10-20
PythonNumPyCVXPY

为什么值得学

适合将均值-方差理论落实到权重,并观察估计误差如何影响资产配置。

需要的基础

  • 均值与协方差
  • 凸优化基础
  • 组合收益

涉及哪些内容

有效前沿协方差收缩权重约束离散配置

数据与控制流程

  1. 1历史价格
  2. 2收益 / 协方差估计
  3. 3目标与约束
  4. 4连续权重
  5. 5离散持仓

此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。

架构拆解 · 4 个核心模块

每个入口均已核对,点击可阅读源码
MODULE 01

预期收益估计

expected_returns 提供历史均值、指数加权和 CAPM 等收益估计。

输入
历史价格或收益率
输出
资产预期收益向量
源码入口 ↗pypfopt/expected_returns.py
MODULE 02

风险矩阵

risk_models 提供协方差、半协方差和收缩估计等方法。

输入
收益矩阵与估计配置
输出
风险矩阵
源码入口 ↗pypfopt/risk_models.py
MODULE 03

有效前沿求解

EfficientFrontier 把预期收益、风险矩阵和约束交给优化器。

输入
收益、协方差与约束
输出
最优连续权重
源码入口 ↗pypfopt/efficient_frontier/efficient_frontier.py
MODULE 04

离散资产配置

DiscreteAllocation 将连续权重转成有限预算下的整数持仓。

输入
目标权重、价格与预算
输出
持仓数量和剩余现金
源码入口 ↗pypfopt/discrete_allocation.py

建议阅读顺序

  1. 先理解预期收益与协方差的估计窗口
  2. 读 EfficientFrontier 的 min_volatility / max_sharpe
  3. 增加一个权重上限观察可行域
  4. 最后读离散配置与剩余资金
本站设计的学习练习

动手做一次

比较等权、最小方差与带权重上限的组合,并做滚动样本外评估。

完成后,检查这些证据

  • 每次调仓只用过去数据
  • 列出集中度和换手
  • 报告约束、求解状态、离散资金余量

适用边界与版本说明

权重对估计误差敏感;优化器收敛不等于样本外有效,连续权重也不保证现实交易约束全部满足。

Star 快照:6,108 · 核验日期:2026-10-20 · GitHub 归档标记:未归档

核验默认分支:main · 源码固定提交:a6638d2e06da ↗

来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。

同方向继续比较