LLM 股票情緒分析實務:從文本到可交易因子的完整流程

學習用 LLM 萃取財經文本情緒訊號、建構加權因子、避開回測陷阱,並整合既有量化模型——附 JSON 輸出範例與模型選擇對照表。

核心價值

大語言模型(LLM)能將新聞、財報、法說會逐字稿、社群討論等非結構化金融文本,轉換為可量化、可解釋、可與既有因子結合的情緒訊號。關鍵在於:情緒訊號只能作為輔助因子,不能直接視為買賣建議。

典型應用流程(六步驟)

  1. 蒐集文本資料
    • 即時新聞、公司公告、10-K/年報、法說會逐字稿、分析師報告、X/Reddit 等社群內容
  2. 清理與對齊
    • 去重、標示發布時間、辨識股票代號與公司實體、對齊至開盤前、盤中、收盤後等交易時段
  3. LLM 萃取結構化訊號
    • 要求輸出:情緒方向、強度、信心、影響期間、事件類型、受影響標的(而非自由文字)
  4. 聚合成因子
    • 依來源可信度、相關度、新鮮度、作者影響力、傳播廣度加權,彙整成小時、日、週頻情緒分數
  5. 結合量化模型
    • 情緒特徵 + 報酬、波動度、成交量、估值、財務因子 → Logistic Regression、XGBoost、LSTM、時間序列模型
  6. 回測與上線監控
    • 時間序列切分、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 摘要 + 分類器 先保留財測、風險、需求、價格相關段落,再做情緒與事件判讀

建模五大重點

  1. 區分標的層級:市場樂觀 ≠ 某公司受惠;必須辨識影響對象(公司、同業、上游、下游、整體市場)
  2. 區分事實與情緒:財測下修、罰款、營收 = 可驗證事件;「看好」、「恐慌」 = 主觀表態 → 保留不同欄位
  3. 處理時間與新穎性:舊聞重發、盤後公告、已被消化的訊息 ≠ 新交易訊號
  4. 保留模型信心與證據:低信心、模稜兩可、資訊不足 → 降權或不交易
  5. 做橫斷面排序:同產業股票按「情緒意外程度」排序 → 多空或風險控制,比預測絕對漲跌更接近可操作量化流程

以 LLaMA-2 金融特化模型處理 10-K MD&A 研究顯示:先 AI 摘要長文、再情緒預測,能保留影響價格資訊,改善買進持有報酬與累積異常報酬預測(Airiti Library: U0001-0150250227353003)。

六大常見陷阱

陷阱 說明 對策
資料洩漏 使用修訂後新聞時間、未來才知的財報欄位、收盤後訊息預測當日收盤 嚴格時間對齊、點對點時間戳記
把情緒當因果 股價上漲引發樂觀貼文,而非樂觀貼文造成上漲 測試領先/落後關係、Granger 因果檢定
忽略成本與容量 高換手率策略納入手續費、滑價、市場衝擊後失效 回測必含完整交易成本、容量限制
LLM 幻覺與輸出漂移 模型加入文本未提及的推論 低溫度、Schema 驗證、原文證據擷取、版本固定
社群操縱與樣本偏誤 機器人、帶單、倖存者偏誤、話題股票偏誤 來源品質分級、異常帳號過濾
過度宣稱績效 研究高準確率/Sharpe 未必跨市場、跨期複現 樣本外嚴格測試、多市場多期間驗證

最小可行架構(MVP)

從「每日收盤後中低頻情緒因子」開始,而非即時自動交易

  1. 鎖定標的:台股大型權值股或單一產業(如半導體供應鏈)
  2. 每日蒐集:可信新聞、公司公告、法說會資訊 → 保存原文、發布時間、來源、股票代號
  3. 兩階段判讀
    • FinBERT 低成本初篩
    • LLM 對高相關、分歧大、重大事件文本做結構化複判
  4. 建立日頻因子sentiment × relevance × novelty × confidence
  5. 回測目標:預測隔日/未來五日方向或波動(而非直接追求獲利)
  6. 嚴格樣本外測試:比較「價格因子基準模型」vs「價格因子 + LLM 情緒」在含成本後是否有穩定增益

結語

LLM 的最大價值不在於「神準預言股價」,而在於將原本難以規模化處理的金融文字,轉成可驗證、可解釋、可與既有量化因子結合的訊號。從 MVP 起步、嚴格回測、逐步擴展,才是落地的務實路徑。