트레이딩

[주식] 돌파고의 스캘핑 자동매매 시스템에 대한 질의응답

성민석 2024. 3. 10. 02:53

2021년 자동매매하는 분들 사이에서 한창 유행했던 분이 계십니다. 돌파고라는 닉네임을 가지셨던 분인데 각종 증권사 대회에 참여하여 엄청난 퍼포먼스를 보이신 분이시죠. 제가 한창 초단타나 스캘핑 시스템에 꽂혀서 따라해보려고 시도했던 분 중 한분이십니다. 이 분으로 인하여 자동매매도 재능의 영역이라고 생각했던 때가 있었습니다. 아래 돌파고님이 사실상 시스템 개발을 하신지 1년도 안되리라고 추정되는 글입니다. 21년 4월에 글을 올리셨을 때, 이 때 3개월 정도 고생했다고 하셨으니 사실상 21년초부터 시작을 하신거죠.

 

 

오늘은 돌파고님이 어떻게 자동매매 시스템을 구축하셨는지를 간략하게 정리하는 글을 가져왔습니다. 파란색 글자는 제 개인 의견이니 필요하시다면 참고하시면 좋을 것 같습니다. 돌파고님의 원문은 마하세븐 주식공감 카페에서 확인하시면 됩니다.

https://cafe.naver.com/mahaseven/12357

 

자동매매 질문들에 대한 답들을 정리해 봤습니다.

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

 


 

1. 돌파고 개발기간

개발은 올해 초부터 해서 5개월정도 걸렸고

우여곡절 끝에 이제 막 수익을 내기 시작하는 단계입니다.

아직 개선하거나 수정해야 할 것들이 조금 남아 있습니다.

 

2. 돌파고 개발툴

처음에는 키움에서 제공하는 캐치를 써보려 했는데

한계가 많아서 증권사 API를 이용해서 직접 구현하였습니다.

C#으로 개발을 시작했다가 지금은 최적화 이슈로 C++로 갈아탄 상태입니다.

3. 돌파고 구조

수집기, 시뮬레이터, 매매기 이렇게 3가지 머신이 있었습니다.

초반에 데이터 수집을 위해 몇달간 수집기를 돌렸고요

수집기를 기반으로 매매기를 개발하면서

지금은 수집기와 매매기가 합쳐져서 머신이 2가지로(수집&매매기, 시뮬레이터) 줄었습니다.

수집기는 장중의 실시간 호가데이터와 체결데이터를 수집합니다.( 실시간 데이터가 있으면 초봉이든 분봉이든 거래량이든 다 만들어 낼 수 있기에 차트는 따로 수집하지 않습니다 )

시뮬레이터는 수집된 데이터를 가지고 여러가지 알고리즘을 테스트할 수 있는 환경을 제공합니다.

4. 돌파고 알고리즘

저는 주린이라 잘 모르지만, 어떤분께서 제 매매내역을 보시고 신고가 돌파매매 라고 알려주셨습니다.

제 알고리즘의 베이스는 수집된 데이터에서 슈팅직전의 포인트들과, 떡락직전의 포인트들을 모아서 그 상태들의 값들을 캡쳐합니다.

그리고 그 값들을 프로그램을 통해서 통계를 내고 여러가지 상황을 정의하고 무한 시뮬레이션을 돌려서 가장 최고의 수익률을 보이는 수식을 도출해냅니다. 이것은 머신러닝의 아주 기초적인 방식입니다.

그리고 도출된 값들을 매매기에 넣고 실전 매매에 투입시킵니다.

기존의 잘 알려진 매매기법이나 수치들? 예를들면 MACD, 볼린저밴드 등등은 일체 사용하지 않습니다.

 

더보기

사실 예전에는 시뮬레이터라고 해서 올려주셨던 것 같은데 이건 원문을 못 찾겠네요. 돌파고님이 지우신 의도가 있을테니 혹시 몰라 모자이크합니다. 해당 사진에서는 돌파고님이 어떻게 통계를 내는지가 나오긴 했었습니다.

 

