关于 weekly-performance-digest
weekly-performance-digest 面向需要复盘每周已平仓交易的交易者,计算绩效指标并按多个维度拆分结果,生成 JSON 和 Markdown 报告,无需 API 密钥。
主要功能
- 01统计已平仓交易周度指标
- 02按交易模式维度拆分结果
- 03汇总赢家、输家与经验
- 04生成 JSON 和 Markdown 报告
- 05无需 API 密钥
适用场景
- 01在周末复盘已实现绩效
- 02按行业或退出原因比较结果
- 03汇总周报进行月末复盘
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tradermonty/ claude-trading-skills --skill weekly-performance-digest安装后在 Claude Code 中输入/weekly-performance-digest确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
requirements.txtreferences/weekly-digest-metrics.mdscripts/generate_weekly_digest.pyscripts/tests/conftest.pytest_generate_weekly_digest.py详细介绍
每周绩效摘要
概述
每周绩效摘要会将你一周内平仓的交易汇总为一份绩效报告。它会读取由 trader-memory-core
跟踪的已平仓交易假设(state/theses/th_*.yaml),计算关键指标(胜率、期望值、盈利因子、R 倍数、MAE/MFE),按多个模式维度(来源技能、退出原因、交易假设类型、行业、机制标签、筛选评级)拆分结果,并展示本周表现最佳和最差的交易及经验教训。输出包括一条 JSON 记录和一份易读的 Markdown 报告。纯计算,无需 API 密钥。
适用场景
- 在交易周结束时,回顾汇总后的已实现绩效
- 衡量所有已平仓仓位的胜率和期望值
- 查看哪些来源技能、退出原因、行业或机制带来了盈利或亏损
- 为月末回顾(合并四份每周摘要)或事后复盘提供数据
- 基于真实的已平仓交易,快速了解“哪些做得好/哪些做得不好”
不适用场景
- 深入复盘单笔交易——请使用
trade-performance-coach - 对信号进行真阳性/假阳性分类——请使用
signal-postmortem - 提供买入/卖出建议或仓位规模建议——此技能仅用于描述分析
前提条件
- Python 3.9+ 和
PyYAML(已是仓库依赖项) - 包含交易假设 YAML 文件的
trader-memory-core状态目录(state/theses/) - 无需 API 密钥
工作流
第 1 步:生成一周的摘要
python3 skills/weekly-performance-digest/scripts/generate_weekly_digest.py \
--state-dir state/theses \
--from-date 2026-06-13 --to-date 2026-06-20 \
--output-dir reports/ -v
默认值:--state-dir state/theses,--from-date 为 --to-date 前 7 天,
--to-date 为今天,--output-dir reports/。不指定日期标志时,将汇总
最近 7 天的数据。
第 2 步:阅读报告
运行后会生成 reports/weekly_digest_<to-date>.json 和
reports/weekly_digest_<to-date>.md。查看 Markdown 报告中的执行摘要、
指标表、模式分析,以及表现最佳和最差的交易;后续处理则使用 JSON。
第 3 步(可选):供下游流程使用
合并多份每周 JSON 摘要,用于月度回顾;或者将 JSON 传递给 事后复盘/教练流程。此技能仅用于描述分析——请通过常规 回顾流程,根据分析结果采取行动。
工作原理
- 交易筛选。 如果交易的
exit.actual_date位于[from-date, to-date]范围内,且status == CLOSED,则计入该周。 - 盈利/亏损。
outcome.pnl_dollars > 0表示盈利,< 0表示亏损,== 0表示盈亏平衡;win_rate = winners / total_trades。 - R 倍数。
pnl_dollars / ((entry.actual_price − exit.stop_loss) × position.shares)。 (根据实际交易假设架构,从exit.stop_loss读取止损价。) - 避免重复计数。 已平仓交易假设的
outcome.pnl_dollars是所有减仓操作加上最终仓位的 累计 已实现盈亏。关键指标只使用已平仓交易假设的累计值。单独的partial_trims区块会 扫描仅部分平仓的交易假设(仍处于持仓状态)的status_history[],并仅供参考——它 绝不会计入关键指标总额或胜率。因此,某个仓位若在第 1 周部分减仓、第 2 周平仓,就会在第 1 周显示为部分减仓,并计入第 2 周已平仓交易的关键指标;这是预期行为,并非重复计数。
输出格式
JSON(weekly_digest_<to-date>.json)
{
"schema_version": "1.0",
"report_type": "weekly_performance_digest",
"period": {"from": "2026-06-13", "to": "2026-06-20"},
"generated_at": "2026-06-20T21:39:07Z",
"summary": {
"total_trades": 2, "winners": 1, "losers": 1, "breakeven": 0,
"win_rate": 0.5, "expectancy": 25.0, "profit_factor": 2.0,
"total_realized_pnl": 50.0, "total_realized_pnl_pct": 4.17
},
"metrics": {
"avg_winner": 100.0, "avg_loser": -50.0,
"largest_winner": 100.0, "largest_loser": -50.0,
"avg_holding_days_winners": 9.0, "avg_holding_days_losers": 6.0,
"r_multiple_avg": 0.25, "r_multiple_stdev": 1.06,
"avg_mae_pct": -3.75, "avg_mfe_pct": 4.5
},
"pattern_analysis": {
"by_source_skill": {"...": {"wins": 1, "losses": 0, "total": 1, "win_rate": 1.0}},
"by_exit_reason": {}, "by_thesis_type": {}, "by_sector": {},
"by_mechanism_tag": {}, "by_screening_grade": {}
},
"partial_trims": {"count": 0, "total_realized_pnl": 0.0, "trims": []},
"lessons": {"top_wins": [], "top_losses": [], "process_improvements": []}
}
Markdown(weekly_digest_<to-date>.md)
各部分包括:# Weekly Performance Digest、## Executive Summary、
## Performance Metrics、## Pattern Analysis、## Lessons Learned
(### Top Winners/### Top Losers/### Process Improvements)。
即使当周没有交易,也会生成有效报告,指标均为零(退出代码为 0)。
资源
scripts/generate_weekly_digest.py— 摘要生成器(JSON + Markdown)references/weekly-digest-metrics.md— 指标公式和解读
核心原则
- 关键数据仅统计已平仓交易 — 累计
outcome.*,按平仓日期归类。 - 不重复计数 — 部分减仓仅供参考,不计入总数。
- 归因分析 — 每笔盈利或亏损都会从多个维度进行归因。
- 描述而非指导 — 摘要负责报告,由你做决定。