Yahoo! Finance API を用いることで、マーケットに関するさまざまな情報を簡単に取得することができます。
今回は、Python で yfinance パッケージを用いてFXの過去データを取得してみます。
yfinance
Download market data from Yahoo! Finance API
yfinance は pipでインストールすることができます。
pip install yfinance
USD/JPYの2023年の日足データを取得しています。
import yfinance as yf
symbol = "JPY=X"
data = yf.download(symbol, start="2023-01-01", end="2023-12-31", interval="1d")
print(data.head())
# Price Adj Close Close High Low Open Volume
# Ticker JPY=X JPY=X JPY=X JPY=X JPY=X JPY=X
##Date
# 2023-01-02 130.845001 130.845001 131.035004 130.621002 130.845001 0
# 2023-01-03 130.794006 130.794006 131.182007 129.533997 130.794006 0
# 2023-01-04 131.248001 131.248001 132.169998 129.964005 131.248001 0
# 2023-01-05 132.246002 132.246002 133.992004 131.729996 132.246002 0
# 2023-01-06 133.307007 133.307007 134.740997 132.186996 133.307007 0
interval
でデータの間隔を指定できます(1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo
)。また、start
と end
の代わりに、period
で期間を指定することもできます (1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd
(今年の1月1日から今日まで),max
)。
1時間足・90分足以下のデータについては、取得できるデータの範囲に制限があります。
データの間隔 | 取得可能なデータの範囲 |
1分足 (1m ) |
過去8日 |
2分足 (2m ), 5分足 (5m ), 15分足 (15m ), 30分足 (30m ), 60分足 (60m ), 90分足 (90m ) |
過去60日 |
1時間足 (1h ) |
過去730日 |
タイムゾーンは GMT(UTC) です。Tickerクラスのinfoプロパティを用いることでこれ以外にも様々な情報を得られます。
symbol = "JPY=X"
dat = yf.Ticker(symbol)
print(dat.info['timeZoneShortName'])
# GMT
利用可能な通貨ペアのシンボル(JPY=X など)はYahoo! financeのページにあります。
Forex Currencies: live prices, changes, trading volume and daily charts - Yahoo Finance
With our complete list of foreign exchange (Forex) up-to-the-minute pricing, changes, ranges, day charts and news, Yahoo...
コメント