앞서 2차전지 섹터 종목 분석에서 선정한 종목인 에코프로비엠 주가 예측 모델을 만들려고 한다.
[이전글] - 2차전지 주요 종목 분석 with ChatGPT
주가 예측 모델을 만들기 위해 우선 주식 데이터를 불러와야 한다.
python으로 주식이나 지수 데이터를 불러오는 다양한 방법이 있는데,
이번에는 Yahoo Finance의 정보를 제공해 주는 pythion 오픈 소스인 yfinance 를 사용해 주가 데이터를 불러왔다.
https://pypi.org/project/yfinance/
늘 그렇듯 패키지 인스톨하고 사용하면 된다.
!pip install yfinance
import yfinance as yf
Ticker 찾기
원하는 종목의 주가 데이터를 불러오기 위해서는 ticker 를 알아야 한다.
ticker란, 종목 별로 쉽게 구분할 수 있게 짧게 줄여진 이름, 즉 인덱스라고 생각하면 된다.
yahoo finance 홈페이지에서 지수나 종목의 ticker를 찾을 수 있다.
영문으로 치거나 구글에 ticker를 쳐보고 나오는 숫자로 찾으면 된다.
에코프로비엠을 검색을 해보면 ticker 가 247540.KQ 임을 알 수 있다. (참고로 KQ 는 코스닥, KS 는 코스피임)
내친김에 Summary도 한 번 봐주고.
데이터 로드
이제 ticker를 알아냈으니, 주가 데이터를 불러올 수 있는데
2가지 방법이 있다.
1) history 함수 사용
아까 알아낸 ticker로 ticker를 생성하고,
# 1) yf.Ticker.history 사용
name = '247540.KQ'
ticker = yf.Ticker(name)
df = ticker.history(period='5y')
df
>> Open High Low Close Volume Dividends Stock Splits
Date
2023-04-04 00:00:00+09:00 232000.0 238500.0 221500.0 224500.0 1915939 0.0 0.0
2) download 함수 사용
이번에는 download 함수를 이용해서 데이터를 로드했다.
맨 앞의 인자로 ticker를 바로 넣어줘도 된다.
파라미터도 추가해줬는데, interval 은 조회 간격을, period 는 조회 기간을 지정하는 변수이다.
** interval='1h', period='1y' 은 1시간 간격으로 1년치 데이터를 조회하겠다는 의미.
# 2)yf.download 사용
echopro_bm = yf.download("247540.KQ", interval='1h', period='1y') # 1시간 간격으로 1년치 데이터 로드
echopro_bm.head(3)
>> Open High Low Close Adj Close Volume
Datetime
2022-04-05 09:00:00+09:00 394900.0 404400.0 392900.0 399500.0 399500.0 0
2022-04-05 10:00:00+09:00 399500.0 408100.0 398200.0 408000.0 408000.0 79004
2022-04-05 11:00:00+09:00 408000.0 412600.0 407100.0 411800.0 411800.0 71275
start와 end로 원하는 날짜 구간도 지정 가능함.
이 밖에도 다양한 파라미터가 있다.
자세한 내용은 yfinance 블로그 참조.
https://aroussi.com/post/python-yahoo-finance
주가 데이터를 불러왔으니 다음엔 차트도 그려보고,
예측 모델링도 해보자.
'투자x개발 > 퀀트 투자' 카테고리의 다른 글
[할 수 있다!퀀트 투자] ch.04 듀얼 모멘텀 전략 - 한국 팩터 듀얼 모멘텀 전략 (0) | 2023.07.18 |
---|---|
[주가 예측 모델링] #3. LSTM으로 주가예측 모델 만들기 (0) | 2023.04.06 |
[주가 예측 모델링] #2. 주가 데이터 차트 그리기 (matplotlib) (0) | 2023.04.05 |
[국내주식] 2차전지 주요 종목 분석 with ChatGPT (0) | 2023.04.04 |
[할 수 있다!퀀트 투자] Ch.0 왜 계량투자 인가 (0) | 2023.04.02 |
댓글