鄭天宇
(上海海事大學信息工程學院,上海201306)
基于網絡的技術不斷被金融領域所接受,投資者可以在線下輕而易舉地獲得關于上市公司的經營信息。隨著2000 億條微博被國家圖書館保存,輿情作為一種新的消息來源與分析媒介在生活和工作中越來越重要地得以展現。新聞網站和股吧作為一種金融界信息發布與交換的方式,已逐漸成為消息披露和交易決策交換等相關信息的主要來源。輿情網站為各個領域的投資者提供了一個平臺,使得人們可以聚集在一起,接收并分享他們對公司股票的看法。但由于關鍵的信息隱藏在大量數據中,從海量文本中獲取有用的信息仍然很困難,投資決策者幾乎不可能閱讀完相關網站并羅列出所有信息,因此提供可以準確獲取輿情信息的方法可以極大地幫助投資者進行投資決策[1-3]。
網站中包含的數據幾乎沒有結構化的,如何有效地處理和利用非結構化數據是一個具有挑戰性的機器學習問題。在金融網站的新聞發布子模塊,每個數據條目都與某一時刻股票的表現及市場看法有關,將此看作可用時間序列表示的金融異構數據[4]。某些主題詞語和主題的頻率均是隨時間變化的,對股票的看法也隨著時間的推移及其在證券交易所的種種行為表現而變化。也就是說股票的情緒展現和股價走勢及外部事件之間存在相關性,Chen 等人[5]發現多種信息源頭例如博客等可以密切預測股市行為。
第一步涉及數據采集,我們從cnstock 抓取了金融新聞消息板并將數據利用pymongo 存儲在MongoDB中。下一步是從非結構化數據中提取消息。首先進行預處理,刪除常見HTML 標簽提取有用的部分,如我們需要的日期、作者、消息文本等。然后基于提取的信息構建情感分類器。通過比對異構數據預測出的情感與該支股票的日線數據得到的實際價值,給對應的先前新聞打上“看漲”、“看跌”的標簽并由新算法計算出新聞作者總體的情感閾值,利用此步驟對一支股票相關的未打標簽的新聞異構文本構建新特征集進行文本分析。系統架構如圖1 所示。
基于Scrapy 和Redis 的分布式技術編寫爬蟲。crawler_cnstock、crawler_jrj 主要爬取中國證券網、金融界匯總的股票新聞模塊的新聞標題、內容、作者、時間、網址,由于服務器時而存在無響應問題,我們重復運行爬蟲匯總了三日內的異構文本數據。為了獲取滬深股票的行情表現數據,我們從Tushare 獲取日線數據,特征包括開盤價、最高價、最低價、成交額、股票代碼、名稱、板塊等信息。

圖1 新聞文本計算情感權重預測股票表現系統構架
提取相關信息后,依次對爬取入庫的新聞文本進行去停用詞、加載股票名稱新詞、將語料庫中每段異構信息轉換為單個詞語和作者(包括姓名及新聞機構名稱)的向量,日期我們采取映射成整數值的形式,使用TF-IDF 公式計算向量中每個條目的值:

TF-IDF(詞頻-逆文檔頻率)用于評估包含單詞或特征的條目對語料庫中整體信息的重要程度,隨該條目在某一文章出現次數增加而重要比例增加,隨在語料庫中出現頻率的增加而重要程度衰減。
首先假設公司發布的官方新聞與股票的表現有很高的相關性。同樣地,在股票表現發生劇烈變化時,跟風的新聞機構的情感也可能發生變化?;谝陨现庇X,我們將情感建模為一種有條件依賴于過去一天的輿情和股票價值的馬爾科夫過程。即在時刻i,對新聞m 的情感建模如下:

