본문 바로가기
AutoBot

업비트 자동매매 - Upbit Auto Trading No.3 (거래 알고리즘 선정)

by zemba 2021. 11. 7.
반응형
SMALL

하..... 고민을 많이 했습니다. 어려운 결정이었던 것 같았습니다. ㅎ

아무튼 우선 1차적으로 거래 알고리즘을 선정을 완료하였습니다. 리서치를 통해서 여러 가지 방식들을 좀 찾아보았습니다.

(ㅎㅎ 역시 쉬운 건 없죠....ㅎ)

 

저는 우선 기존에도 매매를 진행할 때 보조지표를 보고 판단을 좀 했었습니다.

그중에서도 저는 MACD 곡선을 이용한 코인 매매법을 사용하여 거래를 하고 있었습니다.

MACD는 시그널선과 MACD 곡선을 이용한 방법으로 시그널과 MACD 곡선이 Cross 한 지점이 매수, 매도의 지점으로 판단하는 보조지표입니다. 하지만 이 데이터 곡선은 미래를 보는 건 아니고 과거에 발생한 데이터의 기반으로 그려지는 곡선이기 때문에 예측하긴 어렵지만 확실한 데이터라고 볼 수 있습니다.

MACD 보조지표

 

지금 자동매매를 하고자 하는 방식이 퀀트 투자(?)에 가깝게 데이터를 기준으로 매매를 진행하는 것이기 때문에 만들고자 하는 기준의 거래 알고리즘을 선정하기 위해서는 알아야 할 내용들이 많았습니다.

 

그래서 한동안 약간의 야매식으로 공부도 좀 하고 그랬었죠. ㅎㅎ

그래서 MACD가 아닌 다른 보조지표들도 한번 살펴보았고 눈에 들어오는 것은 별로 없었습니다. (ㅋㅋ 졸리더군요)

우선 자동매매를 사용할 때 가장 많이 사용하고 있는 방법이 변동성 돌파 전략을 사용한 매매전략이 가장 많이 조회가 되더군요....ㅎ

그래서 블로그를 찾고 찾고 해서 어떠한 알고리즘으로 수행이 되는지에 대해서 좀 찾아봤습니다.

 

허허 이 전략을 구현하여 적용할 경우에 워.... 백테스팅을 통한 데이터 분석을 해본 결과 수익률이 뭐 한 2000%가 넘게 나오네요 ㅎㅎ

근데 조건은 1개의 티커(대부분 BTC로 하심)로 약 1300일 정도의 백데이터로 테스팅을 했을 때의 결과입니다.

 

1300일이면.... 약 4년 정도인가?

저는 성격이 급합니다. 4년... 기다릴 수 없습니다 ㅋㅋㅋ

한번 변동성돌파전략의 샘플 코드를 작성하여 100, 200 일등 테스팅을 해보았지만 기간을 길게 가져가야 수익률이 높아지는 구조인 것 같았습니다. 아.... 저하고는 맞지 않습니다. 저는 또 용돈으로 하는 것이기 때문에 투자할만한 자금도 넉넉하지 않습니다.

앞선 포스팅에서도 언급했지만 저는 치킨값을 벌고자 함입니다. ㅋㅋㅋ

