Paper 007 |同一套方法,攤在四個任務前:18 年 40,708 份財報的關鍵字發掘

Paper 007 |同一套方法,攤在四個任務前:18 年 40,708 份財報的關鍵字發掘

閱讀 ACM TMIS 2016 期刊論文 Discovering Finance Keywords via Continuous-Space Language Models。這是上一篇 ai-092(EMNLP 2014)的期刊完整版:語料從 11 年擴到 18 年(40,708 份 10-K、125,370 個詞),任務從 2 個擴到 4 個(post-event volatility、stock volatility、abnormal trading volume、excess return),並新增 LDA 擴充當對照組、t-SNE 詞向量視覺化,以及從資產/負債/權益三個會計視角拆解擴充出來的關鍵字。結論很誠實:在兩個波動率任務上擴充明顯有效且顯著,但在交易量與超額報酬上,純文字幾乎預測不動。


ai-092(EMNLP 2014)用一頁六頁的短論文,證明了一件事:用 word2vec 把金融情緒詞典自動擴充,能讓風險預測變好。但短論文有篇幅限制,很多問題沒空回答:

  • 換更大、更長的語料,結論還成立嗎?
  • 除了波動率,換成交易量、超額報酬這些任務,文字還有用嗎?
  • 除了隨機擴充,跟另一種主流方法(LDA)比,word2vec 真的比較好嗎?
  • 擴充出來的詞,從會計角度看得懂嗎?

同一批作者(這次多了台大的 Po-Chuan Chien)在兩年後的 ACM TMIS 2016 期刊版,把這些坑一次補齊。這篇 ai-093 就是 ai-092 的完整版。

因為方法主體與 ai-092 幾乎相同(CBOW 詞向量擴充+首創的 POS 詞性技巧),這篇筆記不重述方法細節,而把重心放在期刊版新增的四件事:更大的語料、四個任務、LDA 對照組、以及誠實的失敗。


參考資料與研究團隊

  • 論文名稱:Discovering Finance Keywords via Continuous-Space Language Models(註1)
  • 公開全文 PDF:TMIS2016-Chuan-Ju-Wang.pdf(NUS 開放存取版,即本文引用之來源)
  • 出處:ACM Transactions on Management Information Systems, Vol. 7, No. 3, Article 7(2016 年 8 月),17 頁
  • 主要研究人員:
    • Ming-Feng Tsai(蔡明峰,政治大學)
    • Chuan-Ju Wang(王釧茹,中央研究院,通訊作者)
    • Po-Chuan Chien(簡伯全,台灣大學)

這條研究線的三步:ai-091(2013)縮小詞典 → ai-092(2014 EMNLP)擴充詞典 → 本篇(2016 TMIS)期刊完整版。


一、語料放大:從 11 年到 18 年

ai-092 用的是 1996–2006 年的 10-K。期刊版把語料一路延伸到 2013 年,規模明顯變大。

項目ai-092(2014)本篇(2016)
年度範圍1996–20061996–2013(18 年)
報告總數約 30,46540,708
唯一詞彙數數萬125,370
詞向量維度未明列200 維
CBOW 視窗大小未明列5

種子詞典仍是 Loughran–McDonald 六類,原始 3,911 個詞,Stemming 後 1,673 個、去除跨類重複後 1,549 個 unique 詞。因為語料更大,擴充後的清單也更大:

詞表是否加詞性擴充後 unique 詞數
SEN—(原始詞典)1,549
EXP-SIM10,258
EXP-SYN16,467

作者也提到:他們同時試了 skip-gram 模型,發現與 CBOW 擴充出來的詞有超過 70% 重疊,最後因語料量大、CBOW 較快而以 CBOW 為主。


二、新增對照組:word2vec 對決 LDA

ai-092 只有一個對照組——隨機擴充(EXP-RAN)。期刊版多加了一個更強的對手:用 LDA(Latent Dirichlet Allocation,k=200 個主題)做關鍵字擴充,稱為 EXP-LDA。

這是個關鍵設計。隨機擴充太弱,贏它不稀奇;LDA 是當年主流的主題模型,贏 LDA 才能證明「連續詞向量」這條路真的比較好。

