劉仁輝 李毓麗 劉淑敏 鄭菲



摘要:近年來,雖然我國證券市場中的高送轉題材受到了中小投資者的追捧,同時也產生了一些市場的亂象,導致投資者容易去盲目的炒作高送轉。但是對高送轉股票的預測模型中,很多都會采用了主觀性比較強烈的打分排序法以及 Logistic 回歸分析的方法進行構建高送轉股票預測的模型。該文深入分析了對于高送轉股票影響程度比較大的影響因素,采用機器學習中特征工程的方法,分別用了 Filter 過濾法與 F 檢驗法篩選出影響因素的因子,構建出高送轉股票的預測模型是支持向量機 SVC 模型,并采用了2020年第八屆泰迪杯數據挖掘挑戰賽中提供的股票樣本數據對模型進行了數據處理后的驗證。實證后的結果顯示,模型正確率在84.26%以上,模型預測準確度最高可達54%。
關鍵詞:高送轉;特征工程;支持向量機模型
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)17-0224-02
開放科學(資源服務)標識碼(OSID):
1 背景
高送轉股票在近幾年的證券市場當中是中小投資者比較熱捧的股票之一。高送轉股票一般是需要每10股送轉5股(包括5股)以上的股票才能稱為高送轉,它是一種高比例送股或者高比例轉股,簡稱高送轉[1]。從投資者的角度來看,實施高送轉的股票是會被看好的,如果在該股票實施高送轉之前提前介入市場,并在公司公布當年分紅政策后再賣出,可以獲利不菲[2]。所以,針對可以賺取更高的收益,這就需要針對公司預測哪些股票能夠實施高送轉,因此最關鍵技術是預測高送轉公司的成功概率。
本文嘗試用特征工程中的Filter過濾法以及F檢驗法來篩選對高送轉股票影響較大的影響因素,通過構建支持向量機預測高送轉的模型。此方法相對于市場上比較常用的打分排序法,對指標選取以及權重分配的主觀性,能夠通過特征本身的方差來篩選特征的類,去除方差很小的特征,尋找兩組數據之間的線性關系;并通過檢驗值去除特征沒有顯著線性關系的因子,而對于影響因素較大的因子,通過構建支持向量機模型進行預測,能夠比較各個特征因子對于高送轉行為的影響程度,從而篩選出影響比,并對未來實施高送轉的股票概率進行統計。
2 研究設計
2.1 Filter 方法與 F 檢驗法
Filter方法是通過特征本身的方差來過濾篩選特征的類。Filter特征選擇是制定一個準則,衡量每個特征對目標特征屬性的重要程度,以此來對所有特征進行排序,剔除方差為零的特征,舍棄所有方差小于threshold的特征。
F檢驗法是由英國統計學家費雪提出的,通過雙檢驗,對兩個樣本的總體方差進行比較,尋找兩個樣本之間的線性關系,假設“數據不存在顯著的線性關系”,通過 F 值與P 值統計量來比較特征與標簽之間的線性關系,保存P值小于0.05或者大于0.01的特征,刪除P值大于0.05或者小于0.01的特征。
2.2 影響實施高送轉的因素
首先對高送轉行為進行一個量化,變量名為gsz,如果上市公司實施了高送轉,gsz=1,否則,gsz=0。影響上市公司高送轉的因素很多,包括市場的環境、財務的狀況,股票價格和監督政策等。通過Filter過濾法以及F檢驗法的特征篩選以及數據處理后,我們可以得出對高送轉有較大影響的因子有16個,分別是:平均股價、每股未分配利潤、每股凈資產、每股現金流量凈額、個股120日beta值、個股120日還手率、帶息流動負債、凈債務、營運資本、凈利息費用、息前稅后利潤、企業自有現金流量、固定資本、實收資本、成交量和帶息債務。并將16個因子作為因變量進行模型建立,分析與預測。
2.3 高送轉預測模型的構建
支持向量機是一種分類算法,也是一種二類分類模型,可以做回歸[3]。根據輸入的數據不同可做不同的模型,本模型通過輸入標簽為分類值做分類,樣本的數據給了7年的數據,通過對這7年的數據進行一個劃分,將前6年的數據作為訓練集,第7年的數據當作測試集,支持向量機借助訓練集以及測試集進行訓練,訓練過后會得到模型的一個準確率。然后引入算法來建立支持向量機的模型,并選取 SVC模型中的 rbf 方法,選擇rbf方式下的調參優化模型,提高學習機泛化能力,實現經驗風險和置信范圍的最小化,獲得良好統計規律的目的。rbf 核函數:
[K(xi,xj)=exp (-(γ(i)-γ(j))22σ2])
當γ(指本式中的[σ])比較小時,單個樣本對整個分類超平面的影響比較小,不容易被選擇為支持向量,反之,當γ比較大時,單個樣本對整個分類超平面的影響比較大[4],更容易被選擇為支持向量,或者說整個模型的支持向量也會多。
3 數據來源與處理
3.1 數據來源與選取
樣本數據選取了2020 年第八屆泰迪杯數據挖掘挑戰賽中提供的股票數據作為樣本。該樣本數據中提供每家公司七年數據(包括日數據和年數據),預測第八年會實施高送轉的股票,將選取第七年作為樣本測試集,前六年作為樣本訓練集。
3.2 數據處理
由于數據并未進行數據處理,避免影響模型預測,首先對樣本數據進行噪聲數據的處理,將不規范的數據統一處理為規范的數據,刪除或者補全基于給出數據當中的缺失值,在缺失值和異常值處理之后,為了消除計量單位和數量級不同的原因,對變量進行數據標準化[5]的去量綱處理。
4 實證分析
4.1 影響因素的篩選
4.1.1 Filter方法的篩選
在模型建立之前,特征工程要做的是優先消除方差為0的特征。利用此方法的特性,對于選取的第七年的數據整合日數據和年數據,利用Anaconda 3.7進行數據的分析,在分析之前,整合表中的因子字段數據剩余的156個因子,通過Filter過濾法的分析后,經過特征的篩選,將一些很相近的以及沒有什么用的因子進行剔除,最后得到的數據集當中還剩余82個因子字段,并以此作為數據集,如圖1,為之后進一步篩選做準備。
4.1.2 F檢驗的篩選
F 檢驗會返回F 值和 P 值兩個統計量,p 值小于 0.05 或大于 0.01 的特征,這些特征與標簽是顯著線性相關的,而 p 值大于 0.05 或小于0.01 的特征則被我們認為是和標簽沒有顯著線性關系的特征,應該被刪除。通過 Anaconda3.7 進行F 檢驗由 82 個特征篩選剩下16個因素,如圖2所示。
4.2 影響因素的因子
基于對樣本測試數據的Filter方法和F檢驗的篩選剩下16個因子,分析結果有:平均股價、每股未分配利潤、每股現金流量凈額、個股120日beta 值、個股120日還手率、帶息流動負債、凈債務、營運資本、凈利息費用、息前稅后利潤、企業自由現金流量、固定資本、實收資本、成交量、帶息債務、每股凈資產這16個因子。
4.3 模型建立與結果
首先把gsz 當成自變量,將上述篩選出的16個因子作為因變量進行支持向量機SVC模型預測。首先將7年的樣本數據進行劃分,將前6年的數據作為訓練集,第7年的數據當作測試集進行訓練,訓練過后我們會得到模型的一個準確率。然后對此來引入算法建立支持向量機的模型,算法模型代碼如圖3所示。
訓練集通過rbf訓練,通過調參后引入算法模型,最終得出模型的準確率為84.26%,模型準確度提升了15.74%,如表1所示。
根據定義好每10股送5股(包括5股)作為特征指標進行預測,得出了第八年預測上市公司會實施高送轉的股票534支,對比第八年的高送轉實施公司數據,成功實施高送轉有288支,準確率達 54%左右。
5 結束語
本文基于Filter過濾法和F檢驗法做數據處理,同時對比所篩選的因子對支持向量機模型準確度的影響程度,得出顯著的影響因子有平均股價、每股未分配利潤、每股凈資產、每股現金流量凈額、個股120日beta值,個股120日還手率,帶息流動負債、凈債務、營運資本、成交量等16個影響較大的因子,最后根據前七年數據,進行第八年上市公司實施高送轉的行為預測,并列舉出了前三十名股票編號。通過該模型對高送轉構建預測模型,得出合理的預測,降低對投資者盲目投資,能夠進一步地降低投資的風險。
參考文獻:
[1] 胡宸.基于集成學習的上市公司高送轉預測模型及投資策略設計[D].上海:上海師范大學,2019.
[2] 陳欣.上市公司高送轉如何預測[EB/OL].[2020-09-20].https://xueqiu.com/8635721061/32627533.
[3] OraYang.支持向量機(SVM)的分析及python實現[EB/OL].[2020-09-20].https://blog.csdn.net/u010665216/article/details/78382984.
[4] svm核函數gamma參數_RBF SVM 參數解讀 | gamma 和 C 如何對應模型表現[EB/OL].[2020-12-30].https://blog.csdn.net/weixin_39943220/article/details/112364241.
[5] 李思銘,林志杰,陳文,等.基于數據挖掘的上市公司高送轉預測[J].北方經貿,2020(12):131-134.
【通聯編輯:謝媛媛】