( 궁금하신 분들은 앞선 포스팅을 다시 한번...ㅎ https://zemba.tistory.com/3?category=980986 )

 

Upbit Auto Trading No.1 (AutoBot 등장)

저는 참 다른 사람의 말에 잘 휘둘리는 스타일입니다. (팔랑귀라고 하나...) 아무튼 저는 열심히 돈을 벌어서 집에 모두 다 가져다주고 용돈을 받고 사는 가장입니다. 그러다 보니 용돈에서 보험

zemba.tistory.com


그렇게 되어 다른 전략을 찾아보다가 보니 저처럼 보조지표를 이용하시는 분의 블로그를 발견하게 되었습니다.

이분의 블로그를 처음부터 정독하였습니다. (좋을 글 잘 읽었습니다!!)

오..... RSI지표라는 것을 이용해서 매매를 구현하신 글을 보고 나서 오? 괜찮은 것 같다 라고 생각을 했습니다.

방식이 간단한 것 같아 보여서 우선 저도 RSI를 기준으로 각종 코인들의 차트를 확인을 좀 했었습니다.


출처 : https://blog.naver.com/zacra/222374174435

 

[업비트 코인 자동매매 17] 원금 1천만원! 최종 전략 확정! 업비트 RSI14 지표가 최고!

다들 잘 지내고 계신가요? 저의 자동매매 봇 라이프(?)에도 그동안 많은 일이 있었습니다. 지난 포스팅에서...

blog.naver.com

 

흠.... 나쁘지 않았습니다.

RSI거래방식을 간단히 요약하자면 30선과 70선 기준으로 지표가 30 이하로 내려갈 경우에 과매도가 발생하여 금액이 폭락하고 있다는 의미기 때문에 이 구간에 있는 코인은 매수를 진행해야 하는 것이고 70선을 넘은 코인에 대해서는 과매수가 발생하였기 때문에 폭등을 했다는 의미를 나타내기 때문에 이 구간에 있는 코인은 매도를 진행해야 하는 것입니다.

 

결국에는 30 언더에서 사서 70 오버하면 수익을 얻는 구조였습니다. 하지만 참조한 블로그에서도 그런 내용이 있었습니다. 해당 지표를 사용하는 것은 하락장에서는 매매하고 틈틈이 상승구간으로 변경될 때 얻는 이득에 대해서는 반응이 잘되지만 전체적인 상승장 일 경우에는 매수를 하지 않기 때문에 지루하다는 내용이 있었습니다. ㅎㅎ

그래서 저는 최종적인 전략으로 ( 뭐 계속 테스팅하면서 변경할 것 같지만 ㅋㅋㅋ) 다음과 같이 정했습니다.

  • RSI 지표를사용하여 거래 한다.

이와 같이 정한 이유는 하락장에 대응하는 건 RSI로 이미 약간의 검증이 된 지표이기 때문에 사용하면 될 것 같고

상승장일 때는 약간의 눈대중의 테스팅을  진행해보았는데 큰 손해는 보지 않을 것 같은 느낌이었습니다.

어디선가 몰려오는 이 근거 없는 자신감으로 오 그래 이제 알고리즘을 선정했다!!!라고 생각하여 Next Step을 진행해보려고 합니다. ㅋㅋ

그럼 개발자처럼 정리를 다시 해보면 비즈니스 요구사항을 정리하고 어떤 식으로 구현할지를 정리해 보겠습니다.

  • 파이썬을 사용하여 구현한다. ( 이미 언급했었나? ㅋ)
  • 1분에 1번씩 수행한다.
  • 현재 내 계좌의 잔고를 확인하여 손절, 익절, 홀딩을 할지 결정한다.
  • 현재 보유한 코인의 수가 10개가 되지 않는 경우에는 추가로 구매할 코인이 있는지 검색한다.
  • 매수, 매도는 무조건 시장가로 거래한다.
  • 코인 매수 시 현재 잔고에 남은 금액의 60%만 가지고 구매한다.
  • 나머지 40%의 금액으로는 평단을 내려주기 위한 추격매수 비용으로 사용한다. ( 물타기? 그런 용어로 사용 중입니다.)
  • 거래의 내용을 어떠한 방식으로 알람을 받고 확인할 수 있도록 한다.

이 정도면 될 것 같습니다. 상세 스펙은 구현하면서 다시 정의하면서 진행할 예정이기 때문에 요정 도로만 정리하고 조금씩 구현해보도록 하겠습니다. 적절한 거래 알고리즘이었기를 한번 기원해보면서 다음 포스팅에서는 코드 작성을 이제 진행해보도록 하겠습니다.

(치킨값을 벌어 봅시다!!! 흠..... 근데 저 참고한 블로그 분도 시드는 거의 천만 원으로 하셨네요 ㅋㅋㅋㅋ 시드가 너무 차이가 나네요 ㅋㅋ)

반응형
LIST

댓글