蘭子檸, 徐志明 , 宋 毅
(1 哈爾濱工業大學 計算機科學與技術學院, 哈爾濱 150001; 2 哈爾濱華德學院 電子與信息工程學院, 哈爾濱 150025)
近年來,隨著證券市場和互聯網技術的迅猛發展,證券信息也越來越多。面對快速多變的證券市場,投資者需要快速、準確、及時地了解證券市場和每個股票的相關信息(基本信息、財務信息、行情信息、新聞信息),確定自己的交易行為。
大量的證券信息給投資者帶來了信息過載問題。證券信息的挖掘分析,幫助投資者更快、更準地了解證券市場和各個股票的情況。近年來,人工智能的迅猛發展給證券信息的挖掘分析注入新的動力,智慧金融的研究方向也成為新的熱點[1],這方面的研究工作包含:算法交易、股票推薦等。
證券市場一般有數千只股票。證券機構設置了一些標簽(行業、概念、風格)[2],幫助投資者對股票進行標簽分類、板塊劃分。每個標簽對應一個板塊,包含一組股票[3]。例如“種業”為一個概念標簽,對應的板塊包含一組股票“豐樂種業、敦煌種業、登海種業、荃跟高科、北大荒、隆平高科、農發種業、神農基因、蘇墾農發”。每個股票對應一組標簽。例如:中國平安包含一組標簽“券商,大盤股,融資融券,績優股…”。這些標簽構成了股票的最基本的特征。當用戶遇到一只陌生的股票時,掃視該股票的相關標簽,就能迅速了解該股票的概貌。
標簽提供了股票分類的語義知識。有些標簽之間存在著層次關系,可以構成標簽分類樹,見圖1。有些標簽之間存在著語義關聯性,可以組成標簽網絡,見圖2。這些結構性的標簽知識,對于幫助人們分析和理解市場、板塊、個股的行情波動的原因,具有重要作用[4]。

圖1 證券市場的標簽分類樹的示意圖
Fig. 1 Schematic diagram of the tags classification tree of the securities market

