概要
USD から JPY へ為替変換する Pythonプログラムを以前作成しました。そのプログラムはいつの間にかエラーで動作ぜず、改めてプログラムを見直しました。
- 以下の2パターンで実施
- CurrencyConverter を利用
- pandas-datareader を利用
実行環境
macOS Ventura 13.0
python 3.8.12
事前準備
事前に以下のモジュールをインポートしておきます。
$ pip install yfinance
実行プログラム
GetCurrentRaye_2.py
from currency_converter import CurrencyConverter
import pandas_datareader.data as pdr
import pandas as pd
import yfinance as yf
import datetime
# CurrencyConverter を利用した USD-JPY 為替
def get_currencyconverter_rate() :
res0 = CurrencyConverter()
crate = res0.convert(1, 'USD', 'JPY')
print("CurrencyConverter を利用した USD-JPY 為替 ---> ", round(crate, 2), "\n")
# pandas-datareader を利用した USD-JPY 為替
def get_datareader_rate() :
start = "2023-05-01"
ticker = "USDJPY=X"
yf.pdr_override()
res1 = pdr.get_data_yahoo(ticker, start).tail(1)
res2 = res1["Adj Close"].values
crate = res2[0]
print("pandas-datareader を利用した USD-JPY 為替 ---> ", round(crate, 2), "\n")
# pandas-datareader を利用した USD-JPY 日毎為替情報
def get_datareader_rate_list() :
start = "2023-05-01"
end = datetime.date.today()
ticker = "USDJPY=X"
yf.pdr_override()
res1 = pdr.get_data_yahoo(ticker, start, end)
print("pandas-datareader を利用した USD-JPY 対象期間の為替 ---> ")
print(res1)
# メイン
if __name__ == '__main__':
print("")
get_currencyconverter_rate()
get_datareader_rate()
get_datareader_rate_list()
プログラムの実行
## 為替レートの取得
$ python GetCurrentRate_2.py
CurrencyConverter を利用した USD-JPY 為替 ---> 138.35
[*********************100%***********************] 1 of 1 completed
pandas-datareader を利用した USD-JPY 為替 ---> 134.82
[*********************100%***********************] 1 of 1 completed
pandas-datareader を利用した USD-JPY 対象期間の為替 --->
Open High Low Close Adj Close Volume
Date
2023-05-01 136.386002 137.401993 136.263000 136.386002 136.386002 0
2023-05-02 137.520996 137.764999 136.408997 137.520996 137.520996 0
2023-05-03 136.466003 136.569000 135.072006 136.466003 136.466003 0
2023-05-04 134.544006 134.869995 133.686005 134.544006 134.544006 0
2023-05-05 134.179001 135.085007 133.886002 134.179001 134.179001 0
2023-05-06 134.218994 135.125000 133.880005 134.819000 134.819000 0
まとめ
エラーはなくなり、正常に為替情報を取得できるようになりました。引き続き、pandas-datareader を利用して為替情報を取得していきたいと思います(CurrencyConverter を利用するより正確なため)。
参考記事
以下の記事を参考にさせていただきました。感謝申し上げます。
python(pandas_datareader)の株価取得でエラーが出た方へ