丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
專欄 正文
發(fā)私信給easunlu
發(fā)送

3

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

本文作者: easunlu 2015-08-12 15:29
導(dǎo)語:那么,機(jī)器學(xué)習(xí)在量化金融方面怎么用?比如說,預(yù)測(cè)股票這件事兒靠譜么?

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

機(jī)器學(xué)習(xí)是什么?

簡單說:機(jī)器學(xué)習(xí)算法是一類從數(shù)據(jù)中自動(dòng)分析獲得規(guī)律,并利用規(guī)律對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)的算法。

用一張圖說明它所包含的內(nèi)容:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?


編者注:這張圖比較大,想看清晰的可以戳這里。其實(shí)看不清也沒有關(guān)系,這張圖是個(gè)基本的脈絡(luò),本文的重點(diǎn)不是在這里,雷鋒網(wǎng)后續(xù)會(huì)出相關(guān)科普文章,屆時(shí)會(huì)有詳細(xì)解說。

我們把目光集中到上圖中的有監(jiān)督學(xué)習(xí),它是指數(shù)據(jù)中包括了我們想預(yù)測(cè)的屬性,有監(jiān)督學(xué)習(xí)有以下兩類:

分類(Classification)——樣本屬于兩個(gè)或多個(gè)類別,我們希望通過從已標(biāo)記類別的數(shù)據(jù)學(xué)習(xí),來預(yù)測(cè)未標(biāo)記數(shù)據(jù)的分類。例如,識(shí)別手寫數(shù)字就是一個(gè)分類問題,其目標(biāo)是將每個(gè)輸入向量對(duì)應(yīng)到有窮的數(shù)字類別。從另一種角度來思考,分類是一種有監(jiān)督學(xué)習(xí)的離散(相對(duì)于連續(xù))形式,對(duì)于n個(gè)樣本,一方有對(duì)應(yīng)的有限個(gè)類別數(shù)量,另一方則試圖標(biāo)記樣本并分配到正確的類別。


回歸(Regression)——如果希望的輸出是一個(gè)或多個(gè)連續(xù)的變量,那么這項(xiàng)任務(wù)被稱作回歸,比如用年齡和體重的函數(shù)來預(yù)測(cè)三文魚的長度。

scikit-learn

scikit-learn是一個(gè)基于NumPy、SciPy、Matplotlib的機(jī)器學(xué)習(xí)包,主要涵蓋了分類、回歸和聚類等機(jī)器學(xué)習(xí)算法。例如knn、SVM、邏輯回歸、樸素貝葉斯、隨機(jī)森林、k-means等等,簡言之:是一只強(qiáng)大的輪子。

有個(gè)很好耍的例子:安德森鳶尾花品種亞屬預(yù)測(cè)。

我們有一百五十個(gè)鳶尾花的一些尺寸觀測(cè)值:萼片長度、寬度,花瓣長度和寬度。還有它們的亞屬:山鳶尾(Iris setosa)、變色鳶尾(Iris versicolor)和維吉尼亞鳶尾(Iris virginica)。我們使用這些數(shù)據(jù),從中學(xué)習(xí)并預(yù)測(cè)一個(gè)新的數(shù)據(jù)。在scikit-learn中,通過創(chuàng)建一個(gè)估計(jì)器(estimator)從已經(jīng)存在的數(shù)據(jù)學(xué)習(xí),并且調(diào)用它的fit(X,Y)方法。

代碼如下:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

看不懂代碼沒關(guān)系,這里的輸出結(jié)果:array([0])。

即學(xué)習(xí)結(jié)果認(rèn)為,萼片長度、寬度,花瓣長度和寬度觀測(cè)值分別為5.0, 3.6, 1.3, 0.25的安德森鳶尾花的亞屬為山鳶尾(Iris setosa)。

我的目標(biāo)是親自實(shí)現(xiàn)驗(yàn)證體會(huì)機(jī)器學(xué)習(xí)做市場(chǎng)預(yù)測(cè)這一構(gòu)建過程,順帶瞧瞧這玩意兒是不是文獻(xiàn)或是研報(bào)中“傳說”的那么神或是然無卵。

那么,機(jī)器學(xué)習(xí)在量化金融方面怎么用?比如說,預(yù)測(cè)股票這件事兒靠譜么?

首先,我們得熟悉我們的數(shù)據(jù)。獲取過去十年CSI300指數(shù)原始數(shù)據(jù)(代碼開發(fā)環(huán)境  Ipython Notebook):df = rd.get_price('CSI300.INDX', '2005-01-01', '2015-07-25').reset_index()[['OpeningPx', 'ClosingPx']]

有了開收盤價(jià)格后,我們把原始數(shù)據(jù)這般那般后,有了下面三張圖。

圖一:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

(過去近2500個(gè)交易日,當(dāng)天是漲是跌天數(shù)的統(tǒng)計(jì))

圖二:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

(每日收益率隨時(shí)間序列的變化)

圖三:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

(漲跌天數(shù)的頻率分布)

有興趣的盆友可以仔細(xì)看看圖,里面有很有趣的東西。熟悉了數(shù)據(jù)之后就可以正式開工了,我主要從以下三點(diǎn)來做些嘗試:

1、機(jī)器學(xué)習(xí)估計(jì)器的選擇,即我們使用何種方法進(jìn)行我們的預(yù)測(cè)。

