返回交易笔记
TR Day 60

Phase 3 启动准备 + 实盘前最终 Checklist

Phase 3 启动准备 + 实盘前最终 Checklist

2026-07-08
Phase 2 收官 / Phase 3 准备
Phase3PrepLivetradePrepChecklistRiskManagementSimToRealEmergencyPlan

日期: 2026-07-08 方向: Phase 2 → Phase 3 过渡 阶段: Phase 2 收官 / Phase 3 准备 标签: #Phase3Prep #LivetradePrep #Checklist #RiskManagement #SimToReal #EmergencyPlan


今日目标

类型内容
反思Phase 2 60 天回顾 + Sim→Real 之间真正的差异在哪里
规划Phase 3(Day 61-90)四周路线图
执行完成「实盘前 7 项 must-have」+ 入金 $1,000 + 应急预案落地
产出实盘 readiness 报告 + 第一笔实盘交易设计文档 + 一封给自己的信

一、过渡日的意义:为什么 Day 60 不能用来「再写一个策略」

Phase 1(Day 1-30)解决「能不能跑通」,Phase 2(Day 31-60)解决「跑通的东西能不能稳定」,Phase 3(Day 61-90)要解决的是**「能不能用真钱跑」**——这是整个 90 天里最大的一次跨越,比从「没写过代码」到「写出第一个策略」还要陡。

为什么?因为 Phase 1→2 是技术问题(能不能 work),Phase 2→3 是心理 + 合规 + 不可逆资金流问题。技术问题可以反复迭代,资金流入实盘账户的那一刻:

  • 滑点不再是回测里假设的 1bp,是真实的 2-5bp
  • fill rate 不再是 paper trade 默认的 100%,是 80-90%
  • 心理不再是「-1% 没感觉」,是「每个 -1% 都心疼」
  • 监管不再是抽象的,是 W-8BEN / 1099 / 海外资产申报的真实义务

一句话:Phase 2 → Phase 3 不是「策略上线」,是「人 + 系统 + 资金 + 合规」四条管道首次同时通电

所以 Day 60 不应该被用来再写一个策略,也不应该被用来再回测一遍。今天的任务只有两个:(a) 把过去 60 天能 carry over 的全部确认;(b) 把不该 carry over 的全部识别出来并 cut 掉


二、Phase 3 全景(Day 61-90)

2.1 四周路线图

WeekDays核心主题关键产出
Week 9Day 61-67IBKR 实盘上线 — $1k 起步保守 Wheel第一笔实盘 CSP 成交记录 + W-8BEN 验证 + cash 通道跑通
Week 10Day 68-74Vol arb / Calendar / Diagonal / LEAPS期权波动率套利策略 + IV vs RV 分析 + LEAPS 配置
Week 11Day 75-81qlib + AKShare A 股迁移 / 港股 / 可转债多市场扩展 + 因子在 A 股复现 + 可转债基础
Week 12Day 82-90自动化 cron / 告警 / 月度报告 / 90 天回顾完全自动化运维 + Phase 1-3 复盘文档

2.2 每周的「失败前置条件」

Phase 3 跟 Phase 1/2 最大的区别是:前面有 hard gate。Week 9 的 gate 没过,Week 10 就不能开始;Week 10 没稳,Week 11 不能开新市场。

Week进入下一周的必要条件
9 → 10实盘 ≥ 4 笔 CSP 完整周期跑完,无系统故障,账户净值波动 < 5%
10 → 11Vol 策略至少 2 周观察期,相关性矩阵稳定,最大回撤 < 8%
11 → 12多市场至少 1 个新策略 paper trade 通过
12 → Phase 4完整月度报告产出,可以解释每一笔盈亏来源

关键认知:Phase 3 不是 sprint,是 staged rollout。每一周都是一个 release gate,过不了就回到上一周,不许跳级。


三、实盘前的「7 项 Must-Have」 Checklist

这一节是今天的核心。全部 ✅ 之前不能入金、不能下第一笔单

