호크아이 거래량 지표 (HawkEye Volume Indicator) 파이썬 코딩

거래량은 특정 기간 동안 매매된 주식 또는 코인의 수를 나타내며, 이는 시장의 활성화 정도를 보여줍니다. 호크아이 거래량 지표 (HawkEye Volume Indicator)는 거래량을 색깔로 파악할 수 있는 좋은 도구입니다. 이번 포스팅에서는 호크아이 거래량 지표를 파이썬으로 구현하는 방법을 알아보겠습니다. 볼린저밴드와 함께 비트코인 가격의 경향성을 파악해보시기 바랍니다.

 

 


글의 순서

호크아이 거래량 지표 (HawkEye Volume Indicator)
호크아이 거래량 지표 (HawkEye Volume Indicator) 계산 알고리즘
호크아이 거래량 지표에서 divisor 역할
호크아이 거래량 막대 색깔 설정 조건
파이썬 코드 : 볼린저밴드와 호크아이 거래량 지표


호크아이 거래량 지표 (HawkEye Volume Indicator)

HawkEye Volume은 Nigel Hawks가 개발한 거래량 지표이며, 매매 신호로 활용할 수 있는 기술적 분석 도구입니다. 호크아이 거래량 지표는 거래량을 가격의 상승, 하락과 연관지어 색깔로 표현하니까 쉽게 시장상황을 이해할 수 있습니다. 그러니까 이 지표는 가격 움직임과 거래량의 관계를 통해 매매 신호를 식별하는 데 사용할 수 있습니다.

호크아이 거래량 지표는 기본적으로 아래와 같이 2가지를 분석한 후 함께 고려합니다.
▶거래량의 증가 또는 감소: 현재 거래량이 이전 거래량보다 증가했는지 감소했는지
▶가격의 상승 또는 하락: 현재 가격이 이전 가격보다 상승했는지 하락했는지

호크아이 거래량 지표의 개념은 간단합니다만, 실제로 거래에 활용하기 위해서는 더 많은 조건들을 함께 봐야 합니다. 자세한 구현 방법을 살펴보겠습니다.


호크아이 거래량 지표 (HawkEye Volume Indicator) 계산 알고리즘

아래의 절차를 통해 호크아이 거래량 지표를 구할 수 있습니다.

1) window 설정 : 과거 데이터를 얼마만큼 조회할지에 대한 기간
2) divisor 설정 : 거래량 지표가 시장의 변동성에 어떻게 반응하는지를 조정하는 설정값.
3) 이동평균 계산 : window 기간 동안의 이동평균 계산
4) 이전 기간에서의 가격변동 중간점 계산 : 고가와 저가의 중간점
5) 중간점을 기준으로 상단 및 하단 경계(u1과 d1) 설정
6) 거래량 막대 색깔 결정
  – 빨간색 : 시장이 하락세(약세)를 보일 수 있는 조건(REnabled)
  – 초록색 : 시장이 상승세(강세)를 보일 수 있는 조건(GEnabled)
  – 회색 : 상승, 하락을 예상하지 못할 중립적인 조건GREnabled)

여기서 상단과 하단 경계의 민감도를 조정하는 divisor는 경험적으로 정하는 값입니다. 참고자료에서는 3.6을 제시하였습니다. divisor 값이 클수록 경계는 중간값에 가까워지고, 작을수록 멀어집니다. 또한 거래량 막대 색깔을 결정할 때, Enabled라는 변수명을 썼는데, Enabled가 ‘활성화된’이란 의미이듯 해당 조건이 활성화되었다는 것을 나타냅니다. Enabled 앞의 R, G는 각각 Red, Green을 의미하며, GR은 green과 red를 붙여서 이도저도 아닌 상태를 나타냅니다.


호크아이 거래량 지표에서 divisor 역할

divisor는 중간값(Mid1)을 기준으로 상단 경계(u1)와 하단 경계(d1)를 설정할 때 사용되는 값입니다. 이 값은 경계값의 민감도를 조정하는 역할을 합니다. divisor가 ‘나누는 것’이라는 뜻인 것처럼, divisor로 나눠주니까, divisor가 클수록 상단 경계와 하단 경계의 범위가 좁아지고, 작을수록 범위가 넓어집니다. 예를 들어, divisor를 3.6에서 1.8로 줄이면 상단과 하단 경계는 중간값에서 더 멀어지며, 시장의 변동성에 더 민감하게 반응합니다.

divisor 값을 조정함으로써, 거래량 지표가 시장의 변동성에 어떻게 반응하는지를 조정할 수 있는데, 이는 각 종목별, 각 시간 간격별 등 시장 상황을 관찰해보고 결정해야합니다.


호크아이 거래량 막대 색깔 설정 조건

