這是什麼
30/60/90 day revisit 是一個「出場後追蹤」機制:
當你賣掉(或清倉)一個部位後,fomo-kernel 自動在 30 天、60 天、90 天後提醒你回來驗證:
- 賣後股價去哪了?賣飛了嗎?
- 當時賣的理由現在看還成立嗎?(thesis intact / modified / falsified)
- 如果把 cash 換了別的,那個 swap net positive 嗎?
目的:把「賣對 vs 賣早」從 ad-hoc 感覺變成系統性追蹤,長期累積才知道自己的出場邊緣在哪。
為什麼需要
目前 fomo-kernel 的 weekly loop 是 event-driven:有新交易才跑。清倉後那個 ticker 就永遠消失——沒有任何機制在 30 天後問你「NVDA 你賣 $120,現在 $160,你怎麼看」。
靠記憶?不可能。靠 ad-hoc 問?沒有人問。結果就是:出場邊緣永遠是盲區。
設計草案
資料結構
在 ~/.trade-coach/revisit.jsonl 記 revisit queue(append-only):
{
"ticker": "NVDA",
"action": "exit",
"exit_date": "2026-06-15",
"exit_price": 120.50,
"shares": 10,
"original_thesis": "AI infra leader, trim when revenue growth < 20%",
"due_30": "2026-07-15",
"due_60": "2026-08-14",
"due_90": "2026-09-13",
"swap_ticker": "ORCL",
"status": "pending"
}
觸發規則(自動排入 queue)
- 清倉:shares → 0
- 大減倉:本次賣出 ≥ 原部位 50%
Weekly loop 整合
每次跑 skill:
- 掃
revisit.jsonl 找 due_date <= today 且 status == "pending"
- 對每筆 due:
- web search 抓當前股價
- 列出原始出場價 vs 現價(賣飛多少 % or 賣對了)
- 若有
swap_ticker:對比 swap 的表現(net positive 嗎)
- AI 問一句:「當時的賣出理由現在看還成立嗎?」
- 用戶回答 → 寫
status:still_valid / modified / falsified
- 輸出進復盤卡的「出場追蹤」section
三類判讀
- ✅ Still valid:賣的理由成立,即使賣早了也是紀律執行
- 🟡 Modified:理由部分對,下次同情境要調整
- ❌ Falsified:理由不成立,這是真正的決策錯誤 → 進 mistakes log
Swap framing(重要)
賣飛的 hindsight loss 必須對位 swap:
- 賣 NVDA +$15 飛了,但換進 ORCL +$20 → swap net positive,不是錯誤
- 賣 NVDA +$15 飛了,cash 閒置 → 才是真正的機會成本
不可只算 sell 賣早多少,要算 swap 總帳。
實作範圍
關聯
這是什麼
30/60/90 day revisit 是一個「出場後追蹤」機制:
當你賣掉(或清倉)一個部位後,fomo-kernel 自動在 30 天、60 天、90 天後提醒你回來驗證:
目的:把「賣對 vs 賣早」從 ad-hoc 感覺變成系統性追蹤,長期累積才知道自己的出場邊緣在哪。
為什麼需要
目前 fomo-kernel 的 weekly loop 是 event-driven:有新交易才跑。清倉後那個 ticker 就永遠消失——沒有任何機制在 30 天後問你「NVDA 你賣 $120,現在 $160,你怎麼看」。
靠記憶?不可能。靠 ad-hoc 問?沒有人問。結果就是:出場邊緣永遠是盲區。
設計草案
資料結構
在
~/.trade-coach/revisit.jsonl記 revisit queue(append-only):{ "ticker": "NVDA", "action": "exit", "exit_date": "2026-06-15", "exit_price": 120.50, "shares": 10, "original_thesis": "AI infra leader, trim when revenue growth < 20%", "due_30": "2026-07-15", "due_60": "2026-08-14", "due_90": "2026-09-13", "swap_ticker": "ORCL", "status": "pending" }觸發規則(自動排入 queue)
Weekly loop 整合
每次跑 skill:
revisit.jsonl找due_date <= today且status == "pending"swap_ticker:對比 swap 的表現(net positive 嗎)status:still_valid/modified/falsified三類判讀
Swap framing(重要)
賣飛的 hindsight loss 必須對位 swap:
不可只算 sell 賣早多少,要算 swap 總帳。
實作範圍
engine/revisit.py:管理 revisit queue(append / scan due / update status)/fomo-kernel revisitsub-command(只跑 revisit scan,不跑完整復盤)關聯
/record-trade的decision-review.md §4是參考實作