3.1 完整清单

#Must-have验收标准状态
1Paper Trade ≥ 4 周连续运行无 crash30 天日志,至少 0 次进程被 OOM kill / 异常退出[ ]
2三策略相关性矩阵稳定Wheel × Momentum × Mean Reversion 两两相关性 30 天滚动 |ρ| < 0.5[ ]
3Greeks 监控自动化 ≥ 2 周Delta/Gamma/Theta/Vega 每 5 分钟入库 + 阈值告警跑通[ ]
4错误恢复 + 重连测试通过主动 kill IB Gateway 后脚本能在 60 秒内重连并恢复持仓上下文[ ]
5SOP 文档完成(Day 57)开盘前 / 盘中 / 收盘后 / 周末 四套操作手册可执行[ ]
6税务规划(W-8BEN 已填 + 资金通道清晰)W-8BEN 表格 IBKR 后台显示 "Approved";入金/出金路径写下来[ ]
7心理准备(接受第一笔亏损)写一份「如果第一笔单亏 -3% 我会做什么」的预案[ ]

3.2 为什么是这 7 项,不是 5 项也不是 12 项

  • 1 + 4 是「系统稳定性」轴:连接稳定 + 故障恢复——任何一项不过,实盘第一周就可能因为意外事件爆仓。
  • 2 + 3 是「风险可见性」轴:策略间相关性 + Greeks——没有这两项你不知道自己在承担什么风险。
  • 5 是「人 + 流程」轴:SOP——保证你在情绪化的时候还能按规矩做事。
  • 6 是「合规」轴:税 + 资金通道——不解决会在出金时让你血压飙升。
  • 7 是「心理」轴:心态预案——量化新人 90% 的爆仓不是策略错,是第一笔亏损后乱加仓。

少一项都不行。多一项(比如「写完 12 个策略才上线」)会让你永远不上线——这本身就是另一种失败。

3.3 验收方式

每一项配一个「能放在评审会上展示的证据」:

Item评审证据
1systemd status 截图 + journalctl --since "30 days ago" 0 个 ERROR
2一张相关性矩阵图(30 天滚动)
3InfluxDB / SQLite 表 + Grafana 告警历史
4故障演练日志(at least 3 次主动 kill 测试)
5Markdown SOP 文档 4 份
6IBKR 后台截图(W-8BEN Approved)+ 资金路径图
7写给自己的信(见 Day 60 末尾)

四、实盘 vs Paper 的关键差异(必须正视)

维度Paper Trading实盘影响
滑点默认按 mid price 成交真实 bid-ask 2-5 bps;流动性差时 10+ bps期权策略 Theta 收益的 30% 可能被滑点吃掉
Fill rate100%(任何 limit 都假设能成)80-90%(限价单可能挂一天不成)多腿策略一腿不成另一腿裸奔 → 风险敞口失控
延迟模拟即时行情延迟 + 网络延迟 + IBKR queue 200-500ms信号失效;不要做需要 <1s 的策略
Partial fill不存在100 张订单可能成交 73 张仓位管理必须按实际成交量重算
Borrow 拒单总是允许 shortHTB(hard to borrow)股直接拒short 策略要预先查 ETB list
盘前盘后通常不支持支持但流动性极差不要在盘前盘后执行算法
心理没感觉每个 -1% 都心疼,每个 +1% 都想加仓90% 的新手败在这里
监管W-8BEN + 1099 + 海外资产申报没做合规出金时会卡

4.1 怎么把这些差异提前对冲掉

差异对冲方法
滑点回测时把 1bp slippage 加成 5bp;用 marketable limit(mid ± 50% 价差)而不是 market
Fill rate限价单加 timeout(5 分钟没成 cancel + 重报);多腿策略用 combo order 一次性下
延迟不做 <1 分钟周期的策略;信号生成和下单分两段,下单前再确认一次条件
Partial fillOrder.totalQuantityOrder.filledQuantity 实时对账
心理仓位强制小($1,000 起步),第一周不许加
合规第一天就把 W-8BEN 和入金路径走通;不要等盈利了才想出金问题

五、资金转移流程(第一笔 $1,000)

5.1 为什么是 $1,000 不是 $5,000 也不是 $10,000

金额优势劣势选/不选
$500损失最小期权 CSP 都买不起一张 SPY/IWM 替代品
$1,000最小可行 — 能跑 1 张 IWM/XLF CSP,亏完不致命仅够单策略
$5,000三策略并行第一笔就 $5k,心理负担大暂缓
$10,000满血量化90% 概率第一个月被自己心理打败绝对不

核心原则第一笔实盘资金 = 你能心平气和接受 100% 亏掉的金额。不是「应该不会亏完」,是「亏完了我没事」。$1,000 对一个有稳定收入的金融 PM 是合理基线。

5.2 流程

入金 IBKR $1,000
  ↓
检查 W-8BEN 状态(IBKR Client Portal → Settings → User Settings → Tax Forms)
  - 必须显示 "Active" / "Approved"
  - 没填的话本步必须先停下来填掉
  ↓
入金通道(中国大陆居民)
  Option A: 香港 HKD 账户 → IBKR HK
  Option B: 海外 USD 账户 → IBKR US/SG/HK
  Option C: 第三方合规出入金通道
  ↓
等待 T+2 / T+3 到账(电汇通常 1-3 工作日)
  ↓
IBKR 后台显示 Cash Balance $1,000
  ↓
检查:
  ☐ Buying Power 显示正确(Cash 账户应该 = Cash 余额)
  ☐ Account Type = Cash(不是 Margin)
  ☐ Options Trading Level ≥ 2
  ☐ Market Data 订阅 Active
  ↓
Ready for first trade

5.3 几个容易踩的坑

说明规避
入金被退回发起方账户名 ≠ IBKR 账户名必须同名汇款
资金到账但不可交易First Deposit Hold(首次入金可能 hold 3-5 天)提前 1 周做,不要 Day 61 才入
W-8BEN 过期有效期 3 年,过期后预提税立刻变 30%日历提醒
出金需要原路返回入金哪来出金回哪去用一个长期会用的中介账户

六、第一笔实盘交易的设计(强烈保守)

6.1 设计原则

第一笔实盘交易的目的不是赚钱,是走完整个 lifecycle 并产生真实数据

6.2 具体设计

设置理由
策略Wheel 后半段的 Cash-Secured Put(CSP)风险最 defined:最坏情况就是被 assigned 拿到正股
标的IWM 或 XLF(约 $40 strike 段)比 SPY 便宜,1 张合约 $4,000 名义值 ≈ 账户 4 倍杠杆,但因为 cash-secured 实际占用 $4,000,所以现金不够 → 用 $1,000 做不了 100 股 IWM
修正标的改为 $10-$15 段的低价 ETF(如 SLV、GDXJ)或股票1 张 CSP 占用 $1,000-$1,500,刚好打满账户
DTE30 天平衡 Theta 衰减速度和事件风险
Delta0.20被 assigned 概率 ~20%,premium 适中
数量1 张极小仓位
预期 premium$30-$60(账户 3-6%)月度
退出条件1) 提前 50% 收益平仓;2) 到期被 assigned 进 Wheel 下半段 CC;3) DTE=7 还 ITM 主动 roll
执行时间美东开盘 30 分钟后(避开开盘混乱)
下单类型Limit @ mid price,5 分钟超时重报不用 market

6.3 第一笔单的「不许」清单

  • ❌ 不许下 market order
  • ❌ 不许在波动率高于 30 的当天开新仓
  • ❌ 不许在标的财报前 5 天内开仓
  • ❌ 不许同时下多笔
  • ❌ 不许「这个看着不错再加一张」

这是 Day 62 的实操,今天先把设计写下来。


七、「不该 carry over 到实盘」的几个 Paper 习惯

