[Python] mplfinance를 이용하여 캔들스틱 차트 그리기

이 글은 Google 주식 가격 데이터를 다운로드하고 Python, matplotlib, 그리고 yahooquery 라이브러리를 사용하여 캔들스틱 차트를 그리는 방법을 설명한다. 기본 캔들스틱 차트를 그리는 방법, 5일 및 20일 이동 평균선을 추가하는 방법, mplfinance가 제공하는 내장 스타일을 활용하는 방법을 보여준다. yahooquery 라이브러리 사용법은 이전글 Yahooquery로 과거 주식 데이터와 재무 데이터 얻는 방법을 참조한다.

Google 주식 가격 데이터 획득

지난 60일 동안 Google의 주식 가격 데이터를 가져오는 코드는 다음과 같다

python
from yahooquery import Ticker

google = Ticker('GOOGL')
price_data = google.history(period='60d')

데이터 준비

다음으로, 데이터의 인덱스를 재 설정 해준다.

python
import pandas as pd

price_data.reset_index(inplace=True)
price_data['date'] = pd.to_datetime(price_data['date'])
price_data.set_index('date', inplace=True)

캔들스틱 차트 그리기

기본 캔들스틱 차트

python
import mplfinance as mpf

mc = mpf.make_marketcolors(up='g',down='r')
s  = mpf.make_mpf_style(marketcolors=mc)

mpf.plot(price_data,
         style=s,
         type='candle',
         volume=True,
         tight_layout=True)

결과 이미지

기본 캔들스틱 차트
Google 주식의 기본 캔들스틱 차트.

이 차트는 이동 평균선 없이 기본 캔들스틱 차트를 보여준다.

5일 및 20일 이동 평균선 추가

python
mpf.plot(price_data,
         style=s,
         type='candle',
         mav=(5, 20),
         volume=True,
         tight_layout=True)

결과 이미지

이동 평균선이 포함된 캔들스틱 차트
5일 및 20일 이동 평균선을 포함한 캔들스틱 차트.

이 차트는 추세 분석을 강화하기 위해 5일 및 20일 이동 평균선을 포함하고 있다.

mplfinance 내장 스타일 활용

mplfinance는 맞춤 스타일을 만들지 않고도 사용할 수 있는 여러 내장 스타일을 제공한다. 사용자 색상을 정의한 대신

python
mc = mpf.make_marketcolors(up='g',down='r')
s  = mpf.make_mpf_style(marketcolors=mc)

다음과 같은 내장 스타일 중 하나를 사용할 수 있다:

plaintext
['binance', 'blueskies', 'brasil', 'charles', 'checkers', 'classic', 'default', 'ibd', 'kenan', 'mike', 'nightclouds', 'sas', 'starsandstripes', 'yahoo']

예를 들어, Yahoo Finance와 유사한 스타일을 사용하려면:

python
mpf.plot(price_data,
         style='yahoo',
         type='candle',
         mav=(5, 20),
         volume=True,
         tight_layout=True)

결과 이미지

Yahoo Finance 스타일 캔들스틱 차트
mplfinance의 내장 스타일을 사용한 Yahoo Finance 스타일 캔들스틱 차트.

이 방법은 다양한 선호도에 맞는 미리 정의된 스타일을 활용하여 맞춤화 프로세스를 간소화한다.


캔들스틱 차트를 사용하여 Google의 주식 가격 데이터를 시각화하는 방법을 알아보았다. mplfinance 라이브러리를 활용하면, 이동 평균선과 같은 기능을 추가하고 라이브러리의 내장 스타일을 활용하여 상세한 시각화를 만들 수 있다. 이 방법은 금융 분석과 시장 추세 관찰에 좋은 도구가 될 수 있다.


자주 묻는 질문

  1. yahooquery 라이브러리는 무엇이며 어떻게 사용하나요? 이전 글 Yahooquery로 과거 주식 데이터와 재무 데이터 얻는 방법을 참조한다.
  2. 다른 주식에 대해 캔들스틱 차트를 그릴 수 있나요? 'GOOGL'을 원하는 주식 심볼로 교체한다.
  3. 캔들스틱 차트의 색상을 어떻게 커스터마이즈하나요? make_marketcolors 함수의 매개변수를 수정한다.
  4. 데이터를 가져올 시간 기간을 변경할 수 있나요? '60d'를 원하는 시간 기간으로 교체한다.
  5. 캔들스틱 차트는 무엇이며 왜 사용되나요? 캔들스틱 차트는 가격의 움직임을 시각적으로 표현한 그래프로, 금융 분석에서 널리 사용된다.
© Copyright 2023 CLONE CODING