李思銘,林志杰,陳 文,李宇欣,姜 永
(福建農林大學計算機與信息學院,福州350002)
近年來,我國證券市場的高速發展催生了一批題材股,其中的高送轉這一題材無疑是中小投資者強烈追捧的對象。因為實施高送轉后股價將做除權處理,投資者可以通過填權行情從二級市場的股票增值中獲利。如果我們能準確預測下一年可能實施高送轉的上市公司并提前買入,這對我們投資的安全性具有很大的現實意義。
研究擬通過收集有關數據,并采用數據挖掘方法篩選出對上市公司實施高送轉方案有較大影響的因子,然后利用這些因子建立模型來預測實施高送轉的情況。
研究的樣本選自我國上市公司3 466只股票,相關因子數據有營運資本、投入資本、基本每股收益等,共360個因子,反映了上市公司近七年間股票盈余與公司經營情況,共約2.4萬條樣本。
1.缺失值處理。可分為缺失值刪除和缺失值填充兩部分,當特征屬性列缺失值超過總數的一半,就會直接刪除該列。余下的特征屬性列則根據缺失情況可分為間斷缺失和連續缺失,分別進行均值填充和拉格朗日插值填充。
2.異常值處理。箱線圖結尾去除異常值,在Python軟件中,使用boxplot()涵數,將數據中偏大、偏小的“異常數據”過濾掉。
3.數據標準化。數據的標準化是指在處理數據時統一不同指標之間的量綱。常用的數據標準化有三種方法:min-max標準化、均值方差標準化、非線性歸一化,分別采用這三種變換方法對原始數據進行數據變換,并畫出對應變換后的特征分布圖進行對比,發現經過log函數的歸一化變換后特征分布較為服從標準正態分布,說明該種歸一化方法有助于使用梯度下降法求解最優解的速度,提高算法的精度。
當數據預處理完成后,需要選擇有意義的因子輸入機器學習的算法和模型進行訓練。通常來說,根據不同形式可將因子選擇方法分為三種:Filter(過濾法)、Wrapper(包裝法)、Embedded(嵌入法)。研究采用嵌入法,其基本思路是用機器學習的算法和模型進行訓練,得到各個因子的權值系數,根據權值系數從大到小選擇因子,這些權值系數往往代表了因子對于模型的某種貢獻或某種重要性。
在探究對高送轉有重要影響的因素的過程中,為了衡量上市公司是否真正具備高送轉能力,引入一個可量化的送轉股能力(記為C)因子,其計算公式為:
C={資本公積+max[0,max(0,盈余公積-0.25×總股本)+未分配利潤]}/總股本
采用嵌入法挑選特征,可通過Python中的SelectFromModel算法來實現,而SelectFromModel算法又包括L1-based feature selection和Tree-based feature selection兩種類型,研究采用第二種,基于LightGBM分類器利用SelectFromModel方法進行因子篩選,特征選擇的閾值為“3mean”,效果最好。最終篩選出的重要因子有25個,各個因子對分類模型預測結果的貢獻度,如圖1所示。
按照其對模型重要程度排名前9的重要因子是:每股送轉、成交金額_mean、息稅折舊攤銷前利潤、銷售費用/營業總收入(%)、實收資本(或股本)、基本每股收益同必增長(%)、基本每股收益、成交量_std、總資產相對年初增長(%)。

圖1重要因子的貢獻程度
對預測模型貢獻度中等的共有14個,分別是投資支出/折舊和攤銷、總資產凈利率(%)、成交金額_std、ebitda/營業總收入(%)、上市年限、每股未分配利潤(元/股)、最高價_mean、凈資產相對年初增長(%)、送轉股能力、成交量_mean、最低價_mean、開盤價_mean、年份(年末)、每股凈資產(元/股)。
為了更直觀了解篩選后因子的含義,以促進對上市公司實施高送轉動因的認識,將影響高送轉的因子分為三類:基本因子、成長因子、時序因子,[1]具體劃分如表1。

表1因子分類
從分類情況來看,對預測模型貢獻率占比最大的是基本因子,共包含4個重要因子,其次是成長因子,包含了3個重要因子,最后才是時序因子,只含有2個重要因子。這說明在預測模型中,這3個方面因子的重要性排序應該是:基本因子>成長因子>時序因子。
從經濟學的意義上看,首先影響高送轉的基本因子反映了該公司的整體資本、運營收入情況,對于是否實行高送轉是具有關鍵決定因素的因子,而成長因子表現了每股股票的實時潛力與本質特征,對高送轉是具有重大的影響力,最后的時序因子反映了上市股票的變化趨勢,與當前市場的變化情況息息相關,因此,對“高送轉”也有不可忽視的作用,特別是當數據中存在缺失值時,可以通過對時序因子的預測來估計未來的股票走勢。
XGBoost算法是一種大規模并行提升樹工具,應用的算法是GBDT梯度提升決策樹的改進,可用于分類和回歸問題。該算法主要將多個分類回歸樹進行集成,對損失函數進行優化,通過設置閾值或參數,達到一定條件時停止分裂。LightGBM算法是一個基于樹學習的梯度提升框架。其原理是基于直方圖的決策樹算法,基本思想是將連續的浮點特征值離散成k個整數,并構造一個寬度為k的直方圖,在遍歷數據時用離散值作為指標,在直方圖中積累統計信息,然后根據直方圖的離散值進行遍歷,尋找最優分割點。CatBoost算法是一種基于對稱樹的GBDT框架,具有參數少、支持類別變量、精度高等優點,其主要目的是合理地處理類別特征的問題。
XGBoost作為一款經過優化的分布式梯度提升庫,具有高效,靈活和高可移植性的特點。LightGBM是一個快速高效、低內存占用、高準確度、支持并行和大規模數據處理的數據科學工具。CatBoost性能卓越,具有較強的魯棒性,并降低了過度擬合的機會,方便處理類別型、數值型特征。在實際應用中,我們使用這三種算法對進行因子篩選后的數據進行模型預測,得到的各個算法的預測得分,如圖2。