Paper trading 60 天会自动养成一些坏习惯,必须在 Day 60 cut 掉。

Paper 习惯为什么 paper 里 OK为什么实盘里有毒
月初一次性满仓反正不会亏真钱进场时间风险集中;单点 entry 影响月度收益分布
忽略数据延迟Paper 数据本来就是近实时实盘行情可能晚 200-500ms,决策完发现已变
Over-trade(看到信号就下)不要钱佣金 + 滑点 + 心理疲劳
「paper 都赚了所以加仓」自欺欺人这是新手爆仓最常见的路径
不记录每笔交易理由不影响实盘必须每笔记录,否则复盘失效
接受任何 fill pricePaper 给 mid实盘 mid + 5bp 可能让月度收益归零
不看费用账单Paper 不收实盘月底佣金/利息/数据费要扣

7.1 强制纠正机制

针对每个坏习惯加一条硬性规则进 SOP

SOP-A1: 任何新仓不得在月初前 3 个交易日开(强制错峰)
SOP-A2: 任何 market order 必须二次确认(界面 / 脚本都加)
SOP-A3: 每笔交易必须填 trade journal(symbol/reason/exit plan/risk)
SOP-A4: Limit 单 mid ± 50% 价差为外限,超出必须人工审批
SOP-A5: 每月 1 号 generate 上月 commission/fee report

八、应急预案(Emergency Response Plan)

这是 Phase 3 整个阶段的最高优先级文档,比策略本身重要。

8.1 触发条件 → 响应矩阵

事件触发条件立即响应24h 内动作
市场大跌大盘单日 -5%+1) 暂停所有新仓 2) 关 cron 自动开仓 3) 不动现有仓位复盘是否需要减仓
VIX 飙升VIX > 301) 暂停 vol 卖方策略 2) 已开仓位检查 Vega 暴露减 Vega 暴露 50%
单笔大亏单笔亏损 > 5% 账户1) 立即平掉该仓位 2) 暂停 24h 不许下新单 3) 写复盘复盘后才能恢复
IBKR 系统错误任何 error code / 持仓不一致1) 立即停脚本 2) 电话 IBKR 客服 3) 不许手动操作 直到客服确认等客服 ticket 关闭
网络中断API 心跳失败 > 5 分钟1) 切手机热点 2) 用 Client Portal Web 查持仓 3) 必要时手动平复盘断网根因
个股黑天鹅持仓股盘前 -20%+1) 等开盘 30 分钟稳定 2) 平仓而非 hold写黑天鹅复盘
被监管告知违规任何 IBKR 邮件 / 限制1) 立即停所有交易 2) 联系合规 / 律师处理完再恢复

8.2 「关机按钮」(Kill Switch)的设计

实盘必须有一个所有人能在 30 秒内执行的 kill switch

# kill_switch.py - 紧急情况下手动 / 脚本调用
def emergency_shutdown(ib, reason="manual"):
    """
    1. 取消所有未成交订单
    2. 关闭所有仓位(按 market order,因为是紧急情况)
    3. 断开 API 连接
    4. 写一条 EMERGENCY log
    """
    # 1. 取消所有挂单
    for order in ib.openOrders():
        ib.cancelOrder(order)

    # 2. 平掉所有持仓
    for pos in ib.positions():
        contract = pos.contract
        qty = pos.position
        order = MarketOrder('SELL' if qty > 0 else 'BUY', abs(qty))
        ib.placeOrder(contract, order)

    # 3. 等待成交
    ib.sleep(10)

    # 4. 断开
    ib.disconnect()

    # 5. 日志
    log_emergency(reason)

注意:kill switch 用 market order 是有意为之——紧急情况下不在乎滑点,只在乎能不能立刻清仓。这个 trade-off 必须在事前想清楚。

8.3 应急联系信息表(贴在桌前)

