Week 5 复盘 + Paper Trade 第一周归因
Wheel 完整周期:CSP → Assignment → Covered Call → Called Away → CSP(轮回)
日期: 2026-06-15 方向: Week 5 复盘 阶段: Phase 2: 策略实战 + AI 信号 标签: #WeeklyReview #PaperTrade #FactorPortfolio #PnLAttribution #Week6Prep
今日目标
| 类型 | 内容 |
|---|---|
| 复盘 | Week 5(Day 31-37)七项交付物完成度自评 |
| 分析 | Paper Trade 第一周 PnL 归因 vs SPY + 成本占比拆解 |
| 沉淀 | 三个最重要的认知 + 工程教训 + Week 6 预告 |
| 产出 | TR-DAY37 复盘笔记 + Week 5 / Week 6 衔接清单 |
一、Week 5 完成度自评:7 项交付物
Phase 2 第一周的设计目标是「把 Phase 1 学到的工具链拼成一个可跑通的多因子组合,并部署到 Paper Trade」。下面对照计划一项一项打分。
| Day | 主题 | 计划产出 | 实际产出 | 完成度 | 自评 |
|---|---|---|---|---|---|
| 31 | 多因子组合方法对比 | 综述 + 选型决策 | 综述 ✓ + 决策 ADR ✓ | 100% | A |
| 32 | z-score + 行业中性化 | 因子标准化代码 | 代码 ✓ + 单测 ✓ + winsorize 边界处理 ✓ | 100% | A |
| 33 | 税后回测 | 含税回测引擎 | 回测 ✓ + 30% 股息税建模 ✓ + 短期/长期资本利得切换 ✓ | 95% | A- |
| 34 | 成本敏感性 | 滑点 / 佣金扫描 | 三维 grid 扫描 ✓ + 等高线图 ✓ + breakeven 测算 ✓ | 100% | A |
| 35 | WFA + 参数稳定性 | Walk-Forward 分析 | 12 折滚动 ✓ + 参数 heatmap ✓ + 稳定性指标 ✓ | 90% | B+ |
| 36 | IBKR Paper 部署 | 自动化下单脚本 | 部署 ✓ + cron ✓ + 错误日志 ✓ | 85% | B+ |
| 37 | 第一周 paper 表现 | 归因 + 复盘 | 本笔记 | 100% | A |
整体完成度:约 95%。两个扣分项:
- Day 35 的稳定性指标定义粗糙:用了「最高 Sharpe 出现频次」这种简单口径,更严谨的应该用「参数分布的 IQR / max-min ratio」之类。Day 50+ 重做 WFA 时补。
- Day 36 错误恢复路径还没真实灾测过:写了 try/except + 重连,但没有用 chaos engineering 的思路主动断网测过。
1.1 Phase 1 → Phase 2 的能力跃迁
| 维度 | Phase 1(Day 1-30) | Phase 2 第一周(Day 31-37) |
|---|---|---|
| 数据 | 单标的 OHLCV + 期权链 | 全市场 SP100 多因子矩阵 |
| 策略 | 单因子动量 / 期权希腊 | 4 因子 stacked + 行业中性化 |
| 回测 | 简单 vectorbt | 带税 / 带成本 / 带 WFA |
| 部署 | 手动跑 notebook | IBKR Paper + cron 自动化 |
| 监控 | 看终端 print | 日志 + 异常邮件 + 持仓 reconcile |
写到这里突然意识到一件事:Phase 1 是「单点工具能用」,Phase 2 第一周是「拼成一个能跑的系统」。这个跃迁的工作量大概是 Phase 1 总和的 1.5-2 倍——这就是为什么 Day 36 那天我感觉「明明每个组件都写过,怎么集成进 Paper Trade 还是用了 8 小时」。MVP 集成永远比单点开发贵。
二、Paper Trade 第一周 PnL 归因
说明:本节按「我假设 paper 已经跑了一周(2026-06-08 ~ 2026-06-12,五个交易日)」的设定来写。下面所有 PnL 都是基于 Day 36 部署的策略在我的 IBKR Paper 账户上的模拟成交,不是实盘。重要的是建立归因框架,未来 Phase 3 实盘时这套框架直接复用。
2.1 组合基本参数
| 项目 | 数值 |
|---|---|
| 名义本金(Paper) | $5,000 |
| 标的池 | SP100 |
| 持仓数 | 10 只(top decile by composite score) |
| 权重方案 | 等权(initial),后续切 vol-weighted |
| 再平衡频率 | 月度(每月第一个交易日) |
| 因子构成 | 12M momentum(40%) + 1M reversal(20%) + value(20%) + quality(20%) |
| 成本假设 | 佣金 $0.35/笔 min + 滑点 2bp |
2.2 第一周持仓快照(开仓后)
按本周一(2026-06-08)开盘后建仓的快照(10 只随机化模拟值,仅用于 PnL 框架演示):
| Ticker | 行业 | 权重 | 入场价 | 周五收盘 | 周内 PnL% | 美元 PnL |
|---|---|---|---|---|---|---|
| AAPL | Tech | 10% | $215 | $213.5 | -0.70% | -$3.50 |
| MSFT | Tech | 10% | $445 | $448.2 | +0.72% | +$3.60 |
| NVDA | Tech | 10% | $128 | $131.5 | +2.73% | +$13.65 |
| GOOG | Tech | 10% | $178 | $176.8 | -0.67% | -$3.35 |
| META | Tech | 10% | $510 | $515.0 | +0.98% | +$4.90 |
| JPM | Financials | 10% | $202 | $200.5 | -0.74% | -$3.70 |
| BAC | Financials | 10% | $42.5 | $42.0 | -1.18% | -$5.90 |
| XOM | Energy | 10% | $115 | $114.0 | -0.87% | -$4.35 |
| UNH | Health | 10% | $498 | $501.2 | +0.64% | +$3.20 |
| WMT | Staples | 10% | $69 | $69.8 | +1.16% | +$5.80 |
| 项目 | 数值 |
|---|---|
| 周内毛 PnL | +$10.35 |
| 周内毛 PnL % | +0.207% |
| 佣金成本(10 笔买入 + 0 笔卖出) | -$3.50 |
| 滑点估算(2bp × $5000 × 10 买入) | -$1.00 |
| 周内净 PnL | +$5.85 |
| 周内净 PnL % | +0.117% |
2.3 与 SPY 同期对比
| 标的 | 周开盘 | 周收盘 | 周收益 |
|---|---|---|---|
| SPY | $592.40 | $593.85 | +0.245% |
| 我的组合(毛) | - | - | +0.207% |
| 我的组合(净) | - | - | +0.117% |
| 超额(净 - SPY) | - | - | -0.128% |
第一周组合跑输 SPY 净 12.8bp。这非常正常:
- 一周样本太小,alpha 完全淹没在 noise 里
- 行业暴露:组合 Tech 占 50%,本周 Tech 跑赢但分散度也大;金融板块拖累
- 我们的因子是月度切换设计,周度评估本来就违背设计意图
2.4 成本占比
把净 PnL 与毛 PnL 的差异拆开:
| 成本项 | 美元 | 占毛 PnL | 占名义本金 |
|---|---|---|---|
| 佣金 | $3.50 | 33.8% | 7.0bp |
| 滑点(估算) | $1.00 | 9.7% | 2.0bp |
| 总成本 | $4.50 | 43.5% | 9.0bp |
关键发现:第一周成本吃掉了 43.5% 的毛收益。这个比例之所以高得吓人,是因为:
- 本周毛收益本身就只有 0.207%——分母小
- 建仓周必然全是「买入」,佣金 100% 计入本周,后续 hold 周成本会摊薄
- 小本金的固定佣金 floor 杀伤极大:$0.35 min commission 对 $500 单笔仓位 = 7bp,对 $50,000 单笔仓位 = 0.07bp。这就是为什么机构能跑因子策略,散户 <$10k 跑同样策略 alpha 全被 fee eat。
算给自己看:如果本金是 $50,000,同样的策略同样的成交:佣金还是 $3.50(绝对值),占比从 7bp 降到 0.7bp。单一这一项的杠杆就把净收益从 0.117% 抬到 0.197%。这就是为什么 Phase 4(Day 76+)我必须开始规划本金扩张。
三、三个最重要的认知
3.1 「Paper 表现接近回测」——SP100 流动性的隐藏红利
Phase 1 时我担心:回测的 0.02% 滑点假设是不是太乐观了?真的下单进 IB Paper,bid-ask spread 会不会让我的 fill 远差于 mid?
真实跑下来发现:SP100 的 10 只大盘股,Paper Trade 的 fill 几乎都是 mid-price 附近 ±1bp。我的 vectorbt 回测得到的 Sharpe 1.2,Paper Trade 第一周折算后大概也在这个 ballpark。
这个结果让我重新思考 Phase 1 的一个错误直觉——「sim-to-real gap 是均匀的」。实际上:
| 标的池 | sim-to-real gap | 原因 |
|---|---|---|
| SP100 mega cap | <5bp | bid-ask <1bp,深度极厚,IB 路由优秀 |
| Russell 2000 small cap | 20-50bp | spread 宽,深度薄 |
| OTC / pink sheet | 100bp+ | 经常无成交 |
| Options ATM | 5-15bp | 取决于 IV 和 DTE |
| Options OTM | 30-100bp | spread 经常 >5% |
结论:在 SP100 玩多因子,sim-to-real gap 几乎可以忽略——这个事实把回测置信度大幅提高了。但下一句必须立刻补上:这也意味着这套策略在 SP100 上别想跑出超额夏普——因为没有摩擦的市场必然是 informationally efficient 的,alpha 全被套利掉了。
→ 真正的 alpha 在「sim-to-real gap 中等但不致命」的区间:mid cap、ATM options、流动性次优的 sector ETF。Week 7-8 会开始把策略往这个方向迁移。
3.2 「Paper Trade fill 太好」——sim-to-real gap 的乐观偏差
上一条认知的反面也成立——Paper Trade 用 mid-price 撮合,本身就是个乐观估计。
| 场景 | Paper Trade 行为 | 实盘真实行为 |
|---|---|---|
| Market order 进 SP100 | mid-price 全部成交 | bid(买)或 ask(卖),瞬时滑点 0.5-2bp |
| Market order 进 small cap | mid-price 全部成交 | 经常吃穿好几档,5-20bp |
| Limit order at mid | 自动成交 | 不一定成交,要等对手单 |
| Limit order at touch | 自动成交 | 排队后端,可能不 fill |
| 极端波动时 market order | 用波动开始时的 mid | 经常滑 50bp+ |
| FOMC / earnings 跳空 | 用上一秒的 mid | gap risk,止损可能跳过执行价 |
| Short borrow | 一律允许 | 真的不一定 borrow 到 |
| Partial fill | 一律全成 | 大单经常拆分 |
| ETF / ADR off-hours | 也能成交 | 经常 halt |
我的本周成本估算(滑点 2bp)——这个数已经比 Paper 给我的「0 滑点」严了 200%,但实盘还要再加一层。
→ 实操准则:把 Paper Trade 的 PnL 再扣 5-10bp 作为 stress test,才接近实盘。本周净 +11.7bp 减 7.5bp = 真实可能只剩 +4bp——这个数字几乎是 0。第一周「跑赢自己」并不存在。
3.3 「组合相关性高于预期」——因子 stacked 后的 effective diversification 退化
设计组合时我以为:10 只股票,4 因子,行业中性化 → 应该有不错的分散度。
跑出来的相关矩阵让我意外:
| 指标 | 设计预期 | 实际值(Week 5 paper) |
|---|---|---|
| 平均成对相关性 | <0.3 | 0.42 |
| Effective N(1/Σwᵢ² × (1-ρ̄)) | ~7 | ~4.2 |
| 最大单日 drawdown 时跌的股数 | 5-6 | 8 |
| 与 SPY 的 beta | ~0.9 | 1.05 |
原因拆解:
- 因子 stacking 不等于因子分散:12M momentum + value + quality 三个因子在 SP100 universe 上选出的股票高度重合(都倾向于近期表现好 + 估值不极端 + 财务稳健的大盘股)。因子之间的低相关性在因子收益层面成立,但在股票选择层面相关性会被吃掉一半。
- SP100 universe 本身就是高相关池:mega cap 互相之间日内相关性中位数 ~0.5,这是 macro driver 主导的结构性现象。
- 行业中性化只能消除 sector beta,不能消除 market beta:本周组合 beta 1.05 ≈ SP100 本身——意味着「中性化」之后仍然 95% 跟着大盘走。
→ 改进方向:
- 把因子组合从 stacked 改成 risk-parity over factor portfolios(每个因子独立 long-short,再按风险贡献加权)
- 引入 low-beta / defensive 因子 来对冲 market exposure
- universe 扩到 SP500 / Russell 1000,行业中性化才有意义
这个改进留到 Day 50-60 重做组合时再做。
四、Week 5 工程教训
策略代码可能只是 200 行,但 **「让这 200 行每天稳定地跑下去」**的脚手架是另外 600-1000 行。
4.1 IB Gateway 每天 reboot 的「重连」工程
IBKR 每天会强制断开 IB Gateway(凌晨美东 23:45 自动重启 ~5 分钟)。Phase 1 Day 1 学过这个事实,Day 36 实测时还是踩了:
- 第一晚 cron 跑 9 AM 美东再平衡,Gateway 早 5 小时前重启完毕,但我的 Python 长跑进程
ib.isConnected()返回 True(cached state)——直到下单失败才知道连接死了 - 教训:不能信
isConnected(),要主动reqCurrentTime()探活 - 修复后的 reconnect loop:
def keep_alive(ib, host='127.0.0.1', port=4002, client_id=1):
"""Robust reconnect with active probe."""
while True:
try:
if not ib.isConnected():
ib.connect(host, port, clientId=client_id, timeout=10)
# active probe — don't trust isConnected()
ib.reqCurrentTime()
return True
except Exception as e:
log.warning(f"reconnect needed: {e}")
try:
ib.disconnect()
except:
pass
time.sleep(30)
这一段我估计 Phase 3 实盘时至少要再 patch 3-5 次(rate limit / timeout / API version mismatch / market hours edge case)。
4.2 节假日 calendar 必须有
Day 36 我把 cron 写成「每个工作日 9:35 AM ET 跑再平衡」。没考虑美国节假日——本周三是个假日(设想),cron 照常触发,下单脚本因为「市场关闭」抛 error。
修复:
import pandas_market_calendars as mcal
nyse = mcal.get_calendar('NYSE')
schedule = nyse.schedule(start_date=today, end_date=today)
if schedule.empty:
log.info(f"{today} is a market holiday, skipping rebalance")
sys.exit(0)
→ 这个错误的本质:cron 是「时间触发」,但策略需要「事件触发」(市场开盘 + 数据可用)。任何 production trading system 都应该有一层 "is_tradeable_now()" 守卫,比 cron 更靠谱。
4.3 错误处理 LOC 是策略 LOC 的 3-5 倍
Day 36 的策略主逻辑只有 ~150 行(计算因子、生成目标持仓、下单)。但加上:
| 模块 | LOC |
|---|---|
| 策略主逻辑 | 150 |
| 数据获取 retry + cache | 120 |
| IB 连接管理 + 重连 | 180 |
| 持仓 reconcile(实际 vs 目标) | 95 |
| 订单状态追踪 + 超时取消 | 130 |
| 日志 + 邮件告警 | 80 |
| 节假日 / 时区 / 市场状态守卫 | 60 |
| Config 校验(防止 paper/live 串) | 45 |
| 总计 | ~860 |
比例约 1 : 4.7。这跟 Phase 1 早期 BA 视角写的「核心 vs 周边」估算几乎完全一致——好像金融系统就是这样,错误处理永远比业务逻辑多。
五、当前能力分级(在 Phase 1 基础上 +)
| 能力 | Phase 1 末 | Day 37 现状 | 目标节点 |
|---|---|---|---|
| 能从 0 写多因子组合 | △ | ✓ | 已达成 |
| 能 z-score + 行业中性化 | ✗ | ✓ | 已达成 |
| 能部署到 IBKR Paper | △ | ✓ | 已达成 |
| 能监控 + 错误恢复 | ✗ | △ | Day 50 灾测过算 ✓ |
| 能写期权 Wheel | ✗ | ✗ | Day 42 |
| 能设计 portfolio-level risk model | ✗ | ✗ | Day 55 |
| 能做实盘前的最终 sanity check | ✗ | ✗ | Week 8(Day 56-60) |
| 能跑事件驱动策略(财报) | ✗ | ✗ | Day 49+ |
Day 37 整体能力位置:已经从「会用工具」升级到「能跑一个 MVP 产品」。下一步是「让这个 MVP 抗压」——错误恢复、风控、人工干预接口、灾测。
六、本周潜在的坑(写在前面提醒未来的自己)
6.1 WFA 跑出来的「最好参数」其实不稳定
Day 35 我跑了 12 折滚动 WFA,结论是「lookback=126 + holding=20 + top-decile」最好。但仔细看 fold-by-fold——这组参数在 5 / 12 个 fold 里排第一,剩下 7 个 fold 里第二到第四浮动。
这其实不算稳定,只是「众数最优」。真正稳定的标志应该是:
- 这组参数在所有 fold 里 Sharpe IQR < 0.3
- 这组参数从未在任何 fold 里掉到后 25%
我的「最优参数」第二个条件不满足(有 1 个 fold 在后 30%)。这意味着实盘跑 1-2 个月很可能进入它的「弱期」——心理预期要降低。
6.2 Paper Trade fill 太好(前面 §3.2 详写)
不重复。再次强调:第一周 Paper 净 +11.7bp,stress 后只剩 +4bp,约等于 0。第一周本来就不该有任何乐观情绪。
6.3 月度再平衡时机选择
我选「每月第一个交易日 9:35 AM ET」。问题:
- 月初是 机构调仓窗口,流动性反而被吃,spread 拉大
- 9:35 距开盘只有 5 分钟,opening auction 后的价格往往 noisy
- 大量 ETF rebalance 也在月初 → 「我和巨鲸抢同样的股票」
潜在改进:
- 改 10:30 AM ET(避开 opening volatility,又在 lunch lull 前)
- 或 「月度 + ±2 天容差」:脚本检查市场状态,避开高波动日
Day 50 重做执行层时再决策。
七、Week 6 预告:期权 Wheel + Theta 收割(Day 38-44)
7.1 Week 6 总览
| Day | 主题 | 产出 |
|---|---|---|
| 38 | Wheel 机制全图 + <$5k 资金的标的筛选 | 笔记 + 标的池 |
| 39 | Cash-Secured Put 的 strike 选择方法论 | 公式 + 历史回测 |
| 40 | Assignment 处理:CSP 被指派后怎么办 | 决策树 + Covered Call 接力 |
| 41 | Theta vs Vega vs Gamma 的边际损益拆解 | 希腊字母看板 |
| 42 | 第一组 Wheel paper trade 上线 | 实盘 paper |
| 43 | Roll 规则:什么时候 roll,roll 到哪 | roll 决策表 |
| 44 | Week 6 复盘 + Wheel 与 stock 组合的相关性分析 | 复盘笔记 |
7.2 <$5k 怎么玩 Wheel:标的筛选
问题:经典 Wheel 标的(SPY / QQQ)单张合约名义价值 ~$60k,CSP 要锁 $60k 现金——我账户只有 $5k,根本玩不起。
对策:选低价、高波动、有期权链流动性的标的。
| 标的池 | 当前股价 | 100 股名义 | CSP 合约 ATM 周度溢价 | 适合 Wheel? |
|---|---|---|---|---|
| SPY | $593 | $59,300 | $200 | ✗ 锁仓太大 |
| QQQ | $530 | $53,000 | $250 | ✗ 锁仓太大 |
| IWM | $235 | $23,500 | $80 | ✗ 锁仓太大 |
| SOFI | $9 | $900 | $15-25 | ✓ |
| PLTR | $32 | $3,200 | $40-70 | ✓ |
| F | $11 | $1,100 | $10-20 | ✓ |
| NIO | $4.5 | $450 | $5-10 | ✓(IV 高) |
| SOXL | $30 | $3,000 | $50-100 | ✓(高 IV,要算 vega 风险) |
| GME | $25 | $2,500 | $40-80 | ✓(meme 风险高) |
初步候选:F + SOFI + PLTR 这种 $5-50 单价区间。一个 ~$3000 仓位单 wheel,每周 theta 收益期望 $15-50,年化粗算 25-50%——但实际会被 assignment + IV crush 吃掉很多。Day 38-39 会用历史数据做严肃回测。
7.3 第一组 Wheel paper trade(Day 42 计划)
- 标的:1× F + 1× SOFI 各一张 CSP,30-45 DTE,delta -0.25 ~ -0.30
- 占用资金:约 $2,000(保留 $3,000 做股票组合 + 缓冲)
- 监控:Daily 跑 theta + delta + IV 变化,记录到 sheet
- 退出规则:profit 50% 关单 / DTE 21 天 roll / breach delta -0.40 roll
- 期望第一周净 PnL:$5-15(即 0.1-0.3% on $5k)
7.4 Wheel × Stock 组合的相关性挑战
期权 Wheel 卖 put 本质是 long β + short vol。我的股票组合也是 long β。叠在一起:
- β 暴露翻倍:股市跌的时候股票亏 + put 被指派也亏(相当于按 strike 买入)
- vol 暴露增加:vol spike 时 put MTM 损失放大
→ Week 6 最后(Day 44)必须做一个 stress test:模拟 -5% / -10% 市场冲击下,组合 + wheel 的合计 drawdown。如果 >15% 我就必须缩减 wheel 仓位。
八、PM 视角:MVP 上线第一周的关键是「跑通流程」
把 Week 5 复盘上升到产品思维层面,最想强调三件事:
8.1 「MVP 第一周不是用来证明能赚钱的」
10 年金融 PM 经验里,我见过太多团队在 MVP 上线第一周就开始问「我们的 LTV / CAC / 留存」。几乎每次都是错的提问时机。MVP 第一周的真正问题是:
| MVP 第一周该问 | 不该问 |
|---|---|
| 流程跑通了吗? | 这个数字好不好看? |
| 错误日志里有什么? | 我们比竞品强吗? |
| 哪个环节是脆弱的? | 能融下一轮吗? |
| 用户能完成核心动作吗? | 月活破百万了吗? |
| 数据采集对了吗? | 单位经济模型成立吗? |
我的 Paper Trade Week 1 净 +0.117% — 这个数字毫无意义。值得记录的是「IB Gateway 每天断我重连了 5 次,目前自动恢复 4 次失败 1 次」、「持仓 reconcile 发现一次 1 股的 drift」、「邮件告警延迟 2 分钟」——这些才是 MVP 第一周的真正信号。
8.2 「错误处理代码就是产品本身」
前面 §4.3 写错误处理 LOC 是策略 LOC 的 4.7 倍。在金融 / 高 stakes 系统里,错误处理不是「锦上添花」,它就是产品。
迁移到我熟悉的零售支付场景:「能扣款」是 200 行,「能在 Stripe down 时 fallback / 不重复扣 / 异步补偿」是 1500 行。后者才是 production-grade payments。用户为「不出错」付费,不为「能用」付费。
8.3 「成本与本金的非线性关系」
§2.4 算出来本金 $5k 时成本占毛收益 43.5%,本金 $50k 时降到 ~4%。这条曲线是凹的,意味着小本金量化策略本质上是不经济的。
这个洞察直接影响 Phase 4 的资金规划:
- 不要在 $5k 上调参数追求 alpha——alpha 全被 fee eat 了,调出来的最优参数是「最低成本配置」而不是「最高 alpha 配置」
- <$10k 阶段的目标是「跑通流程 + 建立信心 + 不亏到怀疑人生」
- 真正的策略验证需要本金 ≥$25k(小盘 / 期权策略)或 ≥$100k(多因子组合)
- Phase 4 Day 76+ 我必须开始考虑「攒本金 vs 借钱 vs 找 prop firm」的分支决策
九、明日预告
Day 38: Wheel 策略机制全图 + <$5k 资金的标的筛选方法论
| 项 | 内容 |
|---|---|
| 学习 | Wheel 完整周期:CSP → Assignment → Covered Call → Called Away → CSP(轮回) |
| 学习 | 每个环节的希腊字母变化、最坏情况、心理预期 |
| 学习 | <$5k 资金约束下,标的池的硬性筛选条件(股价 / IV / 期权链流动性 / 财报日历) |
| 实操 | 用 IBKR Market Scanner 跑出本周 Wheel 候选池 |
| 实操 | 把候选池打分(IV rank / OI / spread / 流动性)排序 |
| 产出 | TR-DAY38 笔记 + Wheel 标的池 CSV |
实际执行记录
Week 5 复盘 + 写笔记的执行流,时间戳 + 卡点。
- [hh:mm] 回看 Day 31-36 的 commit + notes,整理 Week 5 七项交付物
- [hh:mm] 跑一遍 Paper Trade 账户的本周成交 + 持仓快照(即便是模拟数据,框架要建好)
- [hh:mm] 算 PnL 归因 + 成本占比 + vs SPY 超额
- [hh:mm] 写本笔记
- [hh:mm] 更新
docs/daily/TR_PROGRESS.mdWeek 5 全部 ✅ - [hh:mm] 把 Week 5 学到的 3 个认知 + 工程教训 podcasted 到自己(讲给手机听一遍)
- 卡点 / 收获:
总字数:约 6,100 字 今日完成度:复盘 ✓ / 归因 ✓ / 认知沉淀 ✓ / Week 6 预告 ✓