5. 매매시간

매매내역 보시면 나옵니다. 하루종일 매매합니다.

물론 아침시간이 활발하기에 아침에 매매횟수가 많고 오후로 갈수록 매매횟수가 급격히 줄어듭니다.

고의로 오후 매매를 줄인건 아니고 매매기의 수식에 맞는 상황이 오면 오전오후 가리지 않고 매매합니다.

6. 판매

판매는 하지 않습니다.

기존의 판매되는 알고리즘매매프로그램?들은 저는 사기라고 생각합니다.

같은 프로그램을 사용하면 같은 포인트로 매수 매매를 하기 때문에 사용자들 끼리의 치킨게임이 일어납니다.

현재 제 프로그램도 시드를 올릴수록 수익률은 낮아집니다.

7. 대회참가

키움대회 계좌는 시드100만 가장 작은 금액으로 테스트겸 출전했습니다.

시드가100만이라 수익금이 적기 때문에, 원래 사용하던 계좌도 같이 굴리면서

계좌 2개를 동시에 굴리고 있습니다.

대회 규정상 불공정거래시 입상이 취소되기 때문에 (실제로 이걸로 입상 취소된 걸로 기억합니다.)

종목들을 2분할 해서 반은 키움계좌로 매매하고, 반은 원래 계좌로 매매해서 한종목에 여러 계좌로 동시에 사고 파는것을 방지하고 있습니다.

같은종목을 여러 계좌로 사고 파는게 불공정거래인지는 모르겠지만 노파심에 이렇게 세팅했습니다.

이렇게 하지 않고 그냥 모든 종목에 대하여 매매를 했다면 지금보다 더 높은 수익률이 나왔겠지만, 지금은 테스트를 하는 상황이기도 하고 해서 그냥 대회 끝날 때 까지만 이렇게 운영할 생각입니다.

8. 앞으로 계획

눌림목 매매 기법을 누군가 말씀해 주셨는데, 이것도 알고리즘화 해볼 생각입니다.

그리고 코인쪽으로도 개발을 하고있고,

시드를 크게 굴리지 못한다는 돌파고의 단점을 개선해서 스윙이나 중장기쪽으로도 알고리즘을 만들어볼 생각입니다.

 

아래는 제가 해당 게시글의 일부 댓글을 캡처해서 가져왔습니다.

 

 

돌파고님은 실시간으로 받을 수 있는 체결데이터와 호가데이터만을 이용하는 것 같습니다. 그리고 거래대금상위일지 등락률상위일지 모르겠으나 하루 100~200종목을 대상으로 데이터를 수신하고 계시는 것 같습니다. 그리고 머신러닝이 아닌 매매해야하는 타점에 대해서 통계를 내고 있습니다.

 

 

시장가와 지정가 구분없이 모두 활용하고 분봉을 참고하진 않으시고, C++로 전체적인 시스템 개발을 하신 것 같습니다.

 

 순전히 당일 체결+호가 데이터를 이용하여 수개월간의 데이터들을 통해서 통계를 내보시는게 핵심같습니다. 


 

2022년에 근황이라고 올려주셨는데, 1년 이후임을 감안하면 매우 안정적으로 수익을 내고 계시지 않았나 생각듭니다. 다만 역시나 예상했던 부분처럼 시드를 1500 이상 올릴 수 없다는 걸로 미루어보아, 주도주가 아닌 종목들이 타겟이 아니었을까 생각듭니다.

 

 

물론 이전 대회 참여했던 기간이 코스피가 연일 역사적 신고가를 갱신하던 지점이라서 돌파고 시스템이 잘 동작한게 아니냐라는 반박이 있을 순 있겠지만, 근황이라고 올리셨을 때, 대폭락장 중에서도 저정도의 퍼포먼스가 여전히 유지되는걸로 보아 그러한 반박이 과연 유효한지는 다시 생각해봐야 합니다.

 

 

 

728x90
반응형