《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > K近鄰及其集成模型的股票價格預測
K近鄰及其集成模型的股票價格預測
2019年電子技術應用第5期
張偉楠,魯統宇,孫建明
中國計量大學 經濟與管理學院,浙江 杭州310018
摘要: 為了驗證股票的價格運動與過去應該是相似的這一假設,運用K近鄰算法,將價格運動簡單劃分為漲跌兩類進行預測,進行假設驗證。使用滑窗方法比較現在的價格運動與何時的歷史價格更為相似,將多個K近鄰模型組合成集成模型,實現模型的泛化和策略收益的調整。使用中證500指數的歷史價格數據進行預測實證,2017年~2018年9月的預測結果顯示單個K近鄰模型策略獲得76.72%的收益,現在的價格運動與遙遠的過去更為相似,集成模型能更好地控制風險。該模型利用K近鄰模型的含義驗證了股票價格運動具有相似性,可以作為證券交易的擇時策略。
中圖分類號: TP399
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190140
中文引用格式: 張偉楠,魯統宇,孫建明. K近鄰及其集成模型的股票價格預測[J].電子技術應用,2019,45(5):9-13,22.
英文引用格式: Zhang Weinan,Lu Tongyu,Sun Jianming. Stock price predication based on KNN and its ensemble model[J]. Application of Electronic Technique,2019,45(5):9-13,22.
Stock price predication based on KNN and its ensemble model
Zhang Weinan,Lu Tongyu,Sun Jianming
College of Economics and Management,China Jiliang University,Hangzhou 310018,China
Abstract: In order to verify the assume that stock price movement is similar to the past,pricing movement is simply dividend into up and down by K-Nearest Neighbor algorithm for forecasting. Sliding window method is used for comparing which historical period is more similar to the current in data feature. Multiple KNN models construct ensemble models for the strategy generalization and return adjustment. The CSI500 price is used for verification. With the predication, single KNN model wins 76.72% return with fee return from 2017 to Sep. 2018,remote historical period is more similar to the current in data feature,and ensemble models are better in risk control. This model verifies the stock price is similar with K-Nearest Neighbor character, which could be used as an investment timing strategy.
Key words : K-Nearest Neighbor;sliding window;ensemble model;investment timing

0 引言

    預測資產的未來價格一直以來都是個人投資者和機構投資者的重要問題。其中,股票價格的預測是非常困難的,因為股票市場是不確定的、非線性的復雜動態系統,而且受眾多因素影響。對于專業交易員,基本面分析和技術分析是最常見的兩種交易決策方式。基本面分析主要是用宏觀的經濟、工業和商業指標。技術分析主要是使用歷史價格數據和相關的技術指標,事實上是假設原先的價格會對以后的價格有影響。

    從歷史時間序列來預測價格與FAMA E F的有效市場假說[1]違背。按照這一假說,有效市場無法從歷史價格中預測未來價格。但事實上,有很多研究與這一假設是相違背的,特別是基于技術分析的研究。在股票市場上,技術分析主要運用的方法可以簡單分為統計和人工智能(機器學習)兩大類。通常價格的時間序列天然具有無序、有噪聲、非線性等特性,不是一個固定的形態[2]。因此,統計方法在股票指數的預測上表現不佳,本文決定使用機器學習方法來對股指價格進行預測。

    以往研究中,單個KNN模型難以滿足預測股票價格的需要,混合模型和改進模型更為常見。Li Hui等按照K近鄰的思路來對財務困境特別是破產預警問題進行預測[3]。TEIXEIRA L A和OLIVEIRA A L I結合K近鄰和常用的技術分析工具進行實證,認為預測短期股票價格趨勢是可行的[4]。趙俊杰利用ReliefF算法確定特征的權值,對K最近鄰特征投影算法進行改進[5]。NAYAK R K等提出了一個支持向量機和K近鄰混合的模型預測印度股票指數。比較其他模型,他們認為這一模型能夠很好地利用高維數據、有更好的預測能力[6]。Chen Yingjun和Hao Yongtao提出了一個基于特征的加權支持向量機和加權的K近鄰混合模型。權重通過計算信息增益來確定,在上證綜指和深證綜指上進行實證,具有不錯的預測表現[7]集成模型在股票價格預測研究中也十分常見。PATEL J等比較了神經網絡(ANN)、支持向量機(SVM)、隨機森林(RF)、樸素貝葉斯(NB),隨機森林有更好的預測表現[8]。隨后,PATEL J等混合了ANN模型、RF模型、SVR模型,其中VR-ANN模型有著最好的整體表現[9]。Zhang Xiaodan等將AdaBoost算法與概率支持向量機結合,成功地解決了轉折點的不均衡問題[10]

    本文希望利用技術指標有效地對股票指數進行預測。K近鄰(K-Nearest Neighbor,KNN)算法利用預測數據最接近的訓練數據進行預測。盡管這不能實現對價格運動的解釋,但有很好的經濟學含義,即過去發生的價格運動與現在的價格運動在特征上是相似的。本文使用K近鄰算法對股票價格的運動模式進行識別和預測,解決投資交易中的擇時問題;隨后使用滑窗方法,比較不同歷史數據的相似情況;最后使用多個K近鄰模型構成一個投票的集成模型,增強模型的預測能力和泛化能力。

1 實驗原理

1.1 K近鄰模型

    K近鄰學習是機器學習中一種常見的監督學習方法,其工作機制非常簡單。在給定訓練樣本后,基于某種度量找出訓練集與測試集中最接近的K個樣本,即所謂的K個鄰居來預測樣本類別。度量通常使用標準歐幾里德距離。預測通常使用“投票法”,選擇K個樣本中最多的類別作為預測結果。顯然K是一個很重要的參數,會對分類結果產生重要的影響。本文基于這樣的假設:在股票市場上,過去發生過的情況仍會發生,股票價格運動在特征上是相似的。預測前,使用交叉驗證來確定訓練數據中最優參數K。K近鄰雖然簡單,但其預測能力不可小覷。當給定測試樣本x,其最近鄰樣本為z,則最近鄰分類器出錯概率,即x與z類別標記不同的概率為:

rgzn2-gs1-2.gif

rgzn2-gs1-2-x1.gif

1.2 集成模型

    集成學習是結合使用給定學習算法的幾個基本估計器的預測,以便通過單個估計器來提高模型的泛化能力。其中,bagging是常見的一類方法,其建立在原有訓練集的隨機子集黑匣子估計的幾個基礎學習器,然后匯總它們各自的預測,形成最終的預測算法。這類方法減少基本估計量方差,將隨機化引入到其構建過程中,最后合并出來。在許多情況下,bagging構成了一種非常簡單的改進單一模型的方式,而不需要適應基礎的基本算法。Boosting是另一種將弱學習器提升為強學習器的算法:先從訓練集中訓練出一個基礎學習器,在根據其表現對樣本分布進行調整,基礎學習器中錯誤的訓練樣本受到更多關注,進行調整來訓練下一個基礎學習器,循環往復,直到基礎學習器數量達到最初設定的值t。最后將t個基礎學習器進行加權結合。

    為了增強預測能力,本文使用多個K近鄰分類器組成一個集成分類器,在單個K近鄰模型的分類投票后進行再次投票。由于K近鄰分類中參數K對結果影響重大,本文將使用不同參數K的K近鄰分類器來組成一個集成分類器。盡管訓練數據的最優K值未必是預測數據中最優的,但假設這一K值也是十分接近最優值的,只是不能準確地知道確切值。使用訓練數據中最優K值的鄰域構建多個K近鄰模型。最后進行投票,與單個K近鄰模型的分類投票原則“少數服從多數”不同,使用“一票否決”增加了預測的準確度,避免錯誤交易和不必要交易帶來的損失。

2 預測仿真

2.1 數據情況

    本文使用中證500指數(CSI500)的價格數據,時間從2007年~2018年9月,數據包括收盤價、開盤價、最高價、最低價、5日均價(收盤價)、成交額和漲跌額。數據均來Wind金融終端。這些都是常用數據,不存在缺失項問題,所有數據進行統一的標準化處理。對價格運動進行簡單劃分,按照收益率將所有交易日劃分為漲和跌兩種模式。與絕大多數之前研究不同,本文不以0收益率為劃分界限,按照中位數(50%分位數)進行劃分,前50%標記為類別‘1’(漲),后50%標記為類別‘0’(跌)。

    在圖1中,可以看到中證500指數的收益分布大致對稱,中位數與0十分接近。通過上面的類別劃分,可以得到兩類數量相當的訓練數據,避免了類別不平衡問題。

rgzn2-t1.gif

    觀察圖2中特征間的相關系數,可以看到價格的收盤價(close)、開盤價(open)、最高價(high)、最低價(low)和5日均價(5d)有非常強的線性相關,成交額(amt)也與價格指標有很強的正線性相關,但漲跌額(chg)與其他指標的相關系數很小,可以認為漲跌與其他指標不存在線性相關性。考慮相關系數,為了盡可能地減少數據特征和保留完整的經濟學意義,本文只使用最高價(high)、最低價(close)、五日均價(5d)、成交額(amt)和漲跌額(chg)5個特征。

rgzn2-t2.gif

    考慮實際交易具有可操作性,所有特征進行滯后一天處理,即用前一天的數據預測下一天的漲跌。在操作上,本文假設允許進行雙向操作,預測為漲的交易日做多,預測為跌的交易日做空。由于漲跌模式的變化通常比較頻繁,因此考慮了手續費對收益的影響,每次交易收取千分之1.5的費用。

2.2 K近鄰模型預測

    將2007年~2016年的數據作為訓練數據,2017年~2018年9月的數據作為預測數據。首先使用單個K近鄰模型進行中證500指數的漲跌預測。由于K近鄰模型中,參數K的作用十分重要,本文使用網格搜索,使其在訓練數據中最優,得到K=17是訓練數據的最優參數,隨后對預測數據進行預測。單個KNN策略的收益情況如下,由于參考K=17,將此策略簡稱為K17KNN,該策略考慮手續費簡稱為K17KNN_fee,收益表現如圖3所示。

rgzn2-t3.gif

    在表1中,預測的21個月中,單個KNN模型獲取140.40%的收益,扣除手續費仍然有76.72%的收益。手續費對收益情況有相當大的影響。觀察波動率、最大回撤和夏普比率,看到單個KNN模型通過參數K調優可以獲得一個不錯的交易結果。

rgzn2-b1.gif

2.3 滑窗方法預測

    K近鄰是一種懶惰算法,基本沒有訓練模型的過程。這意味著預測結果嚴重依賴于訓練數據的質量。K近鄰模型有著十分強烈的內在含義,即預測樣本與哪些訓練樣本在特征上更接近(相似)。使用這一模型可以解答一個有趣的問題,現在股票價格的運動與遙遠的歷史更接近還是與剛剛的過去更接近。理論上,對現在的股票價格運動而言,遙遠的過去可能有更接近的價格表現,剛剛的過去則有基本一致的宏觀背景。

    在K近鄰模型下,調整訓練數據,觀察預測結果來回答這一問題。使用滑窗方法來調整訓練數據,較短的窗口代表剛剛的過去,較長的窗口來代表遙遠的歷史。利用不同訓練數據的收益差別,觀察模型的預測差別,即數據間相似情況的差別。

    在圖4~圖6中,return代表策略的累計收益,return_fee代表策略考慮手續費后的累計收益。使用不同長度窗口的滑窗KNN模型,對2017年~2018年9月進行預測,不同窗口長度的KNN模型之間預測效果差異很大。整體而言,窗口越長策略收益越好。也就是說,現在股票價格與遙遠的歷史數據更接近,而不是剛剛過去的數據。

