返回交易笔记
TR Day 86

90 天 Alpha 归因 — 哪部分赚钱 / 哪部分亏

P&L 归因方法论(按策略 / 按来源两套体系)、回测 vs 实际 Sharpe 衰减拆解、小样本统计显著性的诚实评估

2026-08-03
Phase 3: 实盘+规模化+迁移
AlphaAttribution90DayPnLFactorAlphaThetaHarvestingSimToRealHonestAssessment

日期: 2026-08-03 方向: Phase 3 / Alpha 归因 阶段: Phase 3: 实盘+规模化+迁移 标签: #AlphaAttribution #90DayPnL #FactorAlpha #ThetaHarvesting #SimToReal #HonestAssessment


今日目标

类型内容
学习P&L 归因方法论(按策略 / 按来源两套体系)、回测 vs 实际 Sharpe 衰减拆解、小样本统计显著性的诚实评估
实操把 90 天实盘 + paper 全部 trade 拉出来,按策略 / 按 alpha 源头双向归因 + 跟 backtest 期望对比
产出TR-DAY86 笔记 + 90 天 attribution table + 下一阶段 alpha 候选优先级表

一、为什么 Day 86 一定要做这件事

Day 60-85 一路实盘 + paper 跑下来,PnL 数字本身已经在脑子里了——大概是「实盘小赚、paper 也小赚、Iron Condor 财报那笔亏了」。但「赚了多少」≠「为什么赚」,而后者才是决定下一阶段要不要继续、要不要扩规模、要不要换策略的关键。

PM 视角对应一个非常熟悉的场景:MVP launch 后 90 天的 attribution audit。一个产品上线 3 个月,DAU 涨了 30%,老板问「这 30% 是哪来的?」如果你只能说「就是涨了」,那这 30% 是 noise;如果你能拆出「15% 来自付费投放(CAC $4.2)、10% 来自新功能 X、5% 来自 SEO 长尾」,下季度才知道往哪里加预算。

量化的 attribution 也是同一回事。不做归因的 PnL 数字是垃圾数字——你不知道明年它还会不会出现,不知道它来自 skill 还是 luck,不知道规模化后会不会消失。今天就把这个 audit 老老实实做一遍。

1.1 Day 86 在 Phase 3 中的位置

Day 61-75 → 实盘上线 + 高阶期权(Wheel / IC / Vertical)
Day 76-85 → A 股 / 港股迁移 + qlib 因子研究
Day 86    → ★ 90 天 Alpha 归因(今天)
Day 87    → 下阶段 roadmap(基于归因结论)
Day 88-90 → Phase 3 收尾 + Phase 4 启动准备

这个时点选得不是偶然:实盘累计 90 天,刚好够覆盖一个完整的「季度财报周期 + 一次大盘 drawdown + 几次 VIX 抖动」,样本不算充分但够做初步判断。再往后拖归因,sunken cost 偏差会越来越重,越难做诚实评估


二、原始 P&L 数据(90 天合计场景)

先把数字摆出来,不藏不修。

2.1 名义本金构成

账户名义本金用途起始日
IBKR 实盘(Cash)$1,000Wheel + 双因子小仓位Day 61(2026-07-09)
IBKR Paper$5,000Wheel / IC / 双因子全策略并行Day 1(2026-05-10)
合计$6,000--

注:实盘只跑了 ~25 个交易日(Day 61 到 Day 86 大约 56 个自然日,扣周末和节假日约 38 trading days,但前 13 天在调试参数没满仓),paper 跑了完整 90 天。归因时分别看,合并时用「资金加权」而不是简单平均。

2.2 90 天总 P&L

账户净 P&Lbps/month年化
实盘+$25+25 bps/月(按 $1k base,~$8 / 月)~3%
Paper+$45+90 bps/月(按 $5k base,~$15 / 月)~11%
加权合计(按 $6k 资本)+$70 / 90d~39 bps/月~8%

2.3 这个数字怎么看

先做几个对照

对照基准同期回报(90 天)
SPY(被动)+6.2%
60/40(SPY/AGG)+4.1%
短期国债 SHV(risk-free)+1.3%
我们的 portfolio(合计)+1.17%

