鄔春學(xué) 賴靖文
摘 要:傳統(tǒng)SVM算法對(duì)股票的研究主要是在數(shù)值上,通過(guò)訓(xùn)練后直接得到相應(yīng)的值。闡述了通過(guò)SVM算法預(yù)測(cè)漲跌后再使用股價(jià)趨勢(shì)獲得相應(yīng)預(yù)測(cè)值的預(yù)測(cè)方法。將歷史數(shù)據(jù)輸入模型作為訓(xùn)練集,經(jīng)過(guò)SVM算法訓(xùn)練后,再與大盤走勢(shì)、K線、MACD線、成交量等技術(shù)指標(biāo)進(jìn)行處理,作出擬合預(yù)測(cè)。最后通過(guò)走勢(shì)方向準(zhǔn)確度、總盈利率等指標(biāo),與基于SVM算法的其它預(yù)測(cè)進(jìn)行比較,驗(yàn)證該模型的應(yīng)用成效與可用度,為后續(xù)研究提供參考。
關(guān)鍵詞:股票預(yù)測(cè);SVM算法;股價(jià)趨勢(shì);總盈利率
DOI:10.11907/rjdk.172448
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)004-0042-03
Abstract:The traditional study of SVM algorithm on stock market is centered on the numerical value and obtains the corresponding value directly after the training. This paper introduces the prediction method in which corresponding prediction value is obtained by SVM algorithm and the stock price trend is combined into consideration of the prediction of corresponding values.The historical data are inputed into the modelas a training set. The data are then trained by SVM algorithm and dealt with the trend of the market, K line, MACD line, volume and other technical indicators to make aprediction. Finally, the trend direction accuracy, the total profit rate and other indicators and the newest predictions based on SVM algorithm are compared to test the application effectiveness and availability of the model, which makes a reference for the follow-up study.
Key Words:stock prediction; SVM algorithm; stock price trend; total profit margin
0 引言
股票具有變化多、非線性、可控性差等特點(diǎn),2009年、2015-2016年的股災(zāi)更是歷歷在目,從爭(zhēng)先恐后的盲目追高,到誠(chéng)惶誠(chéng)恐地一路陰跌,其中不乏一些賺的滿盆滿缽、買車買房的暴發(fā)戶,也有虧空跳樓的投資者。正是因?yàn)檫@種復(fù)雜多變的風(fēng)險(xiǎn)與收益落差極大的特點(diǎn),促使許多學(xué)者畢生致力于股票研究。
股票預(yù)測(cè)研究方法很多,比較常見的是回歸分析、時(shí)間序列分析兩種方法。這些方法在一定程度上揭示了股票的規(guī)律,但在股票預(yù)測(cè)的穩(wěn)定性、對(duì)大盤漲跌和總盈利率預(yù)測(cè)上并不理想。支持向量機(jī)(SVM)理論是以統(tǒng)計(jì)學(xué)為基礎(chǔ)的統(tǒng)計(jì)學(xué)習(xí)理論(Statistical Learning Theory),對(duì)于小樣本的快速預(yù)測(cè)能得到全局最優(yōu)解。雖然預(yù)測(cè)效果很大程度上取決于核函數(shù)的優(yōu)劣,但相對(duì)于單純使用ARIMA、貝葉斯等建模難度大、難以收斂、容易陷入局部極小值的模型,SVM還是比較適用的。SVM優(yōu)秀的泛化能力是其成為最常用的分類器的重要原因。
綜上考慮,本文決定采用SVM算法套用在神經(jīng)網(wǎng)絡(luò)模型上預(yù)測(cè)上證股價(jià),通過(guò)分析本算法以及近期最新的預(yù)測(cè)算法,進(jìn)行調(diào)整,為后續(xù)的股票預(yù)測(cè)研究打下堅(jiān)實(shí)的基礎(chǔ)。
1 SVM及相關(guān)工作
1.1 選股方法
選股方法很多,有從價(jià)格直接選取估值較低的股票進(jìn)行分析和買進(jìn)的,有從交易量看炒股板塊熱度進(jìn)行投資的,也有跟著大單買入賣出的,也有看經(jīng)濟(jì)新聞買入的??幢P方式形形色色,虧了賺了只有實(shí)踐才知道。歸納起來(lái)有下面3種:
(1)基本面。基本面就是股票的整體情況,從該公司的經(jīng)營(yíng)理念策略、公司報(bào)表、分紅以及未來(lái)的公司運(yùn)營(yíng)方向等考慮,這方面的投資者一半是中長(zhǎng)線(超過(guò)30日或以上),相當(dāng)于是一種價(jià)值投資,其收益除了股票本身的價(jià)值差外還有股票分紅等,是比較穩(wěn)健的投資方式。
(2)技術(shù)面。技術(shù)面就是股票的價(jià)格、成交量等數(shù)據(jù)。從K、RSI、MACD、MA均線等分析股票的價(jià)格走勢(shì)。這種投資者一般是短線或超短線(日拋或周拋),相當(dāng)于風(fēng)險(xiǎn)投資。收益很大,但風(fēng)險(xiǎn)也相對(duì)較高。
(3)消息面。消息面就是注意公司的各種信息。由于中國(guó)股票市場(chǎng)制度還不完善,很多公司與券商聯(lián)合起來(lái)炒作股票,券商買入后放出消息吸引資金追捧從中獲利。所以消息面和技術(shù)面是相輔相成的兩個(gè)選股指標(biāo),雖然市場(chǎng)上虛假消息以及延后消息非常多,但畢竟是公司內(nèi)部出來(lái)的消息,具有一定的價(jià)值。
本文的SVM算法基于數(shù)據(jù)統(tǒng)計(jì),主要從技術(shù)層面出發(fā),消息以及基本面暫不考慮。
1.2 SVM應(yīng)用
SVM算法由Vladimir N Vapnik和Alexey Ya發(fā)明。 1992年,Bernhard E Boser、Isabelle M Guyon和Vladimir N Vapnik提出了一種通過(guò)將內(nèi)核技巧應(yīng)用于最大余量超平面創(chuàng)建非線性分類器的方法。目前的標(biāo)準(zhǔn)化身(軟裕度)由Corinna Cortes和Vapnik于1993年提出。
SVM方法通過(guò)一個(gè)非線性映射p,把樣本空間映射到一個(gè)高維乃至無(wú)窮維的特征空間中(Hilbert空間),使得在原來(lái)的樣本空間中非線性可分的問(wèn)題轉(zhuǎn)化為在特征空間中的線性可分問(wèn)題,簡(jiǎn)單說(shuō)就是升維和線性化。升維,就是把樣本向高維空間做映射,一般情況下會(huì)增加計(jì)算的復(fù)雜性,甚至引起“維數(shù)災(zāi)難”,因而人們很少問(wèn)津。但是分類、回歸等問(wèn)題在低維樣本空間很可能無(wú)法線性處理樣本集,在高維特征空間卻可通過(guò)一個(gè)線性超平面實(shí)現(xiàn)線性劃分(或回歸)。一般升維都會(huì)帶來(lái)計(jì)算復(fù)雜化,SVM方法巧妙地解決了這個(gè)難題:應(yīng)用核函數(shù)的展開定理,不需要非線性映射的顯式表達(dá)式;由于是在高維特征空間中建立線性學(xué)習(xí)機(jī),所以與線性模型相比,不但沒(méi)有增加計(jì)算的復(fù)雜性,而且在某種程度上避免了“維數(shù)災(zāi)難”,這是核函數(shù)的展開和計(jì)算理論的擴(kuò)展。
正是由于SVM算法基于小樣本,有著良好的數(shù)學(xué)基底,所以具有良好的魯棒性,因而廣泛應(yīng)用于各行各業(yè)。
2 SVM股票處理模型
2.1 股票選取與預(yù)處理
影響股票價(jià)格的因素很多,人為因素占非常大的比例,很多券商為了炒高股價(jià)而先期大量買入,后放出消息,再擇機(jī)賣出,這樣的股票分析起來(lái)很困難,經(jīng)常會(huì)出現(xiàn)沒(méi)有成交量暴跌,或成交量大及暴漲等不合理、難以分析的現(xiàn)象。因此本文選取盤面較大的(難以被操控的)股票。數(shù)據(jù)從2014年7月8日至2017年5月26日數(shù)據(jù),共680組,其中30組作為訓(xùn)練數(shù)據(jù),訓(xùn)練出模型,其余650組作為預(yù)測(cè)數(shù)據(jù)。本文以收盤價(jià)為預(yù)測(cè)對(duì)象,將數(shù)據(jù)與其它網(wǎng)站(網(wǎng)易財(cái)經(jīng)、東方財(cái)富、大智慧等)搜集的數(shù)據(jù)先進(jìn)行完整性處理,將殘缺的數(shù)據(jù)根據(jù)東方財(cái)富、網(wǎng)易財(cái)經(jīng)等比對(duì)后填入數(shù)據(jù);然后進(jìn)行數(shù)據(jù)準(zhǔn)確性處理,將券商間的信息比對(duì)后,與其它券商不同的數(shù)據(jù)進(jìn)行更改處理。
進(jìn)行比較并將停盤數(shù)據(jù)刪除之后的數(shù)據(jù)如圖1所示。
2.2 股價(jià)趨勢(shì)分析模型
模型選擇因?yàn)橛绊懸蛩囟?,因此不能僅選取其中之一來(lái)決定股票價(jià)格,使用最多的是神經(jīng)網(wǎng)絡(luò)知識(shí)構(gòu)建預(yù)測(cè)模型,如圖2所示。
3 模型評(píng)價(jià)指標(biāo)
3.1 股價(jià)走勢(shì)準(zhǔn)確率
為了分析本模型效果,選取兩個(gè)指標(biāo)進(jìn)行評(píng)判:①走勢(shì)準(zhǔn)確率;②總盈利率。
走勢(shì)準(zhǔn)確率是和股票走勢(shì)方向相同的次數(shù)與總預(yù)測(cè)次數(shù)的比值,希望知道的是股價(jià)走勢(shì)和未來(lái)的方向,以此預(yù)測(cè)走勢(shì)。若一個(gè)股票預(yù)測(cè)系統(tǒng)能正確預(yù)測(cè)大盤走勢(shì),說(shuō)明這個(gè)預(yù)測(cè)模型具有很高的實(shí)用性和使用價(jià)值。
3.2 股票總盈利
投資者最關(guān)心的是總盈利率,該指標(biāo)反映模型在單只股票中一定的交易日內(nèi),是否為投資者帶來(lái)收益,是評(píng)價(jià)模型的重要指標(biāo)。
4 模型預(yù)測(cè)結(jié)果案例分析
本文選取中國(guó)重工(601989)從2014年7月8日至2017年5月21日的681個(gè)交易日數(shù)據(jù)作為數(shù)據(jù)源,從中劃分出訓(xùn)練以及預(yù)測(cè)的相鄰數(shù)據(jù)。以其中30組作為訓(xùn)練集,其余的作為預(yù)測(cè)集,之后根據(jù)權(quán)重計(jì)算相應(yīng)漲跌,再根據(jù)股票的成交量與漲幅趨勢(shì)計(jì)算出漲跌的相關(guān)指標(biāo),最后根據(jù)給出的結(jié)果計(jì)算相應(yīng)指標(biāo),如表1所示。
根據(jù)不同模型計(jì)算漲跌幅,如圖3所示。
盈利率計(jì)算公式如下:
為使數(shù)據(jù)更有說(shuō)服力,取連續(xù)上行的第3個(gè)峰作為買入點(diǎn),以及連續(xù)下行的第3個(gè)峰作為賣出點(diǎn),得到盈利率為0.53。雖然該算法的盈利率在股票市場(chǎng)不是很理想,但相對(duì)于銀行利率,預(yù)測(cè)結(jié)果還是可以接受的,具有一定的實(shí)用價(jià)值。
5 結(jié)語(yǔ)
本文通過(guò)建立SVM模型,分別用k線、大盤以及其它指標(biāo)綜合預(yù)測(cè),給出了股票漲跌的預(yù)測(cè)結(jié)果。根據(jù)價(jià)格變動(dòng)幅度和換手率做出趨勢(shì)方程,得到較好的結(jié)果。但SVM漲跌預(yù)測(cè)還存在較大改進(jìn)空間,在評(píng)判體系以及算法改進(jìn)方面還有很多需要研究的地方。
參考文獻(xiàn):
[1] 百度百科.SVM詞條[EB/OL].http://baike.baidu.com/link?url=Ptry1cCOJxbzMe_yoN11b-jwJN4e4zCi-IhgCRMQN_SA6mRhrGn418WBc-wHhOXYKT9Qq02cE4BR-xR8zYDA2q.2017.7.10.
[2] 張秀艷,徐本立.基于神經(jīng)網(wǎng)絡(luò)集成系統(tǒng)的股市預(yù)測(cè)模型[J].系統(tǒng)工程理論與實(shí)踐,2003,23(9):67-70.
[3] 喻勝華,肖雨峰.基于信息?;椭С窒蛄繖C(jī)的股票價(jià)格預(yù)測(cè)[J].財(cái)經(jīng)理論與實(shí)踐,2011,32(6):44-47.
[4] 程硯秋.基于支持向量機(jī)的證券價(jià)格預(yù)測(cè)方法研究[D].大連:大連理工大學(xué),2007.
[5] 張良均,王路,譚立云,等.Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)[M].北京:機(jī)械工業(yè)出版社,2015.
[6] WEN F H, XIAO J H, HE Z F. Fuzzy cognitive diagnosis for modelling examince performace[J]. Procedia Computer Science,2014(31):625-631.
[7] 黃秋萍,周霞,甘宇健,等.SVM與神經(jīng)網(wǎng)絡(luò)模型在股票預(yù)測(cè)中的應(yīng)用研究[J].微型機(jī)與應(yīng)用,2015,34(5):88-90.
[8] 程昌品,陳強(qiáng),姜永生.基于ARIMA+-+SVM組合模型的股票價(jià)格預(yù)測(cè)[J].計(jì)算機(jī)仿真,2012,29(6):343-346.
[9] 韓瑜,劉淑環(huán).基于GARCH-SVM和AR-SVM的個(gè)股漲跌預(yù)測(cè)[J].大連海事大學(xué)學(xué)報(bào),2016,15(3):25-30.
[10] 賈秀倩,劉翔,周洋,等.基于LS-SVM算法的旅游數(shù)量預(yù)測(cè)[J].科技經(jīng)濟(jì)導(dǎo)刊,2016(1):6-7.
[11] 黃同愿,陳芳芳.基于SVM股票價(jià)格預(yù)測(cè)的核函數(shù)應(yīng)用研究[J].重慶理工大學(xué)學(xué)報(bào),2016,30(2):89-94.
[12] JUNG S B, KIM S W. Improvement of scanning accuracy of PZT piezoelectric actuators by feed-forward model-reference control[J].Precision Engineering,1994,16(1):49-55.
[13] YAN D F, ZHOU G, ZHAO X, et al. Predicting stock using microblog moods[J]. China Communications,2016,30(8):244-257.
(責(zé)任編輯:杜能鋼)