Tensorflow

Tensorflowでドル円予測をしてみました(1)

こちらの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();

データの準備ができました。次回から予測を行っていきます。