株価を取得できるPythonライブラリの1つである「yahoo_finance_api2」で株価を取得してみました!
(調査日:2023年3月13日)
【調査時の環境】
・yahoo_finance_api2 0.0.12
目次
「yahoo_finance_api2」をインストール
コマンド実行
$ pip install yahoo_finance_api2
株価取得のサンプルコード
yahoo_finance_api2_sample.py
from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import pandas as pd
from datetime import datetime
# トヨタの東証コード
code = "7203"
my_share = share.Share(code + ".T")
try:
symbol_data = my_share.get_historical(share.PERIOD_TYPE_YEAR,
1,
share.FREQUENCY_TYPE_DAY,
1)
except YahooFinanceError as e:
print(e.message)
df = pd.DataFrame({'Date': [datetime.fromtimestamp(d / 1000) for d in symbol_data['timestamp']],\
'Open' : symbol_data['open'], 'High' : symbol_data['high'], 'Low' : symbol_data['low'],\
'Close' : symbol_data['close'], 'Volume' : symbol_data['volume']}).set_index('Date')
print(df)
symbol_data
で取得したデータはタイムスタンプがUNIXタイム(ミリ秒)で分かりにくいため、pd.DataFrame(
のところでデータフォーマット変換しています。
参考:
・Pythonのyahoo-finance-api2用いて株価を取得する
・(公式)yahoo-finance-api2 0.0.12
実行結果
実行結果
Open High Low Close Volume
Date
2022-03-14 09:00:00 1883.0 1929.0 1881.5 1914.0 26346200
2022-03-15 09:00:00 1912.5 1976.0 1907.0 1955.0 26940000
2022-03-16 09:00:00 1968.0 2000.0 1967.5 1991.0 32882200
2022-03-17 09:00:00 2045.0 2065.0 2010.0 2036.0 35580400
2022-03-18 09:00:00 2000.5 2025.0 1996.0 2020.0 43985400
... ... ... ... ... ...
2023-03-06 09:00:00 1893.0 1915.0 1890.0 1905.5 28716300
2023-03-07 09:00:00 1900.0 1914.5 1893.0 1914.5 20837300
2023-03-08 09:00:00 1904.0 1915.5 1903.0 1907.5 18703000
2023-03-09 09:00:00 1917.5 1931.5 1915.0 1919.5 23844600
2023-03-10 09:00:00 1898.0 1910.5 1887.5 1896.0 33371500
[244 rows x 5 columns]
時間軸でプロットしてみました。
ほぼ一致していることが分かります。

・青線が「yahoo_finance_api2」で取得したもの、緑線がGoogle Finance(Web)のものです。
以上!
コメント