たなブログ 教養を高めて生涯資産を増やすブログ(`・ω・´)

【Python Coding】pythonで為替レートを取得する方法を紹介

PR Pythonを学ぶ

こんにちは、ちくたっく(@tictak_py)です。

今回は、pythonを使って「為替レート」を取得する方法を紹介していきたいと思います。

具体的には、pandasから派生した機能「pandas_datareader」という方法を用いて、Yahoo Financeから為替レートを取得することを目的とした記事です。

【こんな人に読んで欲しい記事です】

● pythonを使って為替レートを取得する方法を知りたい方

● Yahoo Financeから市場データを取得する方法を知りたい方

今回は、
・ 前半部分で「Yahoo Financeから為替レートを取得する基本的な方法」
・ 後半部分で「Yahoo Financeから複数の為替レート(クロス円の通貨ペア)を取得する方法」

を紹介していきます。

いずれも、「為替レートの取得⇒グラフ化」の流れでシンプルに進めていきますね。

必要ライブラリのインポート

今回使うライブラリのインポート

まず最初に、今回使うライブラリをインポートしておきます。
冒頭でお伝えしたように、「pandas_datareader」をメインに扱っていきますが、可視化もしていくので関連ライブラリもインポートしておきます。

「pandas_datareaderは今まで一度も使ったことない」という方は、pipコマンドなどでインストールしておく必要がありますので、セッティングしておいてください。

為替レートの取得①|基本的な操作

では実際にYahoo Financeから為替レートを取得するためのコードを見ていきましょう。
以下2つのどちらの方法でも同じ結果が取得出来るので、好きな方法を選んでみてください。
(方法①:get_data_yahooを用いる方法|方法②:DataReaderを用いる方法)

方法① get_data_yahooを用いて為替レートを取得する方法
方法② DataReaderを用いて為替レートを取得する方法

どちらが優れているというわけではないですが、Yahoo Financeから為替レートを取得するだけの目的であれば、方法①で足りると思います。為替レートに限らず、株価データやその他経済指標を取得したいという場合には、方法②を知っておいた方が汎用性が効いて便利かなといった印象です。

コードの内容やポイントを簡単にまとめたものが以下となります。

方法①:get_data_yahooを用いた場合

● 引数として、「通貨ペア」と「期間」を指定する必要がある

● USD/JPYを取得する場合には、「JPY=X」もしくは「USDJPY=X」と指定する 

方法②:DataReaderを用いた場合

● 引数として、「通貨ペア」「データソース」「期間」を指定する必要がある

● (今回記事の内容と関係ないですが)株価などを取得する場合には、通貨ペア部分に銘柄コード、データソース部分に取得元となるリソースを指定することになります。追加でAPI Keyの指定が必要となるケースが多いです。

データをDataFrame形式で取得出来ているので、以下のようにそのままグラフ化することも可能です。
以下では、高値(High)と安値(Low)をピックアップしてグラフ化しています。

取得した為替レートのデータを可視化

為替レートの取得②|クロス円の取得

先ほどは「USD/JPY」のみデータを取得してグラフ化しましたが、今度は主要通貨ペアをクロス円で取得していきたいと思います。為替レートの取得に「方法①(get_data_yahoo)」を用いつつ、通貨ペアを取得出来る関数を組み合わたコードが以下となります。

通貨ペアとしては「USD/JPY」「EUR/JPY」「AUD/JPY」「GBP/JPY」の4つを取得しています。
また、期間は「2020年1月から6月初旬まで」の約5ヶ月分を対象としています。

Yahoo Financeから為替レートを取得するための自作関数
主要通貨ペア(クロス円)のデータを取得

取得したデータ(USD/JPY)を確認してみると、以下のようにデータが取得出来ていることがわかります。

取得した為替レートのデータを確認|USD/JPY

4つの通貨ペアに関する為替データが取得出来たので、それぞれの「高値」の推移を見た結果が以下となります。

取得した4つの通貨ペアの高値をグラフ化した結果

このように通貨ペアごとに可視化することで、各通貨ごとの特徴もよくわかりますね。
「直近1ヶ月でみれば、各通貨価値が上がっていて円安傾向にあるな」みたいな考察もしやすくなります。

さいごに

今回は、pythonを使って「為替レート」を取得する方法を紹介してきました。

FXをやっていない方でも、機械学習用のデータセットを取得したい場合や、ビジネスで為替市場の動向を把握したいような場合に使える方法となるので、参考にしてみてください。

では今回はこのへんで。