본문 바로가기
투자x개발/퀀트 투자

[주가 예측 모델링] #2. 주가 데이터 차트 그리기 (matplotlib)

by didi0di 2023. 4. 5.
728x90

이전글에서 yfinance 라이브러리를 이용해 주가 데이터를 불러왔다.

 

 

[이전글] #1. 주가 데이터 불러오기 (yfinance)

 

[주가 예측 모델링] #1. 주식 데이터 불러오기 (yfinance)

앞서 2차전지 섹터 종목 분석에서 선정한 종목인 에코프로비엠 주가 예측 모델을 만들려고 한다. [이전글] - 2차전지 주요 종목 분석 with ChatGPT [국내주식] 2차전지 주요 종목 분석 with ChatGPT 2차전

didi-universe.tistory.com

 

이제 차트로 시각화를 해보자.

 

시각화 원탑 라이브러리. matplotlib를 이용한다.

시간에 따른 종가 변화를 보기 위해 line 그래프를 그려보았다.

 

import matplotlib.pyplot as plt

plt.figure(figsize=(16, 9))
sns.lineplot(y=echopro_bm['Close'], x = echopro_bm.index)
plt.xlabel('time')
plt.ylabel('price')

 

아니.. 2022년 07월 전까지 잘나가던 에코프로비엠에 무슨 일이..?

코로나 초창기에 한번 꺾였다고 들었는데, 22년 6월 쯤이면 코로나가 지속된지 2년 반이 넘은 시기..

아마 다른 이슈가 있었던게 아닐까 싶다.

 

이 부분은 나중에 좀 더 찾아보고, 우선 기간을 좀 나눠서도 한번 차트를 그려보자.

23년 4월 (현재) 부터 1년간의 데이터를 로드했으므로, 22년 4월~23년 4월 총 12달의 데이터가 있다.

정확히 분기별은 아니지만, 그래도 3개월 단위로 끊어서 한번 차트를 확인해봤다.

 

time_steps = [['2022-04', '2022-07'], 
              ['2022-07', '2022-10'], 
              ['2022-10', '2023-01'], 
              ['2023-01', '2023-04']]

fig, axes = plt.subplots(2, 2)
fig.set_size_inches(16, 9)

for i in range(4):
    ax = axes[i//2, i%2]
    df = echopro_bm.loc[(echopro_bm.index > time_steps[i][0]) & (echopro_bm.index < time_steps[i][1])]
    sns.lineplot(y=df['Close'], x=df.index, ax=ax)
    ax.set_title(f'{time_steps[i][0]}~{time_steps[i][1]}')
    ax.set_xlabel('time')
    ax.set_ylabel('price')
    
plt.tight_layout()
plt.show()

 

역시 최근 2차전지 섹터 부상으로,

23년 1월 이후 주가가 급등하고 있는 모습이 더욱 잘 드러난다.

 

자 이제 주가예측 모델을 만들어보자!

 

 

[다음글] LSTM으로 주가예측 모델 만들기

 

[주가 예측 모델링] #3. LSTM으로 주가예측 모델 만들기

이제 데이터를 살펴봤으니, LSTM 기반의 주가예측 모델을 만들어보자. 우선 지난글에서 불러온대로 데이터를 다시 확인해본다. 데이터 로드 import yfinance as yf import pandas as pd echopro_bm = yf.download("247

didi-universe.tistory.com

 

반응형

 

728x90

댓글