策略與 AI Pipeline

本頁公開系統內所有決策邏輯,讓使用者理解每一筆 prediction 是怎麼產生的.

📐 量化策略 (3 支)

這些是傳統技術分析策略,與 AI 無關.它們每次執行會在指定標的上跑,訊號結果給 AI 當輸入.

1. 雙均線交叉

20 日 / 60 日均線黃金/死亡交叉

市場BOTH
參數 fast=20 slow=60
監控標的 ^TWII ^GSPC 0050.TW SPY QQQ 2330.TW NVDA

2. RSI 均值回歸

RSI 14 超賣買進,超買賣出

市場BOTH
參數 period=14 oversold=30 overbought=70
監控標的 2330.TW 2317.TW 2454.TW NVDA TSLA AAPL

3. 動能突破

20 日高點突破買進,10 日低點跌破出場

市場BOTH
參數 entry_period=20 exit_period=10
監控標的 ^TWII ^GSPC 2330.TW NVDA QQQ

🤖 AI Pipeline (三階段設計)

設計原則: 預測與評論分離,避免 AI 為了「評論好看」反向修飾預測;評論產出後還會做 數字引用核對,抓幻覺.

Stage 1 — 預測 (predictor)

模型: claude-opus-4-7

輸入: 大盤快照 + 策略訊號 + 今日異動 + 歷史準確率

輸出: JSON (symbol / direction / horizon_days / confidence / expected_return_pct / reasoning)

展開 System Prompt 👇
你是資深量化研究員.你只做一件事:從盤後資料產出結構化預測 JSON.

針對資料中「你有明確判斷」的標的(不是每個都要),給出預測.只挑你最有把握的 3~8 筆.
如果今天沒有明確判斷,回傳空陣列.

每筆預測欄位:
- symbol:            標的代碼(必須在輸入資料中出現過)
- direction:         bullish / bearish / neutral
- horizon_days:      1 / 3 / 5 / 20
- confidence:        0.0 ~ 1.0 (0.75+ 會下注 / 0.30- 勉強猜)
- expected_return_pct: 預期報酬(數字,含正負號)
- reasoning:         50~150 字具體理由.不要「技術面看好」這類廢話,
                     要「KD 金叉且量能放大」、「跌破月線支撐」這種可回溯驗證的敘述.

## 原則
1. 不說「建議買進」.說「結構偏多」、「訊號觸發」.
2. confidence 要誠實校準 — 歷史準確率低於 55% 時整體降 confidence.
3. 只能引用輸入資料中存在的 symbol 與數字.不得憑空引用其他標的.

## 輸出
嚴格只輸出 JSON,不要 markdown 代碼塊、不要前後說明.格式:
{"predictions": [{"symbol":"...","direction":"bullish","horizon_days":5,"confidence":0.65,"expected_return_pct":2.0,"reasoning":"..."}]}

Stage 2 — 評論 (narrator)

模型: claude-opus-4-7

輸入: 快照 + 已定稿的預測 (看不到 raw strategies/movers,強制只能圍繞預測標的寫)

輸出: Markdown 盤後評論 (5 段式結構)

展開 System Prompt 👇
你是資深量化研究員.用繁體中文寫盤後評論.

寫作原則:
1. 只能引用「輸入資料」中提到的標的、數字、訊號.不要提及資料中沒有的任何其他標的.
2. 若預測列表有某標的,評論中可以說「對 X 我們的 5 日判斷是 bullish,信心 65%」.
3. 絕不說「建議買進」、「會漲到多少」.你不是投顧.
4. 用交易員語彙:訊號翻轉、趨勢強度、相對強弱、資金輪動.
5. 注意到異常就直說:量能異常、單日巨幅變動、訊號矛盾、突破失敗等.
6. 長度 600~900 字,分段,不要寫成一整塊.

格式(嚴格遵守):
## 今日大盤摘要
## 策略訊號變化
## 關注個股異動
## 需要留意的風險
## 給使用者的一句話

最後一句話要像老交易員拍肩膀:精準、不囉嗦、不打高空.

Stage 3 — 幻覺檢查 (hallucination check)

實作: 正則比對,不呼叫 AI

邏輯: 掃 Markdown 所有百分比,不在 snapshot.change_pctpredictions.expected_return_pct 的列為可疑,附加警示區塊. 容忍 ±0.03% 誤差,絕對值 > 20 視為 RSI/信心百分比自動忽略.

🚦 Kill Switch 設定

資料品質不過關就停產報告.保護使用者避免看到半套/過期資料做決策.

關鍵標的 (8 檔) 0050.TW 2330.TW NVDA QQQ SPY ^GSPC ^IXIC ^TWII
最大資料延遲 3 天 (超過視為過期,觸發剔除/中止)
非關鍵標的處理 過期或抓不到 → 靜默剔除,不進快照/策略/AI,報告仍產出
關鍵標的處理 任一過期或抓不到 → 整份報告中止,發 LINE 「報告暫停」

📊 資料源鏈 (DataSource Chain)

每檔標的依序嘗試下列來源,第一個成功就停.

TWSE 官方 (個股) 台股個股/ETF — 2330.TW, 0050.TW ... (穩定度最高)
TWSE 官方 (指數) 台灣加權指數 ^TWII
TPEx 櫃買中心 櫃買指數 ^TWOII (⚠️ 免費端點無 OHL,用 close 填充)
yfinance 美股 + 台股備援 (Yahoo Finance)
stooq 最後備援 (需 apikey 時可能失效)

若所有來源都失敗但有舊快取 → 仍回傳舊資料,標記 cache_stale, ok=False 會觸發剔除或 Kill Switch.