i+1 時刻的預測會取決于先前i 時刻的值,Mi 為i時刻的消息集,SVi 為i 時刻的股票價值表現(以收盤價為例)。選擇合適的學習算法訓練上述模型的參數。由于未來將面臨較大異構數據集的考驗,我們使用樸素貝葉斯及決策樹進行訓練。
基于有些新聞發布機構對于金融市場更加權威這一觀點,專業的金融分析報道者理應獲得更多的情感權重值,這意味著他們發布的輿論比其他人發布的觀點更為可信且重要。但根據用戶畫像獲得作者的背景在情感分析的領域往往較為困難,面相媒體輿情的情感分析很少去獲得輿情源頭的畫像資料,因為就像有些股吧論壇中的這些特征用戶可以任意填入他們自己有關的背景信息,有些媒體機構也可以留下無用或是不準確的信息。
我們使用算法依據輿情創作人在他們資料中的歷史表現來計算作者的情感權重值,對每條信息使用情感預測步驟得出作者的情感傾向可能,并將該信息發布時間附近的實際股價表現進行橫向比較,如果作者表達的情感傾向符合實際股價表現,那么作者或新聞機構的情感權重值將會增加??紤]到一個公式(5)、(6)除了在方向上可以計算符合度方向,還可以關注幅度,例如:上述步驟訓練出作者情感為強烈沽空一只股票,但股票表現的收盤價僅略有下降,那么作者也不會得到太多情感權重。

其中,SentimentProbability 表示情感傾向概率,MidScore 為設置的常數,在情感傾向中通常設置為表示中性的0.5,StockChange 為收盤價較昨日收盤價的漲跌百分比,將此項和情感傾向概率組合作為權重賦給新聞作者的情感預測表現。NumOfPrecision、NumOf-Normal 和NumOfPrediction 分別代表新聞作者精準預測的次數、一般符合的次數及預測匹配總次數,Sector-Coefficient 是一個懲罰系數,當新聞評論的是一個板塊時,此項設置為1 用于抵消作者的情感匹配度。
股票預測是一項艱難的任務,在方法中,我們根據對應的新聞情感對時間i 處的股票價值進行預測:
圖2 展示了用于貝葉斯網的股票預測模型,訓練一種分類器使用過去一天提取或計算出的融合特征來預測股票價格的漲跌,特征包含情感傾向、歸屬作者的情感權重值及該股涉及的新聞總數。
同時為驗證文本信息中作者情感權重是否和股票價格之間有顯著性關系,利用以資產定價模型為代表的因子模型加入語料庫中目標股票對應新聞的所有作者的情感權重平均值,以對數收益率確定待估系數,公式(7)如下:

模型中,標簽使用表示i 時刻股票j 的價格S 的對數收益率,rf是假設的該年滬深指數的年平均收益率的日化收益,以此來代替無風險收益率,為日期i 時股票j 對應的新聞所屬作者的情感權重均值,Ι 為指示函數,為服從正態分布的隨機數噪聲,待估系數分別是Cj、αj、βj。但從回歸的結果我們看到股價收益率雖然和網絡新聞輿情具備顯著相關特征,但的αj系數極小,對應的t、F 統計量很大,說明影響雖顯著相關但對其影響的范圍很小。假設是由于參差不齊水平的新聞作者發布的若干輿情在可信度上進行了標準化,為準確說明這一現象,我們再對上步驟得到的作者情感權重依次排序,取3 個分位數,然后按照分位數對股票的輿情發布機構作者的情感權重值分塊為3 組,分別是WB1、WB2、WB3,模型如下。這樣做的好處是保證分組后組內新聞數目是一致的但不同組別意味著不同的作者情感權重(權重值依次增大),并依照這種方法將相似文本特征的異構金融數據進行文本分類及預測。

對6 支股票的128 支新聞及對應的47 個作者的相關數據針對對數收益率進行線性回歸,回歸結果如表1 所示。

表1 回歸結果
可以看到α3比α1、α2大了一個數量級別,對于單日收益率而言,一個數量級別已經對對數收益提供了很好的解釋力。根據代表信任程度較高的高權重作者情感對金融市場投資者的決策更具影響力,從而更能影響次日的股票收益。表2 顯示使用樸素貝葉斯對涵蓋6 個板塊的個股情感預測準確度的結果。

表2 加入情感權重前后股票表現預測的準確度
使用加入作者情感權重值的情感預測模型的性格會得到提升,針對不同板塊增加了1%-8%不等的準確度,表明了加入作者情感權重可以幫助消除文本情感噪音。
本文在考慮現有的面向金融新聞文本情感提取算法的基礎上加以改進,使其能更好地為文本情感分析決策提供支持。同時引入了文本源頭的情感權重值,在消除過濾情感傾向預測中不相關噪聲情緒的同時提高了準確率。接下來如何在長范圍時間序列的基礎上進一步提升預測準確率,需要更進一步的研究。