본격적으로 파이썬 코드를 작성하기 전에 색깔을 구분하기 위한 조건들을 정리해보겠습니다. 거래량 막대 색깔은 아래의 조건에 따라 결정됩니다.

(1) REnabled: 특정 하락 조건이 활성화된 경우

▶종가가 하단 경계보다 낮거나, 중간값보다 낮음
▶거래량이 평균보다 크고, 고가와 저가의 차이가 평균보다 큼

(2) GEnabled: 특정 상승 조건이 활성화된 경우

▶종가가 중간값보다 높거나, 상단 경계보다 높음
▶고가가 이전 고가보다 높거나, 저가가 이전 저가보다 낮음
▶거래량이 평균보다 크거나, 고가와 저가의 차이가 평균의 1.5배보다 작음

(3) GREnabled: 특정 중립 조건이 활성화된 경우

▶종가가 상단 및 하단 경계 사이에 있거나, 고가와 저가의 차이가 평균의 1.5배보다 작음
▶거래량이 평균보다 크고, 평균의 1.5배보다 작거나, 이전 거래량보다 큼


파이썬 코드 : 볼린저밴드와 호크아이 거래량 지표

호크아이 거래량 지표를 아래의 파이썬 코드에서 구현하였습니다. 거래량만으로는 그 의미를 파악하기 힘들기 때문에 지난 포스팅의 캔들스틱 차트와 함께 나타내었습니다. 실습코드는 파이썬 pyplot으로 구현한 캔들스틱 차트에 볼린저밴드를 함께 그리고, 그 아래에는 호크아이 거래량 지표(HawkEye Volume Indicator)를 나타내는 코드입니다.

위에서 설명한 변수들 기준으로 코드를 보시면 이해가 빠를 것입니다. Range, RangeAvg, VolumeAvg를 계산하여 각 조건에서 사용할 기본값을 설정합니다. High1와 Low1는 이전 시간 구간의 고가와 저가를 의미합니다. Mid1는 이전 구간의 고가와 저가의 중간값입니다. u1와 d1는 중간값을 기준으로 한 상단 및 하단 경계값입니다.

하락 조건을 빨간색으로, 상승 조건을 녹색으로, 중립 조건을 회색으로 각각 표시할 수 있도록 np.select를 사용하여 색상을 지정합니다. 볼린저 밴드를 회색으로 보여주기 위한 matplotlib.pyplot의 fill_between이 차트의 가독성을 높여줍니다. 지난 포스팅에서와 달리 캔들스틱의 색깔도 상승을 녹색으로, 하락을 빨간색으로 바꿔서 호크아이 거래량 지표의 색상과 동일하게 하였습니다. 가격의 흐름과 호크아이 거래량 지표를 함께 보며 시장을 파악해 보시기 바랍니다. 코드의 맨 마지막 부분이 차트를 그림파일로 저장하는 방법을 보여줍니다. 이 포스팅에서도 그래프가 C:/_python/pandas/candle_pyplot/ 이라는 폴더에 저장됩니다. 물론 파일이 저장되는 경로는 각자 개인이 원하는 곳으로 지정하시면 되겠습니다.

볼린저밴드, 호크아이 거래량 지표


마치며 …

이번 포스팅에서는 호크아이 거래량 지표 (HawkEye Volume Indicator)를 파이썬 코드로 구현해보았습니다. HawkEye 거래량 지표는 색상을 통해 거래량 데이터를 시각적으로 표현합니다. 그러므로 시장의 추세와 변동성을 좀 더 직관적으로 파악할 수 있게 해줍니다. 이번 포스팅에서 보여드린 파이썬 코드를 통해 최적의 매매 기회를 포착하는데 유용하게 사용하시길 바랍니다.

 

 

함께 참고하면 좋은 글
볼린저밴드, BBW, 파이썬 pyplot 캔들스틱 차트에 표시 방법
파이썬 pyplot 캔들스틱 차트, 스토캐스틱 RSI 차트
바이낸스 API, 판다스 시계열 데이터 분석. 볼린저 밴드 지표 %b, 밴드폭(Bandwidth)
캔들 차트의 의미와 파이썬 pyplot으로 그리는 캔들스틱 차트
파이썬 바이낸스 API로 시계열 데이터 분석. 판다스, 볼린저 밴드 (Bollinger Band)
파이썬 바이낸스 비트코인 투자 백테스팅 : 볼린저 밴드 추세 추종 매매 기법
파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍
mplfinance 캔들 차트 스타일
캔들 차트 스타일 변경 (mplfinance, customization)
바이낸스 API 보안을 위한 환경 변수 설정 : 윈도우 10
시계열 데이터 분석 : 추세분석 지표 6가지


참고자료

HawkEye Volume Indicator, ProRealCode

Leave a Comment