个人量化交易 90 天精通计划(IBKR + 期权 + AI 信号)
定位:用 90 天建立可复利的个人量化交易系统,覆盖股票因子、期权希腊字母、事件驱动三大引擎
平台:Interactive Brokers(IBKR)+ ib_insync API + Python 量化栈
AI 角色:研究助手 + 财报/事件抽取 + 截面信号生成器(不做端到端预测)
资金:<$5k 学习+实盘训练账户(明确目标是「打磨方法论」而不是当年赚生活费)
作者背景:10 年金融零售 PM/BA/dev + Web3/Solidity 在跑 + 已完成 270 天专家深度计划
启动日期:2026-05-10(Today)
预期完成:2026-08-08
进度文件:docs/daily/TR_PROGRESS.md
每日笔记:docs/daily/TR-DAYx.md
0. 三个必须摆在前面的现实
- <$5k 量化 ≠ 副业收入,定位是「3-5 年 edge 沉淀的训练账户」。真正的赚钱杠杆是 ① edge → ② 扩规模 → ③ 复利时间。
- IBKR Reg-T 现金账户 + <$25k = PDT 限制(不能日内)+ 期权 Level 2-3(CSP / CC / 长期权 / debit spread 可做,naked / uncovered 大概率不批)。这一约束会决定整个策略选择。
- 「AI 信号生成器」最 work 的形态是「LLM 抽非结构化特征 → 经典 ML 排序 → 规则化执行」,不是端到端 LLM 预测涨跌。本计划全程贯彻这一架构。
1. 与已有计划的关系
| 计划 | 状态 | 与本计划的关系 |
|---|
| Web3 90 天 | ✅ 已完成 | Web3 链上数据/MEV/DeFi 知识 → 后期可做 chain × tradfi 套利 |
| Web3 实战 | ✅ 已完成 | Dune/SQL 能力可复用做 alt-data |
| 架构 120 天 | ✅ 已完成 251 天 | 系统设计能力 → 自建回测/执行/风控架构 |
| Solidity+Rust/Move 90 天 | 🚀 进行中 | 不冲突,链上量化是后续延伸 |
| 个人交易 90 天(本计划) | 🚀 启动 | 独立轨道,每天 2h |
假设每天投入 2h(你已有 SC 90 天 6h/天 + 工作 + 家庭,2h 是相对稳的预算)。如果时间不够,把当日「实操」拆到周末。
每日时间分配(2h 版本)
- 理论/读论文:30 min
- 编码/回测:60 min
- 笔记+复盘:30 min
2. 三阶段总览
| 阶段 | 天数 | 主题 | 核心产出 |
|---|
| Phase 1:基础与工具链 | Day 1-30 | IBKR/ib_insync + 因子基础 + 期权 Greeks + 回测严谨性 | 跑通 1 个完整回测 + 1 笔 paper CSP |
| Phase 2:策略实战 + AI 信号 | Day 31-60 | 多因子组合 + Wheel 期权 + LLM 财报抽取 + 风控框架 | 3 个 paper trade 策略并行运行 |
| Phase 3:实盘+规模化+迁移 | Day 61-90 | IBKR 实盘上线 + vol arb + A 股/港股迁移 + 自动化 | $1k 实盘 + 1 篇公开复盘 + 完整代码库 |
3. Phase 1:基础与工具链(Day 1-30)
Week 1:环境 + IBKR API(Day 1-7)
| 天 | 主题 | 实操 | 产出 |
|---|
| 1 | IBKR 账户 + Paper Trading 启用 + Options Level 申请 | 装 TWS / IB Gateway,连接 paper account | TR-DAY1 笔记 |
| 2 | ib_insync 入门:连接、下单、查询 | 用 IB.connect() 拿到 SPY 报价 | 第一段连接代码 |
| 3 | Python 量化环境:pandas/numpy/yfinance | 用 yfinance 下载 SPY 10 年数据 | 数据下载脚本 |
| 4 | 时序数据基础:return / log return / rolling | 计算 SPY Sharpe / MaxDD / Calmar | 指标计算函数 |
| 5 | 回测框架对比:vectorbt vs backtrader vs Lean | 三个框架各跑一个 SMA cross | 框架选型笔记 |
| 6 | vectorbt 深入 + 第一个完整回测 | SMA(20,50) on SPY,含交易成本 | 回测脚本 v1 |
| 7 | 周复盘 + 写 TR-DAY7 总结 | - | 周笔记 |
Week 1 出口标准:能用 ib_insync 拿到 IBKR paper 账户实时数据,能用 vectorbt 跑出带成本的回测净值曲线。
Week 2:因子投资基础(Day 8-14)
| 天 | 主题 | 实操 | 产出 |
|---|
| 8 | Fama-French 三因子论文精读 | 复现 1992 年原始论文的回归 | 论文笔记 |
| 9 | 单因子评估:IC / IR / 分组回测 | 用 alphalens 评估 12-1 动量 | IC 报告 |
| 10 | 动量因子完整回测(12-1,月度再平衡) | SP500 universe,2010-2024 | 动量净值曲线 |
| 11 | 价值因子(B/M, E/P) | 复现 Asness 2013 「Value & Momentum Everywhere」 | 价值净值曲线 |
| 12 | 低波动因子(rolling vol 倒数) | 复现 Frazzini-Pedersen「Betting Against Beta」 | 低波动净值曲线 |
| 13 | 质量因子(ROE/毛利率/盈利稳定性) | 复现 QMJ | 质量净值曲线 |
| 14 | 周复盘:四因子相关性矩阵 | 看哪两个组合 Sharpe 最好 | TR-DAY14 总结 |
Week 2 出口标准:能独立解释「为什么 12-1 动量在月度截面有 alpha」,能跑出四因子的 IC/IR 表。
Week 3:期权基础 + Greeks(Day 15-21)
| 天 | 主题 | 实操 | 产出 |
|---|
| 15 | 期权基础:Call/Put/Strike/Expiry/ITM-OTM-ATM | 在 IBKR TWS 看 SPY 期权链 | 期权链笔记 |
| 16 | Greeks 全图:Delta/Gamma/Theta/Vega/Rho | 用 py_vollib 计算 BS Greeks | Greeks 计算器 |
| 17 | Black-Scholes 模型 + 隐含波动率求解 | 二分法/Newton 法解 IV | IV 求解函数 |
| 18 | IV vs HV / IV Rank / IV Percentile | 抓 SPY 历史 IV 30 / IV 90 | IV 监控脚本 |
| 19 | IV term structure + Volatility Smile/Skew | 画 SPY 不同到期日的 IV smile | 可视化图 |
| 20 | IBKR 期权操作:开仓/平仓/Roll | Paper trade 第一笔 SPY CSP(30D, 0.20 delta) | 第一笔模拟单 |
| 21 | 周复盘:期权与股票的根本区别 | - | TR-DAY21 总结 |
Week 3 出口标准:能解释 Theta decay 为什么对卖方有利,能在 IBKR 下单 cash-secured put 并算清最坏情况损失。
Week 4:回测严谨性 + 风控基础(Day 22-30)
| 天 | 主题 | 实操 | 产出 |
|---|
| 22 | 交易成本建模:佣金/滑点/借券费/借贷利率 | IBKR 分级佣金 + 0.5-2bp 滑点 | 成本模型 |
| 23 | 三大偏差:survivorship / look-ahead / selection | 用 SP500 历史成分股测试动量(vs 当前成分股) | 偏差对比报告 |
| 24 | 过拟合识别:Deflated Sharpe / PBO / WFA | López de Prado 第 7 章 | 反过拟合 checklist |
| 25 | Walk-forward analysis 实操 | 把动量因子做 5 折 walk-forward | WFA 报告 |
| 26 | 仓位管理:Kelly / 风险平价 / 波动率目标 | 实现三种仓位算法 | 仓位计算器 |
| 27 | 个人交易日志系统设计 | Notion or markdown,每笔记录假设/止损/复盘 | 日志模板 |
| 28 | Phase 1 综合:动量+低波动 双因子组合 | 包含成本+滑点+ Kelly 仓位 | 完整策略 v1 |
| 29 | Phase 1 总结文档 | 写 1500 字总结 | Phase1-Summary.md |
| 30 | Phase 2 启动准备 + 接下来策略选型 | - | Phase2 准备文档 |
Phase 1 出口检查:
4. Phase 2:策略实战 + AI 信号(Day 31-60)
Week 5:多因子组合实盘化(Day 31-37)
| 天 | 主题 | 实操 | 产出 |
|---|
| 31 | 多因子组合设计:等权 vs IC 加权 vs Risk Parity | 选定 2-3 个因子做基线 | 组合设计文档 |
| 32 | 因子合成:z-score 标准化 + 组合排序 | SP500 月度 top decile long-only | 组合代码 |
| 33 | 完整回测 2010-2024 + 含税前/税后净值 | 加 W-8BEN 30% 股息税 | 净值报告 |
| 34 | 加上交易成本 + 实际滑点估计 | IBKR 分级佣金($0.0035/share, min $0.35) | 成本敏感性分析 |
| 35 | Walk-forward 验证 + 参数稳定性 | 5 折 + 参数 ±20% 测试 | WFA 报告 |
| 36 | IBKR Paper trade 部署 | 月度自动再平衡 | 第一个 paper 策略 live |
| 37 | 周复盘 + 第一周 paper 表现归因 | - | TR-DAY37 |
Week 6:期权策略 - Wheel + Theta 收割(Day 38-44)
| 天 | 主题 | 实操 | 产出 |
|---|
| 38 | Wheel 策略全图:CSP → assigned → CC → 卖出 | 设计完整 wheel 流程 | Wheel 流程图 |
| 39 | SPY/QQQ 月度 CC 历史回测 | 30D, 0.30 delta,2015-2024 | CC 回测 |
| 40 | IV Rank 选股:高 IV 个股 vs 指数 ETF | 抓 IV Rank 前 50 | 选股清单 |
| 41 | 期权组合的希腊字母管理 | Net Delta / Net Theta 监控 | Greeks 监控板 |
| 42 | IBKR Paper:第一组 wheel(建议 SPY 100 股名义) | 实际开仓 | 实盘记录开始 |
| 43 | Roll 操作:Theta 没收满怎么办、ITM 怎么 Roll | 模拟 3 种 Roll 场景 | Roll 决策树 |
| 44 | 周复盘 + Wheel 第一周 PnL 归因 | - | TR-DAY44 |
Week 7:事件驱动 + LLM 信号(Day 45-51) ★ AI 重点周
| 天 | 主题 | 实操 | 产出 |
|---|
| 45 | 财报事件研究:PEAD(盈余公告漂移) | 复现 Bernard-Thomas 1989 | PEAD 笔记 |
| 46 | 用 Claude API 解读 10-Q/10-K | 写 prompt 抽 guidance change / risk factor change | LLM 抽取脚本 v1 |
| 47 | 财报 sentiment 抽取流水线 | EDGAR API → Claude → 结构化 JSON → DB | LLM 信号 pipeline |
| 48 | 财报前后 IV crush 现象 | 抓 50 只财报股 IV 前后变化 | IV crush 报告 |
| 49 | 财报期 Iron Condor / Strangle 策略 | 回测:财报前 1 天卖 0.20 delta strangle | 财报期权策略 |
| 50 | LLM 抽取信号 + 经典 ML 截面排序 | LLM 特征 → XGBoost → top decile | 混合模型 v1 |
| 51 | 周复盘:AI 信号能不能 work? | 看 IC | TR-DAY51 |
Week 8:组合管理 + 风控(Day 52-60)
| 天 | 主题 | 实操 | 产出 |
|---|
| 52 | 多策略 PnL 归因(market β / factor α / event α) | 实现归因脚本 | 归因报告 |
| 53 | 仓位管理升级:Kelly 改良 + DV01 | 含期权 delta 的总暴露管理 | 仓位管理框架 |
| 54 | 相关性管理:因子 + 期权 + 现金 | 计算策略间相关性矩阵 | 相关性图 |
| 55 | 尾部风险:VaR / CVaR / 极值理论 | EVT 拟合 SPY 尾部 | 尾部风险报告 |
| 56 | 黑天鹅对冲:OTM put / VIX call | 计算 hedge 成本 vs 保险价值 | 对冲方案 |
| 57 | 整体组合配置:股票因子 60% / 期权 30% / 现金 10% | 写组合管理 SOP | 组合 SOP v1 |
| 58 | Phase 2 综合演练:三策略并行 paper | - | 三策略 dashboard |
| 59 | Phase 2 总结文档 | 写 2000 字总结 | Phase2-Summary.md |
| 60 | Phase 3 启动准备 + 实盘前 checklist | - | 实盘准备 checklist |
Phase 2 出口检查:
5. Phase 3:实盘+规模化+迁移(Day 61-90)
Week 9:IBKR 实盘上线(Day 61-67) ★ 关键周
| 天 | 主题 | 实操 | 产出 |
|---|
| 61 | 实盘前最终 checklist + 入金 $1k | 转账到 IBKR 实盘账户 | 实盘账户 ready |
| 62 | 第一笔实盘:SPY 月度 wheel(最保守) | 卖 1 张 SPY 0.20 delta CSP | 第一笔实盘记录 |
| 63 | 实盘 vs 回测差异分析 | 滑点、成交时间、税务影响 | 差异报告 |
| 64 | 执行算法:limit / midpoint / TWAP | 对比成交效果 | 执行报告 |
| 65 | 报税基础:W-8BEN / 1042-S / 期权税务 | 整理本年税务计划 | 税务笔记 |
| 66 | 实盘日志系统 + 自动月报 | 自动从 FlexQuery 拉数据 | 月报模板 |
| 67 | 周复盘:实盘第一周心态记录 | - | TR-DAY67 |
Week 10:高阶期权 - Vol Arb + Calendar(Day 68-74)
| 天 | 主题 | 实操 | 产出 |
|---|
| 68 | VIX term structure 套利原理 | Contango/Backwardation 历史 | VIX 笔记 |
| 69 | Calendar spread:long back month + short front | SPY 30/60 日 calendar 回测 | Calendar 策略 |
| 70 | Diagonal spread(用作 LEAPS 策略) | LEAPS + 月度 CC | Diagonal 策略 |
| 71 | 实战:低 IV Rank 时 long calendar | 找当前 IV < 30 的股 | 实战开仓 |
| 72 | ETF 衰减套利:VXX / UVXY 长期空头 | 注意 borrow rate / 强制平仓风险 | 衰减分析 |
| 73 | 期权希腊字母组合优化 | net Vega 中性组合搭建 | 中性组合 |
| 74 | 周复盘:高阶期权适合 <$5k 吗? | 诚实评估 | TR-DAY74 |
Week 11:A 股/港股迁移(Day 75-81)
| 天 | 主题 | 实操 | 产出 |
|---|
| 75 | qlib 入门 + AKShare/Tushare 数据 | 装 qlib,跑官方 baseline | qlib hello world |
| 76 | 美股因子模型迁移 A 股 | 注意:A 股动量短反转、低波长期有效 | A 股因子回测 |
| 77 | A 股事件驱动:ST 摘帽、定增、回购 | 抓事件公告数据 | 事件清单 |
| 78 | 可转债套利基础(双低策略) | 集思录数据 + 双低排序回测 | 可转债策略 |
| 79 | A 股回测注意点:涨跌停、停复牌、T+1 | 修正回测引擎 | A 股回测引擎 v1 |
| 80 | 港股迁移:IBKR 港股期权 + 港股通限制 | 看 HSI/恒指 ETF 期权 | 港股期权笔记 |
| 81 | 周复盘:跨市场 alpha 还是单市场聚焦? | - | TR-DAY81 |
Week 12:系统化 + 长期复利(Day 82-90)
| 天 | 主题 | 实操 | 产出 |
|---|
| 82 | 自动化执行:IBKR API 定时跑(cron / Airflow) | 部署月度再平衡定时任务 | 自动化脚本 |
| 83 | 监控告警:异常 PnL / Greeks 越界 / 网络断 | TG/Slack/Email 告警 | 告警系统 |
| 84 | 月度自动报告生成 | 净值/归因/风控指标 PDF | 月报生成器 |
| 85 | 写公开复盘文章 #1(90 天回顾) | Mirror / Medium 发布 | 文章 #1 |
| 86 | 90 天 alpha 归因:哪部分赚钱、哪部分亏 | - | 归因报告 |
| 87 | 下阶段 roadmap:扩规模?加策略?换品种? | 决策矩阵 | 下阶段计划 |
| 88 | 整理所有代码到 GitHub repo(带 README) | - | 公开 repo |
| 89 | 写 90 天回顾文章(求职作品集) | - | 求职文章 |
| 90 | 庆祝 + 反思 + 启动下一个 90 天 | - | 终篇笔记 |
6. 90 天产出清单
硬性产出
能力验证
实盘记录(最低标准)
7. IBKR 关键配置 Checklist
账户与权限
软件与 API
关键约束(务必记住)
| 约束 | 数值 | 影响 |
|---|
| PDT Rule | 账户 < $25k 不能 5 个工作日内做 4 次日内 | 策略必须是日间持仓 |
| Margin 最低 | < $2k 不能开 margin | <$5k 用 Cash 账户 |
| Options Level | 通常 Level 2(CSP/CC/long),Level 3 spreads,Level 4 naked | 计划主策略限定在 L2-L3 |
| 期权合约面值 | 1 张 = 100 股 | <$5k 只能玩 SPY/低价 ETF/低价个股 |
| W-8BEN | 30% 股息预提税(中国大陆居民) | 净 Sharpe 要打折 |
| 数据延迟 | 不订阅 = 15 分钟延迟 | 必须订阅实时数据 |
资金管理建议(<$5k 实盘)
- 因子组合:$2k(4-5 只 ETF / 个股)
- Wheel 期权:$2k(足够 1 张 SPY CSP,SPY 现价 *100 ≈ $50k 名义?错,<$5k 玩不了 SPY 整张,要换 IWM/QQQ 单价更友好的 ETF 或卖低价股 CSP 如 F/SOFI)
- 现金缓冲:$1k
⚠️ 关键纠错:SPY 现价约 $500,1 张 CSP at 0.20 delta strike ≈ $470 → 需保证金 $47,000,<$5k 完全做不了 SPY。实际可做:QQQ at $400+/张 = $40k 也不行。真正适合 <$5k 的标的:F (Ford $10) / SOFI ($10) / 低价 ETF / 中国 ADR 如 BABA。要么用 spreads(debit/credit spread)把保证金压到 $200-$500/单。这个细节在 Day 38 详细处理。
8. 资源清单
必读书(按优先级)
- 《Advances in Financial Machine Learning》 — López de Prado(第 1-7 章必读)
- 《Trading Evolved》 — Andreas Clenow(系统化交易工程师视角)
- 《Option Volatility & Pricing》 — Sheldon Natenberg(期权圣经)
- 《Active Portfolio Management》 — Grinold & Kahn
- 《因子投资:方法与实践》 — 石川/刘洋溢(中文最佳)
- 《Options as a Strategic Investment》 — McMillan(期权策略大全)
必读论文
- Fama-French (1992, 1993):三因子起源
- Asness, Moskowitz, Pedersen (2013):"Value and Momentum Everywhere"
- Frazzini, Pedersen (2014):"Betting Against Beta"
- Bernard, Thomas (1989):PEAD(盈余公告漂移)
- López de Prado (2018):"The 10 Reasons Most Machine Learning Funds Fail"
工具栈
| 类别 | 工具 | 用途 |
|---|
| 回测 | vectorbt(首选)/ qlib(A 股)/ Lean | 框架 |
| 数据 | yfinance / polygon.io / EDGAR / AKShare | 行情+财报+A 股 |
| 期权 | py_vollib / opstrat | 定价+希腊字母 |
| 因子分析 | alphalens / pyfolio / quantstats | IC/IR/归因 |
| ML | scikit-learn / XGBoost / LightGBM | 经典 ML |
| LLM | Anthropic Claude API | 财报抽取 |
| 自动化 | ib_insync + APScheduler / Airflow | 定时执行 |
| 监控 | Telegram Bot API / Grafana | 告警 |
社区与情报
- QuantConnect 论坛、tastylive(期权策略分享)、SeekingAlpha
- Twitter:@CliffordAsness, @choffstein, @macrocephalopod, @TastyLiveShow
- 中文:集思录(可转债)、知乎「量化投资」专题
9. 风险与心态守则(每周读一次)
资金风险守则
- 单笔最大亏损 ≤ 总资金 2%(<$5k 时即 ≤ $100/笔)
- 总回撤超过 20% 强制停手,复盘 1 周再决定
- 绝不加杠杆超过 1.5x 总资产(小资金时建议 1.0x)
- 永远算清最坏情况再开仓(特别是期权 naked / 短期权)
心态守则
- 回测 Sharpe > 2 的策略,请先怀疑过拟合(实盘很难超过 1.0)
- paper trade ≥ 4 周才上实盘
- 永远写下交易理由,事后复盘看是不是 ex-post rationalization
- 不在情绪化的 24h 内调整策略(亏钱时改策略 = 灾难)
- 承认运气:90 天太短,别用结果反推方法对错
反 AI 滥用守则
- LLM 不能直接预测涨跌,永远用作特征抽取/编码助手
- LLM 写的回测代码必须自己读懂每一行
- LLM 出的策略「Sharpe 5.0」一定是过拟合或前视偏差
10. 跟踪机制
每完成一天:
- 更新
docs/daily/TR-DAYx.md(笔记)
- 更新
docs/daily/TR_PROGRESS.md(进度表)
每完成一周:
- 在
TR_PROGRESS.md 写周回顾(成果/卡点/下周计划)
每完成一个 Phase:
- 写
Phase{1,2,3}-Summary.md,1500-2500 字
11. 与现有 Skills 的协作
- 用
/blog-writer 或自建模板生成 TR-DAY 笔记
- 用
/init 之后的 CLAUDE.md 维护四 + 1 计划总览(如果你同意把本计划加进去)
- 完成期权/因子相关组件可继续在
momoweb3 repo 加页面(如 OptionsAnalyzer)
附录:第一周(Day 1-7)超详细任务
Day 1(今天就能开始)
- 注册/登录 IBKR 账户 → 启用 Paper Trading(需要主账户已开通)
- 在「User Settings → Permissions → Trading Permissions」申请 Options Level 2-3(通常 1-3 个工作日审批)
- 订阅市场数据:
Account Management → Settings → Market Data Subscriptions
- US Securities Snapshot and Futures Value Bundle (NP, L1)
- US Options Exchanges and Trades (OPRA)
- 下载并安装 IB Gateway(推荐)或 TWS
- Python 环境:
pip install ib_insync pandas numpy yfinance vectorbt py_vollib alphalens pyfolio
- 写 TR-DAY1.md:记录账户开通、Options Level 申请进度、环境搭建坑
Day 2 模板代码
from ib_insync import IB, Stock, util
util.startLoop() # for Jupyter
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1) # Paper port
contract = Stock('SPY', 'SMART', 'USD')
ib.qualifyContracts(contract)
ticker = ib.reqMktData(contract, '', False, False)
ib.sleep(2)
print(f"SPY bid/ask: {ticker.bid}/{ticker.ask}")
ib.disconnect()
计划版本:v1.0
最后更新:2026-05-10
下一次复审:Day 30 / Day 60 / Day 90