熊峰
(1.中國科學(xué)院合肥物質(zhì)科學(xué)研究院,安徽 合肥 230031; 2.中國科學(xué)技術(shù)大學(xué),安徽 合肥 230026)
在分析過程中,主要就機(jī)器學(xué)習(xí)當(dāng)中的SVM分類技術(shù)進(jìn)行研究,再利用股票的分類指標(biāo),當(dāng)作分類的基礎(chǔ)數(shù)據(jù),可以實(shí)現(xiàn)對股票進(jìn)行分類,以此來對股票的收益率進(jìn)行相應(yīng)的預(yù)測。在獲取的分類的結(jié)果之后,也能很好地對各種性質(zhì)的股票進(jìn)行組合,使得能夠保障計算出的收益率,大于市場當(dāng)中的平均收益率。
支持向量機(jī)(SVM)是一種基于統(tǒng)計學(xué)習(xí)理論的新數(shù)據(jù)挖掘方法。它在解決小樣本,非線性和高維模式識別問題方面具有許多獨(dú)特的優(yōu)勢。基本原則主要來自結(jié)構(gòu)風(fēng)險最小化原則和風(fēng)險資本水平。支持向量機(jī)和二分類模式識別問題,也有人使用支持向量機(jī)進(jìn)行函數(shù)擬合。根據(jù)這兩個目的,支持向量機(jī)分為支持向量分類機(jī)和支持向量回歸機(jī)。常用的另一種數(shù)據(jù)挖掘方法是神經(jīng)網(wǎng)絡(luò)方法。與神經(jīng)網(wǎng)絡(luò)相比,支持向量機(jī)具有扎實(shí)的統(tǒng)計基礎(chǔ)。具有以下優(yōu)點(diǎn):
第一,根據(jù)結(jié)構(gòu)風(fēng)險最小的原則,降低了提升誤差的上限,具有優(yōu)良的提升性能,解決了神經(jīng)網(wǎng)絡(luò)過擬合的現(xiàn)象。
第二,此問題的解決方案與具有線性約束的凸二次規(guī)劃問題相同。它具有全局最優(yōu)解,可以解決神經(jīng)網(wǎng)絡(luò)的局部最小問題。
第三,將原始問題映射到高維空間,在高維空間中構(gòu)造線性分類函數(shù)以劃分原始問題,并引入核函數(shù)來解決該問題。
以上優(yōu)點(diǎn)可以解決維度災(zāi)難問題。
結(jié)構(gòu)風(fēng)險最小化原則:在統(tǒng)計學(xué)習(xí)理論中,實(shí)際風(fēng)險分為兩部分。一個是代表給定樣本分類函數(shù)誤差的經(jīng)驗(yàn)風(fēng)險,另一個是置信度風(fēng)險。代表了可以在多大程度上可以信任分類器在未知數(shù)據(jù)上分類的結(jié)果。從統(tǒng)計學(xué)習(xí)中要獲最優(yōu)函數(shù),追求的不是經(jīng)驗(yàn)風(fēng)險最優(yōu)化,而是結(jié)構(gòu)風(fēng)險最優(yōu)化。我們的目標(biāo)是最大限度地減少機(jī)器學(xué)習(xí)方法的經(jīng)驗(yàn)風(fēng)險,但后來發(fā)現(xiàn)許多分類函數(shù)可以輕松實(shí)現(xiàn)樣本集很高的準(zhǔn)確性,但完全用于實(shí)盤分類的時候結(jié)果卻很不理想。此時選擇一個足夠復(fù)雜的分類函數(shù)以準(zhǔn)確存儲每個樣本,但是樣本之外的數(shù)據(jù)不能正確分類。這樣做的主要原因是,在訓(xùn)練小樣本時,如果樣本數(shù)量與總樣本大小比例太小,小樣本不能很好地反映所有樣本的行為,這就導(dǎo)致推廣性很低。此時我們需要了解分類函數(shù)對未知數(shù)據(jù)的分類能力,需要用致信度風(fēng)險來衡量。
通過篩選了一些在中國具有代表性和知名度的股票。通常,與大型股票指數(shù)相比,單個股票的波動性更為“隨機(jī)”。解決方案是提出一套可行的方法,在實(shí)際操作中,可以根據(jù)實(shí)際情況靈活選擇參數(shù)和數(shù)據(jù)指標(biāo)。如果對單個股票的研究能夠產(chǎn)生一致的結(jié)果,它將在投資中有很強(qiáng)的指導(dǎo)性,但是將單個股票的特性推廣到其他股票研究也有一定風(fēng)險。
對于支持向量機(jī)而言,需要依據(jù)樣本當(dāng)中的特征x以及屬性y,來對樣本進(jìn)行分類。為此,在對輸入向量的合理性確定的過程中,其輸出向量y有著重要的作用。在進(jìn)行特征變量選擇的過程中,需要重視起特征向量與預(yù)測結(jié)果之間的關(guān)聯(lián)。同時,對于輸入向量當(dāng)中的一些無關(guān)特征向量上,會使得取得的問題具有較高的復(fù)雜性,降低成功預(yù)測的可能性。
在基礎(chǔ)行情方面,一般情況下主要的指標(biāo)為漲幅、成交量、持倉量、最高價、最低價以及收盤價,但是對于股票的技術(shù)性指標(biāo)分析上,則需要重視起對MA5、CCI、OBV以及RSI等指標(biāo)的分析。而在對實(shí)際的股票數(shù)據(jù)進(jìn)行分析的過程中,由于在基礎(chǔ)行情指標(biāo),以及在技術(shù)性指標(biāo)當(dāng)中信息數(shù)據(jù)可能會存在相同的情況,為此在進(jìn)行問題解決的過程中,會存在著一定的困難。因此針對這種問題,需要在分析的過程中,利用主成分分析方法來進(jìn)行處理,對問題進(jìn)行降維。
獲取均線,MACD等指標(biāo)數(shù)據(jù)。
data[‘5’] = data.close.rolling(5).mean()
data[‘20’] = data.close.rolling(20).mean()
data[‘60’] = data.close.rolling(60).mean()
DIFF, DEA, hist = talib.MACD(data[‘close’],f a s t p e r i o d=f a s t p e r i o d, s l o w p e r i o d=s l o w p e r i o d, signalperiod=signalperiod)
data[‘CCI’] = talib.CCI(data.high,data.low,data.close,timeperiod=14)
data[‘upperband’],data[‘middleband’],data[‘lowerband’] =talib.BBANDS(data.close,timeperiod=20, nbdevup=2, nbdevdn=2)
現(xiàn)階段提出了各種類型的分析方法和建模的方式,但是對于機(jī)器學(xué)習(xí)領(lǐng)域分類方面,采用的流程比較相似,例如需要進(jìn)行模式設(shè)計以及學(xué)習(xí)模式的設(shè)計。在統(tǒng)計學(xué)理論下,設(shè)計模式主要體現(xiàn)于訓(xùn)練集進(jìn)行集中的訓(xùn)練,以此獲取到一個分類器。對于學(xué)習(xí)模式而言,主要是在訓(xùn)練的過程中,利用各種參數(shù)進(jìn)行訓(xùn)練,最后再對其測試集進(jìn)行相應(yīng)的測試,并對測試的結(jié)果進(jìn)行分類決策分析。
首先需要進(jìn)行缺失值的處理,本文對A股當(dāng)中出現(xiàn)的財務(wù)指標(biāo)數(shù)據(jù)進(jìn)行分析,但是對于另一些公司而言,一旦在一段時間內(nèi)停牌,就會導(dǎo)致數(shù)據(jù)并不會很好的體現(xiàn)財務(wù)指標(biāo),為此就造成了數(shù)據(jù)的缺失值出現(xiàn)。對于這一部門的缺失值處理,就需要進(jìn)行手工的處理,將數(shù)據(jù)進(jìn)行補(bǔ)全。但是一旦出現(xiàn)了大量的缺失值,就需要對數(shù)據(jù)進(jìn)行刪除。
其次對原始數(shù)據(jù)處理之外,還需要對數(shù)據(jù)經(jīng)行標(biāo)準(zhǔn)化在多維樣本數(shù)據(jù)中,由于每個標(biāo)量都來自不同的字段并且具有不同的值范圍,因此不同的分量具有不同的數(shù)據(jù)大小,并且較大的分量也非常大。對模型的影響越大,組件越小,對模型的影響就越小。這就像在構(gòu)建模型之前人為地將權(quán)重添加到其他指標(biāo)一樣比例。甚至丟失了一些信息,使其變得非常不科學(xué)。另外,由于計算機(jī)可以表示的數(shù)據(jù)的精度是有限的,所以如果單個數(shù)據(jù)太大或太小,則計算出的數(shù)據(jù)將很容易越界并丟失信息?;谝陨峡紤],必須在一定程度上處理選擇的原始數(shù)據(jù),數(shù)據(jù)處理具體步驟如下:
1.去極值:一般去極值的處理方法就是確定該項(xiàng)指標(biāo)的上下限,然后超過或者低于限值的數(shù)據(jù)統(tǒng)統(tǒng)即為限值。
2.缺失值處理:得到新的因子暴露度序列后,將因子暴露度缺失的地方設(shè)為中信一級行業(yè)相同個股的平均值。
3.行業(yè)市值中性化:將填充缺失值后的因子暴露度對行業(yè)變量和取對數(shù)后的市值做線性回歸,取殘差作為新的因子暴露度。
4.標(biāo)準(zhǔn)化:將中性化處理后的因子暴露度序列減去其現(xiàn)在的均值、除以其標(biāo)準(zhǔn)差,得到一個新的近似服從N(0,1)分布的序列。
5.主成分分析:為避免特征之間的共線性,對標(biāo)準(zhǔn)化處理后的指標(biāo)等因子暴露度進(jìn)主成分分析,得到維度轉(zhuǎn)換后的新特征。
在應(yīng)用支持向量機(jī)對其分類的問題進(jìn)行預(yù)測的過程中,需要進(jìn)行懲罰參數(shù)C以及核函數(shù)G的確定,一旦這兩個影響因素?zé)o法確定,就會出現(xiàn)過度學(xué)習(xí)的問題。在對C和G進(jìn)行確定的過程中,主要是利用遺傳算法進(jìn)行參數(shù)的尋找,但是在本文的分析過程中,采用了粒子群算法之后,可以利用其智能優(yōu)化的算法類型,進(jìn)行尋優(yōu)機(jī)制的優(yōu)化處理,以此尋找到最優(yōu)解。
使用風(fēng)格搜索尋找最佳參數(shù)。
grid_search = GridSearchCV(SVC(), param_grid, cv=5, return_train_score=True)
grid_search.fit(X_train_scaled,y_train)
表1 訓(xùn)練結(jié)果
mean_train_score mean_test_score param_C param_gamma rank_test_score 1.0 0.526035 100 0.01 35 1.0 0.561699 100 0.1 31 1.0 0.574980 100 1 1 1.0 0.574980 100 10 1 1.0 0.574980 100 100 1

