為替とFXのデータをPythonで分析するには

2023年6月28日

為替相場のデータを分析したい!となった時に一番簡単なのはどんな方法でしょうか。最近は良いツールがあって、とても簡単に過去のデータをダウンロードして分析できるようになりました。この記事では為替データの分析方法の一例を紹介したいと思います。

一番下にコードへのリンクを用意しておくので、使えそうと思った方はぜひためしてみてください。

Google Colabでデータをダウンロード・分析する

Google ColabはGoogleが提供するWEBベースのPython開発ツールです。結構高速な計算ができる割に無料で利用することができます。

Googleのアカウントを持っている人はこちらのアドレスを開くとすぐに始めることができます。

上のリンクからは「ようこそ」ページが開かれるので、左上のファイルメニューから新規作成を選んでください。空白のページが表示されます。空白のページに次のコードをコピペしてみてください。

データの準備

import matplotlib.pyplot as plt 
%matplotlib inline
from pandas_datareader import data  as pdr
import datetime
import yfinance as yf 
yf.pdr_override() 

上のコードは為替分析のためのツールをインポートして使える準備をしています。

それでは試しに今年のドル円のデータをダウンロードしてみます。メニューの「挿入」「コードセル」を開いて次のコードを張り付けてください。

jp = pdr.get_data_yahoo('USDJPY=X', datetime.datetime(2022,1,1), datetime.date.today() ).loc[:,'Adj Close']
jp

メニューの「ランタイム」「すべてのコードを実行」を選ぶと、1分弱で実行が完了します。

上記のコードでドル円の日脚の2022年1月1日から今日までのデータが取得できます。二行目のjpで内容を表示します。

データの表示

文字が並ぶだけだと面白くないのでグラフを表示してみます。次のコードを下に追加して実行してみてください。

jp.plot()

こうしてみると2022年は大変な年でした。私も友人がすごい落ちこんで、一緒に神社にお参りに行った記憶があります。

JPYとEURを同じグラフに表示することもできます。JPYとEURだと桁が違うので両方に正規化を掛けてスケールを同じにして表示します。

import scipy.stats

scipy.stats.zscore(jp).plot()
scipy.stats.zscore(eu).plot()

実行すると重なって表示されます。

グラフを見ると2022年のJPYとEURは似たような動きだったんですね。気を付けなければいけないのは2022~2023の5月までの動きでスケールを無理やり合わせていますので、もっと長い期間を分析すると、EURはJPYほど動いていない、またはその逆の結果になるかもしれません。

最後に

この記事ではGoogle ColabのPython言語を使って為替の情報を分析する手法を紹介しましたが、分かったでしょうか。分析と言っても重ねて表示しただけなので、ほかの記事ではもう少し詳しく書きたいと思います。

ここで使ったコードは私のGoogle Colabで共有しておきますので興味のある人は下のリンクをたどってください。Googleにログインすればすぐに実行できます。