rgzn2-t4.gif

rgzn2-t5.gif

rgzn2-t6.gif

2.4 集成模型預測

    前面的單個K近鄰模型已經能夠實現不錯的股票漲跌模式預測。但事實上,訓練數據的最優K值未必是預測數據的最優K值,單個K近鄰模型的表現未必穩定。為了進一步增強K近鄰的預測能力和泛化能力,本文使用多個K近鄰模型組成一個集成學習模型,也可以稱為集成學習器。

    除了訓練數據的最優參數K=17,本文還使用17的鄰域16和18來構建一個基于3個基礎學習器的集成學習器。當3個學習器的預測均為漲時,做多;當3個學習器的預測均為跌時,做空;其他情況不操作。由于使用了3個KNN模型,即t=3,將此集成模型策略簡稱為t3_KNN,該策略考慮手續費簡稱為t3_KNN_fee,收益表現見圖7。在表2中,t3集成模型與之前的單一模型對比,最大回撤和夏普比率基本相當,波動率得到有效減少,但其代價是收益率的下降。

rgzn2-t7.gif

rgzn2-b2.gif

    進一步增加基礎學習器的數量,使用K=15、16、17、18、19 5個基礎學習器(即t=5)構成集成學習器進行預測。同樣,此策略簡稱為t5_KNN,考慮手續費簡稱為t5_KNN_fee,收益表現見圖8。在表3中,t5集成模型與t3集成模型相比,夏普比率相當,增加了收益和降低最大回撤,增加了一定的波動率。

rgzn2-t8.gif

rgzn2-b3.gif

        進一步增加基礎學習器的數量,使用K=14、15、16、17、18、19、20共7個基礎學習器構成集成學習器進行預測。同樣,此策略簡稱為t7_KNN,考慮手續費簡稱為t7_KNN_fee,收益表現見圖9。在表4中,t7集成器與t5集成器相比,夏普比率、最大回撤和波動率相當,但收益得到進一步提升。可以進一步增加基礎學習器的數量,但收益表現并非隨著數量的增加而提高。以上的集成器與單個模型相比,是以收益為代價來降低最大回撤和波動率。隨著基礎學習器的增加,夏普比率相當,波動率和最大回撤會緩慢增加,收益逐步增加。 

rgzn2-t9.gif

rgzn2-b4.gif

3 結論

    使用K近鄰算法對中證500指數的漲跌進行預測,交易上,預測為漲時做多,預測為跌時做空。考慮可行性,特征數據滯后一天,還考慮交易手續費,假設為千分之1.5。本文得出以下結論:

    (1)單個K近鄰模型在2017年~2018年9月間取得了76.72%的累計收益(含手續費)。這一收益表現驗證了假設,即股票的價格運動與過去是相似的。

    (2)考慮K近鄰模型的內在含義,使用不同的訓練數據,比較現在的股票價格運動與遙遠的歷史價格運動和剛剛過去的價格運動哪個更為相似。預測結果表明:盡管剛剛過去的數據與現在的股票價格運動有更一致的宏觀背景,現在的股票價格運動還是與遙遠的歷史價格運動更為相似。

    (3)使用多個KNN構成集成學習模型,K值是訓練數據的最優參數17的左右鄰域。逐步增加KNN的數量t,發現模型的夏普比率相當,收益率逐漸增加,代價為波動率和最大回撤的擴大。很難判斷最優的數量t,但整體而言,集成模型能夠更好地控制收益和風險間的關系,其收益表現更適合作為擇時策略。

參考文獻

[1] MALKIEL B G,FAMA E F.Efficient capital markets:a review of theory and empirical work[J].Journal of Finance,1970,25(2):383-417.

[2] GUEGAN D.Chaos in economics and finance[J].Annual Reviews in Control,2009,33(1):89-93.

[3] Li Hui,Sun Jie,Sun Boliang.Financial distress prediction based on OR-CBR in the principle of k-nearest neighbors[J].Expert Systems with Applications,2009,36(1):643-659.

