Pythonで株価を扱う yahoo_finance_api2

参考にさせていただいているブログに従って、yahoo_finance_api2も試してみた。

 

まずはライブラリーページのまま、マイクロソフトの過去10日間の5分足データを得ることにする。

 

import sys
import pandas as pd
from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
my_share = share.Share('MSFT')
symbol_data = None
 
try:
symbol_data = my_share.get_historical(
share.PERIOD_TYPE_DAY,10,
share.FREQUENCY_TYPE_MINUTE,5) 
except YahooFinanceError as e:
print(e.message)
sys.exit(1)
 
#symbol_dataは辞書型、それぞれの値はリストになっているので、DataFrameに変換する。
df = pd.DataFrame(symbol_data)
 
#日付がtimestampになっているので、datetimeに変換する
#pandasにはto_datetimeという関数がある。
df["datetime"]=pd.to_datetime(df.timestamp,unit="ms")
print(df.head())

f:id:toto0130:20220130070009j:plain

MSFT

できた!

同様に、コカコーラ(KO)の過去10週の週足データを求めてみる。

f:id:toto0130:20220130083501j:plain

 

  • 日で指定:share.PERIOD_TYPE_DAY
  • 週で指定:share.PERIOD_TYPE_WEEK
  • 月で指定:share.PERIOD_TYPE_MONTH
  • 年で指定:share.PERIOD_TYPE_YEAR

とのことです。