yfinance.Tickerでhistorian(株価)を活用する

当ページではyfinance.Tickerで取得したhistorianデータの活用方法を記載する。

[Yファイナンスから企業の各種情報を取得]の部分は別途以下で説明している。
yfinance.Tickerで会社情報・株価等を取得する | エクヌツITブログ
また、historian以外の株式情報の取得方法は以下で説明している。
yfinance.Tickerで取得した株式情報を使用する | エクヌツITブログ

1.最も簡単な実行方法

import yfinance as yf

stock = yf.Ticker("AAPL") 
stock_history = stock.history()
print(str(stock_history))

1行目はOSSを指定している。
3行目はYファイナンスの情報を取得している。
当例ではアップルの情報を取得している。
前述しているが、Tickerの取得仕様は別途以下のページで説明している。
[Python]yfinance.Tickerで株情報を取得 | エクヌツITブロ
4行目は3行目で取得したデータのうち、株価の時系列データのみを取得している。
5行目は取得したデータを標準出力している。

2.historian()の引数設定

引数名説明デフォルト
periodstr株価の取得する期間を指定する。
以下を設定することができる。
1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
start・end・periodを全て設定することはできない。(ValueErrorとなる。)
start・periodのみを設定した場合は、開始日時はstartの日時となり、開始日時からperiodで指定した期間分後のデータまでのデータを取得する。
end・periodのみを設定した場合は、終了日時はendの日時となり、終了日時からperiodで指定した期間分前のデータまでのデータを取得する。
1mo
startstr株価の取得する開始日する。
以下の形式で設定する。
YYYY-MM-DD
99年前
endstr株価の取得する終了日する。
以下の形式で設定する。
YYYY-MM-DD
現在日
intervalstr取得データの取得周期を設定する。
以下を設定することができる。
1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
1mで設定した場合は、1分周期のデータが取得される。
(例)2025/11/1 00:00、2025/11/1 00:01、2025/11/1 00:02・・・
1dで設定した場合は、1日周期のデータが取得される。
(例)2025/11/1 00:00、2025/11/2 00:00、2025/11/3 00:00・・・
1d
prepostboolプレマーケット、ポストマーケット(時間外取引)のデータを含めるかを設定する。False
auto_adjustbool株式分割などがあった際に分割後の値を分割・配当を反映した 調整後価格 を返すかを設定する。True
back_adjustbool株式分割などがあった際に分割後の値を基に分割前のデータも分割後の計算結果に基づいて表示するかを設定する。FalseFalse
repairboolYahooデータのエラーを補正するかを設定する。
どのような補正をしているかは以下を参照。
https://ranaroussi.github.io/yfinance/advanced/price_repair.html
False
keepnabool戻り値にNanデータを含むかを設定する。False
roundingbool小数2桁でデータを丸めるかを設定する。False
timeoutfloatタイムアウト時間を何秒にするかを設定する。10
raise_errorsboolデータの欠損があった時に取れる限りのデータを出力するか、例外発生とするかを設定する。
True の場合、例外としてエラーを発生する。
False の場合、取れる限りのデータを出力する。
False

3.設定例

import yfinance as yf

stock = yf.Ticker("AAPL") 
stock_history = stock.history()
# 2025/1/1から1年分のデータを1か月周期で取得する。
stock_history = stock.history(start="2025-01-01",period="1y",interval="1mo")
print(str(stock_history))
# 2025/1/1から2026/1/1の期間のデータを取得する。
stock_history = stock.history(start="2025-01-01",end="2026-01-01")
print(str(stock_history))

4.参考

公式ドキュメント
https://ranaroussi.github.io/yfinance/reference/api/yfinance.Ticker.html#yfinance.Ticker

コメント

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