こちらのUdemyのコースでTensorflowを使ったビットコインの予測が紹介されていました。それを参考にドル円の予測をやってみました。
今回は初回ということで、データの準備から始めたいと思います。
データは2011年1月から2020年12月までの10年分のUSDJPY日足データを使います。MT5を使って取得できるMetaQuotes社のものを使います。データの取得方法については、こちらの記事を参考にしてください。
まず、CSVファイルをPandasで開きます。
df = pd.read_csv('USDJPY_D1.csv', encoding="utf-16", parse_dates=["DateTime"])
MT5が出力したファイルの文字コードがUTF16だったので、encodingにutf-16を指定しています。
読み込んだデータはこのようになっています。
CloseだけのDataFrameを作ります。
df_close = pd.DataFrame(df['Close'])
グラフ化します。
import matplotlib.pyplot as plt
df_close.plot(figsize=(10, 7))
plt.ylabel("Close")
plt.title("USDJPY from 1 Jan 2011 to 31 Dec 2020", fontsize=16)
plt.legend(fontsize=14);
訓練データとテストデータに分割します。
timesteps = df_close.index.to_numpy()
closes = df_close["Close"].to_numpy()
split_size = int(0.8 * len(closes))
X_train, y_train = timesteps[:split_size], closes[:split_size]
X_test, y_test = timesteps[split_size:], closes[split_size:]
可視化してみます。
plt.figure(figsize=(10, 7))
plt.scatter(X_train, y_train, s=5, label="Train data")
plt.scatter(X_test, y_test, s=5, label="Test data")
plt.xlabel("Date")
plt.ylabel("USDJPY")
plt.legend(fontsize=14)
plt.show();
データの準備ができました。次回から予測を行っていきます。