Skip to content

[Feature] 30/60/90 day revisit cadence:出場後自動追蹤「賣飛了沒」 #32

Description

@atomchung

這是什麼

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:

  1. revisit.jsonldue_date <= todaystatus == "pending"
  2. 對每筆 due:
    • web search 抓當前股價
    • 列出原始出場價 vs 現價(賣飛多少 % or 賣對了)
    • 若有 swap_ticker:對比 swap 的表現(net positive 嗎)
    • AI 問一句:「當時的賣出理由現在看還成立嗎?」
  3. 用戶回答 → 寫 statusstill_valid / modified / falsified
  4. 輸出進復盤卡的「出場追蹤」section

三類判讀

  • Still valid:賣的理由成立,即使賣早了也是紀律執行
  • 🟡 Modified:理由部分對,下次同情境要調整
  • Falsified:理由不成立,這是真正的決策錯誤 → 進 mistakes log

Swap framing(重要)

賣飛的 hindsight loss 必須對位 swap

  • 賣 NVDA +$15 飛了,但換進 ORCL +$20 → swap net positive,不是錯誤
  • 賣 NVDA +$15 飛了,cash 閒置 → 才是真正的機會成本

不可只算 sell 賣早多少,要算 swap 總帳。

實作範圍

  • engine/revisit.py:管理 revisit queue(append / scan due / update status)
  • weekly loop 整合:出場偵測 → 自動排入 queue
  • weekly loop 整合:scan due → 問一句 → 寫 status
  • 復盤卡新增「出場追蹤」section(僅在有 due 時出現)
  • SKILL 支援 /fomo-kernel revisit sub-command(只跑 revisit scan,不跑完整復盤)

關聯

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions