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

數(shù)據(jù)的來源是Alphavantage, 從14年9月19日上市以來到今天5月4日的數(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層。

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

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

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