728x90
반응형
간단하게 다음 4가지 방법으로 주식 데이터를 받는 방법을 알아봅니다.
1) FinanceDataReader
2) pandas_datareader
3) yfinance
4) pykrx
1) FinanceDataReader
import FinanceDataReader as fdr import matplotlib.pyplot as plt start = '2010-01-01' end = '2022-07-31' code = '005930' name = '삼성전자' df_fdr = fdr.DataReader(code, start=start, end=end) df_fdr fig = plt.figure(figsize=(20, 10)) plt.rcParams['font.family'] = 'NanumGothic' plt.plot(df['Close'], label='Close') plt.title('Stock Trade(' + name + ':' + code + '[train:' + start + '~' + end + ']') plt.xlabel("Date") plt.ylabel("Price") plt.legend() plt.grid() # 상장폐지 종목 전체 리스트 delisting = fdr.StockListing('KRX-DELISTING') delisting |
2) pandas_datareader
import pandas_datareader as pdr import matplotlib.pyplot as plt start = '2010-01-01' end = '2022-07-31' code = '005930.KS' name = '삼성전자' df = pdr.DataReader(code, 'yahoo', start, end) df fig = plt.figure(figsize=(20, 10)) plt.rcParams['font.family'] = 'NanumGothic' plt.plot(df['Close'], label='Close') plt.title('Stock Trade(' + name + ':' + code + '[train:' + start + '~' + end + ']') plt.xlabel("Date") plt.ylabel("Price") plt.legend() plt.grid() |
3) yfinance
import matplotlib.pyplot as plt import yfinance as yf start = '2010-01-01' end = '2022-07-31' code = '005930.KS' name = '삼성전자' tixker = yf.Ticker('005930.KS') df = ticker.history(interval='1d', start=start, end=end) df fig = plt.figure(figsize=(20, 10)) plt.rcParams['font.family'] = 'NanumGothic' plt.plot(df['Close'], label='Close') plt.title('Stock Trade(' + name + ':' + code + '[train:' + start + '~' + end + ']') plt.xlabel("Date") plt.ylabel("Price") plt.legend() plt.grid() |
4) pykrx
from pykrx import stock import matplotlib.pyplot as plt start = '2010-01-01' end = '2022-07-31' code = '005930' name = '삼성전자' df = stock.get_market_ohlcv(start, end, code) df fig = plt.figure(figsize=(20, 10)) plt.rcParams['font.family'] = 'NanumGothic' plt.plot(df['종가'], label='Close') plt.title('Stock Trade(' + name + ':' + code + '[train:' + start + '~' + end + ']') plt.xlabel("Date") plt.ylabel("Price") plt.legend() plt.grid() # 기본적으로는 컬럼명이 한글로 되어 있습니다. 다음과 같이 컬럼명을 변경할 수 있습니다. df.columns = ['Open', 'High', 'Low', 'Close', 'Volume'] df |
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 로또 번호 가져오기 (0) | 2022.08.07 |
---|---|
[파이썬] DOS Print Color 지정 (0) | 2022.08.06 |
[정규표현식] 정규 표현식(Regular Expression)-1 (0) | 2022.08.04 |
[원리] 수학자, 컴퓨터를 만들다 (0) | 2022.08.03 |
[DB] SQL 기초 (0) | 2022.08.03 |
댓글