비트코인 분석용 차트 그리기
이전글(주가와 이동평균 그리기)에 이어서 가장 중요한 거래량을 차트에 그려보자.
캔들스틱을 그리는데 사용하는 데이터와 동일하기 때문에 순서없이 함께봐도 된다.
2020/02/29 - [주식 , 가상화폐/기술적 분석] - python 으로 비트코인 차트 그리기 | 캔들스틱 차트 그리기
마찬가지로 준비물은
- python
- cryptowatch API
- bokeh
거래량 데이터
거래량은 해당 기간동안 주식을 사고 팔았던 양을 의미한다. 주의할 것은 만약 A 가 B 에게 비트코인 1 개를 팔았다면 거래량은 1 비트코인이 되는 것이다. A 가 팔고 B 가 그만큼을 사서 2 비트코인이라고 오해하면 안된다.
거래량 그리기
데이터는 cryptowatch 에서 가져온다. 주가데이터에 포함되어 있다. 사실 OHLCV
라고 주가데이터와 거래량데이터가 함께 나온다. 캔들차트와 같은 차트에 그려도 되는데 보통 차트 하나를 더 만들어서 아래에다가 붙인다. 왜냐하면 거래량만을 이용해 지표를 만들 수 있기 때문이다. 거래량으로 만든 지표를 거래량과 함께 표시함으로써 더 깔끔한 형태가 될 수 있다.
데이터 가져오기
import requests
import datetime
# 가져올 데이터의 기간을 정함.
start = datetime.datetime(2020,2,10,2,1,21)
# end = datetime.datetime(2020,2,15,2,1,21)
# bitfinex 거래소의 비트코인 가격 데이터(미 달러 기준)
URL = 'https://api.cryptowat.ch/markets/bitfinex/btcusd/ohlc'
# 3600 초 = 1 시간 단위 봉
params = {'after':start, 'periods':'3600'}
response = requests.get(URL, params=params)
response = response.json()
캔들스틱 차트를 그릴때와 같이 데이터를 가져온다.
데이터 변환하기
data = response['result']['3600']
df = pd.DataFrame(data, columns=['date', 'open', 'high', 'low', 'close', 'volume', 'quote_volume'])
df.loc[:, 'date'] = pd.to_datetime(df.loc[:, 'date'], unit='s')
pandas 데이터프레임으로 바꿔준다.
그리고 날짜를 표시하기 위해 날짜데이터를 변환해준다. unix timestamp
형식을 datetime
형식으로 바꾼다.
차트 띄우기
from bokeh.plotting import figure, show, output_notebook
from bokeh.layouts import gridplot
from bokeh.models.formatters import NumeralTickFormatter
output_notebook()
# 거래량 차트 만들기
p_volumechart = figure(plot_width=1050, plot_height=200, x_range=p_candlechart.x_range, tools="crosshair")
p_volumechart.vbar(df.index, 0.5, df.volume, fill_color="white", line_color="white")
p_volumechart.background_fill_color = '#121212'
# 날짜 표시를 위한 작업
major_label = {
i: date.strftime('%Y-%m-%d') for i, date in enumerate(pd.to_datetime(df["date"]))
}
major_label.update({len(df): ''})
p_volumechart.xaxis.major_label_overrides = major_label
p_volumechart.yaxis[0].formatter = NumeralTickFormatter(format='0,0')
# 그리기
p = gridplot([[p_volumechart]])
show(p)
최종적으로 아래와 같은 거래량 그래프가 뜬다. 가격이 올랐을 때 초록색, 내렸을 때 빨간색 기둥으로 색칠하는 경우도 있지만 우선 단색으로 채운다.
캔들스틱 차트와 함께 그리면 아래와 같이 나온다. 거래소에서 볼 수 있는 차트다. 지표를 더 추가해서 그릴 수도 있다.
'주식 , 가상화폐 > 기술적 분석' 카테고리의 다른 글
python 으로 비트코인 차트 그리기 | 캔들스틱 차트 그리기 (0) | 2020.02.29 |
---|
댓글