티스토리 뷰

이 글은 자동매매 봇을 만들고 그 간의 과정을 정리하고 또 수익에 대한 기록을 남기기 위해 작성하게 되었고
본격적으로 매매 봇에 대한 이야기를 시작하기 전에 나에 대한 잡담으로 먼저 시작해본다.


코인을 접한지도 1년이라는 시간이 다 되어간다. 

코로나 이후 주식을 시작하며 한창 코스피가 박살난 그 덕분에 사는 종목마다 괜찮은 수익을 맛보고
친구 따라 미국 주식을 시작하며 재미를 보다가 GME 사태에 합류하게 되면서 단기간에 큰 수익도 보았다.

그 전까진 그래도 나름 분산투자도 하며 조심히 운영을 했다고 생각했으나,
단기간에 큰 수익으로 재미를 보고 나니, 나도 모르게 눈이 돌아가고 결국 몰빵을 하다 크게 잃어 보기도 했다.

그 뒤로 시작한 코인은 마찬가지로 3월 ~ 4월 사이에 나에게 수익을 안겨다 주었으나 또 한번 큰 수익에 목말랐던 나는
다시 한 번 몰빵을 하게 되고 4 ~ 5월 대폭락을 겪으며 계좌는 또 한 번 반토막이 나버리게 되었다. 

그 뒤로 내가 감당할 수 있는 금액만을 남겨 두고, 소소하게 치킨값이나 벌자는 마음으로
천천히 코인도 굴려보고, 하나의 코인을 사서 존버 해보자는 마음으로 2달간 보유해서 수익을 낸 코인도 있었다.

그렇게 코인에 대해서 공부도 하게 되었고, 차트를 본다거나 보조지표가 무엇인지에 대해서도 알게 되었다.
그렇게 과거에 무지성으로 했던 매매를 반성하며 중간에 큰 수익도 내서 일부지만 앞서 잃은 손해도 메우고 있다.

문제는 이렇게 한 번씩 큰 수익을 볼 때마다, 자꾸 큰 수익에 대한 미련이 남는 게 가장 큰 문제였다. 
그러다 보니 매도 시기를 놓쳐 더 적은 수익을 보거나 어떤 경우는 손절을 하고 팔아야 하는 경우도 생겼다.

그렇게 인생은 한방이 아니라고 매번 다짐하며 마인드 컨트롤하다 보니 내가 그렇게 하기 힘들다면
차라리 프로그램이 하게 하면 어떨까? 하는 생각이 들었고 이를 계기로 자동매매 봇을 만들게 되었다.


앞서 이야기했던 것처럼, "계속 큰 수익에 목말라하기보단 작은 수익이라도 꾸준히 낼 수 있도록 하는 것"
매매 봇을 만들게 된 결정적인 계기이자 목표였다.

가장 쉽게 생각해서 수익을 내려면 싸게 사서 비싸게 팔면 된다.
그리고 나는 이를 위해 보조지표를 활용하기로 했고, 볼린저밴드와 이동평균선을 기준으로 테스트를 진행하였다.

가장 먼저 생각한 건 이렇다
"볼린저 밴드 하단선을 이탈하고 V자 반등을 할 때 매수해서 2~3%의 수익을 달성하면 시장가로 매도하자"

위 그림과 같이 5분 봉을 기준으로 볼린저 밴드 하단을 이탈하고 V자 반등을 하는 구간에 매수하도록 코드를 만들고
테스트를 진행했다. 

결과는 생각보다 괜찮았다. 기억으론 한 4~5만 원 정도 수익을 냈는데, 여기서 문제가 하나 있었다.

위 그림처럼 아무래도 5분 봉을 기준으로 하다 보니 장기적으로 하락 중일 때는 내가 설정한 구간에 매수를 했다간
물리기 딱 좋았다는 것이었다. 

아무튼 봇이 정상적으로 작동하고 있는 것은 확인했으니, 이제 로직을 조금씩 수정해야 하는 시점이 왔다. 

중간중간 조금씩 수정은 했으나 결과적으로 이야기하자면 현재는 2가지 케이스를 모두 충족하는 경우에 매수를 하도록 진행했다.

  1. 1시간 봉 기준으로 볼린저 밴드를 이탈하는지 + @
  2. 15분 봉 기준으로 볼린저 밴드를 이탈하는지 + @
    ※ 이번 글에서는 간단하게 볼린저 밴드만을 기준으로 설명하겠다. +@는 나중에 다시 한번 이야기할 것.

