Week 3 周复盘 + Week 4 准备
Week 3 周复盘 + Week 4 准备
日期: 2026-05-30 方向: Week 3 复盘 阶段: Phase 1: 基础与工具链 标签: #WeeklyReview #Options #Greeks #IV #CSP #Week4Prep
今日目标
| 类型 | 内容 |
|---|---|
| 复盘 | Week 3 (Day 15-20) 完成度自评 + 期权知识图谱串联 |
| 反思 | 三个最重要的认知变化、本周潜在坑、当前期权能力分级 |
| 预告 | Week 4 回测严谨性 + 风控基础 (Day 22-30) |
| 产出 | TR-DAY21 笔记 + Day 22 交易成本建模铺垫 + Phase 1 收尾路径图 |
一、Week 3 完成度自评
1.1 每日实操产出对照表
把 Day 15-20 应当产生的「实操产出」摆一起,用最严的标准自评。Week 1/2 复盘里我已经验证过这种「不允许日记式自我感觉良好」的盘点形式,Week 3 沿用,并且更狠一点——期权这块理论懂≠会做的差距特别大,必须区分「读过」和「跑通」。
| Day | 主题 | 应交付物 | 自评状态 | 备注 |
|---|---|---|---|---|
| Day 15 | 期权基础 | Call/Put payoff 图、ITM/ATM/OTM 三态分类、内在价值 vs 时间价值分解 | 完成 | tr_day15_payoff.py 画出 6 种基础 payoff,叠加成本线后看清「保本点」 |
| Day 15 | 期权链阅读 | yfinance + IBKR 双源拉一份 SPY 月度期权链,对照 bid/ask 和 IV | 完成 | 顺手把 0DTE 链也拉了,看清楚为什么周五 0DTE 的 ATM 一个 tick 跳 30% |
| Day 16 | 五大 Greeks | Delta/Gamma/Theta/Vega/Rho 各自含义 + 数学一阶/二阶分解 | 完成 | tr_lib/options/greeks.py 包含 BS 解析解 + 数值微分两种实现,互相 cross-check |
| Day 16 | 策略 Greeks 符号矩阵 | 长 Call/长 Put/短 Call/短 Put/CSP/CC/Straddle/Strangle 的 Greeks 正负号一张表 | 完成 | 这张表是 Week 3 最有复用价值的产出,已经贴到 TR_PROGRESS 里 |
| Day 17 | Black-Scholes 推导 | 写一遍 BS 公式(不要求自己推 PDE,但要能解释每个参数含义) | 完成 | 笔记里推到 d1/d2 那一步,关键是搞清楚为什么 ln(S/K) 出现 |
| Day 17 | IV 求解 | 用二分法 + py_vollib 两种方式从市场价反算 IV | 完成 | 二分法 50 次迭代 1e-6 精度,py_vollib implied_volatility 给同样结果,差异在 1e-8 量级 |
| Day 18 | IV vs HV | HV 用 close-to-close 和 Parkinson 两种估计、IV 用 ATM 单点 | 完成 | SPY 2024 整年 IV-HV spread 平均 +3.2%(IV 略系统性高估 HV,这就是卖方 risk premium 来源) |
| Day 18 | IV Rank / IV Percentile | 实现 252 天 rolling 的 IVR 和 IVP,跟踪 VIX 做 sanity check | 完成 | 跑了 2014-2024 SPY 数据,IVR > 50 时段年均出现 ~80 天,2020 / 2022 占了 80% |
| Day 19 | IV Term Structure | 用 IBKR 拿当日 0/7/14/30/60/90/180 天到期的 ATM IV 画 term structure | 完成 | 平时是 contango(远月 > 近月),但当天恰好抓到一个小 backwardation(5/29 收盘 VIX 跳了 1.5 点) |
| Day 19 | Vol Smile + Skew | 当月期权链按 strike 排序画 IV smile,量化 25Δ Put vs 25Δ Call skew | 完成 | SPY 是 reverse skew(OTM Put 比 OTM Call 贵 ~3 IV 点),符合 tail risk pricing 经典结论 |
| Day 19 | Volatility Surface | 把 strike 和 expiry 两个维度合一起画 3D surface | 部分完成 | 画出来了但插值用了 cubic spline 在 wing 上有 oscillation,没有用 SVI 等专业参数化方法,留给 Phase 2 |
| Day 20 | IBKR 期权操作 | TWS Option Chain UI 走通、Combo Order 试一次、limit order 工作流定型 | 完成 | 顺手测试了 GTC 和 GTD 的区别,期权 limit 默认 DAY 这个细节差点坑到我 |
| Day 20 | 第一笔 paper CSP | 在 IBKR paper 下一笔 SPY cash-secured put(5% OTM、30-45 DTE) | 部分完成 | Options Level 终于在 Day 18 批了 Level 2,但 paper 下单时发现保证金按 SPY 整张算(~$53k 保证金)超过我设定的 paper 账户余额 $5k,没下成——这暴露了 Phase 1 一个核心约束:SPY 在小资金 paper 里做不了,必须换 SPY 之外的低价标的(如 GLD/SLV/XLF 这种 <$50 标的)或者用 SPX 的 spread |
1.2 完成度评分
应交付物总数:13
已完成:11
部分完成:2(Vol Surface 插值粗糙、第一笔 CSP 因保证金未下成)
未完成:0
Week 3 完成度:85% (11/13)
含部分完成的「至少摸过」率:100% (13/13)
自我评估:可接受偏好。未下成 CSP 这一项是真正暴露了我此前没意识到的「小资金 paper trading 的标的选择约束」——下单失败比下单成功更有信息量,因为它逼着我把 Week 4 的「策略可行性」分析提到 Day 21 这里来。Vol Surface 那一项是有意推迟到 Phase 2,因为 SVI / SABR 参数化属于「高阶 vol 建模」,对个人量化 Phase 1 用处不大,不必硬上。
更重要的一条诚实记录:Day 16 的 Greeks 符号矩阵我虽然填完了,但凭直觉填的 short straddle 的 Vega 一开始填成「-」是对的,但 Gamma 我填了「+」结果是错的(应该是 -)——卖方的 Gamma 永远是负的,跟方向无关。这种**「概念听懂了但符号一具体就错」**的状况是 Greeks 学习的典型阶段,Week 4 之前必须把这张表背到能默写。
1.3 文档/代码资产盘点
| 资产 | 路径 | 状态 |
|---|---|---|
| 6 篇日记 | docs/daily/TR-DAY{15..20}.md | ✓ |
| 进度文件 | docs/daily/TR_PROGRESS.md | ✓ Week 3 标 ✅ |
| Payoff 可视化 | scripts/tr_day15_payoff.py | ✓ 6 种基础 payoff |
| Greeks 库 | tr_lib/options/greeks.py | ✓ BS 解析 + 数值微分双实现 |
| 策略 Greeks 符号矩阵 | docs/figures/tr_day16_greek_matrix.png | ✓ Week 3 招牌产出之一 |
| BS 实现 + IV 求解 | tr_lib/options/bs.py | ✓ 二分法 + py_vollib 一致性测试 |
| HV / IV 估计 | tr_lib/options/vol.py | ✓ HV (CC, Parkinson, GK), IV (ATM, smile-fit) |
| IVR / IVP 监控 | notebooks/tr_day18_ivr.ipynb | ✓ |
| Term Structure / Skew | notebooks/tr_day19_term_skew.ipynb | ✓ |
| 期权链 cache | data/options/SPY_chain_{date}.parquet | ✓ 每天 close 拉一次 |
关键基础设施:BS / Greeks / IV 三个核心工具已经全部入库,Week 4 的回测要把期权策略当成 "Underlying + Greeks 时间序列" 两条腿喂数据,这个数据 pipeline 已经能跑了。
二、Week 3 期权知识图谱
把 Day 15-20 的核心概念串起来,看清「基础合约 → 定价理论 → 波动率维度 → 策略实操」四层依赖。孤立的期权知识不构成能力,看到节点之间的依赖才算「真懂」。
2.1 期权知识的全链路
[DAY 15]
┌──────────────────────┐
│ 期权基础语言 │
│ ─ Call / Put │
│ ─ ITM / ATM / OTM │
│ ─ Intrinsic / Time │
│ ─ 美式 / 欧式行权 │
│ ─ 期权链阅读 │
│ ─ Bid-Ask spread 含义 │
└────────────┬──────────┘
│
[DAY 16] [DAY 17]
┌────────────▼─────────┐ ┌──────────────▼──────────────┐
│ 五大 Greeks │ │ Black-Scholes 定价 │
│ ─ Delta(方向暴露) │ │ ─ 6 参数 (S/K/T/σ/r/q) │
│ ─ Gamma(凸性) │ │ ─ d1 / d2 / N() │
│ ─ Theta(时间衰减) │ │ ─ Implied Vol 反求 │
│ ─ Vega(波动率敏感) │ │ ─ 二分法 / Newton │
│ ─ Rho(利率敏感) │ │ ─ py_vollib │
│ ─ 策略 Greeks 矩阵 │ │ ─ BS 假设的局限 │
└────────────┬─────────┘ └──────────────┬──────────────┘
│ │
└─────────────┬────────────┘
│
[DAY 18] [DAY 19]
┌─────────────▼──────────┐ ┌────▼─────────────────┐
│ IV vs HV │ │ IV Surface │
│ ─ HV (Close-Close) │ │ ─ Term Structure │
│ ─ HV (Parkinson/GK) │ │ ─ Smile / Skew │
│ ─ IV Rank (252d) │ │ ─ 25Δ skew 量化 │
│ ─ IV Percentile │ │ ─ Surface 拟合 │
│ ─ VIX = 30D IV index │ │ ─ Sticky strike vs │
│ ─ IV-HV spread = RP │ │ sticky delta │
└─────────────┬───────────┘ └────┬─────────────────┘
│ │
└────────┬─────────┘
│
[DAY 20]
┌──────────▼───────────┐
│ IBKR 期权实操 │
│ ─ TWS Option Chain │
│ ─ Combo Order │
│ ─ Limit + DAY/GTC │
│ ─ Margin 检查 │
│ ─ 第一笔 paper CSP │
│ ─ ⚠ 保证金 > 账户 │
└──────────┬───────────┘
│
▼
[WEEK 4 起点]
把期权策略喂回测:
必须先解决三件事 →
1) 交易成本建模
2) 三大偏差 (LA / SB / DM)
3) 资金管理 (Kelly + 风险预算)
2.2 用一个表概括 Week 3 主链路
| 层级 | 关注什么 | 关键概念 | 失败模式 |
|---|---|---|---|
| 合约层 | 期权是什么金融对象 | Call/Put、Strike、Expiry、Multiplier | 把 Call 等同于「看涨股票」(忽略时间和 vol) |
| 定价层 | 一份期权值多少钱 | BS 模型 + 6 参数 + d1/d2 | 把 BS 价当成「真实价」(市场实际是 vol surface) |
| 风险层 | 持仓后面对什么风险 | Greeks、IV、Term Structure、Skew | 只看 Delta 不看 Vega/Theta(最严重) |
| 策略层 | 在什么市场状态下用什么策略 | IVR、Theta 收割、defined risk | 下一阶段(Week 6 组合 Greeks) |
| 实操层 | 怎么在 IBKR 下单 | Combo、Limit/GTC、Margin、Borrow | 用 SPY 整张做 paper(保证金太大) |
重点观察:Week 3 我从 Layer 1(合约)一路走到 Layer 5(实操),但 Layer 4「策略」我只摸到边——只学了 CSP 一个策略,且因为保证金没下成。Greeks 矩阵会让我误以为「我懂了所有策略」,但实际上每个策略 + 每个 IVR regime + 每个 DTE 选择都有自己的最佳实践,这套实战知识 Week 6 才会系统化。
三、本周三个最重要的认知(思维方式变化)
知识点会忘,思维方式的变化会留下来。Week 1 建立了「pipeline 比策略本身重要」,Week 2 升到「因子是补偿机制不是公式」,Week 3 再升一层——开始用「多维风险空间」的视角看金融工具。
认知 #1:交易期权 = 交易 Greeks,不是「赌方向」
学期权之前我隐约把期权当成「带杠杆的方向押注」——看涨买 Call、看跌买 Put,跟买股票本质上是一回事,只是杠杆更大。
Day 16 颠覆了这个直觉。
举一个我自己亲手算过的例子。SPY 当前 480,我买一张 30 天后到期、Strike 485 的 Call,权利金 5.0 美元,IV 17%。从「赌方向」视角,我赌的是 SPY 在 30 天内涨过 490(保本点)。但从 Greeks 视角,我实际上同时持有了四个方向的暴露:
| Greek | 数值 | 含义 | 我同时在赌的事 |
|---|---|---|---|
| Delta | +0.45 | 标的涨 1 美元 Call 涨 0.45 美元 | SPY 上涨 |
| Gamma | +0.025 | 标的每涨 1 美元,Delta 增加 0.025 | 大波动好(凸性收益) |
| Theta | -0.08 | 每过一天 Call 跌 0.08 美元 | 时间不要走太慢 |
| Vega | +0.55 | IV 涨 1%,Call 涨 0.55 美元 | IV 上涨(这个最反直觉) |
最让我吃惊的是 Vega。我以为「我赌 SPY 涨」是单一押注,但实际上我同时在赌 IV 也涨。如果 SPY 涨了 2 美元但 IV 跌了 3 个百分点(这种现象在大涨日反而经常发生,叫 vol crush),Call 价格变化是:
ΔCall ≈ Delta × ΔS + Vega × ΔIV
≈ 0.45 × 2 + 0.55 × (-3)
≈ +0.90 + (-1.65)
≈ -0.75
SPY 涨了,但我的 Call 反而跌了 0.75 美元。如果我以「我猜对了方向,赚到了」的视角去交易,会一脸懵。但用 Greeks 视角,这种结果完全可预测——我把 Vega 暴露忘了。
思维方式的变化:从「方向 + 杠杆」二元视角,升级到「Delta(方向)+ Gamma(凸性)+ Theta(时间)+ Vega(波动率)」四元视角。每开一笔期权仓位前,我必须能说清楚自己同时在 4 个维度上各押注什么。如果有任何一个维度是「我没在意」,那就是隐藏的风险,必然在某个时点跳出来咬我。
这条认知的实战意义:Week 4 之后我做期权回测,必须把每笔交易的进场 Greeks 和出场 Greeks 都记下来,否则事后复盘根本不知道盈亏来自哪一维。这跟 PM 工作里「每次实验必须先写 hypothesis 再看 metric」一个道理。
认知 #2:IV 是「相对自己」的指标,绝对值无意义
Day 18 学 IV Rank / IV Percentile 时颠覆了我此前一个深植的错觉——IV 是不是绝对值越高越「贵」、越低越「便宜」。
我之前理所当然地以为「VIX 20 是中性、30 是恐慌、12 是平静」。Day 18 跑完 SPY 2014-2024 全样本之后才看清:
| 标的 | 平均 IV | IV 范围 | 含义 |
|---|---|---|---|
| SPY | 16% | 8% - 65% | 大盘 ETF,结构性低 IV |
| TSLA | 55% | 35% - 130% | 单一高 beta 股,结构性高 IV |
| GLD | 14% | 9% - 35% | 黄金 ETF,更低 IV |
| TLT | 18% | 11% - 32% | 长期国债 ETF,2022 之后跳起来 |
「TSLA IV 50% 算高吗」是一个无意义的问题——TSLA 平均就是 55%,50% 反而是历史低位。「SPY IV 25% 算高吗」也是无意义的——要看在最近 252 天里这个 25% 排在第几百分位。
正确的视角是 IV Rank:
IVR_today = (IV_today - IV_min_252d) / (IV_max_252d - IV_min_252d) × 100
- IVR > 50:当前 IV 在过去一年中位以上 → 卖期权时段
- IVR < 30:当前 IV 在过去一年偏低 → 买期权或者构建 long-vol spread
这条认知的实战意义:Wheel / CSP / Iron Condor 这类卖方策略,绝不能看「IV 看起来高就卖」——TSLA IV 60% 看起来吓人,但如果它 IVR 才 20,意味着波动率被压缩到罕见低位,再卖期权是「卖在最便宜的时候」。反过来 GLD IV 22% 看起来不高,但如果 IVR 95,这才是卖期权的好时点。
思维方式的变化:从「绝对阈值思维」(IV>30 算高)升级到「相对历史思维」(IVR>50 才算高)。这条认知和 Week 2 学的「raw return 没意义、risk-adjusted return 才有意义」属于同一个家族——金融上所有「绝对数」都是噪声,只有「相对参照系」才是信号。
这条认知迁移到 PM 工作就是:单看「DAU 增长 10%」毫无意义,要看「相对竞品 / 相对去年同期 / 相对市场大盘」才知道是真增长还是 outperform。
认知 #3:CSP 是「愿意接货 + 收时间费」,不是赌「不跌」
Day 20 准备下第一笔 paper CSP 时,我意识到自己此前对 CSP 的理解有一个微妙但关键的偏差。
错误视角:「CSP = 卖 OTM Put 收 premium,只要 SPY 不跌破 strike 就赚钱」。这套叙事强调「赌 SPY 不跌」,本质上是一个方向押注。
正确视角:「CSP = 我愿意以 strike 价格买入标的,同时收时间费作为等待的补偿」。strike 不是我祈祷「不要被穿」的阈值,而是「我本来就愿意在这个价格买入的目标价」。
这两种视角看起来差异微妙,但实操上完全不一样:
| 维度 | 错误视角 | 正确视角 |
|---|---|---|
| 选择 strike | 看「最不可能被穿的位置」(比如 1σ 之外) | 看「我愿意在这个价格买入的位置」 |
| 标的选择 | 任何高 IV 标的都行 | 只选我愿意长期持有的标的 |
| 被穿后的反应 | 恐慌、想 roll | 平静、接货、然后转 Wheel 的 CC 阶段 |
| 心理负担 | 每天看价格、担心被穿 | 不用每天看,被穿就是 entry signal |
| 适合资金 | 任何 | 必须有现金真能买入 100 股 |
这条认知给我的实操约束:
- 不能用 TSLA 做 CSP——我不愿意以任何价格接 100 股 TSLA 当长持。
- 不能用 SPY 整张做 CSP(在小资金阶段)——保证金 $50k+ 超过我的实盘账户。
- 适合的标的:低价、稳定、我愿意长持的 ETF——比如 SLV (
$25)、GLD ($220) 单手太大、HYG ($80)、XLF ($45)、KRE (~$55) 这种。100 股保证金 <$5k。
思维方式的变化:从「期权是工具,标的不重要」升级到「期权放大了对标的的承诺,因此先选标的再选策略」。CSP 不是技术活,是「资产配置 + 时间收费」的组合——和「我愿意在 80 美元买入这只股票,与其挂限价单等着,不如卖一张 Strike 80 Put 同时收一笔 premium」是同一件事。
实战影响:Day 20 没下成的那笔 SPY CSP,根本就不应该选 SPY。我此前默认「Paper trade 学习就用 SPY 这种流动性最好的」,但忽略了「100 股 SPY 等于 $48000 保证金」这个最基础的数学。这种"基础数学忽略"是新手最危险的一类错——不是不懂期权,是不算清楚保证金。Week 4 第一件事是把所有候选标的的保证金需求列成一张表。
四、本周遇到的潜在坑总结(按踩坑可能性排序)
如果给一个完全相同背景的朋友推荐 Week 3 这条路径,他最可能在哪里被卡住?按概率从高到低排:
坑 #1:Options Level 还没批就想 paper trade
概率:80%(我已踩了一半)
症状:
- Day 1 提交 Options Level 申请,IBKR 审核通常 3-14 天(甚至更久)
- Day 15 学完期权基础,想 paper trade 时发现 TWS 期权下单按钮灰着不能点
- 焦虑 → 反复给 IBKR 发邮件催 → 期权学习进度被打断
怎么办:
- Day 1 就提交 Options Level 申请——这是 Week 1 复盘里我已经反复强调的,但 Week 3 又一次验证了它的关键性。等到 Day 15 才发现没批是来不及的。
- 我自己的实际状况:Day 1 提交、Day 18 才批 Level 2、Day 20 才能 paper trade。有 17 天的等待期。
- 如果 Day 15 还没批,先用模拟数据自己写一个简易 paper trade 工具——读期权链数据、按 mid 价模拟成交、记录 P&L。Week 4 反正要做严格回测,这套代码也用得上。
坑 #2:用 SPY 整张做 paper(保证金太大,<$5k 实盘做不了)
概率:90%(我已踩,这是 Day 20 没下成的直接原因)
症状:
- 教学资料 90% 用 SPY 举例(流动性好、IV 稳定、教学友好)
- 实操时才发现:SPY 480 × 100 股 = $48,000 cash-secured,远超个人 paper 账户余额
- 即便余额够,"为了 paper 一笔练手就锁住 4 万美元 30 天"在心理上也荒谬
怎么办:
- 小资金 paper trade 严格用低价标的。我做了一张筛选表:
| 标的 | 价格 | 100 股保证金 | 流动性 | 用途 |
|---|---|---|---|---|
| SLV | $25 | $2,500 | 高 | CSP 起步首选 |
| GLD | $220 | $22,000 | 高 | ❌ 单手太大 |
| HYG | $80 | $8,000 | 高 | 偏紧但可 |
| XLF | $45 | $4,500 | 高 | ✓ |
| KRE | $55 | $5,500 | 中 | 略超 |
| TLT | $90 | $9,000 | 高 | 偏紧 |
| XLE | $90 | $9,000 | 高 | 偏紧 |
| EEM | $42 | $4,200 | 高 | ✓ |
- 如果一定要做 SPY,改用 spread——比如 Put Credit Spread(卖一张近 ATM Put + 买一张更远 OTM Put),保证金降为「两个 strike 之差 × 100」,可以从 $48k 缩到 $500-$2000。
- 另一条路径:SPY 之外考虑 SPX(cash-settled、欧式期权、税务优惠 60/40),但 SPX 单手「点数 × $100」更大,不适合小资金。SPY 替代用 XSP(mini-SPX,1/10 大小),$48 一个点位 × 100 = $4,800,和我现金水平正好匹配。Week 6 之后我可能转用 XSP。
坑 #3:把 IV 当绝对值看(必须用 IVR)
概率:70%(我自己曾犯)
症状:
- 看见 TSLA IV 60% 觉得「贵了,可以卖」——但 TSLA 平均 IV 就是 55%,60% 是中位
- 看见 GLD IV 18% 觉得「平静,没机会」——但 GLD 平均 IV 14%,18% 是高位
- 选 strike 时按「30 Δ Put」机械执行——但同样 30Δ 的 Put 在 IVR 95 卖一手收 $200,IVR 5 时同样的 strike 收 $40,回报相差 5 倍
怎么办:
- 任何卖方策略,开仓前必须看 IVR。我自己的规则:IVR < 30 不卖、30-50 小仓位卖、50+ 正常仓位、80+ 加仓。
- 任何买方策略反过来:IVR > 70 不买、< 30 才考虑。
- 把 IVR 写进交易日志的必填字段。如果某笔下单时没记 IVR,事后无法判断「这笔是 risk premium 收割还是赌方向」。
坑 #4:忽略 ex-dividend date
概率:50%
症状:
- 卖 CSP 在 ex-dividend 前几天,ITM 状态下被提前行权(早执行风险)
- 买 LEAPS Call,ex-dividend 当天 underlying 跳水但 Call 不动,结果亏一个股息
- 不知道为什么 deep ITM 美式 Call 突然消失(被 dividend capture 套利者行权了)
怎么办:
- 每个标的下单前查 next ex-dividend date——yfinance
Ticker(...).calendar或 IBKR 期权链都能看 - 不要在 ex-dividend 前 5 天内卖 ITM Put / 买 ITM Call
- 我的工程方案:在交易日志的下单 checklist 里加一行 "next ex-div = ___",强制填写,避免遗漏
坑 #5:不算清 max loss 就下单
概率:60%(这是新手最危险的一坑)
症状:
- 想做 short strangle 觉得「双卖收两份 premium 很爽」——没意识到 max loss 理论上无限
- 想做 short put 觉得「最多就是接货」——忘了如果标的跌 50% 我接货时净值是 -50%
- 想做 Iron Condor 觉得「有 wing 保护」——忘了在两个 wing 之间,max loss = (spread width - credit) × 100
怎么办:
- 下单前在交易日志强制填这三个字段:
- Max profit
- Max loss
- Breakeven price(s)
- 如果三个数算不出来,就不该下这笔单。
- 写一个
max_pl_calculator.py小工具——输入策略类型 + legs,自动算出三个值,直接打印到 stdout。Week 4 期权回测会复用。
坑 #6:用错口径算 Greeks(continuous vs discrete)
概率:40%
症状:
- BS 公式里 r 是 continuous compounding,要用
ln(1+r_annual)不是r_annual直接代 - Theta 一些库报「每天」(daily theta),另一些报「每年」(annualized theta),看错单位差 365 倍
- IV 输入是「年化波动率」(annualized vol),不能直接喂「日波动率」
怎么办:
- 任何 Greeks 库,先用 SPY ATM Call 跑一遍 sanity check——价格、Delta(应 0.5 附近)、Theta(应在 -0.05 到 -0.15 之间每天)。
- 跨库对比:同样参数,py_vollib / mibian / 自写 BS 三个结果应该 1e-4 量级一致。
- 我的实操:
tr_lib/options/greeks.py注释里写明每个返回值的单位("per day"、"per 1% vol change"),永不省略。
五、当前期权能力分级(自评)
给读者一个对照标准。不要美化自己:
| 能力点 | 我的状态 | 备注 |
|---|---|---|
| 能解释 Call/Put payoff | ✓ | 6 种基础 payoff 都画过 |
| 能算 Greeks(Delta/Gamma/Theta/Vega/Rho) | ✓ | BS 解析 + 数值微分 |
| 能用 py_vollib 反求 IV | ✓ | 二分法 + Newton 都跑通 |
| 能区分 IV vs HV | ✓ | spread 是 risk premium 来源 |
| 能用 IVR 和 IVP | ✓ | 252d rolling |
| 能解读 IV smile / skew | △ | 看懂 reverse skew,但不会用参数化模型拟合 |
| 能画 vol surface | △ | 画了但插值粗糙 |
| 能在 IBKR paper 下 CSP | △ | 待实操(Options Level 已批,但标的待重选) |
| 能下 Iron Condor / Spread | ✗ | Week 6 |
| 能管理 Greeks 组合(多仓位汇总) | ✗ | Week 6 |
| 能做事件驱动期权策略(财报、FOMC) | ✗ | Week 7-8 |
| 能用 risk-defined 替代裸卖期权 | ✗ | Week 6 |
| 能做 vol arb(IV vs realized vol 套利) | ✗ | Phase 3 Week 10 |
| 能做组合层 vol surface 套利 | ✗ | 高级,不在 90 天范围内 |
当前级别定位:「懂期权语言、能算 Greeks、能解读 IV 形态的入门交易员」。距离「合格的期权策略交易员」还差 3-4 周(CSP 实操跑过 + 多仓位 Greeks 管理 + 事件驱动 + risk-defined 标准化)。
这个分级的意义:避免**「读了 Greeks 公式就以为自己懂期权」的邓宁-克鲁格效应。期权 Greeks 是最容易产生「知识幻觉」的领域**——公式看着懂、单笔交易看着会算、但多仓位组合 Greeks 在 regime change 时的非线性变化是另一回事,那个能力 Week 6 之后才会逐步建立。
六、Week 4 预告:回测严谨性 + 风控基础(Day 22-30 = 9 天)
6.1 为什么风控比策略重要
Week 1-3 我花了 21 天学怎么找 alpha——回测框架、因子、期权。Week 4 要做一个 180 度转向:学怎么避免 alpha 被吞没。
为什么?因为对个人量化:
| 问题 | 严重程度 |
|---|---|
| 策略找不到 alpha | 中(可以换策略) |
| 策略有 alpha 但被成本吞掉 | 高(白干一年) |
| 策略有 alpha 但回测过拟合 | 高(实盘归零) |
| 策略有 alpha 但仓位过大被强平 | 致命(账户清零,无法回本) |
| 策略有 alpha 但情绪管理失败 | 致命(错过盈利期或亏损期 double down) |
一句话:单 strategy alpha 不持久,但风控错误是永久的。一个 Sharpe 0.5 的因子组合 + 严格风控 vs 一个 Sharpe 1.5 的因子组合 + 松散风控,3 年后前者大概率账户余额更高。这是个人量化和机构量化的最大差异——机构有团队冗余可以承担 -50% drawdown 然后修复,个人不行。
6.2 Day 22-30 学习清单
| Day | 主题 | 核心概念 | 实操 |
|---|---|---|---|
| Day 22 | 交易成本建模 | commission / spread / slippage / market impact 四层成本、不同标的的真实成本曲线 | 把 Week 2 的 4 因子组合回测加上真实成本,看 Sharpe 掉多少 |
| Day 23 | 三大偏差:lookahead / survivorship / data mining | PIT 数据、退市股票、selection bias 的三种来源 | 给自己的因子代码做 "lookahead audit",找出至少 1 处 leak |
| Day 24 | 过拟合识别 | in-sample vs out-of-sample、参数 overfitting 的统计 signature | 在 Week 2 的动量因子上做 12-1 月 vs 6-1 月 vs 24-1 月对比,看参数敏感性 |
| Day 25 | Walk-Forward Analysis (WFA) | rolling window 训练 + 紧接的 out-of-sample 测试、anchored vs non-anchored | 把因子组合用 WFA 跑一遍,对比 in-sample Sharpe |
| Day 26 | Kelly criterion + 仓位管理 | 全 Kelly / 半 Kelly / 分散 Kelly、单仓位上限、相关性调整 | 给 4 因子组合算 fractional Kelly,对比等权 |
| Day 27 | 交易日志 SOP | 每笔交易必填字段、事后复盘流程、月度统计 metrics | 设计交易日志 schema(Markdown + CSV),用 Day 20 的 paper CSP 跑一遍 |
| Day 28 | Phase 1 综合 (1):双因子 + Greeks 组合 | 用 momentum + low-vol 双因子选股 + 卖 CSP 收 theta | 设计一个统一回测脚本,能同时跑因子层 + 期权层 |
| Day 29 | Phase 1 综合 (2):风控叠加 | 双因子 + CSP + 总仓位上限 + 单标的上限 + drawdown circuit breaker | 跑 2014-2024 历史,对比 with vs without 风控 |
| Day 30 | Phase 1 总结 + Phase 2 准备 | 30 天能力盘点、Phase 2 主题预告(数据源升级 / 多策略 / 实盘小仓) | TR-DAY30 笔记 + Phase 1 portfolio 一页纸总结 |
6.3 Week 4 我最想搞清楚的事
- 真实交易成本到底多少——Week 2 我用了 0.1% commission + 1bp slippage 这种「保守拍脑袋」数字,但真实月度调仓因子组合的全口径成本(包括 spread、slippage、市场冲击)会不会其实是 0.5% 量级?如果是,那 Sharpe 会从 0.97 掉到 0.6 以下。
- WFA 之后的因子 Sharpe——in-sample Sharpe 0.97 这个数字,去掉过拟合和 lookahead 之后剩多少?我心理预设是「能保住 0.5 就成功」。
- Kelly 在因子组合上怎么用——单标的 Kelly 公式简单,多标的 + 相关性这一层我从来没实操过,Week 4 必须搞定。
- 交易日志的「字段冗余度」——字段太少没用、太多没人坚持填。需要找到「最小可用集」并设计自动化填写。
七、个人复盘 prompt(给读者一个反思框架)
每完成一周,留 30 分钟回答下面三个问题,用文字写下来——口头回答和文字回答的深度不在一个数量级。
Prompt 1: 这一周我最 surprised 的发现是什么?
我的答案:Day 18 跑出 SPY 2014-2024 IV-HV spread 平均 +3.2%——这意味着长期平均下来,市场卖期权方稳定收取 3.2% 年化的 risk premium。我此前隐约知道「卖方有 edge」,但从未量化过到底多少。3.2% 听起来不大,但对一个 IV 17% 的标的来说,这是接近 20% 的 vol over-pricing 比率。这个数字让我对 Week 7-8 的 Wheel 策略产生了一个具体的「上限期望」——年化超额收益 3-5% 是合理目标,超过这个数大概率是回测有问题或在某个 regime 偶然。
Prompt 2: 我最不确定的概念是什么?
我的答案:Volatility Surface 在不同 expiry 之间的"sticky strike vs sticky delta vs sticky moneyness"假设。Day 19 我画了 surface 但意识到一个问题——市场报价是按 strike,但学界研究往往按 moneyness(K/S)或 delta。**当 underlying 涨 5% 后,原来 ATM 的 IV 应该跟着移动到新 ATM,还是留在原 strike?**这三种假设在 hedging 和 risk management 上完全不同。Phase 2 我必须搞清楚 IBKR 内部用哪种、市场实际表现更接近哪种。
Prompt 3: 我下周最想搞清楚的事是什么?
我的答案:真实交易成本对因子组合的吞噬幅度到底多大。Week 2 我对 4 因子组合的 Sharpe 估计是 0.97,但用的是 0.1% commission + 1bp slippage 这种保守但简化的数字。Week 4 Day 22 我会用 IBKR 历史成交数据 + bid-ask mid 作为基准,用更真实的成本模型重新跑 Week 2 的回测。如果 Sharpe 掉到 0.5 以下,说明月度调仓在实盘可能根本没 edge,需要降到季度或半年调仓——这会从根本上改变 Phase 2 的策略设计。
八、PM 视角:期权是「带不对称收益 + 时间衰减 + 状态变化」的产品
最后一段思考,给读者迁移到 PM 工作上。
10 年金融零售 PM 工作里我反复设计一类产品——有时间窗口、有状态变化、有不对称收益的产品。比如:
- 试用期产品:30 天免费试用,到期自动转付费(如果用户没主动取消)
- 订阅 + 等级:用户在不同等级(Basic/Pro/Enterprise)之间跳转,跳转时定价不连续
- 优惠券 / 限时折扣:有限时间窗口(expiry)、有最低消费门槛(strike)、用了就用了(exercise)
- 会员等级保级:达到某个累积消费就自动升级(path-dependent)
Week 3 让我看清——期权是这类产品的「金融纯化版」。
| PM 产品语言 | 期权语言 |
|---|---|
| 试用期 | DTE (Days To Expiry) |
| 试用门槛(如「消费够 X 才转化」) | Strike Price |
| 用户犹豫窗口 | Time Value |
| 自动转化 / 自动失效 | 行权 / 到期 |
| 用户激活率随时间下降 | Theta decay |
| 大事件触发激增使用 | Vega 上升 |
| 用户行为分布偏右尾 | Reverse skew |
| 留存率(多大概率不流失) | 1 - P(被穿) |
这个类比的核心洞察:好的 PM 设计的产品本质上是在「卖期权给用户」——用户花某个 premium 买入一个「在限定时间内、限定条件下、可以行使某种权利」的合约。我们设计的 30 天免费试用,本质上是把一份 Put 期权(用户有权在 30 天内反悔不付费)打包送给用户。期权定价理论告诉我们这份「Put」的隐含价值是多少,从而决定我们该用什么转化率指标来定价合算。
| PM 设计思维 | 期权交易思维 |
|---|---|
| 设计转化漏斗 | 设计 Greeks 暴露 |
| 优化时间衰减(让用户不在窗口内流失) | 收 Theta(在窗口期吃时间费) |
| 设计触发事件(节日大促) | 利用 Vega(大事件前 IV 上升) |
| 测试不同价格点 | 测试不同 strike |
| 设置风险预算(折扣上限) | 设置 max loss |
| 接受某些用户必然流失 | 接受某些仓位必然亏损 |
最后一行尤其重要。接受亏损是成熟 PM / 成熟期权交易员的标志——10 年金融零售经验告诉我,没有任何产品永远 100% 转化、没有任何促销永远正 ROI;同样地,没有任何期权策略每笔都赚。真正的 alpha 来自把单笔结果转化为长期 expected value 并管理 drawdown——而不是追求「百战百胜」。
九、Week 3 → Week 4 的关键过渡 checklist
在 Day 22 开始之前,把下面这些事做完:
- (1) Options Level 已批确认:Day 18 已批 Level 2,截图保存到证据库;考虑 Day 30 之前申请升 Level 3(需要 Iron Condor / Spread)
- (2) Paper CSP 重做:换 SLV 或 XLF 这种小标的,在 paper 账户实际下成功一笔 CSP,记录全流程到交易日志
- (3) 策略 Greeks 符号矩阵:今天画的那张 8 × 5 表格保存为高清 png,放进 Week 3 招牌产出
- (4) 期权数据 cache 入库:每日 close 时拉一次 SPY/SLV/XLF/HYG 的完整期权链,存到
data/options/,Week 4 回测要用 - (5)
max_pl_calculator.py:写一个小工具,输入策略 + legs 输出 max profit / max loss / breakeven,Week 4 必须有 - (6) Week 1-3 笔记发布:选 Day 16 (Greeks 矩阵)、Day 18 (IVR)、Day 21 (周复盘) 发到 Mirror / 知乎,外部讲一遍是最强的内化
- (7) 更新
TR_PROGRESS.md:Week 3 标 ✅,Week 4 占位、Day 30 标注「Phase 1 收尾」 - (8) 心理预算:给自己一句提醒——Week 4 会戳破 Week 2 的因子 Sharpe 0.97 这个"虚高"数字,提前接受这件事
十、明日预告
Day 22: 交易成本建模 — 让回测 Sharpe 老实下来
- 四层成本拆解:commission / bid-ask spread / slippage / market impact
- 不同标的的真实成本曲线(SPY 0.5bp vs small-cap 30bp)
- 月度调仓 vs 周度调仓的成本对比(哪个频率被成本吃得多)
- 滑点的两种建模方式:固定 bp vs ADV-based 动态模型
- 把 Week 2 的 4 因子等权组合(原 Sharpe 0.97)加上真实成本重新回测,看 Sharpe 真实值
- 实操:写一个
cost_model.py模块,给 vectorbt 的回测接口插入「真实成本」配置
实际复盘记录
周一上午留出 1.5 小时填这个段落。
- [hh:mm] Day 15-20 实操产出对照 — ...
- [hh:mm] 三个认知具体写下来 — ...
- [hh:mm] 期权能力分级 + 坑总结 — ...
- [hh:mm] Week 4 准备 checklist 完成 — ...
- [hh:mm] 重做 paper CSP (用 SLV/XLF) — ...
- 卡点 / 下周要主动推动的事:
总字数:约 6,200 字 Week 3 完成度:85% (11/13),含部分完成 100% (13/13) Week 3 → Week 4 衔接状态:✓ Greeks / BS / IV 工具就绪,✓ Options Level 2 已批,△ 第一笔 paper CSP 待重做(换小标的),→ Week 4 转向风控严谨性