
1. 이벤트 봇이란?
이벤트 봇이란 시장에서 발생한 이벤트를 감지하여 자동으로 빠른 시간 안에 매수 주문을 넣어 주는 프로그램을 의미합니다. 재작년 처럼 가상화폐 시장이 좋을 때는 많은 이벤트가 수시로 발생했습니다. 이때, 이 기회를 잘 이용한다면 비교적 적은 리스크로 많은 수익을 얻을 수 있습니다.
1.1 시장의 이벤트란?
시장에는 많은 종류의 이벤트가 있습니다. 재작년 같은 경우 도지코인 종목이 일론 머스크 발언에 많은 영향을 받았습니다. 주로 트위터를 통해 도지코인 관련 발언을 했는데, 발언을 할 때마다 급등했던 기간이 있었습니다. 이때, 트위터 일론 머스크 계정을 실시간으로 감시해서 도지코인 관련 발언이 등록되자마자 매수 주문을 넣었다면 많은 수익을 얻을 수 있었습니다. 그리고 어떤 종목이 자신의 공식 트위터를 통해 중요한 발표를 한다는 트윗을 등록하면 시장이 좋을 때는 가격이 오르는 경우가 많았습니다.
업비트 거래소 같은 경우 어느 한 종목이 가격 상승을 하면 뚜렷한 이유 없이 따라서 오르는 종목들이 많습니다. 이 패턴을 파악해서 이들 종목 중 하나가 가격 상승을 하는 것을 감지하여 다른 종목을 빠르게 매수하면 수익을 얻을 수 있을 것입니다.
신규 코인 상장, 기존 코인 리브랜딩, 입출금 일시 정지 등 거래소의 특정 공지에 해당 종목이 가격이 상승하는 경우도 많이 있습니다. 이때, 거래소 공지를 실시간으로 감시하고 있다가 실시간으로 매수하면 수익을 얻을 수 있습니다. 아래와 같이 가상화폐 거래소들의 첫번째 공지들만 거래소 API와 크롤링을 사용하여 가져와 새로 나온 공지를 분석할 수 있습니다.

위의 사례 모두 봇을 쓰지 않고도 사람이 직접 대기하고 있다가 손으로 빠르게 매수하는 것도 가능합니다. 허나 그렇게 한다면 사람이 직접 많은 시간 컴퓨터 앞에 앉아서 작업을 해야 하기 때문에 불편한 점이 많습니다. 하지만 봇을 사용하면 편리하게 트레이딩이 가능합니다. 그리고 이벤트가 발생할 때 가격이 떨어지는 경우는 드물기 때문에 적은 리스크로 짧은 시간 안에 고수익을 노려볼 수 있습니다.
2. 이벤트 봇의 구조
봇의 구조는 아래와 같이 3단계입니다.

2.1 이벤트 감지
다양한 이벤트를 감지합니다. 서버의 API들을 적극 활용하고, API가 불가능하면 직접 크롤링을 시도합니다. 한번에 여러 서버를 감시한다면 비동기 프로그래밍으로 동시에 진행합니다. 이때, 서버마다 요청 주기를 다르게 설정할 필요가 있습니다. 이벤트 감지 부분은 내용이 많아서 나중에 이 부분만 따로 글을 작성하겠습니다.
2.2 이벤트 분석
얻은 이벤트 데이터를 분석하는 부분입니다. 상대적으로 간단한 부분입니다. 받은 데이터는 대부분 파이썬 Dict와 List 형식으로 되어 있습니다. 데이터 중 원하는 부분을 뽑아내서 반복문과 조건문을 사용하여 처리하면 됩니다.
2.3 매수 주문 실행
이벤트 데이터 분석이 끝나고 매수 조건에 부합하면 거래소에 주문을 넣는 부분입니다. 거래소에서 제공하는 SDK를 활용하면 매수 주문을 넣는 것 자체는 간단합니다. 하지만 대부분의 거래소가 API를 통해서는 시장가 주문이 안되기 때문에 빠른 시간 안에 주문을 넣기 위해서는 추가적인 작업이 필요합니다. 또한 주문 수량, 주문 가격을 계산해서 보낼때도 종목 별로 소수점 자릿수가 달라서 이에 맞춰서 주문을 넣지 못하면 주문이 들어가지 않습니다. 이외에도 주문이 들어가지 않을 수 있는 경우를 모두 대비 해야해서, 이벤트 감지 만큼 내용이 많은 편입니다. 이것도 나중에 따로 글을 작성할 예정입니다.
2.4 그 외에 고려해야 할 점들
매수 주문의 금액을 정하는 것도 까다롭습니다. 매수할 종목의 현재 오더북 정보를 확인해서 너무 많은 금액을 주문하지 않도록 해야 합니다. 비인기 종목 같은 경우는 오더북이 받을 수 있는 금액이 적기 때문에, 많은 금액을 매수하게 되면 매수 단가가 급격히 올라가게 됩니다.
거래소에 많은 주문이 몰려서 내 주문이 밀려서 처리될 가능성도 큽니다. 나의 주문 요청 시간과 거래소가 주문을 처리하려고 하는 시간의 차이가 크다면, 다시 말해 주문 처리 지연이 발생했다면 주문을 취소할 수 있게 처리해야 합니다. 다행히 API로 이 기능을 제공하는 거래소가 많이 있습니다.
이벤트 봇은 속도가 생명이기 때문에 처리 속도에도 많은 신경을 쓸 필요가 있습니다. 프로그래밍 언어 측면에서는 비동기 프로그래밍을 최대한 활용하려고 노력하고 있고, 프로그래밍 언어 외적으로는 인터넷 회선을 점검할 필요가 있습니다.
이벤트 데이터를 받아오는 서버의 요청 주기 제한 정책을 어기지 않도록 주의해야 할 필요도 있습니다. 지나치게 자주 요청하게 되면 ip가 차단될 수 있습니다.
'System Trading' 카테고리의 다른 글
| 가상화폐 트레이딩 봇의 필수! 가상화폐 거래소 API 사용법 기초(바이낸스) (0) | 2023.01.23 |
|---|---|
| 가상화폐 거래소 API 키 발급받기의 모든 것! (0) | 2023.01.18 |
| 바이낸스 페어 아비트라지 봇 빌딩하기 - 거래 종료할 때 거래 기록을 Pickle 파일로 저장하기 (0) | 2022.12.27 |
| 바이낸스 페어 아비트라지 봇 빌딩하기 - 중간 점검 및 소개 (0) | 2022.12.26 |
| 바이낸스 페어 아비트라지 봇 빌딩하기 - 현재 거래 중 정보 목록을 파일로 실시간 관리하기 (0) | 2022.12.23 |
댓글