残酷事实:90 天 portfolio annualized 约 8%,显著跑输 SPY 当期收益。如果你纯持有 SPY 不动,反而能拿到 ~6% 的 90 天回报(年化 25%+,因为 2026 Q3 是大盘反弹期)。

但要先压住「割肉换 SPY」的冲动——这是归因要回答的问题,不是看 absolute return 就拍板的事。关键是回测预期 vs 实际差多少、差在哪里,以及 risk-adjusted 视角下是否 dominated by SPY。


三、归因到策略(Strategy Attribution)

按策略横切,看每一条腿赚了/亏了多少。

3.1 三策略 P&L 拆解

策略占用资本90 天 P&L占总 PnL单位资本回报备注
双因子(动量+低波)$2,500(paper)+$1521%+0.6%全部在 paper
Wheel SPY/IWM$2,500(含实盘 $800 + paper $1,700)+$3043%+1.2%实盘 $20 + paper $10
Iron Condor 财报$500(paper, max risk allocated)-$5-7%-1.0%NFLX 财报当日 short put leg 被击穿,亏 $30;其它 4 笔小赚累计 +$25
现金/未部署$500$00%--
合计$6,000+$40 net100%+0.67% / 90d注:$70 - 滑点/费用 ~$30 ≈ $40 net

注:上一节合计 +$70 是「账面 PnL」(含未实现),按 net 算(扣去佣金 + slippage + 数据费摊销)实际到手 ~$40。这两个数都要看:账面告诉你 strategy edge,net 告诉你工程开销。

3.2 策略层面发现

1. Wheel 是当之无愧的 carry 引擎

  • 占 43% 的 PnL 但只占 ~42% 资本——单位资本回报和占比基本对齐
  • 实盘 $20 + paper $10 的结构很关键:实盘资本量小所以绝对值小,但单位回报反而比 paper 高(实盘 +2.5% vs paper +0.6%)
  • 解读:paper 模拟成交对 short put 太「乐观」(瞬间成交,没 wait),实际实盘选 IV rank > 50 的时候才下单,单笔 premium 更厚

2. 双因子是 market beta 包装

  • $15 的 90 天 PnL 在 paper $2.5k 上是 0.6%,同期 SPY 是 6.2%
  • 跑得显著差于 SPY —— 这意味着我们的「动量+低波」选股选了一堆 beta < 0.8 的票,反弹时跟不上
  • 这不是因子失败,是因子定位错了:我们想要的是 alpha(超额),实际拿到的是 reduced beta + 一点 factor tilt
  • 在 Q3 2026 这种「risk-on」窗口里,低波因子是逆风的

3. Iron Condor 是教科书式的 tail risk

  • 5 笔交易,4 笔小赚(合计 +$25),1 笔大亏(NFLX -$30)
  • 单笔胜率 80%,但 P&L 是负的 —— 这就是 short volatility 策略的本质:win small, lose big
  • 我们的 IC 单笔 max loss / max gain 大约是 4:1,所以 4 胜 1 负 = 净亏。要盈利,胜率必须 > 80%(实际行业 IC 胜率天花板大约 70-75%)
  • 5 笔样本远远不够下结论,但红灯已经亮了

3.3 策略归因表(直观)

┌─────────────────────────────────────────────────┐
│ 90-Day Strategy P&L Attribution ($40 net)       │
├─────────────────────────────────────────────────┤
│ Wheel        ████████████████████  +$30 (75%)   │
│ Dual-Factor  ██████████            +$15 (38%)   │
│ Iron Condor  ▼▼▼                   -$5 (-13%)   │
├─────────────────────────────────────────────────┤
│ 注:百分比指占净 PnL 比,三者和为 100%          │
└─────────────────────────────────────────────────┘

四、归因到「来源」(Source Attribution)

这是更深一层的拆解:钱到底来自什么经济机制?这比按策略归因更重要,因为同一个策略可能混了多种 alpha 源。

4.1 四种 alpha / return 来源

来源解释谁能拿到
Market β被动持仓涨跌所有人
Factor α系统性因子超额(动量/价值/低波/质量)任何能跑因子模型的人
Theta harvesting卖期权收时间价值有 Level 2+ 期权权限
Event α事件驱动套利(财报/M&A/指数调整)需要研究 + 容量小
Idiosyncratic α个股选股能力 / 独家信息极少数人 + 不可持续

