IV vs HV / IV Rank / IV Percentile
IV vs HV 的本质差异、IV 风险溢价、IV Rank / IV Percentile 的定义与适用边界
日期: 2026-05-27 方向: 期权 / 波动率 阶段: Phase 1: 基础与工具链 标签: #ImpliedVolatility #IVRank #IVPercentile #VIX #VolRiskPremium #Wheel
今日目标
| 类型 | 内容 |
|---|---|
| 学习 | IV vs HV 的本质差异、IV 风险溢价、IV Rank / IV Percentile 的定义与适用边界 |
| 实操 | 用 VIX 作为 SPY 30D ATM IV 代理,计算 IVR / IVP 时间序列,画图 |
| 产出 | TR-DAY18 笔记 + tr_day18_ivr_ivp.py 可运行脚本 + Wheel 入场过滤规则雏形 |
一、为什么要从 IV「绝对值」转向「相对位置」
到 Day 17 为止,我们一直把 IV 当作一个数字在用:希腊字母里 Vega 度量「IV 变 1% 期权价值变多少」,定价公式里 σ 是输入。这种「点估计」的视角对理解机制够用了,但对做决策完全不够用。
举个例子:
| 标的 | 当前 IV | 看上去 |
|---|---|---|
| SPY | 18% | 「低」 |
| TSLA | 50% | 「高」 |
| QQQ | 22% | 「中」 |
如果你拿这张表去决定「卖谁的 put 收 premium」,结论会是 TSLA——因为 50% > 18%,premium 更厚。
但这个判断是错的。 TSLA 的 IV 长期就在 40-80% 区间晃,50% 对它来说接近历史低位;SPY 的 IV 长期在 12-35% 区间,18% 对它来说正好是中位数。卖 TSLA 50% IV 的 put 你拿到的是 TSLA 标准的 premium,并没有占到便宜;卖 SPY 18% IV 的 put 反而拿到的是「市场不害怕」时的便宜 premium,对卖方不利。
核心认知:IV 是一个相对于自己历史分布才有意义的数字,不是跨标的可比的数字。
这跟 PM 的「转化率」很像:A 产品转化率 5%、B 产品转化率 20%,不能直接说 B 好——要看 A 是相对自己历史升了还是降了、B 是不是天花板了。相对位置比绝对值更有信号——这是今天的主线。
二、IV vs HV:两种波动率的本质差异
2.1 定义
HV (Historical Volatility / Realized Volatility) —— 过去 N 天的实际波动,由价格序列直接计算:
$$ HV_n = \sqrt{\frac{252}{n-1} \sum_{i=1}^{n} \left( r_i - \bar{r} \right)^2 }, \quad r_i = \ln \frac{P_i}{P_{i-1}} $$
- 用 log return 而不是 simple return:可加性 + 对称性
- 乘 √252:把日波动年化(每年约 252 个交易日)
- 常用窗口:20D(约 1 个月)、30D、60D、252D(1 年)
IV (Implied Volatility) —— 由当前期权市场价格反推出的「市场预期未来 vol」:
$$ \text{Market Price} = BS(S, K, T, r, \sigma_{IV}) \Rightarrow \text{求解 } \sigma_{IV} $$
- 不能闭式求,得用 Newton-Raphson 或 Brent 数值解
- IV 是市场共识,不是任何单人的预测
- 同一标的不同 K、不同 T 的 IV 都不一样(Smile + Term Structure,Day 19 详谈)
2.2 三种 vol 之间的关系
HV (Realized) IV (Implied) FV (Future Realized)
过去 ← 当下市场预期 → 未来
可观测 可观测 不可知
Vol Risk Premium:定义为 IV - 未来真实实现的 HV。
$$ VRP = \sigma_{IV}(t) - \sigma_{HV, \text{realized after } t} $$
实证上 VRP 长期均值为正(在 SPX 上约 +3 到 +5 个 vol point,时变)。
直觉解释:投资者厌恶尾部风险(崩盘),愿意支付溢价买保险(put)。这个溢价就是期权卖方的 edge。但「长期均值正」不等于「每次都正」——2020 年 3 月、2008 年 10 月这种事件下 VRP 会瞬间变成大负,卖方在那一瞬间被血洗。
2.3 一个常见的混淆:IV 是「预测」吗
不是。IV 是「市场愿意为这种 vol 付多少钱」的反推。这跟「市场预测下一年 vol 是多少」不一样——市场预期 vol 是 X,但因为风险厌恶,愿意付出对应 X + premium 的价格买保险,IV 反映的是后者。
数学上:
$$ \sigma_{IV}^2 \approx E^Q[\sigma_{realized}^2] = E^P[\sigma_{realized}^2] + \text{risk premium term} $$
这里 Q 是风险中性测度、P 是真实概率测度。期权定价是在 Q 下做的,所以 IV 天然带 premium。
PM 翻译:「用户愿意付多少钱用某功能」≠「这个功能能为用户创造多少价值」——前者含「焦虑溢价 / 稀缺溢价 / 品牌溢价」。期权 IV 同理。
三、IV Rank(IVR)—— 把 IV 放到自己的范围里
3.1 定义
$$ \text{IVR} = \frac{IV_{\text{today}} - IV_{\min, 52w}}{IV_{\max, 52w} - IV_{\min, 52w}} \times 100 $$
- 范围:[0, 100]
- 直觉:「今天的 IV 相对过去一年最低-最高之间,处在多少百分位高度」
- IVR = 0 表示今天 IV 等于过去 52 周最低
- IVR = 100 表示今天 IV 等于过去 52 周最高
- IVR = 50 不代表「中位数」,而是「正好在 max-min 区间中点」
3.2 经验阈值(TastyTrade 流派)
| IVR 区间 | 市场状态 | 策略倾向 |
|---|---|---|
| > 70 | IV 非常高(恐慌 / 财报前 / 黑天鹅) | 强卖方:Iron Condor / Strangle / CSP |
| 50 - 70 | IV 偏高 | 卖方为主,可卖 CSP / Credit Spread |
| 30 - 50 | IV 中等 | 中性,看方向选 Debit/Credit Spread |
| < 30 | IV 低 | 买方:Long Call / Put / Calendar |
阈值不是金科玉律,是统计倾向。我们 Wheel 策略会用「IVR > 40 才考虑卖 CSP」作为过滤——下面第八节会展开。
3.3 IVR 的 3 个坑
- 被异常 spike 拉扯:去年某天 VIX 因为某新闻冲到 65,之后一年都没再到过,那么这一年的 IVR 上限被这个孤立点钉住了,所有日常计算的 IVR 都被压低。Min/Max 是不稳健的统计量(受单点影响 100%)。
- 52 周窗口的「记忆效应」:刚过完一个高 vol 期(如刚走出 2020 疫情),未来 52 周里 IVR 都会偏低;反过来刚走完一段死寂的牛市,IVR 都会偏高。这是窗口期带来的伪信号。
- IV 用哪个?:常用 30D ATM IV(最有代表性),但也有人用整个 chain 的 weighted average。两者算出的 IVR 不一样,复现别人的图表时必须对齐口径。
四、IV Percentile(IVP)—— 比 IVR 更稳健
4.1 定义
$$ \text{IVP} = \frac{#{ \text{trading days in last 252 with } IV_d < IV_{\text{today}} }}{252} \times 100 $$
- 范围:[0, 100]
- 直觉:「过去一年里,有百分之多少天的 IV 比今天低」
- IVP = 80 表示「今天 IV 比过去 80% 的日子都高」
- IVP = 50 是真正的中位数
4.2 IVR vs IVP 的本质差异
IVR:基于 min / max(极值统计)
IVP:基于 rank(分布统计)
举个例:过去 252 天 IV 区间是 [10, 100],但其中 250 天都在 [10, 20] 区间,只有 2 天因为某事件冲到 80-100。今天 IV = 25。
- IVR = (25 - 10) / (100 - 10) × 100 = 16.7 —— 看起来「很低,可以买方」
- IVP = 比 25 低的天数 / 252 ≈ 95 —— 实际上 25 在 IV 分布里很高
哪个对?IVP 更对。因为 95% 的日子 IV 都比 25 低,今天的 25 是 outlier 偏高,应该按「IV 高」来对待——卖方策略才合理。
但 IVR 给出的「16.7」会误导你按买方走,结果在一个本应卖方的环境下买 vol,会被时间损耗(Theta)和 IV 回归(Vega)双杀。
4.3 那为啥很多人还用 IVR
| 维度 | IVR | IVP |
|---|---|---|
| 计算复杂度 | 极简(2 个值) | 中等(要排序) |
| 直觉性 | 强("距离最高有多远") | 弱("分布里位置") |
| 异常值敏感 | 高(极差驱动) | 低(基于 rank) |
| 流派 | TastyTrade 推 | 学术 / 风控偏好 |
| 横向比较 | 相对差 | 相对好 |
实操结论:两个都看,不要只看一个。如果两个都指向同一方向(IVR > 50 且 IVP > 50),信号很强;如果分歧大(如上面例子 IVR 16 但 IVP 95),优先信 IVP,但要去看为啥分歧——通常是分布尾部异常。
五、用 Python 计算 IVR / IVP
5.1 数据源选择
我们要计算 SPY 的 IVR / IVP。理想数据是「SPY 每天的 30D ATM IV」,但直接拿到这种历史序列要么靠付费数据(如 ORATS / IVolatility),要么自己每天存一遍。
穷人版替代方案:VIX 就是 SPX 的 30D ATM IV 代理(严格说是 30D variance swap,不完全等于 ATM IV,但相关性 >0.95,作为练手够用)。
- VIX 历史可以免费从 Yahoo Finance / CBOE 拿
- SPY 跟 SPX 同步率约 99%(SPY 是 SPX 的 1/10 ETF)
- 所以 VIX 可当作 SPY 30D ATM IV 的代理
注意:VIX 是「指数」,量纲已经是「年化 vol 百分比」,例如 VIX = 18 意味着 SPX 未来 30 天的 implied vol 约 18%。
5.2 完整脚本
# tr_day18_ivr_ivp.py
import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 1) 拿 5 年 VIX 历史(足够覆盖多个 52-week 窗口)
vix = yf.download('^VIX', start='2021-01-01', end='2026-05-27',
auto_adjust=True, progress=False)['Close']
vix = vix.dropna()
vix.name = 'IV' # 把 VIX 当作 IV 代理
# 2) 计算 IVR(滚动 252 个交易日窗口)
def rolling_ivr(series, window=252):
"""滚动 IV Rank:(today - min) / (max - min) * 100"""
roll_min = series.rolling(window).min()
roll_max = series.rolling(window).max()
ivr = (series - roll_min) / (roll_max - roll_min) * 100
return ivr
# 3) 计算 IVP(滚动 252 天 percentile rank)
def rolling_ivp(series, window=252):
"""滚动 IV Percentile:过去 252 天里有多少比例 < today"""
return series.rolling(window).apply(
lambda x: (x[:-1] < x[-1]).sum() / (len(x) - 1) * 100,
raw=True
)
vix_df = pd.DataFrame({'IV': vix})
vix_df['IVR'] = rolling_ivr(vix_df['IV'])
vix_df['IVP'] = rolling_ivp(vix_df['IV'])
vix_df = vix_df.dropna()
print(vix_df.tail(10))
print(f"\n当前 IV(VIX): {vix_df['IV'].iloc[-1]:.2f}")
print(f"当前 IVR : {vix_df['IVR'].iloc[-1]:.1f}")
print(f"当前 IVP : {vix_df['IVP'].iloc[-1]:.1f}")
# 4) 同时计算 SPY 的 HV(30D) 作为 realized 对照
spy = yf.download('SPY', start='2021-01-01', end='2026-05-27',
auto_adjust=True, progress=False)['Close']
log_ret = np.log(spy / spy.shift(1))
hv30 = log_ret.rolling(30).std() * np.sqrt(252) * 100 # 年化成 %
hv30.name = 'HV30'
# 5) 画图
fig, axes = plt.subplots(2, 1, figsize=(12, 8), sharex=True)
axes[0].plot(vix_df.index, vix_df['IV'], label='IV (VIX)', color='steelblue')
axes[0].plot(hv30.index, hv30, label='HV 30D', color='orange', alpha=0.7)
axes[0].set_ylabel('Volatility (%)')
axes[0].set_title('SPY: Implied Volatility (VIX) vs Realized Volatility (30D HV)')
axes[0].legend()
axes[0].grid(alpha=0.3)
axes[1].plot(vix_df.index, vix_df['IVR'], label='IV Rank', color='red', alpha=0.8)
axes[1].plot(vix_df.index, vix_df['IVP'], label='IV Percentile', color='green', alpha=0.8)
axes[1].axhline(50, color='gray', linestyle='--', alpha=0.5)
axes[1].axhline(30, color='blue', linestyle=':', alpha=0.4, label='Buy zone <30')
axes[1].axhline(70, color='purple',linestyle=':', alpha=0.4, label='Sell zone >70')
axes[1].set_ylabel('Rank / Percentile (0-100)')
axes[1].set_title('IV Rank vs IV Percentile (rolling 252-day)')
axes[1].legend()
axes[1].grid(alpha=0.3)
plt.tight_layout()
plt.savefig('tr_day18_ivr_ivp.png', dpi=120)
print("Saved tr_day18_ivr_ivp.png")
5.3 输出解读
跑完会看到两张图。重点观察:
- IV (VIX) 几乎总是 ≥ HV30:这就是 vol risk premium 的可视化
- IV 和 HV 都在事件期飙升,但 IV 先动:市场先恐慌定价,然后才有实际波动
- IVR 和 IVP 大多数时候同向,但在「极值刚发生过」的窗口里会分歧:IVR 会被那个极值钉住,IVP 不会
- VIX 上行常常先于 SPY 下行 1-2 天:是不是有人提前知道?不是,是「波动率恐惧」本身就是先行指标
5.4 进阶:用真实期权链算「真 IV」
VIX 是代理,要更准就得自己从期权链算 ATM 30D IV:
# 伪代码骨架(Day 19-20 会真正写)
from ib_insync import IB, Option
ib = IB(); ib.connect('127.0.0.1', 7497, clientId=1)
spy = Stock('SPY', 'SMART', 'USD')
# 找到离 30 天最近的 expiry
chains = ib.reqSecDefOptParams(spy.symbol, '', spy.secType, spy.conId)
target_dte = 30
expiry = pick_expiry_near(chains, target_dte)
# 找 ATM strike
spot = ib.reqMktData(spy, snapshot=True).last
atm_strike = round(spot)
call = Option('SPY', expiry, atm_strike, 'C', 'SMART')
ib.qualifyContracts(call)
ticker = ib.reqMktData(call, '106', snapshot=False) # 106 = include greeks
ib.sleep(2)
atm_iv = ticker.modelGreeks.impliedVol # 这个就是「真」30D ATM IV
但历史值怎么办?IBKR 不存历史 IV,得自己每天跑一遍存数据库。这是 Phase 2 才做的事,Day 18 用 VIX 代理就够。
六、IV 在财报附近的行为
财报是单个股票最戏剧化的 IV 事件,理解它对做单股期权策略是基础。
6.1 IV Run-up(财报前)
财报前 1-2 周开始,包含财报日的那个 expiry 的 IV 会逐步上行。市场逻辑:
- 财报会带来已知大波动事件(earnings surprise)
- 期权卖方意识到这点,要求更高 premium 补偿
- 期权买方也意识到这点,愿意付更高价
财报前一晚(pre-earnings close),财报覆盖周的 IV 通常是该股票全年最高。
6.2 IV Crush(财报后)
财报公布后第二天开盘:
- 不确定性消除(消息出来了)
- 那个 expiry 的 IV 瞬间崩塌——典型是 1 个小时内从 80% 掉到 40%
这就是「IV crush」。
6.3 IV Crush 的卖方陷阱
听起来卖方很爽:财报前卖期权(高 IV),财报后 IV crush 你赚 Vega。但有个致命陷阱:
财报前 IV = 80%,期权价格 $5
财报后 IV crush 到 40%,假设标的没动 → 期权价格 $2.5(赚)
但若标的财报后大涨 10% → 期权价格 $8(亏,即便 IV 减半)
Vega 赚的钱可能完全被 Delta 亏掉——而 Delta 在大涨大跌时是非线性变化的(Gamma 加速)。
所以财报卖方策略必须是delta-neutral:用 Iron Condor / Strangle 把两端都卖了,赌「方向多少都行,但幅度别超过我的 wing」。即使是 delta-neutral 策略,遇到「财报超预期 20%」也会亏到 short strike 之外。
经验数据:Iron Condor 卖财报,约 70% 胜率,平均 winner 收 30% 期权金,平均 loser 损失 1.5-2x 期权金(即「Kelly 不友好」的分布)。
6.4 财报 IV 的 PM 镜像
「上线前 hype + 上线后真相」是产品上的同构问题。Hype 阶段类似 IV run-up(期望 vol 高),上线后类似 IV crush(不确定性消除)。卖方策略对应「做空 hype」(卖期权 / 砸盘),买方策略对应「囤期望」(提前买入 / 入场)。不确定性本身是一种可定价资产——这个认知一旦内化,看产品市场会多一层视角。
七、HV 窗口选择的敏感性
HV 公式里那个 n 不是随便选的。不同窗口讲不同故事:
| HV 窗口 | 反映的时间尺度 | 适用 |
|---|---|---|
| HV 5 | 最近一周 | 日内波动 / 短线 |
| HV 20 | 最近一月 | 主流,对应 30D 期权 expiry |
| HV 60 | 最近 3 个月 | 中线,去噪 |
| HV 252 | 最近 1 年 | 长线均值,去事件干扰 |
for n in [5, 20, 30, 60, 252]:
hv = log_ret.rolling(n).std().iloc[-1] * np.sqrt(252) * 100
print(f"HV{n}: {hv:.1f}%")
输出可能像:
HV5 : 24.3%
HV20 : 16.8%
HV30 : 15.5%
HV60 : 14.2%
HV252: 17.6%
5 个数字差异巨大。和 IV 比较时,要用同期 expiry 的 IV 对同窗口的 HV:
- 30D 期权的 IV ↔ HV 20 / HV 30
- 90D 期权的 IV ↔ HV 60
- LEAPS(1Y+)的 IV ↔ HV 252
混用窗口会让 VRP 计算失真——你以为有溢价但其实是窗口口径偏差。
八、IV Rank 在 Wheel 策略中的具体应用
Day 16-17 我们建好了 Wheel 的骨架(卖 CSP → 接货 → 卖 CC → 被 call away)。今天加一个入场过滤器:用 IVR 决定「该不该今天卖 CSP」。
8.1 过滤规则
# Wheel CSP 入场过滤(Day 18 版本)
def should_sell_csp(ivr, ivp, vix_value, dte_target=30):
"""
返回 (allow: bool, reason: str)
"""
# 规则 1:IVR 太低,premium 不值得风险
if ivr < 40:
return False, f"IVR={ivr:.0f} too low, premium thin"
# 规则 2:IVP 也要确认(防 IVR 被极值钉住误判)
if ivp < 30:
return False, f"IVP={ivp:.0f} too low (IVR may be misleading)"
# 规则 3:VIX 绝对值过高警告(黑天鹅期间不进场)
if vix_value > 40:
return False, f"VIX={vix_value:.0f} crisis-level, halt new CSPs"
# 规则 4:「甜区」—— IVR 50-70 + IVP 50+ + VIX 18-30
if 50 <= ivr <= 70 and ivp >= 50 and 18 <= vix_value <= 30:
return True, f"SWEET SPOT: IVR={ivr:.0f}, IVP={ivp:.0f}, VIX={vix_value:.0f}"
# 默认通过
return True, f"OK: IVR={ivr:.0f}, IVP={ivp:.0f}, VIX={vix_value:.0f}"
# 实际调用
ivr_now = vix_df['IVR'].iloc[-1]
ivp_now = vix_df['IVP'].iloc[-1]
vix_now = vix_df['IV'].iloc[-1]
allow, reason = should_sell_csp(ivr_now, ivp_now, vix_now)
print(f"{'✓ ALLOW' if allow else '✗ SKIP'} — {reason}")
8.2 这个规则的「为什么」
| 规则 | 直觉 |
|---|---|
| IVR < 40 跳过 | premium 太薄,annualized return < 10%,不如直接持股 |
| IVP < 30 否决 | IVR 可能被异常 spike 误导,IVP 是 safety check |
| VIX > 40 全停 | 不是「不能卖」,是「即将接货」概率太高且接货价位会很惨 |
| 甜区 IVR 50-70 + IVP 50+ + VIX 18-30 | 历史回测最稳定的「premium 厚 + 不是恐慌期」组合 |
8.3 「我能从这里走到哪」
Wheel + IVR 是 Phase 1 的练手版本。Phase 2 会进化到:
- 多标的 IVR ranking:扫描 50 只标的,每天选 IVR 最高的前 5 个卖 CSP
- delta-IVR 联合优化:固定 delta 0.30,在不同 IVR 标的间挑 premium 最厚的
- Term structure 套利:IV Term Structure 倒挂时(near > far)卖近月买远月——Day 19 主题
- IV mean reversion 跨标的:IVR 100 的标的卖 vol、IVR 0 的标的买 vol,做 vol pair trade
九、常见坑总结
| 坑 | 表现 | 防范 |
|---|---|---|
| 用整 chain 平均 IV 算 IVR | 跟主流 broker 数字对不上 | 统一用 30D ATM IV |
| 52 周窗口里有罕见极值 | IVR 长期偏低误导 | 同时看 IVP |
| VIX 当 SPY IV 用没注意单位 | VIX 已年化 %,不要再乘 √252 | 直接当百分比 |
| HV 用 simple return | 不可加、对称破坏 | 用 log return |
| 财报附近卖 vol 没对冲 Delta | Vega 赚的被 Delta 吐回去 | Iron Condor / 控制 size |
| 跨标的比 IVR 数值 | 标的间 IVR 不可直接比较 | 各自看自己历史,不横向比 |
| 周末 / 假日 HV 计算 | 周五到周一 1 天 vs 3 天没区分 | 用 calendar days 调整或忽略 |
| 财报当日 IV 还在「正常」轨道 | 算 IVR 时把财报日含进去抬高均值 | 必要时剔除已知事件日 |
十、PM 视角:相对位置的方法论迁移
今天最值得收的不是 IVR/IVP 的公式,是「绝对值无意义、相对位置才是信号」这个思维模式:
-
用户活跃度:DAU = 1M 是高还是低?相对自己上月、相对同行同 cohort 才有意义。绝对值会让你做错决策。
-
留存率:D30 = 35% 是好还是差?SaaS 工具 35% 烂、社交 35% 神。「Rank within peer」才是评判标准——这是 IVR 在产品上的镜像。
-
GMV / Revenue / 转化率:所有 KPI 都该有「IVP 视角」——「过去 252 天里有百分之多少天比今天低」。这比看绝对值更稳健、更抗 outlier。
-
风险溢价的存在:用户为「确定性」付溢价(订阅 vs 计费、年付 vs 月付)。这跟 vol risk premium 本质同构——人厌恶不确定,且这种厌恶可定价、可被卖方收割。
-
IV Crush 的产品镜像:上线 / 财报 / 大版本发布前 hype 高(IV 高),发布后真相揭晓 IV crush。卖空 hype 的策略(提前减仓 / 提前出货)在产品和资本市场都成立。
-
极值 vs 分布:「峰值 DAU」(max)跟「中位 DAU」(median)讲的不是一个故事。IVR 用前者,IVP 用后者,两个都看是处理任何 KPI 的正确姿势。
十一、明日预告
Day 19: IV Term Structure + Volatility Smile / Skew
- Term Structure:同一标的,不同 expiry 的 IV 不一样
- Normal contango:远月 IV > 近月 IV(市场平静态)
- Backwardation:近月 IV > 远月 IV(短期恐慌)
- VIX9D / VIX / VIX3M / VIX6M 的 4 点 term structure
- Volatility Smile:同 expiry,不同 strike 的 IV 不一样
- 1987 黑色星期一后,put 永远比 call 贵(put skew)
- SPX 是 skew,单股是 smile,外汇是 smirk
- 风险逆转策略:买虚值 call + 卖虚值 put(同 delta)—— skew 的产品化
- Term Structure 套利:VIX9D > VIX 时的统计套利结构
- 代码实操:画 SPY 完整 chain 的 IV 曲面(skew × term)
实际执行记录
启动一项填一项,时间戳 + 卡点。
- [hh:mm] 装 yfinance 拿 VIX 5 年数据 — ...
- [hh:mm] 跑通 rolling IVR / IVP 计算 — ...
- [hh:mm] 画图 IV vs HV + IVR vs IVP — ...
- [hh:mm] 跑 should_sell_csp 看今天结论 — ...
- [hh:mm] 用 ib_insync 拿一个真实 30D ATM IV 对比 VIX — ...
- 卡点 / 学到的:
- VIX 跟 SPY 30D ATM IV 实际差多少?(应该 < 2 vol points)
- 今天 SPY 的 IVR / IVP 分别是多少?是 sweet spot 还是 skip?
- HV20 跟 HV30 差异:观察自己的标的,哪个窗口最贴近 IV?
总字数:约 6,400 字 今日完成度:理论 ✓ / 实操 ✓(脚本可跑)/ 笔记 ✓