【Python】pandas-datareaderによる為替レートの取得

【Python】pandas-datareaderによる為替レートの取得 プログラミング

「Pythonでリアルタイムの為替レートを取得したい」
「APIの登録をせずに円ドルのレートを取得したい」
「Webスクレイピングを行わずに為替の情報を収集したい」

このような場合には、pandas-datareaderがオススメです。
この記事では、pandas-datareaderについて解説しています。

本記事の内容

  • pandas-datareaderとは?
  • pandas-datareaderのシステム要件
  • pandas-datareaderのインストール
  • pandas-datareaderの動作確認「為替レートの取得」

それでは、上記に沿って解説していきます。

pandas-datareaderとは?

pandas-datareaderは、最新のリモートデータアクセスを可能にします。
これだけでは意味がわかりませんね。

pandas-datareaderとは、汎用データアクセスAPIと言えるかもしれません。
pandas-datareader一つで様々なデータを取得することが可能です。

現在サポートされているのは、以下のデータソース(サービス)となります。

  • Tiingo
  • IEX
  • Alpha Vantage
  • Econdb
  • Enigma
  • Quandl
  • St.Louis FED (FRED)
  • Kenneth French’s data library
  • World Bank
  • OECD
  • Eurostat
  • Thrift Savings Plan
  • Nasdaq Trader symbol definitions
  • Stooq
  • MOEX
  • Naver Finance
  • Yahoo Finance

この中では、金融のデータリソースとして「Yahoo Finance」が利用されています。
そして、今回の記事でも「Yahoo Finance」のデータを取得します。
具体的な取得方法は、後述の動作確認の箇所で説明しています。

以上、pandas-datareaderについて説明しました。
次は、pandas-datareaderのシステム要件を確認します。

pandas-datareaderのシステム要件

現時点(2022年1月)でのpandas-datareaderの最新バージョンは、0.10.0となります。
この最新バージョンは、2021年7月13日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.6
  • Python 3.7
  • Python 3.8

そうは言っても、python 3.6以降であれば問題なく動くでしょう。
しかし、Python 3.7以降を利用することをオススメします。

以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Python 3.6は、2021年末でサポートが切れました。
そのため、Python 3.6の利用は避けた方が無難です。

ここでpandas-datareaderのシステム要件をまとめます。
基本的には、Python 3.6以降であれば動くでしょう。

ただ、依存するパッケージが複数存在しています。

  • pandas>=1.0
  • lxml
  • requests>=2.19.0

そして、そのパッケージはバージョン指定されています。
しかし、pipでインストールすれば特に気にする必要はありません。
その辺の面倒なことをカバーするのが、パッケージ管理システムですからね。

以上、pandas-datareaderのシステム要件を説明しました。
次は、pandas-datareaderをインストールします。

pandas-datareaderのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.1

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        21.3.1
setuptools 60.2.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、pandas-datareaderのインストールです。
pandas-datareaderのインストールは、以下のコマンドとなります。

pip install pandas-datareader

インストールは、少しだけ時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。

$ pip list
Package            Version
------------------ ---------
certifi            2021.10.8
charset-normalizer 2.0.10
idna               3.3
lxml               4.7.1
numpy              1.22.0
pandas             1.3.5
pandas-datareader  0.10.0
pip                21.3.1
python-dateutil    2.8.2
pytz               2021.3
requests           2.27.0
setuptools         60.2.0
six                1.16.0
urllib3            1.26.7
wheel              0.36.2

依存関係のあるパッケージは、そこそこありますね。
pandas-datareaderの既存環境への導入は、依存関係にやや注意しないといけません。

以上、pandas-datareaderのインストールを説明しました。
次は、pandas-datareaderの動作確認を行います。

pandas-datareaderの動作確認「為替レートの取得」

pandas-datareaderを使って、米ドル/円(USD/JPY)の為替レートを取得します。
次のコードにより、リアルタイムの為替レートが取得できます。

from pandas_datareader.data import get_quote_yahoo

result = get_quote_yahoo('JPY=X')
ary_result = result["price"].values
price = ary_result[0]

print(price)

上記を実行した結果は、以下。

115.98

そして、同じタイミングで確認したレートは以下。
Yahoo financeで確認した結果です。
https://finance.yahoo.com/

タイミング良く同じ価格になりました。
もちろん、タイミングによっては多少の差異はあるでしょう。

以上、pandas-datareaderの動作確認「為替レートの取得」の説明でした。

タイトルとURLをコピーしました