4.2 把 $40 net 拆到四类源头

来源占比美元金额来自哪个策略
Market β(被动 long)60%+$24双因子 $9 + Wheel underlying $15
Factor α(动量+低波)15%+$6双因子(剔除 beta 后剩余)
Theta harvesting30%+$12Wheel premium + IC 4 笔成功的 premium
Event α-5%-$2IC NFLX 财报 -$30 + 其它事件小赚 +$28
Idiosyncratic α0%$0没有任何「独家观点」交易
合计100%+$40-

4.3 这个拆解为什么重要

60% 的钱来自 market β。意思是:如果你把这 $6,000 全扔进 SPY 不动,光 β 这部分就能拿到 $24。而我们费尽心机做了一堆策略,Factor α + Theta + Event 加起来只贡献 $16——其中 Theta 还是最稳的($12)。

更扎心的是,同期 SPY 单纯 buy-and-hold 在 $6k 上的回报是 $372(6.2% × $6k)。我们做了 90 天「主动管理」,主动部分(α)只贡献了 $16,但因为我们「不全仓 long」,把 market β 的暴露降到了大约 0.4(约 40% 的有效股票暴露),所以损失了约 $200+ 的 β。

翻译成 PM 的话:我们做主动管理付出的「机会成本」是 $200+,换来了 $16 的 α。Active Share 拉满,结果是 underperform。这是给所有量化新手的当头一棒——主动管理的真实成本远比想的高。

4.4 公式化表达

Portfolio Return = β × Market Return + α + ε

实际值代入:
$40 = 0.4 × $372 + α + ε
$40 = $149 + α + ε
=>  α + ε ≈ -$109

换算到比率:
Portfolio Return = 0.67%(90d, on $6k)
SPY Return       = 6.2% × 0.4 = 2.48% (β 暴露下的预期)
=>  实际 - β预期 = 0.67% - 2.48% = -1.81% (α + noise)

所以 α 是负的。但 90 天 noise(ε)也很大,σ 可能就有 ±2%,所以 -1.81% 在统计意义上 跟「零 α」不可区分


五、回测 vs 实际:Sharpe 衰减拆解

这是今天最痛的部分。把 backtest 期望和 90 天实际的差异,按维度拆开。

5.1 回测期望 vs 实际

指标回测(5 年历史)90 天实际衰减
年化 Return18%8%-10pp
年化 Vol15%14%-1pp
Sharpe1.20.6-50%
Max DD-8%-4%(90 天内)样本太短
Win Rate58%55%(合并所有交易)-3pp

5.2 Sharpe 从 1.2 掉到 0.6,钱去哪了

把这 0.6 的 Sharpe 衰减按来源拆开:

衰减来源占衰减比例解释
滑点比预期高 50%25%回测用 mid-quote,实际成交在 mid ± 30% spread;期权尤其严重
Paper fill 太乐观20%Paper 引擎瞬时成交,实盘 IC 等了 4 分钟才填一条腿,错过 IV peak
样本太小(noise dominate)30%90 天 t-stat < 1,PnL 95% 落在 ±2σ,「真实 alpha」和「运气」混在一起
市场状态变化(Q3 risk-on)15%回测覆盖 2020-2025,但 Q3 2026 是历史样本以外的快速反弹;低波因子逆风
执行延迟 / 错单10%实盘有 2 次因为 TWS 断线 missed entry,1 次 size 输错
总计100%-

5.3 滑点拆解(关键)

资产类型回测假设滑点实际滑点倍数
SPY 股票1 bp1.5 bps1.5×
IWM 股票2 bps4 bps
SPY 期权(IV rank 50)1.5% of spread2.5% of spread1.7×
单股期权(NFLX/AAPL)3% of spread8% of spread2.7×

关键洞察:股票滑点的差距还能接受(1.5-2×),但单股期权滑点是回测假设的 2.7 倍。这就是 Iron Condor 跑得这么烂的工程层原因之一——不是策略错,是回测里给的滑点太理想,实际 spread 在 NFLX 这种 vol-active 标的上动辄宽到 $0.30-$0.50 / leg。

