차밍이
[Python] 캔들 스틱 차트 그리기, Candlestick Chart 그리기 - 파이썬 주식투자(3) 본문
반응형
파이썬을 활용해서 캔들 차트를 그리는 방법을 알아보겠습니다.
일반적으로 주식 시장에서 많이 사용되는 캔들 스틱 차트를 그려야 분석하는데 더욱 도움이 됩니다.
우선, 가장 중요한 캔들 차트를 그리기 위한 라이브러리를 설치해야 합니다.
mplfinance 라이브러리 설치
pip install mplfinance
pip install mpl_finance
버전이 조금 달라지면서 설치 이름이 조금씩 다른 것 같습니다.
이전에는 mpl_finance
였던 것 같은데, 2020년 10월 11일 현재 기준으로 mplfinanace
로 설치하는 것이 맞는 것 같습니다.
pip install mplfinance
로 설치해주시면 되겠습니다.
설치 후에도 문제가 있다면, pip upgrade mplfinance
를 진행해주시기 바랍니다.
KOSPI 데이터 가져오기 + 이동평균선 그래프 그리기
이전 게시글에서 진행한 KOSPI데이터 가져오기와 이동평균선 그리기 내용입니다.
해당 내용을 베이스로 설명을 이어가겠습니다.
아래 내용이 이해가 안 된다면, 이전 게시글을 참고해주세요.
[Python] KOSPI 이동평균선, 주가 이동평균선 구하기 // 파이썬 주식투자
[Python] pandas_datareader 코스피 코스닥 지수 데이터 가져오기
from mpl_finance import candlestick2_ohlc
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
import pandas as pd
from pandas_datareader import data
from datetime import datetime
from IPython.display import display
# 데이터를 가져올 날짜 설정
start_date = datetime(2020,5,8)
end_date = datetime(2020,10,8)
# 야후에서 코스피 데이터 가져오기
kospi_df = data.get_data_yahoo("^KS11", start_date, end_date)
display(kospi_df.head(5))
# 지수 이동평균선 데이터 구하기
kospi_df['MA3'] = kospi_df['Close'].rolling(3).mean()
kospi_df['MA5'] = kospi_df['Close'].rolling(5).mean()
kospi_df['MA10'] = kospi_df['Close'].rolling(10).mean()
kospi_df['MA20'] = kospi_df['Close'].rolling(20).mean()
display(kospi_df.head(5))
# 그래프 그리기
fig, ax = plt.subplots(figsize=(10,5))
ax.set_title('KOSPI INDEX', fontsize=15)
ax.set_ylabel("KOSPI")
ax.set_xlabel("Date Time")
ax.plot(kospi_df.index, kospi_df[['Close','MA5','MA10']])
ax.legend(['Close','MA5','MA10'])
plt.show()
캔들 스틱 차트 그리기
fig = plt.figure(figsize=(20,10))
ax = fig.add_subplot(111)
index = kospi_df.index.astype('str') # 캔들스틱 x축이 str로 들어감
# 이동평균선 그리기
ax.plot(index, kospi_df['MA3'], label='MA3', linewidth=0.7)
ax.plot(index, kospi_df['MA5'], label='MA5', linewidth=0.7)
ax.plot(index, kospi_df['MA10'], label='MA10', linewidth=0.7)
# X축 티커 숫자 20개로 제한
ax.xaxis.set_major_locator(ticker.MaxNLocator(20))
# 그래프 title과 축 이름 지정
ax.set_title('KOSPI INDEX', fontsize=22)
ax.set_xlabel('Date')
# 캔들차트 그리기
candlestick2_ohlc(ax, kospi_df['Open'], kospi_df['High'],
kospi_df['Low'], kospi_df['Close'],
width=0.5, colorup='r', colordown='b')
ax.legend()
plt.grid()
plt.show()
이렇게 캔들스틱 차트를 사용해서 KOSPI 지수 그래프를 그려보았습니다.
이처럼 이동평균선과 캔들을 그려볼 수 있습니다.
반응형
'투자 > Quant & BackTest' 카테고리의 다른 글
EPS와 PER이 무엇이며, 수익률에 미치는 영향은 ? (1) | 2022.12.24 |
---|---|
[퀀터스] 퀀트 투자 팩터의 신뢰성 검증(1) - 10분위 테스트 - PER,PBR,PSR,POR (1) | 2022.12.19 |
[Python] 주식 오버나잇(Overnight) 효과 파악 분석 - 파이썬 주식투자(5) (0) | 2020.12.22 |
[Python] 거래량 막대 그래프, 캔들스틱 차트에 같이 표현하기 - 파이썬 주식투자(4) (4) | 2020.12.21 |
[Python] KOSPI 이동평균선, 주가 이동평균선 구하기 // 파이썬 주식투자(2) (1) | 2020.10.11 |
[키움 OpenAPI] 자동 로그인 설정하기 (0) | 2020.08.28 |
[키움 OpenAPI] mfc100.dll이(가) 없어.. 시스템 오류 해결방법 (1) | 2020.07.06 |
[키움 openAPI] OpenAPI OCX를 탑재한 프로그램을 종료하신 후 확인버튼을 눌러주시기 바랍니다. (0) | 2020.06.20 |
관련된 글 보기
Comments