brunch

You can make anything
by writing

C.S.Lewis

by Daniel S Kwon Feb 10. 2024

난 '수익이 나는 자동매매 프로그램'을 만든다. 1부

“지금까지 여러 개의 프로그램을 사용해 봤지만 수익 나는 프로그램을 본 적이 없다.”

“다 까먹기만 하더라. 자동매매 프로그램은 사업성이 없다.”

“잘 벌리는 것 같더니 한방에 다 날아갔다. 프로그램은 믿을게 못된다.”



이런 말들 말고도 더한 말들도 많이 들어봤다. 

그렇게 프로그램을 개발해온 시간이 벌써 7년째다. 

거두절미하고 자동매매 프로그램으로 돈을 벌수 있을까 하는 질문에 

나는 ‘그렇다’고 말한다.



완벽한 프로그램은 없다. 그렇기 때문에 어느 정도 사람의 손길이 필요하고, 프로그램의 특성을 잘 파악해서 제대로 활용하는 것도 필요하다. 내가 사용하는 프로그램의 사용법만 제대로 알아도 위험한 순간들은 피할 수 있을 것이고, 원하는 수익도 함께 얻어 갈 수 있을 것이다. 프로그램은 만능이 아닌데 사람들은 내가 값을 지불했기 때문에 당연히 엄청난 수익을 안겨줘야 한다는 착각을 하는 것 같다. 그런 프로그램이 있다면 이 세상에 돈 못 버는 사람이 어디 있겠는가. 내 마음의 욕심만 조금 덜어내고 공부도 좀 하고 접근한다면 어떤 프로그램이던지 나쁘지 않은 결과를 줄 거라 생각한다. 아니 좋은 결과를 가져다줄 수 있다.


세상에 많은 프로그램들이 있겠지만, 나는 그중 하나를 너무나 잘 알고 있다. 바로 내가 만든 프로그램이다. 그래서 나는 내 프로그램을 사용해서 돈을 버는 방법을 잘 알고 있다. 오늘 그 얘기를 하려고 한다. 앞에서도 말했지만 우선 그 프로그램이 어떤 식으로 움직이는지 공부를 할 필요가 있다. 나는 이 글에서 자동매매 프로그램 ‘단타로’에 대해서 설명하려고 한다.


모든 프로그램은 각각의 알고리즘이라는 브레인을 통해 움직인다. 대부분 그 알고리즘에 대해서는 잘 알려주지 않는다. 왜냐면 그게 핵심 기술이기 때문이다. 하지만 나는 알려준다. 왜냐면 어차피 알려줘도 만들지도 못할 것이기 때문이다. 만약에 따라서 만들 수 있다고 해도 상관없다. 그런 능력이 있다는 건 실력이 좋다는 것이고 그 정도 실력이면 더 스스로도 얼마든지 만들 수 있을 것이기 때문이다. 그리고 나는 더 좋은 거 만들면 된다.


단타로의 알고리즘의 핵심은 '물타기'다. 물타기가 중요한가? 그렇다 트레이딩을 할 때 매우 중요하다고 볼 수 있다. 왜냐하면 내가 매수한 코인이 갑자기 가격이 떨어질 수 있기 때문이다. 초보들이 코인 트레이딩을 하면서 겪게 되는 아주 흔한 상황 한 가지를 살펴보자. 만약 내가 매수한 코인이 가격이 떨어지면 어떻게 할까? 우리는 세 가지 중에 하나를 선택할 수 있다.


1. 존버. 그냥 올라갈 때까지 기다린다. 대부분 투자자들이 선택한다. 단점은 시간이 오래 걸릴 수도 있다. 그리고 가끔씩 자책을 하며 욕을 할 때도 있다. 자연스러운 현상이니 너무 스스로를 원망하지 말길 바란다. 운이 좋으면 금방 탈출할 수도 있다. 

2. 물타기를 한다. 이건 여유자금이 있고, 평단을 낮춰서 나름의 전략을 사용할 때 하는 행동이다. 탈출 확률이 높지만 반대로 시세가 추가 하락할 경우 다시 1번 상황이 될 수도 있다. 차트를 볼 수 있는 수준이면 무난히 탈출할 수 있다. 

3. 손절을 한다. 이건 아주 고도의 기술인데 나중에 기회가 되면 한번 다뤄 볼 생각이다. 손절을 잘 사용할 줄 안다는 것은 이미 트레이딩 고수라는 뜻이다. 그런데 내가 여기 소개하는 이유는, 초보자들의 손절은 말 그대로 개미털기에 당해서 손해를 보는 상황이거나, 한눈판 사이에 급락해서 전의를 상실한 채 손절을 하거나, 장기간 존버를 하다가 자금을 급하게 사용해야 해서 결국 손실을 떠안고 코인판을 떠나는 상황이 되어버렸을 경우가 대부분이다. 슬픈 현실이다.          


위에서도 말했다시피, 손절은 아주 고도의 기술이다. 대부분의 사람들은 모를 수도 있겠으나, 이것에 대한 규칙을 만드는 것은 나는 인간의 영역이라고 생각한다. 프로그램이 이 부분을 다룬다는 것은 손절의 두 가지 역할 중 첫 번째에 해당된다. 내가 정의하는 손절의 두 가지 역할은 간단하다.

첫째, 더 큰 손실을 막기 위해 손절한다.

둘째. 전략적으로 판단해서 손절하고 더 낮은 가격에서 매수한 뒤 수익을 낸다. 

차트의 변동을 예상하고 실시간으로 판단해야 하는 상황에 많이 사용한다. 그래서 프로그램으로 정의하기가 꽤나 어렵다. 대부분의 프로그램에서 구현하는 손절 기능은 첫 번째에 해당한다.


단타로는 두 번째 선택지인 '물타기'를 통해 트레이딩을 하는 시스템이다. 단순한 물타기가 아닌 '고도로 계산된 물타기'를 한다. 단타로는 차트를 분석해서 추세를 파악하지만, 예측하지 않고 대응을 하기 위한 전략을 사용한다. 특정 코인의 패턴을 연구하는 대신에 아주 보편적인 거래 방식을 추구한다. 가능하면 지속 가능하고 안정적으로 움직일 수 있는 방법을 알고리즘으로 구현한다. 누구나 쉽게 이해할 수 있지만 복잡한 계산을 필요로 하기 때문에 사람 대신 프로그램이 수행하도록 한다. 이렇게 시스템 개발 철학을 세워 놓고 만든 알고리즘이 단타로에 적용된 ‘추세분석 방식’의 알고리즘이다.



2부에서 계속...

https://brunch.co.kr/@d73834257b15433/4



작가의 이전글 난 코인 트레이딩을 하는 "개미"다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari