寫(xiě)在前面
下面這篇文章的內(nèi)容主要是來(lái)自論文《A novel data-driven stock price trend prediction system》,其提出了一種基于數(shù)據(jù)驅(qū)動(dòng)的股票價(jià)格趨勢(shì)的預(yù)測(cè)系統(tǒng),并附上了系統(tǒng)的源碼。這篇論文提出的方法較為新穎和實(shí)用,所以整理了一下與大家分享。原論文以及該系統(tǒng)的源碼鏈接在文末。
01 摘要
這篇論文中提出了一種股票價(jià)格趨勢(shì)預(yù)測(cè)系統(tǒng),它可以預(yù)測(cè)股票的價(jià)格波動(dòng)方向以及在一段時(shí)間內(nèi)的漲幅或者跌幅。這個(gè)系統(tǒng)主要分為了兩部分,第一部分是通過(guò)一種非監(jiān)督的算法對(duì)價(jià)格數(shù)據(jù)進(jìn)行切分,并對(duì)切分得到的切片(clips)數(shù)據(jù)進(jìn)行分類(lèi),來(lái)表示不同的價(jià)格趨勢(shì);第二部分是根求前面得到的切片來(lái)訓(xùn)練預(yù)測(cè)模型,預(yù)測(cè)模型用到了Random Forest(隨機(jī)森林)。最后通過(guò)七年的深市創(chuàng)業(yè)板數(shù)據(jù)來(lái)驗(yàn)證了模型的有效性。
02 模型框架
通常對(duì)于監(jiān)督性學(xué)習(xí)來(lái)說(shuō),模型的訓(xùn)練都需要基于標(biāo)注的數(shù)據(jù),而對(duì)于股票趨勢(shì)分類(lèi)來(lái)說(shuō)的話,這個(gè)工作不免有些巨大和繁瑣。所以這篇文中首先通過(guò)啟發(fā)式非監(jiān)督算法來(lái)劃分價(jià)格的模式。具體分為了四種:
Up:表示上漲模式,同時(shí)這個(gè)模式又根據(jù)上漲范圍的大小被劃分了兩個(gè)子模式,如上漲區(qū)間在[10%, 30%]內(nèi)和大于30%。Down:表示下降模式,同上漲模式一樣,它也根據(jù)下降范圍的大小被劃分為了子模式。Flat:表示近似平緩的模式。Unknown:表示以大振幅波動(dòng)的模式。其中識(shí)別算法在下面的03模型訓(xùn)練部分中進(jìn)行了展示。
這個(gè)系統(tǒng)的目的是根據(jù)一段時(shí)間(如過(guò)去一段時(shí)間到現(xiàn)在)的模式,來(lái)預(yù)測(cè)它是否可以構(gòu)成前面劃分的幾種模式,并預(yù)測(cè)其生成這個(gè)模式的概率。由于這里不是傳統(tǒng)的01分類(lèi),而是一種模式預(yù)測(cè)的概率,所以這里的實(shí)際用處還是相對(duì)比較高的。
預(yù)測(cè)模式的持續(xù)時(shí)間文中稱作PD(Pattern Duration),用于訓(xùn)練的持續(xù)時(shí)間文中稱作MD(Model Duration)。具體如下面的圖所示:
對(duì)于不同持續(xù)時(shí)間的組合在其系統(tǒng)中也有進(jìn)行預(yù)先設(shè)計(jì),以便于這個(gè)系統(tǒng)可以開(kāi)箱即用。
在實(shí)際的應(yīng)用中,整個(gè)過(guò)程其實(shí)就可以看做是通過(guò)一個(gè)滑動(dòng)窗口的形式,不斷的對(duì)股票價(jià)格序列進(jìn)行切片,訓(xùn)練以及模式識(shí)別的過(guò)程,具體如下面論文中的過(guò)程圖:
模型的預(yù)測(cè)部分用到的是隨機(jī)森林模型,畢竟對(duì)于要求高可解釋性的量化交易領(lǐng)域中,像決策樹(shù)或者邏輯回歸這類(lèi)較為透明的算法還是較為合理的。預(yù)測(cè)的訓(xùn)練過(guò)程部分也在03模型訓(xùn)練部分中。
最后,整個(gè)交易系統(tǒng)的模型框架,包括整個(gè)系統(tǒng)的軟件設(shè)計(jì)架構(gòu)在下面進(jìn)行了展示:
03 模型訓(xùn)練
對(duì)于面前定義的非監(jiān)督算法進(jìn)行模式識(shí)別的具體步驟如下面的Algorithm1所示,由于上漲模式的識(shí)別其他模式識(shí)別的算法類(lèi)似,所以Algorithm1只展示了上漲模式的識(shí)別步驟:
而預(yù)測(cè)部分的Random Forest的訓(xùn)練步驟如下面的算法Algorithm2過(guò)程所示,這里的算法流程與傳統(tǒng)的Random Forest的訓(xùn)練過(guò)程還有些不同,因?yàn)榭紤]到了模式類(lèi)中的不平衡性,所以這里還加入了undersampling的方法。
04 實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)的驗(yàn)證部分用到了真實(shí)的股票數(shù)據(jù),來(lái)自深市科創(chuàng)板的495支股票,時(shí)間是從2010年1月25到2016年1月26日,并與常見(jiàn)的機(jī)器學(xué)習(xí)模型,如SVM、ANN以及KNN算法進(jìn)行了預(yù)測(cè)準(zhǔn)確率和收益率的比較。比較的效果如下面的表所示:
在不考慮各種滑點(diǎn)、手續(xù)費(fèi)等因素的前提下,可以看出,論文中提出的方法的效果還是很客觀的。
05 總結(jié)以及感悟
對(duì)于高噪聲高不可預(yù)測(cè)性的股票市場(chǎng),各種探究方式包括機(jī)器學(xué)習(xí)、統(tǒng)計(jì)推理等技術(shù),作為理論研究學(xué)習(xí)一下還是不錯(cuò)的,但是實(shí)際應(yīng)用起來(lái)還是需要更加充分的準(zhǔn)備以及針對(duì)市場(chǎng)真實(shí)環(huán)境來(lái)改進(jìn)的。
由于這篇文章涉及的理論性創(chuàng)新并不是很多,但是其工程實(shí)現(xiàn)方面還是很充分的,并且這個(gè)系統(tǒng)中還可以結(jié)合各種機(jī)器學(xué)習(xí)的模型用于預(yù)測(cè),所以拓展性還是很強(qiáng)的。另外,通過(guò)結(jié)合其他方式的特征選擇來(lái)識(shí)別更多趨勢(shì)形態(tài)以提高預(yù)測(cè)準(zhǔn)確率也是很有價(jià)值的。
論文中提出的系統(tǒng)的鏈接是:
https://sourceforge.net/p/xuanwu/svn/HEAD/tree/
關(guān)注公眾號(hào)《人工智能量化實(shí)驗(yàn)室》,后臺(tái)發(fā)送008可獲取原論文。
以上就是【第4個(gè)太夸張!干貨滿滿(關(guān)于機(jī)器人的論文參考文獻(xiàn)是什么)近些年機(jī)器人論文參考文獻(xiàn)-論文解讀:一種基于機(jī)器學(xué)習(xí)的數(shù)據(jù)驅(qū)動(dòng)股票價(jià)格預(yù)測(cè)系統(tǒng)(附系統(tǒng)代碼鏈接)】的全部?jī)?nèi)容。
評(píng)論