圖2三種算法正確率比較
由此可見,LightGBM得分最好,CatBoost緊隨其后,幾乎與LightGBM不相上下,而XGBoost相較于其他兩個算法表現力會差一些。因此,在后續的模型構建與提升中,選擇LightGBM算法進行模型的搭建。
模型一:基于LightGBM算法的“高送轉”預測模型一,預測準確率約為88.63%。其中,將標簽1預測為0的有361個,可以看出模型對于數據的學習效果欠佳,模型的復雜度還不夠,欠擬合。
模型二:融合模型(Stacking),該方法的思想是通過對多個單模型融合以提升整體性能。在Stacking方法中,把個體學習器稱為初級學習器,用于結合的學習器稱為次級學習器,次級學習器用于訓練的數據稱為次級訓練集,次級訓練集在訓練集上用初級學習器得到。在融合模型中,選擇LightGBM算法、CatBoost算法為初級學習器,Logistic回歸為次級學習器,由此構成基于Stacking方法的“高送轉”預測模型二,其預測準確率約為88.69%。
模型三:在模型二的基礎上,考慮到數據中樣本不平衡的問題,故采取SMOTE方法對數據較少的類別進行過采樣,基于LightGBM算法進行模型預測,通過代碼結果可知該方法對預測模型有一定的提升。故將過采樣-LightGBM算法與模型二相融合,得到模型三,該模型算法流程為。
1.提取特征和預處理。基于LightGBM分類器利用SelectFromModel方法進行因子篩選,使用箱線圖截尾去除異常值,對數據進行歸一化變換,進行缺失值填充比較預測精度。
2.對LightGBM、CatBoost和過采樣-LightGBM算法分別進行參數優化工作,用于Stacking模型。
3.模型構建。一是使用SMOTE進行樣本過采樣,分別輸入LightGBM算法、CatBoost算法中比較,確定最優過采樣比例,優化LightGBM、CatBoost、過采樣-LightGBM算法的參數,作為初級學習器。二是基于三個初級學習器對訓練集進行訓練,然后用于預測訓練集train和測試集test的標簽列,將得到預測結果進行合并可得新的訓練集train2和測試集test2。三是用次級學習器Logistic回歸訓練train2和預測test2,得到最終的標簽列pred。


該模型預測準確率約為88.69%,詳見圖3的混淆矩陣。

圖3模型三預測結果的混淆矩陣
利用建立的預測模型三,根據現有的前七年的數據對第八年上市公式實施“高送轉”的情況進行預測,得到第八年實施“高送轉”的股票共有253只,依概率排序列在前30位的股票編號是:1346、1835、749、3295、3076、1754、3243、2881、3217、2703、621、3127、1616、3220、2040、570、3026、2359、3238、1607、1122、1524、2601、874、258、10、2438、1095、1765、191。預測準確率為91.06%。
1.五折交叉驗證。將全部訓練集分成5個不相交的子集,相應的子集稱作;每次從分好的子集中里面,拿出一個作為測試集,其它4個作為訓練集,根據訓練訓練出模型或者假設函數;把這個模型放到測試集上,得到分類率,并計算5次求得的分類率的平均值,作為該模型真實分類率。這個方法充分利用了所有樣本,應用于預測模型一,得到預測準確率為:[87.43,87.95,88.42,88.00,87.66],平均分:87.89,這說明模型的表現比較穩定。
2.時間序列交叉驗證。考慮到模型是以年份為單位進行預測,屬于時間序列問題,不同年份的樣本可能對模型的影響不同,為檢驗算法的泛化能力,因此,對年份為二、三、四、五、六年的“高送轉”情況都進行預測。這個方法要求具有平穩時間序列,即時間序列應滿足:常量的均值、常量的方差、與時間t無關的自協方差。將該方法應用于預測模型,得到預測準確率為:[87.43,85.71,86.72,89.35,88.29],平均分:87.50。
1.綜合評價。利用精確率(precision)、召回率(recall)以及F1分數(F1_Score)對模型三的預測的結果進行綜合的評價。

表2綜合評價指標
2.泛化能力評價。模型預測不僅希望對是否實施“高送轉”進行正確預測,同時還希望預測模型具有穩定的表現,所以接下來引入ROC曲線對算法模型的泛化能力進行評估。

圖4預測算法的ROC曲線
當AUC越趨近于1,即ROC曲線下覆蓋的總面積越大,ROC曲線越接近于y軸,分類器的預測泛化能力越好。從圖中可以看出預測模型的泛化能力較好。
研究的預測模型主要是基于集成的決策樹(CART)算法,該算法應用的理論是信息學理論中熵的概念,通過對預測結果的綜合評價,可以看出模型的泛化能力不錯,但是模型的學習的復雜度還不夠深。改進建議:在融合模型中可以通過引入更為復雜的算法,如神經網絡算法、支持向量機,以提高模型的復雜度,從而提升模型預測精度。