5分でできる!株価予測
(※5分に環境構築は含めません)
簡単な株価予測を行います。
使っているライブラリは以下の3つなので、これらがあればすぐにやってみることが可能です
- pandas
- matplotlib
- fbprophet
過去の株価データはこういったところから簡単に持って来れます。
日本語が入っているとうまく動作しなかった(正確には分かりませんが消したら上手くいった)
ので、こんな感じにcsvのカラムは編集してあげてください
今回はある企業Rの株価データを使って予測してみます。
コードはこんな感じ
import pandas as pd import matplotlib.pyplot as plt from fbprophet import Prophet from fbprophet.plot import add_changepoints_to_plot price=pd.read_csv('任意の名前.csv') model=Prophet(growth='logistic',yearly_seasonality=True,daily_seasonality=False,n_changepoints=8) #Prophetでは日付カラムをds,予測したいカラムをyとする price = price.reset_index().rename(columns={'date':'ds', 'start':'y'}) #非線形トレンドを用いる際に上限値を設定しておく price['cap']=price['y'].max()+2500 model.fit(price) future = model.make_future_dataframe(periods=60) #株価は土日のデータが観測されないので... future = future[future['ds'].dt.weekday < 5] future['cap']=price['y'].max()+2500 fcst = model.predict(future) figure = model.plot(fcst) a=add_changepoints_to_plot(figure.gca(), model, fcst) plt.show()
プロット図はこんな感じ
横軸日付,縦軸株価,黒い点は過去の株価データ,青い線がProphetの予測線です。
これって上手くいってるんでしょうか?実際の株価と合わせてプロット
(2018年までのデータを使っているので、2019年結果で比較します)
もちろん上手くは行っていない...
他の説明変数を加えたり、チューニングしたりも容易にできます
良いアイデアがある方は是非教えて下さい🙇♂️