圖2 證券市場的標簽網絡的示意圖
Fig. 2 Schematic diagram of the tags classification network of the securities market
在證券市場上,股票之間、標簽之間、股票和標簽之間存在著廣泛的關聯性[5]。高關聯性的股票之間、板塊之間在行情上存在著一定的聯動性[6-7]。本文將每個股票視為節點,將股票之間的關聯性視為邊,共同組成股票網絡。在股票網絡上,某些股票的行情波動可能傳染給高關聯性的鄰居股票節點,在股票網絡上進行擴散。另外,將每個標簽視為節點,將標簽之間的關聯性視為邊,共同組成標簽網絡。某些板塊的行情波動可能傳染給高關聯性的鄰居板塊節點,在標簽網絡上進行擴散[8]。因此,如何分析股票之間的關聯性、標簽之間的關聯性,以及分析股票網絡、標簽網絡,分析股票之間、板塊之間的聯動性,對于預測股票、板塊的行情具有重要意義。
A股市場的證券服務機構,例如:中信證券、國信證券、同花順、東方財富等均提供了標簽服務,同時通過人工方式設置行業、概念、風格等標簽,提供了證券市場的板塊劃分。但是,上述的標簽服務仍然存在著不足,因其并未對股票之間的關聯性、標簽之間的關聯性、以及股票網絡、標簽網絡進行深入分析,難以捕捉高關聯性的股票之間、板塊之間的聯動性。
基于前文論述,本文主要研究證券標簽的分析技術,研究內容包含:證券標簽信息獲取、標簽之間的關聯性分析、股票之間的關聯性分析、股票網絡分析、標簽網絡分析、市場熱點分析,幫助投資者進行股票投資的決策。
假設,一個證券市場M包含著一組股票,S={s1,s2,s3,…},其中,每個si為一個股票。該市場也包含著一組標簽(板塊),T={t1,t2,t3,…},其中,每個tj為一個標簽。M=(T,S)。
證券市場M每一時刻都有一組熱點標簽集合,H={t1,t2,t3,…},H是標簽總集T的子集。
每個股票si包含一組標簽,si={ti1,ti2,ti3,…}。每個標簽tj包含著一組股票,tj={sj1,sj2,sj3,…}。
每個股票si用3個屬性描述:漲幅、熱度、強度,si=
定義1 股票網絡將每個股票視為節點,將股票間的關聯性視為邊,所組成的網絡,稱為股票網絡(Stock Network,SN),SN=(S,ES),稱為股票圖。其中,S為該網絡的節點集合,ES為該網絡的邊集合。
定義2 標簽網絡將每個標簽視為節點,將標簽之間的關聯性視為邊,所組成的網絡,稱為標簽網絡(Tag Network,TN),TN=(T,ET),稱為標簽圖。其中,T為該網絡的節點集合,ET為該網絡的邊集合。
定義3 熱點標簽網絡將每個熱點標簽視為節點,將標簽間的關聯性視為邊,所組成的網絡,稱為市場熱點網絡(Hottag Network,HN),HN=(H,EH),稱為熱點圖。其中,H為熱點網絡的節點集合,EH為該網絡的邊集合。熱點標簽網絡是標簽網絡的子網。
定義4 標簽之間的關聯性就是2個標簽(ti,tj)間的邊權值Tij,即利用Jaccard相似度[9]公式來計算。標簽網絡的邊權值的運算公式為:
(1)
所有的Tij組成了標簽網絡的鄰接矩陣。通過設置標簽網絡的邊權值的閾值,生成所有邊權值大于閾值的邊,就可以生成標簽網絡。
定義5 股票之間的關聯性就是2只股票(si,sj)間的邊權值Sij,即利用Jaccard相似度公式來計算。股票網絡的邊權值的運算公式為:
(2)
所有的Sij組成了股票網絡的鄰接矩陣。通過設置股票網絡的邊權值的閾值,生成所有邊權值大于閾值的邊,就可以生成股票網絡。
定義6 股票與標簽之間的關聯性將一只股票si在30天內的收盤價序列X和一個標簽tj在30天的收盤價序列Y之間的行情相似度定義為兩者間的關聯性,利用Pearson相關系數[10]公式來計算。計算公式可寫為:
(3)
定義7 股票熱度就是股票近期受關注程度,這體現在行情上就是股票走勢的波動性。如果股票走勢波動很大,無論波動是正向、還是反向,熱度值都會很高,說明該股非常值得注意。反之,如果股票走勢平穩,熱度就相對較低。熱度計算使用5個特征進行加權。這5個特征的權值為本文根據經驗人工給定。
某只股票si的熱度的數學公式為:
s_hoti=amplitudei*1+isUpi*2+continueUpi*3+
greatUpi*3+changei*1,
(4)
其中,amplitudei是si的振幅 ,振幅 = (當日最高點的價格 - 當日最低點的價格)/ 昨天收盤價;isUpi表示si每日是否漲跌;continueUpi表示si連續三天是否上漲或下跌。如果連續三天上漲則為1,或者連續三天下跌也為1,否則為0;greatUpi表示si在5日內累積漲幅或跌幅是否超過20%。漲幅超過20%和跌幅超過20%均為1,否則為0;changei是si的當日漲幅歸一化到[-1,1]后的結果。
定義8 標簽熱度就是標簽近期受關注程度。某個標簽tj的熱度的運算公式可寫為:
(5)
總地來說,標簽熱度是其包含股票熱度的平均值。
定義9 股票強度就是一只股票歷史上的觸及漲停數,在一個板塊內,強度最大的股票為板塊的龍頭股。
定義10 市場熱點標簽就是某一時刻“最活躍”的標簽集合。本文通過統計發現一天中不同時刻漲幅最大的股票集合變動很大,但這些股票所屬的總標簽集合變動較小。如果僅將漲幅最大的股票或標簽作為熱點,那熱點圖往往呈現出一種無規律性。投資者從極不穩定的熱點圖中并不能快速得到有效信息。為使熱點圖的結構相對穩定,采用從漲幅最大的“標簽組合”中提取標簽的方法,算法描述如下:
(1)算出某一時刻漲幅top300的股票集合S。
(2)令“標簽組合”的集合combineT為空集,取S中任意兩只股票的標簽交集作為一個“標簽組合”加入到combineT中。
(3)算出combineT中各個“標簽組合”的平均漲幅并排序,選出漲幅top300的“標簽組合”集合Top_combineT。
(4)統計Top_combineT中出現次數最多的30個標簽作為熱點標簽集合。
(5)結束。
本文研究的是國內A股市場,編寫爬蟲程序爬取新浪財經等各大財經門戶網站上的A股股票數據和標簽數據,其中股票相關的行情數據需要每日開盤前定時啟動爬蟲獲取并存入數據庫。標簽數據經過去重后存入數據庫。信息獲取流程見圖3。

圖3 證券信息獲取流程圖
標簽數據的去重步驟如下:
(1)將來源不同、名稱相同的標簽,合并為一個標簽,同時將這些標簽的股票集合也進行合并。
(2)將來源不同、名稱不同、但股票集合完全相同的標簽,將其合并為一個標簽。
(3)將來源不同、名稱不同、但股票集合重合度在70%以上的標簽,人工判定是否去重。
最終,數據庫中共有3 564只股票,其中上證A股有1 443只,深證A股有2 121只。經過去重后共有2 969個標簽。
本系統預期達到的目標是實現一個證券標簽分析系統,系統功能主要由3個模塊構成,分別是標簽分析模塊、市場分析模塊、股票分析模塊。證券標簽分析系統功能圖如圖4所示。

圖4 證券標簽分析系統功能圖
該模塊圍繞標簽網絡TN進行功能設計。由于標簽網絡節點較多、網絡結構復雜,難以展示全網。因此本文所展示的標簽網絡為以某個特定標簽為中心的局部標簽網絡,稱為該標簽的關聯圖譜。選擇一個標簽t0作為中心節點,設定節點數量為n。標簽t0的關聯圖譜是一個二跳網絡。
第一跳由“t0-與t0關聯性(定義4)最大的n個標簽(t1,t2,…,tn)”組成。見圖5。
第二跳由“(t1,t2,…,tn)-與t1關聯性最大的n個標簽(t11,t12,…,t1n),與t2關聯性最大的n個標簽(t21,t22,…,t2n),…,與tn關聯性最大的n個標簽(tn1,tn2,…tnn)”組成。見圖6。對此可做闡釋分述如下。

