!pip install -q finance-datareader
FinanceDataReader의 chart 객체를 사용하여 차트를 그립니다.
다음은 2021-01-01 ~ 2021-02-15 (1.5개월)간의 삼성전자 캔틀차트 입니다.
fdr.DataReader()
에서 가져온 가격 데이터(df)를 fdr.chart.plot(df)
에 전달해주면 됩니다. 차트 내에서 확대/축소, 이미지 저장, 이동 등을 자체지원합니다.
import FinanceDataReader as fdr
df = fdr.DataReader('005930', '2021-01-01', '2021-02-15')
fdr.chart.plot(df)
fdr.chart.plot()는 다양한 파라미터가 있으며, 원하는 값들을 지정할 수 있습니다.
fdr.chart.plot(df, title='삼성전자(005930)')
fdr.chart.plot(df)
에 지정 가능한 인자와 기본값
width
: 차트의 너비를 지정합니다 (pixel값) (기본값: 800)height
: 차트의 높이를 지정합니다 (pixel값) (기본값: 480)volume_height
: 0.3, # 30% size of figure heightrecent_high
: 이전 고점을 표시할지 여부(기본값: False)volume
: 거래량 막대를 표시할지 여부 (기본값: True)title
: 제목을 지정합니다. 차트 왼쪽 상단에 표시됩니다 (기본값: '')ylabel
: y축의 레이블을 지정합니다. 차트 왼쪽에 표시됩니다 (기본값: '')moving_average_type
: 이동평균을 표시합니다. 'SMA', 'WMA', 'EMA', 'None'중 하나를 지정할 수 있습니다. (기본값: 'SMA')moving_average_lines
: 이동평균선의 데이터 개수와 몇개캔들을 사용할지 지정합니다. (기본값: (5, 20, 60) - 즉, 5일, 20일, 60일을 표시합니다)color_up
: 상승캔들의 색상 (기본값:'red')color_down
: 하락캔들의 색상 (기본값:'blue')color_volume_up
: 전일거래량 대비 상승 막대의 색상 (기본값:'red')color_volume_down
: 전일거래량 대비 하락 막대의 색상 (기본값:'blue')moving_average_type
은 이동평균선의 종류를 지정합니다. 종류는 다음과 같습니다.
moving_average_lines
는 이동평균선의 데이터 개수와 몇개캔들을 사용할지 튜플값으로 지정합니다. 예를 들어, (5, 20)으로 지정하면 5일 이동평균선과 20일 이동평균선 2개 선이 표시됩니다.
이동평균선의 색상 순서는 다음과 같습니다. (참고로 색상의 tab의 의미는 tablue 표준색상을 의미합니다)
['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan']
거래량 막대의 색상은 가격의 상승 혹은 하락(시가대비 종가)을 표시하는 것이 아니라, 전일 거래량 대비 상승과 하락을 표현합니다.
차트 그리기에 사용되는 기본 값을 바꿀 수 있습니다.
예를 들어, 차트의 기본 크기를 지정하고 싶은 경우 다음과 같이 fdr.chart.config()
를 사용하여 지정할 수 있습니다.
fdr.chart.config(width=400, height=200)
title, width, height, volume 등 plot()에 가능한 설정을 지정할 수 있습니다.
fdr.chart.config(title='삼성전자(005930) 2021년')
fdr.chart.config(width=400, height=200)
fdr.chart.config(volume=False)
fdr.chart.plot(df)
다음과 같이 dict를 사용하여 다양할 설정을 한번에 지정할 수 있습니다
config = {'title':'fdr.chart.config()를 사용하여 설정을 한번에 지정할 수 있습니다',
'width': 600,
'height': 300,
'volume': True,
}
fdr.chart.config(config=config)
fdr.chart.plot(df)
모든 설정을 초기 기본 설정으로 되돌리려면 config(reset=True)를 지정합니다.
fdr.chart.config(reset=True)
fdr.chart.config(reset=True)
df = fdr.DataReader('000660', '2021')
fdr.chart.plot(df)