以種子詞 default 為例,三種方法找回的 Top 詞很不一樣:

方法找回的詞(部分)特性
EXP-LDApik、lien、lender、tranch、libor、repay主題共現
EXP-SIMnonpay、trigger、uncur、unmatur、insolv、cure語意相似
EXP-SYNtrigger、insolv、uncur、nonpay、acceler(含詞性)語意相似+詞性

論文指出,LDA 找回的 Top-10 詞中有 8 個與 word2vec 方法不同。LDA 抓的是「常一起出現的詞」(如 libor、tranch 這種與貸款主題共現的詞),word2vec 抓的是「語意或用法相近的詞」(如 nonpay、insolv 這種本身就指向違約的詞)。

作者還拿三本線上金融辭典(Porter Stemming 後共 3,687 個 unigram)當外部標準,計算各詞表命中辭典的覆蓋率:

詞表unique 詞數命中辭典比例
SEN1,54911.28%
EXP-LDA16,65433.39%
EXP-SIM10,25840.60%
EXP-SYN16,46752.32%

值得注意的是:EXP-SIM 只用了 10,258 個詞,覆蓋率(40.60%)卻高於詞數更多的 EXP-LDA(16,654 詞、33.39%)。加入詞性後,覆蓋率再從 40.60% 拉到 52.32%。詞挑得準,比詞挑得多更重要。


三、四個任務:兩個能預測,兩個不太行

期刊版最大的擴充,是把預測任務從 2 個增加到 4 個。四個財務指標的定義如下(事件起點都是財報公布日):

財務指標定義
Post-event volatilityFama–French 三因子模型在 [6, 252] 交易日的殘差 RMSE
Stock volatility公布後 12 個月的報酬標準差(沿用 ai-091/092)
Abnormal trading volume事件窗 [0, 3] 的成交量,以前事件窗 [-65, -6] 標準化
Excess return公司買進持有報酬減去 CRSP 市值加權市場指數報酬(事件窗內)

其中 post-event volatility 改用 Fama–French 三因子殘差,是對 ai-091 那個「一般波動率沒排除市場因素」限制的修正。

全部用 SVR 回歸、LOG1P 特徵、前五年訓練測下一年(1996–2000 訓練、2001 測試,依序滾動到 2013)。指標是 MSE,越低越好。六個詞表對照:SEN(原始詞典)、RAN(1,549 個隨機詞)、EXP-RAN、EXP-LDA、EXP-SIM、EXP-SYN。

3.1 headline:Post-event Volatility(13 年完整結果)

測試年度SENRANEXP-RANEXP-LDAEXP-SIMEXP-SYN
20011.54391.87871.31711.23861.24931.2095
20021.74921.96661.61751.59571.61461.5416
20031.58971.76171.46321.33211.36981.3278
20041.37461.71211.20091.10891.11051.0742
20051.24111.30081.06300.99480.95970.9266
20061.19321.24071.03830.98150.94530.9019
20071.21161.30751.10711.06961.03901.0026
20081.65371.79441.50751.45161.43511.3694
20091.41521.64391.28821.23381.21851.1788
20101.43531.64101.31301.26411.27141.2284
20111.38351.67411.27291.25011.25861.2077
20121.33372.56851.20771.17711.18151.1369
20131.01791.79140.92050.89250.88470.8617
平均1.39561.71401.25511.19931.19521.1513

這張表幾乎完美:EXP-SYN 在 13 個年度每一年都是最低 MSE。作者也註明,EXP-SYN 相對 EXP-RAN 與 EXP-LDA 的差距,每一年都統計顯著(p 小於 0.05)。加入詞性的 EXP-SYN 也一致優於不加詞性的 EXP-SIM。

3.2 四個任務的平均對照

任務SENRANEXP-RANEXP-LDAEXP-SIMEXP-SYN
Post-event volatility1.39561.71401.25511.19931.19521.1513
Stock volatility0.24870.31390.21940.20760.20760.2031
Abnormal trading volume11.892811.913411.867811.872911.874511.8625
Excess return161.9166162.0014161.9028161.8565161.8283161.8577