[4] TEIXEIRA L A,OLIVEIRA A L I.A method for automatic stock trading combining technical analysis and nearest neighbor classification[J].Expert Systems with Applications,2010,37(1):6885-6890.

[5] 趙俊杰.基于特征加權的KNNFP改進算法及在故障診斷中的應用[J].電子技術應用,2011,37(4):113-116,121.

[6] NAYAK R K,MISHRA D,RATH A K.A Naive SVMKNN based stock market trend reversal analysis for Indian benchmark indices[J].Applied Soft Computing,2015,35(1):670-680.

[7] Chen Yingjun,Hao Yongtao.A feature weighted support vector machine and K-nearest neighbor algorithm for stock market indices prediction[J].Expert Systems with Applications,2017,80(1):340-355.

[8] PATEL J,SHAH S,THAKKAR P,et al.Predicting stock and stock price index movement using trend deterministic data preparation and machine learning techniques[J].Expert Systems with Applications,2015,42(1):259-268.

[9] PATEL J,SHAH S,THAKKAR P,et al.Predicting stock market index using fusion of machine learning techniques[J].Expert Systems with Applications,2015,42(1):2162-2172.

[10] Zhang Xiaodan,Li Ang,Pan Ran.Stock trend prediction based on a new status box method and AdaBoost probabilistic support vector machine[J].Applied Soft Computing,2016,49(1):385-398.




作者信息:

張偉楠,魯統宇,孫建明

