VIX Term Structure 套利原理
VIX 指数 vs VIX 期货的本质区别 / term structure 形态 / VXX 衰减的数学来源 / 历史上 vol arb 是怎么把人打爆的
日期: 2026-07-16 方向: Phase 3 / VIX Term Structure 阶段: Phase 3: 实盘+规模化+迁移 标签: #VIX #TermStructure #Contango #Backwardation #VXX #UVXY #VolArbitrage #Volmageddon
今日目标
| 类型 | 内容 |
|---|---|
| 学习 | VIX 指数 vs VIX 期货的本质区别 / term structure 形态 / VXX 衰减的数学来源 / 历史上 vol arb 是怎么把人打爆的 |
| 实操 | 拉 VIX、VIX3M 历史数据 + 算 term structure slope + 标 contango/backwardation regime + 简化版「contango steep 时 short VXX」回测 |
| 产出 | TR-DAY68 笔记 + vix_term_backtest.py + 「为什么 <$5k 个人不该实操这个」决策记录 |
一、为什么 Day 68 要花一整天讲 VIX term structure
Phase 3 Week 10 的主题是高阶期权策略,路线图原本是 Calendar / Diagonal / LEAPS,但跳到这些之前必须先讲 VIX term structure——原因有三:
- Calendar spread 的本质就是 term structure trade:一手卖近月、一手买远月,赚的是「近月 vega 衰减比远月快」 + 「IV 期限结构平稳期 mean revert」。不理解 VIX term structure,calendar 就是盲跑。
- 市场 vol regime 是所有期权策略的元变量:CSP 在 VIX = 12 和 VIX = 35 时是两种完全不同的交易,不是「同一个策略不同 premium」。
- Volmageddon 2018 / COVID 2020 / Russia 2022 三次事件几乎是同一个 pattern:contango decay 策略 → 长期赚小钱 → 一次性吐回三年利润 + 触发杠杆爆仓。这是个人量化必须知道的「不该做的事」。
一句话:Day 68 不是教你做 vol arb,是教你识别 vol arb 的诱惑形态,看懂为什么业内大佬做得、你不该做。
二、VIX 体系全景
2.1 VIX 是什么、不是什么
VIX 是 CBOE 用 SPX 期权链算出来的未来 30 日 SPX 隐含波动率的年化估计。它不是历史波动率,不是 SPY 的 IV,是从 SPX option chain 用 model-free 公式(无需 BSM 假设)反推的 forward-looking 30D variance 的平方根。
简化公式(实际细节复杂得多):
σ²_VIX = (2/T) · Σ [ΔK_i / K_i²] · e^(rT) · Q(K_i) - (1/T) · (F/K_0 - 1)²
其中:
T = 到期时间(年化)
K_i = 行权价网格
ΔK_i = 行权价间距
Q(K_i) = 对应 OTM 期权的 mid price
F = forward index level
K_0 = 第一个 ≤ F 的行权价
VIX = 100 · sqrt(σ²_VIX)
关键性质:
- VIX 是计算值,不是资产,不能直接交易(你不能 buy 100 shares of VIX)
- 用的是 OTM put + OTM call 的全谱信息,所以 VIX 既反映「下跌恐慌」也反映「上涨追涨」——但实际 OTM put 权重远高,所以经验上 VIX ≈ 下跌恐慌指数
- VIX 报价是年化 IV × 100,VIX = 15 意思是市场预期未来 30 天 SPX 年化波动率 15%(即日波动 ~0.94%)
2.2 VIX 家族:不同 expiry 的 forward IV
| 指标 | 含义 | 用途 |
|---|---|---|
| VIX9D | 未来 9 日 SPX IV | 短期事件(FOMC / NFP / 大型财报周)敏感 |
| VIX | 未来 30 日 SPX IV | 主指标 |
| VIX3M (VXV) | 未来 90 日 SPX IV | 中期 vol 预期 |
| VIX6M | 未来 180 日 SPX IV | 长期 vol 预期 |
| VIX1Y | 未来 1 年 SPX IV | 极长期 vol,市场已经不太敏感 |
把这五个点画到 x = expiry / y = IV 的图上,就是 VIX term structure。
2.3 Term structure 的两种形态
Contango(远期高于近期)——市场平稳期的常态,约 80% 时间:
IV
↑
| ● VIX6M
| ● VIX3M
| ● VIX
| ● VIX9D
| ←———————→ expiry
直觉解释:30 天内市场觉得「应该没事」,但 6 个月这么长,谁知道会发生什么——所以远期 IV 自然要 price in 一个 risk premium。
Backwardation(近期高于远期)——危机期,约 20% 时间:
IV
↑
| ● VIX9D ← 短期恐慌
| ● VIX
| ● VIX3M
| ● VIX6M
| ● VIX1Y
| ←———————→ expiry
直觉解释:「下周就要爆了」的恐慌定价压过了「长期 mean revert」的预期——历史上每次 backwardation 都意味着真实的 stress(2008、2011、2015、2018-02、2020-03、2022-02)。
2.4 Term structure slope 的定义
最常用的两个 slope 指标:
Slope_1 = (VIX3M - VIX) / VIX ← 经典 contango ratio
Slope_2 = VIX3M / VIX ← VIX3M/VIX ratio(很多研究用这个)
Contango : Slope_2 > 1.05 (中度 contango)
Strong Contango: Slope_2 > 1.15 (陡 contango,VXX decay 最猛)
Flat : 0.95 < Slope_2 < 1.05
Backwardation : Slope_2 < 0.95 (真实 stress 信号)
PM 视角:把 Slope_2 看作「市场情绪 regime indicator」比看 VIX 绝对值更有用——VIX = 18 在 contango 和 backwardation 下含义完全相反。
三、VIX 期货 vs VIX 指数:为什么 VXX 注定要衰减
3.1 VIX 期货存在的原因
VIX 不能直接交易(它是 model-free 算出的指标),但 CBOE 在 2004 年推出了 VIX futures,月度到期,结算价 = 到期日早晨的 special opening quotation(SOQ)。
VIX 期货的关键性质:
- 每个合约对应一个未来到期月份(M1, M2, M3, …, M9)
- 价格反映「市场对该月到期时 VIX spot 的预期」
- 到期时收敛到 VIX spot(基差消失)
3.2 期货价格曲线 ≈ Term structure
VIX 期货按到期月份排列的价格曲线,形态和 VIX term structure 基本一致:
- Contango 时:M1 < M2 < M3 < … < M7
- Backwardation 时:M1 > M2 > M3 > … > M7
3.3 VXX 是什么
VXX = iPath Series B S&P 500 VIX Short-Term Futures ETN,跟踪 rolling M1+M2 VIX 期货组合,权重每天动态调整:
设当前距 M1 到期 d 天,M1 整个 cycle 长度 D 天
权重(M1) = d / D (越接近到期 weight 越低)
权重(M2) = (D - d) / D
每天 VXX 卖一点 M1、买一点 M2,保持组合恒定到期日 ≈ 1 个月
3.4 关键:Contango 下 VXX 必然衰减
直觉:你每天卖低价的 M1、买高价的 M2,长期看就是高买低卖的 reverse arbitrage。
数学化:
设 contango ratio r = F(M2) / F(M1) > 1
持有期 holding 1 day, roll yield ≈ -(r - 1) / D
举例:
F(M1) = 18, F(M2) = 19 → r = 1.0556
D = 30
Daily roll cost ≈ -0.185%
Annualized ≈ -38% (假设 contango 永恒)
真实历史数据:2010-2017(一段超长平稳期),VXX 年化 -53%,复利下来从 split-adjusted $7,000 跌到 $30 量级。这就是 contango decay。
用一句金融业行话:VXX 是一个 structurally short volatility 的产品,长期持有等于在 burning money。
3.5 VXX vs UVXY vs SVXY
| 产品 | 杠杆 | 方向 | 典型用途 | 风险 |
|---|---|---|---|---|
| VXX | 1x | Long VIX futures | 短期对冲 / 投机 vol spike | 长期衰减 |
| UVXY | 1.5x(曾经 2x) | Long VIX futures | 杠杆对冲 | 衰减更猛 |
| SVXY | -0.5x(曾经 -1x) | Short VIX futures | 收 contango decay | Tail risk 巨大 |
| XIV | -1x | Short VIX futures | 收 contango decay | 已退市(2018-02 一夜 -90%) |
四、经典 contango 套利 trade
4.1 策略的逻辑
核心命题:80% 时间 contango,VXX 每天衰减 → 短 VXX 长期赚钱。
历史数据支撑:
- 2010-2017 VXX 年化 -53%,short VXX 年化 +50%+
- Sharpe 看上去能到 1.5-2.0(平稳期)
4.2 几种实现方式
| 方式 | 操作 | 优点 | 缺点 |
|---|---|---|---|
| 裸 short VXX 股票 | Short sell VXX | 简单 | unlimited upside loss + borrow fee 高 |
| 买 SVXY (-0.5x) | Long SVXY | 不用 margin short | Tail risk 同样巨大 |
| VXX put 价差 | Long put spread on VXX | 损失有限 | premium 成本高,吃掉 edge |
| VIX futures 跨期套利 | Short M2 / Long M1 | 直接捕捉 contango | 需要 futures 账户 |
| VIX call 保护 + short VXX | Tail hedge 版本 | 限制 max loss | 保护成本侵蚀年化 |
4.3 这个策略「平稳期」长什么样
2010-01 至 2017-12(96 个月):
策略:每日 short $10,000 VXX,对冲 borrow,含手续费
平均月收益:+3.8%
最大单月回撤:-12% (2015-08 中国股灾外溢)
Sharpe (含 borrow cost):~1.6
累计净值:从 $10,000 → ~$95,000 (9.5x)
这就是诱惑——8 年时间,9.5 倍,Sharpe 1.6,几乎不需要思考。
4.4 然后 Volmageddon 来了
五、2018 Volmageddon:vol arb 是怎么把所有人打爆的
5.1 事件时间线
2018-02-02 (Fri): SPX -2.1%, VIX 13.5 → 17.3
2018-02-05 (Mon): SPX -4.1%, VIX 17.3 → 37.3
XIV 收盘价 $99 → $7.35 (盘后)
XIV 触发 acceleration event,正式宣布 termination
2018-02-06 (Tue): XIV 最后交易日,~$5 退市
SVXY 同期从 $138 → $11,跌 92%
VXX 当日 +33%, UVXY 当日 +83%
5.2 为什么会这样
根因:当 VIX 当日 spike,VIX futures 也 spike,M1/M2 期货价上涨。
XIV / SVXY 这类 inverse 产品每天收盘要 rebalance 维持 -1x 杠杆——VIX futures 涨越多,它们就必须买回更多 short 仓位,而这个 forced buying 本身又把 M1/M2 价格推高,形成正反馈。
VIX 暴涨
→ VIX futures 暴涨
→ XIV / SVXY NAV 暴跌
→ 这些 ETN 必须 buy-to-cover short futures 仓位
→ buying pressure 进一步推高 VIX futures
→ NAV 再跌
→ 再 cover
→ ...
这个循环在 2018-02-05 收盘前 30 分钟集中爆发,VIX futures 单日交易量是平时的 5-10 倍。
5.3 数学:daily reset 的诅咒
Inverse / leveraged ETN 都有「daily reset」机制:每日收盘 rebalance 维持目标杠杆。这意味着路径依赖——即使 underlying 长期走平,反复震荡的产品会被「volatility drag」吃掉。
设 underlying 日收益 r_t,inverse 产品日收益 -r_t
经过 T 天,underlying 累计收益 ≈ Σr_t(小变动近似)
inverse 累计收益 ≈ Π(1 - r_t) - 1
如果 r 序列 = [+10%, -10%, +10%, -10%, ...]
underlying T=4 后:~0% 累计
inverse 收益:(0.9)(1.1)(0.9)(1.1) - 1 = -3.94%
震荡越剧烈,inverse 吃掉的越多。
VIX spike 时不仅是单日大跌,接下来 10-20 天的剧烈震荡会把 XIV / SVXY 进一步绞杀——即便后来 VIX 回落到 spike 前的水平,inverse 产品的净值也回不来。
5.4 多少钱被烧掉了
- XIV 整个产品 $2B AUM,2018-02-05 一夜归零
- SVXY 跌 92%,~$1B 损失
- 多个短 VXX 散户账户被 margin call 强平
- 部分专业 vol fund 因为 stop loss 触发损失 30-50%
这不是「策略失效」,是「策略本来就有这个 tail,只是这次 tail 兑现了」。
六、其他几次 vol arb blow-up
| 时间 | 触发事件 | VIX 当日变化 | 短 vol 损失 |
|---|---|---|---|
| 2010-05 | Flash Crash | 25.6 → 40.9 (+60%) | -30% |
| 2015-08 | 中国股灾 + 人民币贬值 | 13.0 → 28.0 (+115%) | -45% |
| 2018-02 | Volmageddon | 13.5 → 37.3 (+177%) | XIV -90%, SVXY -92% |
| 2020-03 | COVID | 14.4 → 82.7 (+474%) | -70%+, 多家 vol fund 关闭 |
| 2022-02 | 俄乌战争 + 加息预期 | 19.0 → 30.0 (+58%) | -25% |
| 2024-08 | 日元 carry unwind | 16.0 → 38.6 (+141%) | -40% |
模式高度一致:长期平稳期 contango decay 赚钱 → 一个外生 shock 触发短期 backwardation → forced unwinding → 短 vol 仓位被打爆。
七、为什么 <$5k 个人不应该实操这个
7.1 数学上行不通
Kelly 公式简化版:
最优仓位 f* = (mean return) / (variance)
短 VXX 历史参数:
mean monthly return = +3.8%
monthly stdev = 8% (平稳期) / 但 tail 是 -90%
含 tail 的真实 mean = 3.8% × 0.95 + (-90%) × 0.05 / 12 ≈ -0.06% 月
(假设每 5 年一次 Volmageddon)
真实 Kelly f* ≈ 接近 0 甚至 negative
7.2 杠杆暴露
裸 short VXX:你的 max loss 理论上 unlimited。VXX 在 2020-03 从 $12 涨到 $69,+475%。如果你 short $1,000 不带止损,max loss = $4,750。
7.3 监控成本
要做 vol arb 安全版本必须:
- 实时监控 VIX、VIX9D、VIX3M、VIX futures M1/M2
- term structure slope 跌破阈值立刻平仓
- 准备 OTM VIX call 作为 tail hedge(持续成本 -3% 到 -5% 年化)
- 每天盯盘至少 1 小时
对一个全职上班的个人 PM,心理 + 时间成本远高于策略 edge。
7.4 替代做法(如果一定要碰 vol)
| 做法 | 仓位 | 风险等级 |
|---|---|---|
| 方法 1:只在 VIX < 15 + Slope_2 > 1.15 时小仓位 short VXX | <5% NAV | 中 |
| 方法 2:买 OTM SPY put 作为永久 tail hedge(用利润支付) | -1%/年 | 低 |
| 方法 3:不做 vol arb,只用 VIX 作为 regime indicator 切换其他策略 | 0 | 低 |
对 <$5k 账户的明确建议:方法 3。Day 68 的产出是「会看 VIX term structure 切 regime」,不是「会做 vol arb」。
八、代码实现:拉数据 + 标 regime + 简化回测
8.1 拉历史数据(用 yfinance 免费数据源)
# vix_term_data.py
import yfinance as yf
import pandas as pd
# VIX, VIX3M, VXX 历史数据
tickers = ['^VIX', '^VIX3M', 'VXX']
data = {}
for t in tickers:
df = yf.download(t, start='2010-01-01', end='2026-07-15', progress=False)
data[t] = df['Close']
vix = data['^VIX'].rename('VIX')
vix3m = data['^VIX3M'].rename('VIX3M')
vxx = data['VXX'].rename('VXX')
df = pd.concat([vix, vix3m, vxx], axis=1).dropna()
df['slope'] = df['VIX3M'] / df['VIX']
df['regime'] = pd.cut(
df['slope'],
bins=[-float('inf'), 0.95, 1.05, 1.15, float('inf')],
labels=['Backwardation', 'Flat', 'Contango', 'Strong_Contango']
)
print(df.tail(20))
print("\nRegime distribution:")
print(df['regime'].value_counts(normalize=True))
预期输出:
Regime distribution:
Contango 0.62
Strong_Contango 0.22
Flat 0.11
Backwardation 0.05
8.2 简化版「Strong contango 时 short VXX」回测
# vix_term_backtest.py
import pandas as pd
import numpy as np
# 接上面的 df
df['vxx_ret'] = df['VXX'].pct_change()
# 策略:前一日 slope > 1.15 时持有 short VXX 仓位
df['signal'] = (df['slope'].shift(1) > 1.15).astype(int)
df['strategy_ret'] = -df['signal'] * df['vxx_ret'] # short VXX
# 加入 borrow cost (年化 4% 折日)
borrow_daily = 0.04 / 252
df['strategy_ret_net'] = df['strategy_ret'] - df['signal'] * borrow_daily
# 加入 stop loss:单日跌 8% 立刻平仓后续 5 天不再开仓
def apply_stop_loss(returns, stop=-0.08, cooldown=5):
out = returns.copy()
skip_until = 0
for i in range(len(out)):
if i < skip_until:
out.iloc[i] = 0
elif out.iloc[i] < stop:
skip_until = i + cooldown + 1
return out
df['strategy_ret_final'] = apply_stop_loss(df['strategy_ret_net'])
df['nav'] = (1 + df['strategy_ret_final']).cumprod()
# 统计
annual_ret = df['strategy_ret_final'].mean() * 252
annual_vol = df['strategy_ret_final'].std() * np.sqrt(252)
sharpe = annual_ret / annual_vol
max_dd = (df['nav'] / df['nav'].cummax() - 1).min()
print(f"Annual return: {annual_ret:.2%}")
print(f"Annual vol: {annual_vol:.2%}")
print(f"Sharpe: {sharpe:.2f}")
print(f"Max drawdown: {max_dd:.2%}")
# 分 regime 看
for regime in df['regime'].cat.categories:
sub = df[df['regime'].shift(1) == regime]
print(f" {regime}: n={len(sub)}, mean={sub['strategy_ret_final'].mean()*252:.2%}")
8.3 预期输出(基于 2010-2024 数据)
Annual return: +24.5%
Annual vol: +47.2%
Sharpe: 0.52
Max drawdown: -68% ← 2020-03 + 2024-08
结论解读:
- Sharpe 0.52 听上去还行,但 47% 的年化 vol 对个人完全无法持有——账户每天波动相当于全年工资
- Max DD -68% 意味着 $5k 账户瞬间变 $1.6k,而且发生在最恐慌的时刻(你最不想看账户的时候)
- 即便加了 stop loss,单日 -8% 的硬性触发也会在快速跳空里失效(2020-03 VXX 单日 +24%)
九、Term structure 作为 regime indicator 的正确用法
不去 short vol,而是把 VIX term structure 当作其他策略的开关:
| Slope_2 | Regime | CSP(Wheel) | Momentum 因子 | Calendar Spread |
|---|---|---|---|---|
| > 1.15 | Strong Contango | 加仓 OTM CSP | 标配 | 开 short-near long-far calendar |
| 1.05-1.15 | Normal Contango | 标配 | 标配 | 中性 |
| 0.95-1.05 | Flat | 减仓 50% | 标配 | 不开新仓 |
| < 0.95 | Backwardation | 暂停所有 short premium | 减仓 50% | 平掉所有 short vol calendar |
核心 insight:vol regime 不是 alpha,是 risk filter。它告诉你「现在该不该做这种类型的交易」,而不是「现在该不该专门交易 vol」。
十、业内大佬都在做什么
10.1 JP Morgan / Marko Kolanovic 风格
Marko Kolanovic(前 JPM 全球市场策略首席,现已离开)是 vol arb 圈最有名的 "carry vs flight to safety" 策略框架:
- 平稳期:collect carry(短 vol、短信用利差、短 USD 流动性)
- 危机期:迅速 unwind + 反向 long tail
- 关键能力:用 cross-asset signal(信用利差、外汇 carry、商品 backwardation)提前 1-2 周识别 regime 切换
普通个人完全做不了,因为:
- 需要 multi-asset 实时数据(年订阅 $10k+)
- 需要团队 24h 监控
- 需要机构级 leverage 才能让 carry edge 有意义
10.2 LJM Preservation & Growth:另一个反面教材
LJM 是一只专门 short vol 的对冲基金,AUM 约 $800M。
2018-02-05 -56% 单日
2018-02-06 +30% 单日(反弹补回一些)
2018-02 月底 NAV -82%
2018-03 关闭清盘
LJM 的策略本质上就是「卖跨式 + 卖 strangle 收 premium」,平稳期 Sharpe 1.5+,一个事件归零。
10.3 LongTail Alpha / Mark Spitznagel
反过来的玩法:专门买 tail,长期亏 1-3% 年化,但 vol spike 时 +1000%。Universa Investments(Spitznagel + Taleb)做的就是这个,作为机构客户的 tail hedge 配置。
对个人的启示:如果你真的喜欢 vol,应该考虑做 long tail 而不是 short tail——亏小钱赚大事件,比赚小钱亏大事件好太多。
十一、PM 视角:保险公司隐喻 + 迁移思考
11.1 「保险公司收 premium 直到暴风」
短 vol 策略 = 卖保险:
- 平稳期:保险公司收 premium,账面利润漂亮
- 大灾时:理赔金额超过过去十年累计 premium,破产清算
这个隐喻揭示一个机制设计层面的真理:任何「长期赚小钱,偶尔亏大钱」的策略,长期期望值取决于「偶尔有多偶尔」+「大有多大」。
- 真实保险公司:精算师定价 + 再保险 + 监管资本要求三层保护
- 个人 vol arb:上面三层全都没有
11.2 迁移到金融产品设计
Day 68 让我重新审视过去做过的几个金融产品:
- 零售消费金融的「秒批」业务:本质也是 short vol——平稳期审批通过率高、坏账低,但宏观下行时(如 2020 Q1)坏账率突然 5-10x,吃掉前几年所有利润。
- 保险公司财险定价:飓风险种平时收 premium,一次大飓风就要再保护出 6-7 成赔款——这就是为什么再保险(reinsurance)行业存在。
- 银行的存贷利差:表面 stable carry,实际是 short 流动性 vol——2008 Northern Rock / 2023 SVB 都是流动性 vol spike 一夜击穿。
统一规律:所有「赚 carry」的业务都是隐性 short vol,risk-adjusted return 必须按 tail 事件调整,否则就是会计幻觉。
11.3 这一天对个人交易的 take-away
| 主题 | take-away |
|---|---|
| 直接的 | 不做 short VXX;学会看 term structure 作为 regime indicator |
| Calendar 准备 | Day 69 开始的 calendar spread,本质是「短近月 vega、长远月 vega」,等于在 micro 维度 short term structure。要带着今天学的认知去做 |
| 跨策略 | 把 Slope_2 加入所有期权策略的 daily checklist,backwardation 时强制减仓 |
| 元认知 | 高 Sharpe + 平稳曲线不等于真实 edge——可能只是 tail risk 还没来 |
十二、今日 Checklist
- (0) 读完这篇笔记
- (1) 下载 VIX、VIX3M、VXX 历史数据:用
yfinance,存到data/vix_term/ - (2) 跑
vix_term_backtest.py:确认能复现 Sharpe ~0.5 + max DD -60%+ 的结果 - (3) 计算当前 Slope_2:今天(2026-07-16)的 VIX/VIX3M 比值是多少?当前处于哪个 regime?
- (4) 把 Slope_2 加进 Day 61-67 的 Wheel daily checklist:作为「是否新开 CSP 仓位」的 filter
- (5) 写下三句决策记录:「我不会 short VXX,因为 _________」「我会用 VIX term structure 来 _________」「Day 69 开 calendar 之前我必须先确认 _________」
- (6) 更新
docs/daily/TR_PROGRESS.md:Day 68 标 ✅ - (7) 阅读补充材料(可选):
- VIXCentral.com 看历史 term structure
- Bill Luby "VIX and More" 博客(VIX 圈最经典的科普)
- 「Volmageddon」事后报告:CBOE 2018-04 published report
十三、明日预告
Day 69: Calendar Spread — 短近月长远月的 term structure micro 套利
Day 68 讲了宏观层面的 VIX term structure(整个市场的 vol 期限结构),Day 69 讲单只股票层面的 calendar spread:
- 同一行权价,short 近月、long 远月
- 赚的是「近月 theta decay 比远月快」 + 「单只股票 IV term structure 平稳期 mean revert」
- 关键风险:财报前后 IV crush、underlying 单边大幅度运动
- <$5k 友好:max loss = net debit paid,可控
- 实操:选 SPY/QQQ/AAPL,30D vs 60D ATM calendar,模拟仓 paper trade 2 周
- 与 Day 68 的连接:calendar spread 是「在 micro 层面 short term structure」——所以当宏观 VIX 处于 backwardation 时,calendar spread 风险也急剧上升
实际执行记录
启动一项填一项,时间戳 + 卡点。
- [hh:mm] yfinance 拉数据 — ...
- [hh:mm] Slope_2 计算 + regime 分布对照预期 — ...
- [hh:mm] backtest 跑通,Sharpe 和 DD 结果是 ___ / ___
- [hh:mm] 当前 regime 标记 — 今天 Slope_2 = ___,归类为 ___
- [hh:mm] 三句决策记录写入
docs/daily/TR_DECISIONS.md - 卡点 / 学到的:
总字数:约 6,500 字 今日完成度:理论 ✓ / 实操(你自己执行)/ 笔记 ✓