2、訓(xùn)練集樣本數(shù)量的選擇,即我們每次預(yù)測(cè)結(jié)果之前使用多少條訓(xùn)練集合的樣本。

3、漲跌時(shí)間窗口的選擇,即我們每個(gè)樣本中的特征個(gè)數(shù),我們訓(xùn)練集每個(gè)單元包含連續(xù)多少個(gè)交易日的漲跌。

下面具體說:

1、根據(jù)手頭數(shù)據(jù)的情況及scikit-learn: machine learning in Python中下圖所示的引導(dǎo):

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?
我們選擇比較RandomForestClassifier、LinearSVC、KNeighborsClassifier,結(jié)果如下:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

可以看出,KNeighborsClassifier表現(xiàn)明顯遜于RandomForestClassifier、LinearSVC,它的波動(dòng)較大且勝率與另外兩者比也不理想。這結(jié)果與JMLR的一篇神奇文章有點(diǎn)類似:《 Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?》,文章測(cè)試了179種分類模型在UCI所有的121個(gè)數(shù)據(jù)上的性能,發(fā)現(xiàn)Random Forests 和 SVM 性能最好。

2、訓(xùn)練集樣本數(shù)制約了預(yù)測(cè)結(jié)果的準(zhǔn)確性,理想情況下,我希望每次做預(yù)測(cè)的樣本數(shù)越多越好,但你知道理想很骨感的,訓(xùn)練集樣本數(shù)一方面受實(shí)際總數(shù)據(jù)量限制。

另外,計(jì)算資源與時(shí)間也是制約因素。我們最終要形成某種程度的妥協(xié),即保證相當(dāng)程度預(yù)測(cè)效果下選擇最小的訓(xùn)練集樣本數(shù)量。于是我們計(jì)算樣本數(shù)從1~300范圍內(nèi)的勝率,結(jié)果如下:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

可以看出,控制其它條件不變,隨著樣本數(shù)增多,勝率逐步提高結(jié)果更為穩(wěn)定并且最后維持在0.52~0.53左右波動(dòng)。為了節(jié)約計(jì)算資源及考慮到歷史數(shù)據(jù)總量,我們可以選擇100個(gè)作為訓(xùn)練樣本數(shù)。

3、漲跌時(shí)間窗口選擇。實(shí)際上反映了交易日歷史的漲跌對(duì)下一個(gè)交易日的影響。

這個(gè)動(dòng)量是否客觀存在?我認(rèn)為從交易心理上說還是有一定依據(jù)的,比如作為交易者如果過去一連10個(gè)交易日全部飄紅,對(duì)于后一天的走勢(shì)我更愿意謹(jǐn)慎看空。當(dāng)然,這是個(gè)極端的臆想,歸根結(jié)底的表現(xiàn)怎么樣,還是要看數(shù)據(jù)給的答案:

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

這樣的結(jié)果讓人抓狂,有點(diǎn)看亂碼的感覺。后來我改變了每次回測(cè)的起點(diǎn)之后發(fā)現(xiàn),基本每次結(jié)果都差不多。一個(gè)共同點(diǎn)是:每次曲線的開端都會(huì)存在倒塌式下滑,而后穩(wěn)定震蕩于0.5扔硬幣的概率左右。

也就是說,動(dòng)量是存在的,只不過很?。ńY(jié)合前面兩節(jié)的試驗(yàn)結(jié)果其期望處于0.53這個(gè)位置),且時(shí)間窗口很短,超出這個(gè)時(shí)間窗口,預(yù)測(cè)問題就轉(zhuǎn)化為扔硬幣問題。

上面就是我對(duì)機(jī)器學(xué)習(xí)在金融市場(chǎng)的預(yù)測(cè)應(yīng)用做的一個(gè)小試驗(yàn),綜合三張圖的結(jié)果來看。其實(shí)概率還能勉強(qiáng)說比純拋硬幣好那么一丟丟(低于0.5的情況并不多見,調(diào)試程序的時(shí)候發(fā)現(xiàn)0.53是個(gè)神奇的數(shù)字),但這畢竟是我快速自己實(shí)現(xiàn)的一個(gè)小Demo??梢韵胂?,如果有更優(yōu)秀的算法,更豐富的數(shù)據(jù),更合理的特征選擇,意想不到的結(jié)果也會(huì)是情理之中。

經(jīng)過自己的嘗試后我想機(jī)器學(xué)習(xí)在金融市場(chǎng)的預(yù)測(cè)應(yīng)用既不會(huì)那么神,也不能說它無卵用,我相信圣杯的存在,在某一你未發(fā)現(xiàn)的細(xì)節(jié)之中。

【作者介紹】easunlu,數(shù)據(jù)工程師,愛好機(jī)器學(xué)習(xí),在機(jī)器學(xué)習(xí)金融應(yīng)用方面有一定的研究。關(guān)于機(jī)器學(xué)習(xí)更多談?wù)?,可以進(jìn)入這里查看:Ipython Notebook Research Alpha下機(jī)器學(xué)習(xí)一瞥,關(guān)于跌跌漲漲的思考 。也歡迎機(jī)器學(xué)習(xí)愛好者積極留言,與作者進(jìn)行探討。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

機(jī)器學(xué)習(xí)可以預(yù)測(cè)股票走向,靠譜么?

分享:
相關(guān)文章

專欄作者

當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說