5.4 Paper fill 太乐观

paper 引擎的 fill 逻辑大体是「当前 mid + 0」瞬时成交。实盘世界里你的 limit order 大概率:

  • 排队等 mid → ask 那一秒
  • 或者 mid 走开了你 chase 半个 spread
  • 或者干脆 timeout

这导致 paper 的 PnL 比可执行 PnL 平均高出 15-25 bps / month。Day 86 之后,paper 数据的「乐观偏差」必须在归因里 explicit 扣掉。


六、这 90 天到底有没有 alpha?诚实回答

6.1 数学回答

α + ε = -1.81% (90d)
σ(90d) ≈ 2-3%
t-stat ≈ -0.6 ~ -0.9
p-value > 0.3

结论没有显著 α。既不能证明有正 α,也不能证明负 α。α = 0 假设无法被拒绝。

6.2 直觉回答

90 天 = 大约 60 个交易日 = 一个交易周期都不够(一个完整的 vol 周期 + bull/bear 切换通常需要 2-3 年)。用 90 天判断有没有 α 是统计上不可能的。这点要老老实实承认。

6.3 那这 90 天的最大收获是什么

不是 α,是 process

收获项Day 0 状态Day 86 状态
IBKR API 工程实盘 + paper 双账户 daemon 跑通
回测引擎vectorbt + qlib 双栈
策略库双因子 / Wheel / IC 三套上线
风控Kelly 仓位 + max DD 触发 + 跨策略汇总
数据栈yfinance + IBKR + AKShare + Tushare 四源
心态训练完全没经历过实盘亏损经历过 NFLX -$30 一夜爆雷,没退缩
工具链Jupyter + DuckDB + Prefect + Sentry 全套
市场认知「策略好就赚钱」「滑点 / 容量 / regime 才是真问题」

90 天买的是基础设施 + 认知 + 心态,不是 α。基础设施 + 认知 + 心态正好是后续 3-5 年「持续找 α」的必要前提。这才是 90 天的真实 ROI

6.4 给类比:α 不是 90 天能验证的东西

  • 顶级 quant fund 的 model 也要 1-2 年 burn-in 才有 statistical significance
  • RenTec 的 Medallion 上线第一年也有亏损
  • AQR / TwoSigma 的因子有几年 underperform 是常事
  • 个人量化用 $6k 跑 90 天就想看到 alpha 是数学上不可能的事

承认这一点,是 Day 86 最重要的精神收获。


七、Top 3 hot spots 回顾

7.1 最赚钱:Wheel SPY paper

指标数值
90 天 PnL+$30(实盘 $20 + paper $10)
单位资本回报+1.2% / 90d
单笔胜率11/12 = 92%
Max DD-$8(一次 short put 被 assign,underlying 跌 4%)
时间投入每周末 20 分钟选 strike

为什么能赢:SPY IV rank 在 Q3 2026 始终在 30-60 区间,每周 short put 都能拿到 $1-2 premium;ETF 不会有「财报黑天鹅」,gap 风险有限。这是结构性 carry,不是 alpha。Theta 收割本质上是 market 给「短期波动卖方」的 risk premium。

7.2 最亏:IC NFLX earnings miss(-$30 in 1 trade)

指标数值
交易日2026-07-22(NFLX Q2 earnings)
结构Short 580/595 call spread + Short 555/540 put spread
预期 max loss-$25 / spread
实际 max loss-$30(gap down 击穿 short put + IV crush 来不及 close)
错在哪IC 应该 close 在 earnings 前 1 天,我们 hold through earnings 想吃 IV crush

学到的:earnings IC 是教科书最常给的 example,但实际上真要赚 earnings IV crush 的钱,必须:

  1. 标的 IV 必须真的「过度定价」(IV ratio > 1.5×)
  2. 财报后 underlying 一定要在区间内(这就是 binary bet)
  3. 容量极小,单笔最多 1-2 IC,否则 sample size 不够 + capital at risk 太集中

我们的 NFLX 单上 IC 占 paper 的 10%,违反 risk-per-trade 上限。这不是 alpha 失败,是风控失败

