비트코인 시황 알려주는 슬랙 알림봇 세팅

비트코인 시황 알려주는 슬랙 알림봇 세팅

나를 대신해서 시장을 모니터링하고 있다면 비트코인 투자에서도 자신감이 생깁니다. 이 프소팅에서는 파이썬 파이낸스 API로 시장상황을 모니터링 하면서, 현재가가 어느 위치에 있는지를 주기적으로 알려주는 슬랙 알림봇을 만들어 보겠습니다. 연습해 볼 예제로는 변동성 돌파 전략을 구현하는데 필요한 조건들입니다.


글의 순서

슬랙 알림봇, slack_sdk 패키지
변동성 돌파 전략 (Volatility Break-out strategy)
변동성 돌파 전략을 적용할 때 슬랙 알림봇이 메시지를 보내줄 조건
슬랙 알림봇 파이썬 코드


슬랙 알림봇, slack_sdk 패키지

슬랙봇을 가장 간단하게 만들 수 있는 방법은 slack_sdk 패키지를 이용한 방법입니다. 지난 포스팅에서 단 몇 줄의 코딩으로 슬랙 채널에 메시지가 전송되는 것을 보았습니다. 슬랙 알림봇은 아래의 ‘함께 참고하면 좋은 글’에 링크해 두었습니다.

파이썬 프로그래밍을 통해 미리 만들어둔 메시지를 자동으로 보내는 연습을 해보겠습니다. 알고리즘은 간단합니다. 파이선 바이낸스 API로 시장을 모니터링 하다가, 변동성 돌파 전략을 쓸 조건이 되었을 때 슬랙봇이 채널에 메시지를 보내줍니다.



변동성 돌파 전략 (Volatility Break-out strategy)

변동성 돌파 전략은 원리가 간단하고, 코드로 구현하기 쉬운 편입니다. 실제로 많은 주식 HTS(Home Trading System)에서 Wiliams %R, Wiliams A/D라는 보조지표로 만들어져 있기도 합니다.

변동성 돌파 전략을 개발한 래리 윌리암스는 하루 단위의 캔들 차트를 이용합니다. 전날의 캔들에서 최고가(high)와 최저가(low)의 차이인 Range를 가져온 후, 오늘 시가에 Range의 k배가 되었을 때 매수하는 기법입니다. 매도 시점은 다음 날이며, 매도 가격은 시작가입니다. 래리 윌리암스는 K=0.5를 추천합니다.


변동성 돌파 전략을 적용할 때 슬랙 알림봇이 메시지를 보내줄 조건

시간 단위를 하루로 가정해 보겠습니다. 파이썬 바이낸스 API로 가져와서 사용할 ohlcv 데이터는 어제의 최고가, 최저가, 그리고 오늘의 시작가와 현재가입니다.

어제 최고가가 high, 어제 최저가가 low였다면, 어제의 변동성인 Range는 high-low 입니다. 만약 k를 0.5로 설정했다면, 오늘 매수해야할 조건은 오늘의 시작가인 open보다 range × k 만큼 올랐을 때입니다.

슬랙 알림봇 메시지를 다양하게 설정할 수 있는데, 이 포스팅에서는 현재가가 매수 목표가에 얼마나 가까이 있는지를 알아볼 수 있도록 설정해보겠습니다.


슬랙봇 파이썬 코드

슬랙봇은 시장상황을 계속 지켜봐야 합니다. 그러니까 무한 루프의 기반 위에서 작동합니다. 무한 루프를 돌면서 파이썬 파이낸스 API로 ohlcv 데이터를 가져온 후, 현재가가 어제의 변동성을 돌파했는지 확인할 수 있도록 매 10초 마다 알려주는 슬랙 알림봇을 실습코드01에 구현해 보았습니다. #1), #2), …처럼 주석문을 참고하시면 전체 코드가 작동하는 원리를 확인하실 수 있습니다.


마치며 …

이번 포스팅에서는 파이썬 파이낸스 API로 시장상황을 모니터링 하면서, 현재가가 어느 위치에 있는지를 주기적으로 알려주는 슬랙 알림봇을 만들어 보았습니다.

while true : 라는 무한루프의 틀 아래에서 slack_sdk 패키지와 파이썬 바이낸스 API를 사용하면 간단한 몇 줄의 파이썬 코딩만으로 충실한 슬랙봇을 만들 수 있습니다. 이 포스팅의 기본 구문에 if문을 추가하면 원하는 조건이 되었을 때 알려주는 슬랙 알림봇도 만들 수 있습니다.

 

 

함께 참고하면 더 좋은 글 :
슬랙 알림봇 세팅 : 매시간마다 비트코인 가격 알림
슬랙 알림봇 (slack bot) 만들기
슬랙봇 웹훅 URL, 메시지 보내기 파이썬 코드
슬랙 알림봇, slack_sdk를 이용한 파이썬 코드
슬랙 알림봇 : 비트코인 실시간 가격 메신저
바이낸스 비트코인 투자 백 테스팅. 파이썬 코인 투자 연습
바이낸스 API 보안을 위한 환경 변수 설정 : 윈도우 10
바이낸스 API 보안을 위한 리눅스 환경 변수 설정
파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍


참고자료

slack api, Formatting text for app surfaces

Leave a Comment