分成兩組看:

  • 兩個波動率任務(前兩列):擴充明顯有效,EXP-SYN 平均最佳,且統計顯著。這是這篇論文站得住的核心結論。
  • 兩個市場行為任務(後兩列):交易量與超額報酬的 MSE 數值巨大且年度間劇烈跳動,各詞表之間的差距小到接近雜訊;作者自己也說,這兩個任務「並沒有像風險預測那樣顯著地更好」。

四、為什麼交易量與超額報酬預測不動?

論文很誠實地解釋了後兩個任務的失敗,並舉了兩個原文案例。

  • Air T, Inc.:財報公布後(2004/6/24 起)成交量從數百、數千股,幾天內暴衝到 25 萬、112 萬股。
  • Superconductor Technologies:2013/3/11 宣布 1 股拆為 12 股的反向分割,隔天股價從 0.189 美元跳到 2.265 美元,接近 12 倍。

這類劇烈變化來自事件本身(分割、突發消息、流動性衝擊),不是財報文字能預告的。這給了一個很實務的邊界:

財報文字對「風險(波動)」有預測力,但對「市場當下的行為(爆量、跳空)」幾乎無能為力。

這也是純文字模型的天花板——文字反映的是公司陳述的狀態,不是市場即將發生的事件。


五、擴充出來的詞,會計上看得懂嗎?

期刊版新增了一段很扎實的定性分析,從資產、負債、權益三個會計面向,檢查擴充詞是否合理。

會計面向種子詞擴充出的詞(部分)是否合理
資產financeraise、fund、obtain、security、cash合理
資產inventoryobsolete、lifo、excess合理
負債interestfix、rate、noninterest、debt合理
負債allowancedoubt、uncollectible、provision、reserve合理
權益expenseadministration、depreciation、amortization、salary合理
權益dividenddeclared、undeclared、paid、preferential合理

這些擴充不是憑空生成,而是能對應到真實會計概念:inventory 長出 lifo(後進先出法)與 obsolete(呆滯庫存);allowance 長出 uncollectible(呆帳)與 provision(提列);dividend 長出 undeclared(未宣告股利)。作者並回到原文(如 Digital Lightwave、Concorde Career Colleges、Trailer Bridge 的 10-K)逐一佐證,證明擴充詞確實與種子詞高度相關。

作者甚至為此建了一個 10-K 全文檢索系統來輔助這類分析。


六、t-SNE 視覺化:詞向量長什麼樣

期刊版把六類情緒詞的 200 維向量,用 t-SNE 壓到 2 維畫出來,得到兩個觀察:

  1. 負面、法律、不確定三類詞在空間上大幅重疊——在金融語境裡,litigious 與 uncertainty 通常帶有負面意涵。
  2. default、insolvent、bankruptcy 三個語意相近的詞彼此靠近;而 profit 的名詞與動詞向量很近、名詞與形容詞卻很遠——這正是「必須考慮詞性」的視覺化證據。

作者也做了 Top-N 的敏感度分析(N 從 2 到 100):擴充詞越多,MSE 確實越低,但邊際效益遞減,且詞數越多計算成本越高。權衡之下選了 Top-20(也正好是 word2vec 的預設值)。


七、把整篇的邏輯畫成一張圖

Loading Diagram...

八、這篇相對 ai-092 多了什麼

面向ai-092(EMNLP 2014)本篇(TMIS 2016)
語料1996–20061996–2013、40,708 份、125,370 詞
任務2 個(波動率回歸/排序)4 個回歸任務
對照組EXP-RANEXP-RAN + EXP-LDA + RAN
視覺化t-SNE 六類詞分布
詞分析一個 default 案例資產/負債/權益三面向 + 多份原文佐證
附加成果10-K 全文檢索系統、Top-N 敏感度分析
誠實度只報成功明講交易量/超額報酬預測不動

期刊版的價值不在方法創新(方法就是 ai-092),而在把同一套方法攤在更多任務、更長時間、更強對照組前面,並誠實標出它的邊界。


九、研究限制

以下為筆者閱讀後的整理,部分原文明述、部分為個人判讀。

