2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonで通貨換算(為替レート取得)してみました - Part2

Last updated at Posted at 2023-05-06

概要

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)の株価取得でエラーが出た方へ

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?