圖5 “人工智能”標簽關聯圖譜的一跳網絡
Fig. 5 One-hop network of the "Artificial Intelligence" tag association map

圖6 “人工智能”標簽關聯圖譜的二跳網絡
Fig. 6 Two-hop network of the "Artificial Intelligence" tag association map
(1)伸縮:二跳網絡可以隱藏,從而達到伸縮的效果。
(2)鼠標懸停:當鼠標懸停在某一標簽節點上時會出現該標簽包含股票的懸浮表,表中股票由對應的股票強度s_strong,股票熱度s_hot,股票漲幅s_change進行描述。
(3)關鍵指標排序:懸浮表中的股票可以按上述三種屬性進行升序或降序地排列。如圖7所示。圖7中已經按股票強度倒序排列。

圖7 鼠標懸停在“云計算”標簽時的懸浮表
該模塊圍繞股票網絡SN進行功能設計。股票關聯圖譜僅展示以某只特定股票為中心的部分股票網絡。用戶輸入一只股票的名稱,即可查找該股票的關聯圖譜。
在股票關聯圖譜的研究中,選擇一個股票s0作為中心節點,設定節點數量為n。s0的關聯圖譜是一個二跳網絡。這里,股票關聯圖譜采用了“股票-標簽-股票”結構,與定義1中的股票網絡不同。這樣設計的目的在于指導實際投資,比如當“中國平安”股票上漲時,通過這張圖可以發現“金融創新-深圳金融股”和“養老概念”這兩個標簽都與中國平安關聯性較強,用戶可以考慮購入這兩個標簽下的股票,而買入這兩個標簽下的強度最強的股票最為保險。
第一跳由“s0-與s0關聯性(定義6)最大的n個標簽(t1,t2,…,tn)”組成。見圖8。
第二跳由“(t1,t2,…,tn)-t1包含的強度最大的n個股票(s11,s12,…,s1n),t2包含的強度最大的n個股票(s21,s22,…,s2n),…,tn包含的強度最大的n個股票(sn1,sn2,…,snn)”組成。見圖9。對此可做闡釋分述如下。
(1)伸縮:二跳網絡可以隱藏,從而達到伸縮的效果。
(2)鼠標懸停:當鼠標懸停在某一股票節點si上時會出現與該股相關股票的懸浮表,表中股票由股票強度strong、股票熱度s_hot、股票漲幅s_change進行描述。此外還加入了屬性“共同標簽數”,該屬性與定義5相符。故定義1中的股票網絡可由各個股票節點的懸浮表描述。
(3)關鍵指標排序:懸浮表中的股票可以按上述四種屬性進行升序或降序地排列。如圖10所示。圖10中已經按共同標簽數倒序排列。

圖8 “中國平安”股票關聯圖譜的一跳網絡
Fig. 8 One-hop network of "China Ping An" stock correlation map

圖9 “中國平安”股票關聯圖譜的二跳網絡
Fig. 9 Two-hop network of "China Ping An" stock correlation map

圖10 鼠標懸停在“浙江世寶”股票時的懸浮表
Fig. 10 Floating table when hovering over "Zhejiang Shibao" stock
市場熱點是實時更新的,數據庫中存儲的是分鐘級的行情數據,所以市場熱點圖譜每分鐘都會更新。用戶查詢該圖,即可得知熱門標簽集合及其關聯性。熱點圖呈現出節點聚集現象,這些聚集節點之間邊的關系十分復雜,結構相對穩定,往往在一天中的多數時間內都是熱點,而其余的游離節點大多數情況下在下一時刻就不再是熱點了。投資者通過該圖,可以選擇購入聚集現象明顯的標簽節點下的股票。
在研究市場熱點圖譜時可知,市場熱點圖的結構符合定義3,如圖11所示。圖11上節點是定義10中的熱點標簽。這些熱點標簽還可以展開新的節點,新節點是漲幅最大的標簽組合,如圖12所示。
對于市場熱點表來說,該表是熱點圖的表格形式,表中數據包含熱門標簽、標簽組合及其漲幅,如圖13所示。

圖11 市場熱點標簽

圖12 熱點標簽組合

圖13 市場熱點表
本文從標簽角度入手,提出了一種新的證券市場分析技術。本文通過構建爬蟲獲取行情面、基本面等多種數據構建完整多樣的標簽數據庫,分析標簽之間、股票之間等多種關聯性,構建了證券市場的股票網絡、標簽網絡和熱點網絡,并合理設計關聯圖譜予以展示,揭示個股之間潛在的聯動性。在一定程度上展示了市場結構和指導了實際投資。本文受到國家自然科學基金(61672185)的資助。