9.1 仍是靜態詞向量與 Bag-of-Words

word2vec 給每個詞一個固定向量,無法處理一詞多義的細緻語境;回歸階段又回到 Bag-of-Words,語序、否定、條件句一律失真。這是 2016 年的時代限制,今天的 Contextual Embedding(BERT 之後)已能改善。

9.2 兩個任務其實是失敗的

交易量與超額報酬的結果差距接近雜訊。這不算方法缺陷,而是任務本身超出純文字的能力範圍,但也提醒讀者別把「四個任務都有效」當成結論。

9.3 擴充詞未逐一過濾

清單從 1,549 膨脹到 16,467,論文用整體績效與辭典覆蓋率證明淨效果為正,但沒有逐詞檢驗雜訊比例。

9.4 波動率仍不分漲跌

stock volatility 用報酬標準差,把大漲與大跌都當高風險;只有 post-event volatility 改用 Fama–French 殘差,部分修正了市場因素。


十、讀後啟發:把方法攤在失敗面前

ai-092 是「這個方法有效」的證明;ai-093 是「這個方法在哪裡有效、在哪裡失效」的完整版。對做系統的人來說,後者其實更有價值。

三個可帶走的觀念:

  1. 換更強的對照組(LDA,而不只是隨機),結論才可信。贏隨機不算贏。
  2. 覆蓋率與績效要一起看:EXP-SIM 用更少的詞贏過詞更多的 LDA,證明品質勝過數量——這點與 ai-091ai-092 一脈相承。
  3. 明確標出方法的邊界:文字能預測風險(波動),但預測不了市場當下的爆量與跳空。知道工具在哪裡失效,跟知道它在哪裡有效同樣重要。

把方法攤在多個任務與失敗案例前面,讓事實決定它的適用範圍——這是期刊版比會議短論文更值得讀的地方。


十一、總結

  • 本篇是 ai-092(EMNLP 2014)的 ACM TMIS 2016 期刊完整版,第三作者為台大 Po-Chuan Chien。
  • 語料擴到 18 年、40,708 份 10-K、125,370 個唯一詞;詞向量 200 維、CBOW 視窗 5。
  • 種子 1,549 個 unique 情緒詞,擴充成 EXP-SIM 10,258 詞、EXP-SYN 16,467 詞。
  • 新增 LDA 擴充(EXP-LDA)當強對照組:word2vec 抓語意相似、LDA 抓主題共現,且 EXP-SIM 以更少的詞達到更高的辭典覆蓋率。
  • 四個任務中,兩個波動率任務擴充明顯有效且顯著(EXP-SYN 在 post-event volatility 的 13 年全部最佳);交易量與超額報酬則接近雜訊。
  • 從資產/負債/權益三面向驗證,擴充詞在會計上都能對應到真實概念。
  • t-SNE 視覺化與 Top-N 敏感度分析,佐證詞性的必要與 Top-20 的取捨。

一句話收束這條研究線:

從縮小(ai-091)、擴充(ai-092)到攤在四個任務前檢驗(ai-093),三篇談的都是同一件事——文字分析的價值,取決於你是否誠實面對它的邊界。


參考資料

  1. Ming-Feng Tsai, Chuan-Ju Wang, and Po-Chuan Chien. Discovering Finance Keywords via Continuous-Space Language Models. ACM Transactions on Management Information Systems, 7(3), Article 7, 2016.
  2. Ming-Feng Tsai and Chuan-Ju Wang. Financial Keyword Expansion via Continuous Word Vector Representations. EMNLP 2014(本系列 ai-092).
  3. Tim Loughran and Bill McDonald. When Is a Liability Not a Liability? Textual Analysis, Dictionaries, and 10-Ks. The Journal of Finance, 2011.
  4. Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. 2013.
  5. Shimon Kogan et al. Predicting Risk from Financial Reports with Regression. NAACL 2009.

免責聲明: 本文為論文閱讀與技術研究筆記,不構成任何投資建議。關鍵字擴充、波動率預測與市場行為預測只能作為進一步研究線索,不能取代財務分析、風險管理與專業判斷。