角色联系方式
IBKR 客服(24h)+1-877-442-2757 (US) / +852 2156 7907 (HK)
IBKR 紧急 trade desk(账户开通后获取专属电话)
个人合规顾问 / 税务(如果有)
自己的「冷静伙伴」出大事时打电话让他帮你判断要不要按 kill switch

九、税务记录从 Day 1 开始

很多新手等到第一年报税才意识到:没有原始记录就完了

9.1 美股期权税务的核心区别

类型持仓期税率1256?
Short-term capital gain< 1 年普通所得税率否(个股期权)
Long-term capital gain≥ 1 年长期资本利得(更低)
Section 1256 contracts任何60% LT + 40% ST(混合)是(如 SPX 指数期权)

关键:SPX 等 1256 合约的税率结构对长期对你有利。如果做指数期权,优先选 SPX(1256)而不是 SPY ETF 期权(非 1256)

9.2 中国大陆居民的特别情况

美国侧中国侧
股息预提税30%(W-8BEN 后)已在源头扣,国内不重复
资本利得0%(非美国人不征)理论上要并入综合所得申报,实际很少有人申报
海外资产申报-年度 ≥ $50k 等值需申报(CRS)
FBAR仅美国税务居民需要不适用

我不是税务顾问,以上是常识级理解,实操前咨询专业人士。

9.3 用 IBKR FlexQuery 自动拉

IBKR 提供 FlexQuery 接口可以自动拉每笔交易:

Client Portal → Reports → Flex Queries → Create Flex Query
  - Trades (含 commission, P&L, holding period)
  - Cash Report
  - Open Positions

→ 配置成 daily auto-run
→ 用 API 拉成 CSV 入库
→ 月底自动生成税务报告

Day 60 不用马上配,但要记下:实盘第一天就要开始拉 FlexQuery,否则一年后补不回来。


十、本日 Actionable Items

按这个顺序做:

  • (0) 完整读完本笔记
  • (1) 走完 7 项 must-have checklist,每项要么 ✅ 要么 fix 后再 ✅
  • (2) 写出今天的应急预案 cheat sheet(A4 一张,贴显示器旁)
  • (3) kill switch 脚本写一版,paper 测试触发,看清空逻辑无误
  • (4) 检查 W-8BEN 状态(IBKR 后台截图存档)
  • (5) 向 IBKR 账户入金 $1,000(如果资金通道还没确认,今天先确认通道)
  • (6) 用 FlexQuery 配置一个 daily Trades 报告(先空跑)
  • (7) 给自己写「实盘第一天」的信(见 §11)
  • (8) 更新 docs/daily/TR_PROGRESS.md Day 60 标 ✅
  • (9) 把第一笔交易设计(§六)打印出来贴在桌前
  • (10) 通知自己:明天 Day 61 起,规则变了

十一、Phase 3 心态守则(贴墙)

1. 实盘不是「证明能赚钱」,是「学习实盘行为」
2. 第一个月预期:盈亏平衡 + 学到滑点 / 心理偏差
3. 不要追求年化高,追求「可持续 + 可复盘」
4. 每一笔交易都要能回答三个问题:
   (a) 我为什么进?(b) 我什么时候出?(c) 错了我怎么办?
5. 亏损是数据,不是失败——失败是「没记录、没复盘、没学到」
6. 第一个月不许加仓,无论盈亏
7. 任何「让我再加一张」的冲动 → 写下来 → 等 24 小时
8. 每天 SOP 必须做完才能下单,没做完就关电脑

11.1 「实盘第一天」给自己的信(模板)

Dear [你的名字],

今天是你的实盘第一天,你账户里有 $1,000。

如果一年后你回头看这封信,可能有三种情况:

(a) 你赚了 5%-10%,并且每一笔都知道为什么。这是最好的情况。
(b) 你亏了 5%-10%,但写了完整的复盘文档。这也算成功。
(c) 你赚了或亏了 30%+,但说不清原因。这是失败的——
    无论 P&L 是正是负。

请记住:
- 你过去 60 天的学习不是为了今天就开始赚钱,
  是为了 5 年后能稳定地从这个市场拿到合理回报。