(中國計量大學 經濟與管理學院,浙江 杭州310018)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线免费观看亚洲| 亚洲人成艺术| 曰本成人黄色| 国产欧美日韩一区二区三区在线| 欧美日韩a区| 欧美国产日韩一区| 欧美成人高清视频| 美女图片一区二区| 麻豆精品在线视频| 你懂的视频一区二区| 麻豆91精品| 欧美va天堂va视频va在线| 免费一级欧美在线大片| 免费在线亚洲| 欧美成人免费观看| 欧美激情综合五月色丁香小说 | 亚洲在线一区二区| 亚洲欧美日韩另类| 欧美在线看片| 久久手机免费观看| 欧美成在线视频| 欧美日韩精品综合| 国产精品久久久久久模特 | 国产一区二区三区久久精品| 国产一二三精品| 极品日韩av| 亚洲国产成人在线| 亚洲精品字幕| 亚洲网友自拍| 性久久久久久久久| 亚洲黄色av一区| 一区二区三区精品久久久| 亚洲欧美日韩国产一区二区三区| 香蕉亚洲视频| 久久久久久久999| 欧美va天堂在线| 欧美视频日韩视频| 国产精品一区二区你懂得| 激情另类综合| 亚洲高清资源| 一区二区欧美精品| 香蕉视频成人在线观看| 最新国产乱人伦偷精品免费网站| 99精品国产99久久久久久福利| 亚洲一区综合| 久久婷婷色综合| 欧美日本精品| 国产亚洲精品bt天堂精选| 亚洲国产成人久久| 亚洲视频在线一区| 久久国内精品视频| 一区二区精品在线| 久久高清国产| 欧美日韩国产欧美日美国产精品| 国产欧美日韩在线观看| 亚洲国产岛国毛片在线| 亚洲午夜伦理| 亚洲黄页一区| 午夜精品久久久久久久久久久久久| 鲁大师影院一区二区三区| 欧美午夜精品理论片a级大开眼界| 国产综合欧美| 一区二区三区不卡视频在线观看| 久久不见久久见免费视频1| 中国女人久久久| 久久在线免费| 国产精品日韩一区| 亚洲国产一二三| 午夜在线视频观看日韩17c| 亚洲精品中文字幕女同| 久久精品国产第一区二区三区最新章节| 欧美激情第3页| 国产在线不卡精品| 中文av字幕一区| 最新日韩中文字幕| 久久精品国产久精国产爱| 欧美日韩亚洲高清| 亚洲国产成人一区| 欧美在线亚洲综合一区| 亚洲午夜精品在线| 欧美成人精品h版在线观看| 国产欧美精品日韩区二区麻豆天美| 亚洲欧洲另类国产综合| 亚洲电影免费观看高清完整版在线| 亚洲欧美日产图| 欧美人与禽猛交乱配| 激情久久久久久久| 亚洲欧美资源在线| 亚洲专区一二三| 欧美日韩国产欧美日美国产精品| 激情久久久久| 香蕉久久a毛片| 亚洲欧美一区二区激情| 欧美日本不卡| 亚洲国产美女精品久久久久∴| 久久精品国产清自在天天线| 性欧美办公室18xxxxhd| 欧美视频一区在线| 亚洲精选视频在线| 亚洲欧洲在线一区| 久久深夜福利| 国模大胆一区二区三区| 午夜精品久久久久| 午夜精品久久久久久久99热浪潮| 欧美三级免费| 日韩香蕉视频| 亚洲最新在线视频| 欧美精品一区二区三区视频| 亚洲国产另类 国产精品国产免费| 久久国产福利国产秒拍| 久久黄色小说| 国产在线精品自拍| 久久精品二区| 久久躁日日躁aaaaxxxx| 韩国精品一区二区三区| 欧美伊人久久久久久午夜久久久久 | 久久久欧美精品sm网站| 国产一本一道久久香蕉| 欧美一级一区| 久久久久久网| 尤物精品在线| 亚洲精品视频免费在线观看| 欧美顶级大胆免费视频| 亚洲黄网站黄| 在线综合亚洲| 国产精品国产三级国产a| 亚洲亚洲精品在线观看| 香蕉国产精品偷在线观看不卡| 国产精品区一区二区三区| 亚洲综合国产精品| 久久精品国产久精国产思思| 国产一区二区三区久久| 亚洲激情另类| 欧美日韩视频| 亚洲专区在线| 久久久久久网| 亚洲韩国精品一区| 亚洲天堂网在线观看| 国产精品久久久久久五月尺| 亚洲欧美色婷婷| 久久一二三国产| 亚洲国产专区校园欧美| 中文精品99久久国产香蕉| 国产精品伦理| 亚洲成人中文| 欧美精品电影在线| 亚洲小说欧美另类社区| 久久精品一区二区三区中文字幕 | 亚洲大黄网站| 在线视频日韩| 国产伦精品一区二区三区高清| 欧美在线国产| 欧美精品色一区二区三区| 一区二区三区四区五区精品视频| 亚洲欧美精品伊人久久| 国产在线精品二区| 日韩视频欧美视频| 国产精品乱子乱xxxx| 久久精品免费观看| 欧美精品综合| 亚洲免费网址| 欧美成人免费观看| 亚洲午夜一区| 久久综合九九| 宅男噜噜噜66一区二区66| 久久久久久久成人| 亚洲美女在线看| 久久久久久久久久久久久久一区 | 久久综合伊人77777麻豆| 99riav久久精品riav| 久久精品日韩欧美| 亚洲人永久免费| 久久国产精品久久久久久久久久| 亚洲二区在线观看| 香港久久久电影| 亚洲国产精品一区制服丝袜| 午夜精品久久久久久久99樱桃| 在线播放豆国产99亚洲| 亚洲欧美一区二区在线观看| 亚洲电影免费观看高清完整版| 亚洲欧美日韩国产成人| 亚洲夫妻自拍| 久久国产加勒比精品无码| 亚洲欧洲一区二区在线播放| 久久精品视频免费| 一区二区三区日韩| 欧美成人有码| 久久成人免费电影| 国产精品igao视频网网址不卡日韩| 亚洲国产精品电影在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久 | 中国av一区| 亚洲第一天堂av| 久久成人精品视频| 一区二区欧美国产| 欧美激情一区三区| 亚洲国产电影| 国产午夜亚洲精品不卡| 亚洲欧美国产一区二区三区| 亚洲精品1区|