python yahoo_finance_api2
개요
yahoo_finance_api2는 주식 가격 취득용 창고입니다.
일본 주식, 해외 주식 등을 취득할 수 있다.
pip install yahoo_finance_api2
코드
from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import pandas as pd
import datetime
def get_stock_data(code):
stock = share.Share(code)
try:
symbol_data = stock.get_historical(
share.PERIOD_TYPE_DAY, 10,
share.FREQUENCY_TYPE_DAY, 1)
except YahooFinanceError as e:
print(e.message)
df = pd.DataFrame(symbol_data)
df["datetime"] = pd.to_datetime(df.timestamp, unit="ms")
#日本時間へ変換
df["datetime_jst"] = df["datetime"] + datetime.timedelta(hours=9)
df["datetime"] = df["datetime"].astype(str)
df["datetime_jst"] = df["datetime_jst"].astype(str)
return df.T.to_dict()
def convert_dicts_to_list(dict_datas):
num = len(dict_datas.keys())
list_data = []
for i in range(num):
list_data.append(dict_datas[i])
return list_data
dict_datas = get_stock_data('7203.T')
list_data = convert_dicts_to_list(dict_datas)
print(list_data)
share.PERIOD_TYPE_DAY
share.PERIOD_TYPE_WEEK
share.PERIOD_TYPE_MONTH
share.PERIOD_TYPE_YEAR
share.FREQUENCY_TYPE_MINUTE
share.FREQUENCY_TYPE_DAY
share.FREQUENCY_TYPE_MONTH
share.FREQUENCY_TYPE_YEAR
취득 형식은 다음과 같다.사전 유형으로 얻다.
{'timestamp': [1633564800000, 1633651200000, 1633910400000, 1633996800000, 1634083200000, 1634169600000, 1634256000000], 'open': [1852.0, 1920.0, 1930.0, 1994.0, 2018.0, 1965.0, 1999.0], 'high': [1876.0, 1948.5, 1988.0, 2013.5, 2019.0, 1986.0, 1999.5], 'low': [1840.5, 1915.5, 1929.0, 1983.5, 1976.0, 1940.5, 1974.5], 'close': [1869.0, 1923.0, 1987.0, 2002.5, 1976.0, 1985.5, 1993.5], 'volume': [18340800, 22700900, 18449100, 18513900, 19436600, 13517700, 18602800]}
사이트 축소판 그림
Reference
이 문제에 관하여(python yahoo_finance_api2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/mayuki123/articles/a5ae66501b6bcf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)