- 第一笔亏损是必然的,不要因此动摇。
- 第一笔大盈利更危险——容易让你觉得自己很懂,
  其实你只是运气好。
- 如果某一天你想关闭这个项目,
  先读一遍这封信再决定。

Day 60 的你
2026-07-08

十二、PM 视角:Production Launch 的通用法则

今天做的所有事都可以抽象成一个 PM 都该懂的模式:Production Launch = 准备清单 + 应急预案 + 回滚方案 — 三者缺一不可

维度我们的实盘任何 SaaS Launch银行新系统上线
准备清单7 项 must-havePre-launch checklistUAT 验收清单
应急预案§8 应急矩阵Incident response runbook业务连续性预案
回滚方案Kill switch + 平仓Feature flag + rollbackFall-back to legacy
灰度$1k → $5k → 满仓1% → 10% → 100%试点支行 → 区域 → 全国
监控Greeks + P&L 实时APM + business metrics业务监控 + 风控监控
报告月度 P&L attributionQuarterly business review季度合规报告

PM 关键洞察

  1. 「能不能上线」不是一个技术决策,是一个组合决策——技术 + 合规 + 心理 + 灰度策略,任何一条没准备好都不能上。
  2. Kill switch 必须比上线机制更可靠——上线可以慢,紧急停产必须快。这点和银行系统的 ATP(应急处理程序)逻辑完全一致。
  3. 第一个版本只解决「能 work」,不解决「赚钱」——这是 MVP 思维,对量化和 SaaS 都成立。
  4. 灰度的金额不是任意选的,是「全部亏完不致命」的最大值——这条法则比任何「lot size 优化算法」都重要。
  5. 复盘文档比 P&L 重要——P&L 是结果,文档是能力。第一年的目标是积累 12 份月度复盘,不是积累 $X 利润。

十三、明日预告

Day 61: 实盘 Ready Day — 入金到账 + 第一次实盘连接

  • 验证入金到账(Cash Balance > 0)
  • 切换脚本 port 4002 → 4001(最容易出事的一步,要加 assert)
  • 跑一次 read-only 实盘连接:拿真实账户摘要、真实持仓(应该为空)
  • 不下单,只读
  • 设置 IBKR alerts(Cash balance 变动 / 单笔 fill / margin call 阈值)
  • 设置 systemd 服务,让 IB Gateway 跑成 daemon
  • 设置 FlexQuery daily auto-run

Day 62 才会下第一笔单——Day 61 是「ready 但不下单」的缓冲日,给自己一个再想想的机会。这是有意设计的。


实际执行记录

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

  • [hh:mm] Must-have checklist Item 1 — Paper crash-free 验证 ...
  • [hh:mm] Item 2 — 相关性矩阵 ...
  • [hh:mm] Item 3 — Greeks 监控 ...
  • [hh:mm] Item 4 — 重连测试 ...
  • [hh:mm] Item 5 — SOP 文档 ...
  • [hh:mm] Item 6 — W-8BEN 状态 ...
  • [hh:mm] Item 7 — 心态预案 + 给自己的信 ...
  • [hh:mm] Kill switch 脚本 + 测试 ...
  • [hh:mm] 应急预案 cheat sheet 打印贴桌前 ...
  • [hh:mm] 入金 $1,000 发起 ...
  • [hh:mm] FlexQuery 配置 daily Trades report ...
  • [hh:mm] 第一笔交易设计文档打印贴桌前 ...
  • [hh:mm] TR_PROGRESS.md Day 60 标 ✅ ...
  • 卡点 / 学到的:

今日完成度:反思 ✓ / Phase 3 路线图 ✓ / 7 项 checklist(待逐项执行)/ 第一笔交易设计 ✓ / 应急预案 ✓ / 给自己的信 ✓ Phase 2 收官 + Phase 3 起点:今天没有写代码,今天写的是规则和边界。这两样东西决定了未来 30 天能不能活下来。