利用AI炒股開(kāi)掛!這屆程序員真會(huì)玩
用深度學(xué)習(xí)預(yù)測(cè)股票價(jià)格想過(guò)去有些不明覺(jué)厲,但已經(jīng)不是什么新鮮事了,今天猿妹和大家分享一個(gè)股票預(yù)測(cè)模型,收集了機(jī)器學(xué)習(xí)和股票預(yù)測(cè)的深度學(xué)習(xí)模型,包括交易機(jī)器人和(股票)模擬。
想要準(zhǔn)確預(yù)測(cè)股票市場(chǎng)是一項(xiàng)復(fù)雜的任務(wù),因?yàn)橛袛?shù)百萬(wàn)個(gè)因素和先決條件會(huì)影響股票的走勢(shì),所以這個(gè)模型需要盡可能多的捕捉到這些先決條件,同時(shí)還需要作出幾個(gè)重要的先決假設(shè):1)市場(chǎng)不是100%隨機(jī)的,2)歷史重復(fù),3)市場(chǎng)遵循人們的理性行為,4)市場(chǎng)是“非常好”。
創(chuàng)建者以高盛公司為例子,預(yù)測(cè)高盛的股票走勢(shì),使用 2010 年 1 月 1 日至 2018 年 12 月 31 日的日收盤(pán)價(jià)作為訓(xùn)練(七年)和測(cè)試(兩年)數(shù)據(jù)。
為了創(chuàng)建所有神經(jīng)網(wǎng)絡(luò),創(chuàng)建者使用MXNet及其高級(jí)API - Gluon,并在多個(gè)GPU上進(jìn)行訓(xùn)練。整體架構(gòu)如下:
GitHub上還給出了詳細(xì)的教程介紹每一個(gè)步驟,創(chuàng)建者表示最困難的部分是GAN,想要成功訓(xùn)練GAN最難的部分就是獲得正確的超參數(shù)集。出于這個(gè)原因,創(chuàng)建者使用貝葉斯優(yōu)化(帶有高斯過(guò)程的貝葉斯優(yōu)化)和強(qiáng)化學(xué)習(xí)(RL)來(lái)決定何時(shí)以及如何改變GAN的超參數(shù)。在創(chuàng)建強(qiáng)化學(xué)習(xí)時(shí),也利用到一些技術(shù),例如Rainbow和PPO。
除了股票的歷史交易數(shù)據(jù)和技術(shù)指標(biāo),創(chuàng)建者還NLP 中的 BERT 來(lái)創(chuàng)建情緒分析模型(作為基本面分析的來(lái)源),傅立葉變換用于提取整體趨勢(shì)方向......只為捕獲盡可能多的關(guān)于股票的信息,模式,依賴關(guān)系等。眾所周知,數(shù)據(jù)越多越好。
集體過(guò)程我們就不過(guò)多贅述了,直接看結(jié)果:
繪制訓(xùn)練之后的結(jié)果
繪制 50 次訓(xùn)練后的結(jié)果
繪制 200 次訓(xùn)練后的結(jié)果
RL 運(yùn)行了 10 eposide ,本文定義一個(gè) eposide 是 GAN 完整訓(xùn)練 200 次后,下圖是得到的最終的結(jié)果
對(duì)整個(gè)教程感興趣的,可以到GitHub一探究竟。至于準(zhǔn)確率如何,試過(guò)就知道了
目前,該項(xiàng)目已經(jīng)獲得 863 個(gè)Star,378 個(gè)Fork(GitHub地址:https://github.com/borisbanushev/stockpredictionai)