Pyfolio
对策略收益、持仓与交易进行绩效和风险分析,生成多角度报告的经典工具。
为什么值得学
适合学习研究报告的指标组织,以及收益之外的集中度、换手和持仓暴露。
数据与控制流程
- 1收益 + 持仓 + 交易
- 2时间与字段对齐
- 3风险及暴露统计
- 4分项图表
- 5综合报告
此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。
架构拆解 · 4 个核心模块
每个入口均已核对,点击可阅读源码收益时间序列
timeseries 组织收益和风险分析,并调用相关统计能力。
- 输入
- 策略及基准收益
- 输出
- 收益和风险统计
pyfolio/timeseries.py持仓分析
pos 计算权重、集中度、多空分布和行业暴露。
- 输入
- 按日持仓市值与现金
- 输出
- 持仓结构和暴露指标
pyfolio/pos.py交易分析
txn 整理交易并计算成交量、换手等信息。
- 输入
- 逐笔交易与持仓
- 输出
- 交易行为统计
pyfolio/txn.py报告组装
tears 组合收益、持仓和交易分析,形成多种 tear sheet。
- 输入
- 收益、持仓、交易及基准
- 输出
- 完整或专题分析报告
pyfolio/tears.py建议阅读顺序
- 先看 create_full_tear_sheet 的三个主要输入
- 读 pos 的权重和集中度计算
- 读 txn 的换手分母
- 最后核对 timeseries 的年化与基准处理
动手做一次
给一份固定回测结果生成风险报告,并解释净值之外的两个问题。
完成后,检查这些证据
- 确保收益和基准日期一致
- 标注换手和集中度口径
- 用手算结果复核一次回撤或一个持仓权重
适用边界与版本说明
原始版本生态较旧;应单独核对依赖兼容性。报告只分析输入记录,不能自动发现回测本身的未来信息泄漏。
Star 快照:6,431 · 核验日期:2026-10-20 · GitHub 归档标记:未归档
核验默认分支:master · 源码固定提交:4b901f6d73aa ↗
来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。