學習用 LLM 萃取財經文本情緒訊號、建構加權因子、避開回測陷阱,並整合既有量化模型——附 JSON 輸出範例與模型選擇對照表。
核心價值
大語言模型(LLM)能將新聞、財報、法說會逐字稿、社群討論等非結構化金融文本,轉換為可量化、可解釋、可與既有因子結合的情緒訊號。關鍵在於:情緒訊號只能作為輔助因子,不能直接視為買賣建議。
典型應用流程(六步驟)
- 蒐集文本資料
- 即時新聞、公司公告、10-K/年報、法說會逐字稿、分析師報告、X/Reddit 等社群內容
- 清理與對齊
- 去重、標示發布時間、辨識股票代號與公司實體、對齊至開盤前、盤中、收盤後等交易時段
- LLM 萃取結構化訊號
- 要求輸出:情緒方向、強度、信心、影響期間、事件類型、受影響標的(而非自由文字)
- 聚合成因子
- 依來源可信度、相關度、新鮮度、作者影響力、傳播廣度加權,彙整成小時、日、週頻情緒分數
- 結合量化模型
- 情緒特徵 + 報酬、波動度、成交量、估值、財務因子 → Logistic Regression、XGBoost、LSTM、時間序列模型
- 回測與上線監控
- 時間序列切分、Walk-forward backtest、納入手續費、滑價、流動性、訊號延遲
研究以 2010–2023 年約 96.5 萬篇美股財經新聞測試,發現 LLM 情緒分數與後續日報酬顯著相關;OPT 情緒判別準確率 74.4%,優於 BERT、FinBERT 與 Loughran–McDonald 詞典法(arXiv:2412.19245)。
LLM 可執行的六大任務
| 任務 | LLM 輸出 | 股票分析用途 |
|---|---|---|
| 情緒分類 | Positive / Neutral / Negative + 機率 | 形成個股或市場情緒因子 |
| 情緒強度 | -1 至 +1 分數、信心分數 | 區分「輕微利多」與「重大利多」 |
| 實體與關聯辨識 | 公司、產品、競爭者、供應商、產業 | 避免整體市場消息錯歸因單一公司 |
| 事件抽取 | 財測、併購、裁員、訴訟、產品發布、監管 | 建立事件驅動交易與風險警報 |
| 方向判讀 | 對營收、毛利、需求、估值、波動的可能影響 | 讓情緒具備可解釋的經濟意涵 |
| 長文摘要 | 財報、法說會、公告要點與前後差異 | 降低長文件處理成本並保留可交易資訊 |
範例:「公司營收成長,但下修下季毛利率指引」→ LLM 拆解為「已公布營收:正面」、「前瞻獲利能力:負面」,並給後者較高短期權重。
建議輸出格式:固定 JSON Schema
{
"ticker": "TSM",
"event_type": "guidance_revision",
"sentiment": -0.62,
"confidence": 0.88,
"horizon": "1_5_trading_days",
"relevance": 0.94,
"rationale": "下修毛利率展望,可能壓縮獲利預期",
"risk_flags": ["forecast_uncertainty" ]
}
日頻個股情緒因子公式
$$
S_{i,t} =
\frac{\sum_{j=1}^{N} w_{j} \cdot r_{ij} \cdot c_{j} \cdot s_{j}}
{\sum_{j=1}^{N} w_{j} \cdot r_{ij} \cdot c_{j}}
$$
- $s_j$:第 $j$ 則文本情緒分數
- $c_j$:模型信心
- $r_{ij}$:文本對公司 $i$ 的相關度
- $w_j$:綜合來源品質、時效性、傳播範圍
加權方式比單純平均更能避免大量低品質貼文主導訊號。
模型選擇對照表
| 情境 | 適合方案 | 取捨 |
|---|---|---|
| 高頻、大量新聞分類 | FinBERT (ProsusAI) | 成本低、速度快、三分類足夠;複雜事件推理較弱 |
| 事件因果與跨公司影響 | 通用 LLM 或金融微調 LLM | 可解讀上下文與供應鏈關係;成本、延遲、輸出穩定性需管理 |
| 私有研究、客製化流程 | FinGPT (AI4Finance Foundation) | 開源金融 LLM 研發起點;需自行處理資料、評估、部署 |
| 超長財報與法說會 | LLM 摘要 + 分類器 | 先保留財測、風險、需求、價格相關段落,再做情緒與事件判讀 |
建模五大重點
- 區分標的層級:市場樂觀 ≠ 某公司受惠;必須辨識影響對象(公司、同業、上游、下游、整體市場)
- 區分事實與情緒:財測下修、罰款、營收 = 可驗證事件;「看好」、「恐慌」 = 主觀表態 → 保留不同欄位
- 處理時間與新穎性:舊聞重發、盤後公告、已被消化的訊息 ≠ 新交易訊號
- 保留模型信心與證據:低信心、模稜兩可、資訊不足 → 降權或不交易
- 做橫斷面排序:同產業股票按「情緒意外程度」排序 → 多空或風險控制,比預測絕對漲跌更接近可操作量化流程
以 LLaMA-2 金融特化模型處理 10-K MD&A 研究顯示:先 AI 摘要長文、再情緒預測,能保留影響價格資訊,改善買進持有報酬與累積異常報酬預測(Airiti Library: U0001-0150250227353003)。
六大常見陷阱
| 陷阱 | 說明 | 對策 |
|---|---|---|
| 資料洩漏 | 使用修訂後新聞時間、未來才知的財報欄位、收盤後訊息預測當日收盤 | 嚴格時間對齊、點對點時間戳記 |
| 把情緒當因果 | 股價上漲引發樂觀貼文,而非樂觀貼文造成上漲 | 測試領先/落後關係、Granger 因果檢定 |
| 忽略成本與容量 | 高換手率策略納入手續費、滑價、市場衝擊後失效 | 回測必含完整交易成本、容量限制 |
| LLM 幻覺與輸出漂移 | 模型加入文本未提及的推論 | 低溫度、Schema 驗證、原文證據擷取、版本固定 |
| 社群操縱與樣本偏誤 | 機器人、帶單、倖存者偏誤、話題股票偏誤 | 來源品質分級、異常帳號過濾 |
| 過度宣稱績效 | 研究高準確率/Sharpe 未必跨市場、跨期複現 | 樣本外嚴格測試、多市場多期間驗證 |
最小可行架構(MVP)
從「每日收盤後中低頻情緒因子」開始,而非即時自動交易
- 鎖定標的:台股大型權值股或單一產業(如半導體供應鏈)
- 每日蒐集:可信新聞、公司公告、法說會資訊 → 保存原文、發布時間、來源、股票代號
- 兩階段判讀:
- FinBERT 低成本初篩
- LLM 對高相關、分歧大、重大事件文本做結構化複判
- 建立日頻因子:
sentiment × relevance × novelty × confidence - 回測目標:預測隔日/未來五日方向或波動(而非直接追求獲利)
- 嚴格樣本外測試:比較「價格因子基準模型」vs「價格因子 + LLM 情緒」在含成本後是否有穩定增益
結語
LLM 的最大價值不在於「神準預言股價」,而在於將原本難以規模化處理的金融文字,轉成可驗證、可解釋、可與既有量化因子結合的訊號。從 MVP 起步、嚴格回測、逐步擴展,才是落地的務實路徑。