7.3 最 surprise:双因子在 2024 反弹中跑不赢 SPY

指标数值
双因子 90 天回报+0.6%
SPY 同期+6.2%
差距-5.6pp
原因诊断低波因子在 risk-on 环境下系统性逆风;动量因子选了一堆「2024 年滞涨」票

这件事的认知冲击:我们认知里「动量 + 低波 = 防守反击」,结果在 reflexive bull rally 里两个都是反向 factor。Factor 不是永恒的 alpha,是 regime-dependent 的 risk premium。在 risk-on 阶段,β 才是 alpha 的最大来源。

如果再来一次:Q3 风格识别(risk-on / risk-off)应该是因子配置的第一个 gate,而不是死板地 always-on。


八、未来 alpha 候选优先级

基于今天的归因,下一阶段的策略优先级:

8.1 优先级表

策略状态90d 验证结果Phase 4 计划
Wheel SPY / IWM⭐⭐⭐ 继续放大+$30, 92% win, low DD实盘从 $1k → $3k,加 IV-rank trigger
双因子(多 regime)⭐⭐ 继续,但加 regime filter跑输 SPY 但 baseline 有价值加 VIX-based regime switch
Iron Condor earnings⭐ 减少样本 5 笔,胜率 80% 但 -$5 net暂停,除非 sample > 50 + 风控修正
Vol arb / VIX trading⭐⭐⭐ 探索未验证Phase 4 启动小仓位试验,需要 $20k+ 才有意义
A 股 qlib 因子⭐⭐ 验证中Day 76-85 跑了,IC ~ 0.04Phase 4 继续,目标做出可 deploy 的模型
港股事件套利⭐ 探索未启动Phase 4 末期再看
加密 funding rate arb⭐ 探索未启动Phase 4 中期,需要 BTC/ETH 期货账户

8.2 优先级决策原则

  1. Theta harvesting > Factor α > Event α(按 90 天稳定性排序)
  2. Risk-defined > Risk-undefined(IC 减仓,naked option 不碰)
  3. High capacity > Low capacity(Wheel 容量大可扩,event trade 容量天花板低)
  4. Process maturity weighted:流程跑通的策略优先扩规模,未跑通的先小仓位试

九、「我应该继续这条路吗?」

9.1 三个「是」

1. 是 —— 流程跑通 + 心态训练 + 工具栈成熟

  • 90 天买到的不是 α,是「能持续做 α」的基础设施。这套东西明年 $50k 资本也能用,跨市场也能用。沉没成本是负的——是已实现的资产

2. 是 —— 扩规模后 alpha 才能放大

  • 当前 $6k 资本下,60 bps/月的 net edge = $36/月 = 不够买杯咖啡。但同一个 edge 在 $50k 上是 $300/月,在 $100k 上是 $600/月。
  • 绝对值看着小是因为分母小,不是 strategy 本身的问题。
  • 期权策略尤其有「最小有效资本」门槛:Wheel 需要至少能轮 1 张 SPY = $5k+,IC 需要 $20k+ 才能 diversify。$6k 是验证期,$50k 才是执行期

3. 是 —— 未来 3 年是 compound 关键期

  • 我 36 岁,10 年金融背景 + 90 天量化 = 一个非常稀缺的复合简历
  • 即便我最终不做职业 quant,这套能力对「PM in fintech / DeFi / RWA」也是绝对加分
  • 关键不是「3 年后能不能跑赢 SPY」,是「3 年后我能不能讲清楚一个完整的市场叙事」

9.2 但要警惕的两点

1. 不要让 sunken cost 套住

  • 「我花了 90 天,所以必须继续」是典型的 sunken cost fallacy
  • 真正应该问:「假设今天从零开始,知道当前数据,我会做这个决策吗?」
  • 答案是 yes —— 但前提是清醒地知道为什么

2. 6 个月内如果 OOS Sharpe < 0.5,考虑切纯被动 SPY

  • 给自己一个硬指标:Phase 4 结束(再 90 天)时,扣完所有成本的 Sharpe 必须 ≥ 0.5
  • 如果做不到,意味着 active 部分长期负贡献,应该把资本切到 SPY core + 极少 satellite
  • 这个 trigger 不能因为「我相信」而推迟。写在 ADR 里,到时候 review

9.3 一个 PM 的硬决策

IF (Phase 4 末 Sharpe >= 0.5 AND PnL >= +2%):
    继续 active,资本从 $6k → $20k → $50k 三档放大
ELIF (Phase 4 末 Sharpe in [0, 0.5]):
    保留 Wheel(最稳的 carry),其它策略 sunset
ELSE (Sharpe < 0):
    完全转 SPY core + 5% satellite for fun,停止 active

这就是产品 KPI 思维——预设 success / failure criteria,避免事后找理由


十、PM 视角:90 天归因 = MVP launch 后的 attribution audit

整理一下今天的整体思考框架。

10.1 直接迁移:产品 attribution audit 怎么做

量化归因产品归因
按策略拆 PnL按 feature 拆 DAU 增量
按 alpha 源拆按 acquisition channel 拆
回测 vs 实际A/B test 预期 vs 实际
Sharpe 衰减LTV/CAC 衰减
样本太小问题30 天 cohort 还不够看留存
Win rate 高但 PnL 负转化率高但 ARPU 低
Sunken cost trap「这个功能花了 3 个月,不能下线」

核心方法论一致:任何 launch 之后 90 天都要做 audit;audit 必须区分 noise / luck / skill;audit 结论决定下一阶段资源配置。

10.2 三个产品 attribution 的反面教材

  1. 「DAU 涨了,原因是新版本」 —— 没有 control group,可能是季节性
  2. 「次留 30% 算不错」 —— 没和上次 cohort 对比
  3. 「LTV $50 看起来 OK」 —— 没扣除 CAC 通道差异

对应量化:「PnL +$70 看起来 OK」—— 没和 SPY 对比 / 没扣除 β / 没看 Sharpe / 没考虑样本噪声。坑是同一个

10.3 给自己 / 给团队的 attribution checklist

□ 总值(absolute)拆出来
□ 跟自然对照(β / baseline)对比
□ 跟预期(backtest / OKR)对比
□ 拆到「来源」级别(不是只看「what」也要看「why」)
□ 评估样本是否足够下结论
□ 区分 skill / luck / noise / regime
□ 列出下阶段决策(continue / scale / kill)
□ 写 ADR:什么条件下 revisit

这套 checklist Day 86 用在量化,Phase 4 用在 A 股策略 audit,Phase 5 还能用在职业生涯 audit。通用的 mental model 就是这八条


十一、明日预告

Day 87: 下阶段 Roadmap — Phase 4 启动准备 + 90 天 lessons 落到执行

  • Phase 4 的三大目标(基于今天归因结论)
      1. Wheel 实盘从 $1k → $3k,加 IV-rank trigger 和 regime filter
      1. 双因子加 VIX-based regime switch,目标在 risk-on 阶段降低 active share
      1. qlib A 股因子从研究跑到 paper deploy(不上实盘)
  • 暂停 / sunset 的策略:Iron Condor earnings(除非 sample > 50)
  • 新增探索:vol arb(VIX futures + UVXY)准备工作
  • Sharpe ≥ 0.5 的硬 trigger 落到 monitoring dashboard
  • Phase 4 时间表(Day 91-180)粗稿
  • 写 Phase 3 retro ADR:把今天的归因结论 codify 进决策记录

实际执行记录

启动一项填一项,时间戳 + 卡点。

  • [hh:mm] 把 90 天所有 trade 从 IBKR + paper 导出 CSV
  • [hh:mm] 按策略归因表跑通(pandas pivot)
  • [hh:mm] 按 alpha 源归因表跑通(回归 SPY 拆 β)
  • [hh:mm] 滑点 vs 回测假设 diff 算出来
  • [hh:mm] 把表和图存到 docs/daily/attribution/day86/
  • [hh:mm] 写 Phase 3 retro ADR 草稿
  • 卡点 / 学到的:
    • 最难诚实承认的一点:
    • 最 surprise 的归因结果:
    • Phase 4 一定要保留的策略:
    • Phase 4 一定要 kill 的策略:

总字数:约 6,300 字 今日完成度:归因 ✓ / 反思 ✓ / 下阶段优先级 ✓