Python深度學習LSTM模型預測股票價格(Alibaba)

有人說如果能夠正確的預測股票的價格,就相當于發(fā)明了經(jīng)濟的永動機。在這個全民炒股的時代,誰不想擁有一個水晶球? 機器學習和深度學習在金融機構中的應用已經(jīng)足夠長久。LSTM作為在時間序列預測比較成功的算法,能夠很好的預測股票數(shù)據(jù)嗎? 下面以阿里巴巴美股數(shù)據(jù)為例,通過移動平均值預測MA)和LSTM, 搭建模型預測股票價格。用到的除了常用的machine learning libs, 用Keras 來搭建LSTM模型。

第一步當然是import libs

所用到的libs


數(shù)據(jù)的來源是Alphavantage, 從14年9月19日上市以來到今天5月4日的數(shù)據(jù)。

阿里股價數(shù)據(jù)

幾年內股票的大致走勢如下圖


股價走勢

如果大家看過一些關于股票的視頻的話肯定對移動平均線不會陌生。下面的圖里展示了30天和十天的移動平均線, 可以看到雖然能夠擬合大致的趨勢,但是還是有很多地方出現(xiàn)了相反的趨勢?;诖?,下面是用LSTM來搭建模型。

移動平均線

A data scientist is as good as the data he has。 所以第一步就是做一些數(shù)據(jù)的預處理, 特征縮放,分訓練集和測試集, 生成矩陣。

有了數(shù)據(jù)之后, 第二步就是訓練LSTM 模型,用到了keras 的以下模塊,Sequential?用于初始化神經(jīng)網(wǎng)絡,Dense?用于添加密集連接的神經(jīng)網(wǎng)絡層,LSTM?用于添加長短期內存層Dropout?用于添加防止過擬合的dropout層。


LSTM

模型fit 好之后用測試集數(shù)據(jù)來產生預測。


產生預測,畫圖

最后的LSTM預測結果如下,可以看出LSTM模型要明顯優(yōu)于MA預測。

prediction vs real data

總結

LSTM 真的很善于預測時間序列數(shù)據(jù),相信如果和情感數(shù)據(jù)相結合能夠產生可以實際應用的模型。股市有風險,希望每位會理性投資, 精致分析, 收益長虹。


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容