圖1 參數(shù)搜索熱力圖
在本文的分析過程中,需要對建立起來的模型進(jìn)行系統(tǒng)分析和檢驗(yàn),為此需要應(yīng)用到股票價格的分類預(yù)測。之后再將預(yù)測的結(jié)果,在不同高斯核函數(shù)下,對建立起來的SVM預(yù)測模型進(jìn)行數(shù)據(jù)的比較分析。
首先需要取A股的股票數(shù)據(jù),之后再依據(jù)歷史的行情,將行情的變量以及技術(shù)指標(biāo)的變量輸入其中。之后利用主成分分析方法,對其輸入的向量數(shù)據(jù)進(jìn)行系統(tǒng)的分析和降維,這樣的處理方式,可以有效地降低模型的復(fù)雜程度。然后需要使用最優(yōu)核函數(shù),建立起動態(tài)分類預(yù)測模型,同時在對建立起來的動態(tài)預(yù)測模型上,輸入行情指標(biāo)以及技術(shù)指標(biāo),這樣便建立起來較為合適的交易策略。
在對支持向量機(jī)進(jìn)行模型進(jìn)行分類的過程中,其輸入向量的確定,起到關(guān)鍵的作用。對于股票市場而言,股票的各種指標(biāo),會受到大宗商品的影響,對于輸入向量的合理處理,是進(jìn)行問題解決的關(guān)鍵所在。相比較其他類型的機(jī)器學(xué)習(xí)算法處理方式,在本文的技術(shù)分析過程中,對于股票的預(yù)測效果比較好。同時為了進(jìn)一步的權(quán)衡,在股票市場當(dāng)中的提煉更有效的技術(shù)指標(biāo),不斷的提升預(yù)測股票的準(zhǔn)確率。
股指期貨推出后,市場對它的重視程度超過預(yù)期。除了股指期貨套利業(yè)務(wù)受到追捧外,風(fēng)險偏好較大的投資者也希望通過期貨指數(shù)的杠桿效應(yīng)在投機(jī)業(yè)務(wù)中獲利。這時候判斷股指走勢就比以前重要了。我們將利用SVM的簡單預(yù)測模型,通過研究與股指密切相關(guān)的指標(biāo)來預(yù)測滬深300的走勢,在實(shí)際交易中具有很強(qiáng)的參考價值。