예시를 한번 보자, 위 차트를 1번 조건인 1시간 봉을 기준으로 먼저 확인하면 
9시 10시 13시 3번 이탈하는 것을 알 수 있다.

그리고 이걸 다시 15분 봉을 기준으로 쪼개어 보면 아래와 같이 나오는데
9-9:15 2번의 기회와 3-3:45 3번의 매수 기회가 발생하게 된다.

여기서 말하고 싶은 것은, 1시간 봉 기준으로 이탈했다고 15분 봉 기준으로 다 이탈하는 것이 아니라는 것과
15분 봉 기준(14:45)으로 이탈을 시작했어도 1시간 봉 (14:00)은 볼린저 밴드 하단 아래 위치하지 않을 수 있다는 것으로
단순히 기준 하나만 보는 것보다 다른 조건을 함께 보는 것이 보다 좋은 매수 기회를 노릴 수 있다는 것이다.

여기에 나는 +@로 이동평균선과, 단순히 봉 하나만을 보는 것이 아닌 전, 전전 봉 등을 함께 확인하여 매수를 진행시켜
볼린저 밴드 하단을 이탈할 때마다 매수하여 물리는 경우를 방지하고자 하였다.

※ 쉽게 이야기하자면 현재 봉이 볼린저 밴드 하단에 위치하였을 때 전전 봉의 이평선(1)도 볼린저 밴드 하단에
위치하였을 경우 매수를 하도록 설정한다면 9시 구간에선 매수가 발생하지 않을 것이고 15시 구간에서만
매수가 발생하였을 것이다.

그리고 앞서 반등할 때 매수를 하도록 했더니 저점 대비 어느 정도 올라야 매수가 발생하게 되어, 반등 상관없이 매수하도록 설정하였더니 그 전보다 훨씬 더 저점에 매수하는 것을 확인할 수 있었다.

그리고 당연히 위 로직도 모든 경우의 수를 다 대응할 순 없기 때문에 최대 매수 코인 개수를 설정하거나, 각 코인 당
최대로 매수할 수 있는 금액을 설정하는 등 여러모로 물리는 경우를 대비하기 위해 안전장치를 설정해 두었다.

그리고 확실히 분할 매수/매도를 하도록 하였더니 현재 3.1% 이상 수익 발생하는 경우 매도를 하도록 되어 있는데,
은근 급등에 얻어걸려 10% 수익도 발생하고 최대 40%대 수익이 발생한 적도 있었다.

최근 연이은 하락장에 당연히 물려있는 코인도 있다. 이럴 경우 남겨둔 시드를 활용해 손 매매로 물 태워 탈출할 수 있도록
유도하고 있고 오늘도 그렇게 몇 코인 탈출시켜 두었다.

그리고 아래는 어느 정도 수익을 보고 매도를 했는지 확인하기 위해서 간단하게 알림으로 받아 볼 수 있도록
텔레그램 봇을 활용해 메시지를 받도록 하였다.
※ 문제는 시장가 매도를 하다 보니 실제 수익은 한 틱 낮게 나온다. (그래서 일부러 3.1%로 했다)

코인 봇에 대한 이야기는 오늘은 여기까지 하고자 한다. 

12.15 기준으로 약 25만 원 정도의 누적 수익이 발생했고, 물린 애들도 탈출하면 30만 원 이상의 수익이 가능할 것 같다.
%로 따지기엔 전체 금액의 일부만 굴리고 있고, 그 금액마저도 설정한 구간에 도달하는 코인이 얼마나 있냐에 따라 달라
투자 금액 대비 몇 % 의 수익이다 라고 말 하긴 애매한 것 같다.

단 지켜보니 한 번에 최대 300만 원 정도 매수를 진행했던 적이 있어 300을 기준으로 따지면 약 7~8% 수익이 되지 않을까 싶긴 하다. 

지금 다시 읽어봐도 참 글을 못 쓰긴 했는데... 맥주 한 캔 하다가 갑자기 생각나서 그냥 끄적인 것으로
당분간 봇의 수익 경과를 지켜보다 다시 한번 글을 쓰고자 한다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함