시스템 트레이딩 개발 일지 #2 (My First EA Development Journal)

in #kr7 years ago

안녕하세요~ @limbba 입니다. 어제 새벽까지 무리해서 작업을 하다 보니 조금 피곤한 하루입니다. 여러분들에게 개발일지를 오픈하는건 수동이든 자동 매매든 조금이나마 도움이나 이해를 드리기 위해 개발 과정을 천천히 진행을 하고 있습니다. 도움이 되셨으면 좋겠습니다. 그럼 이제 어제의 시스템 트레이딩 개발 일지 #1 내용을 정리해 보겠습니다.

시스템 트레이딩 개발 일지 #1 요약

  • 트레이딩 로봇의 기본 개념은 보조지표나 이평을 참고하지않고 오직 가격과 캔들을 사용한다.
  • 가격의 흐름을 따라 매수와 매수 청산을 반복한다. 매도 주문은 나중에 추가하기로 한다
  • 로봇의 장단점을 파악하여 장점은 극대화 단점은 최소화 전략을 유지한다.

로직의 세부내용

  • 흐름을 따르기 위해 하락과 상승의 힘을 실시간 캔들로 비교한다.
  • 힘을 비교하기 위해 양봉과 음봉의 이동거리를 비교로 한다.
  • 양봉의 이동거리가 더 크면 매수세가 강한걸로 판단 진입. 음봉의 길이가 더 크면 매도세가 강한신호로 인식해서 매수청산
  • 매 봉바다 체크해야 한다
  • 횡보장 대응전략으로 두번 연속 매매가 실패하면 어느정도 시간을 두고 다시 매매를 시작한다.

문제점

  • 추세장에서는 수익이 극대화 되나, 횡보장에서의 잦은 매매로 손실이 누적
  • 기본적으로 추세추종형 전략인데, 거래 횟수가 많음

시스템 트레이딩 개발 일지 #2에서 개선할점

  • 매매 횟수를 줄이고, 특히 횡보장에서 의미없는 거래 제한
  • 개선하기 위해 캔들의 수를 제곱근을 이용하여 증가하여 테스트

시스템 트레이딩 개발 일지 #2

자 여기까지가 어제 새벽 포스팅에서 정리한 내용입니다. 그럼 오늘은 어제 문제점을 확인했으니 새로운 테스트를 해보겠습니다.

캔들의 갯수 각각 2배, 4배 증가와 양봉의 이동거리가 음봉의 이동거리를 고려

먼저 캔들의 갯수를 4개로 증가시켜서 테스트 해보겠습니다. 동영상 확인해 보겠습니다.

승률이 33%에 수익이 나는 로봇이지만, 아직까지 횡보장에서 의미없는 매매가 많이 있습니다.

이번에는 캔들의 갯수를 8개로 증가시켜서 테스트 해보겠습니다.

승률은 31% 손실이 조금더 커졌지만, 매매 횟수가 많이 줄었습니다. 그럼 이 테스트를 통해 유추할수 있는 결과가 있습니다.

테스트를 통한 로봇의 결과

  1. 캔들의 갯수를 늘리면, 거래가 적어지는 대신 신호에 둔감해 진다.
  2. 진입이 한템포 늦고, 청산도 한템포 늦게된다
    3.반대로 갯수가 줄어들면, 거래가 많아지고, 신호에 민감해진다.
  3. 진입이 너무 빠르고, 휩소에 당해서 손실이 커진다.

로봇이 살아나는 방법

그럼 여기서 우리가 점검해야할 개발 방향을 알아보겠습니다.

  1. 이 로봇의 장점인 추세시세에 올라 탔을때 끝까지 따라가서 수익을 내야 된다.
  2. 반대로 횡보장에서의 잦은 매매를 줄여야 한다.

로봇 수정

  1. 포지션 매수 진입은 민감도를 둔하게 만든다.
  • 추세가 진행되면 수익이 나기 때문에 조금 수익이 줄더라도 승률을 올리기 위함.
  1. 포지션 매수청산은 손실을 줄이기 위해 민감하게 한다.
  • 매수로직 자체가 둔하기 때문에 매수청산은 좀더 민감해도 된다.

두가지의 경우를 두고 테스트

테스트 기간 2017 10월부터~ 현재까지(시간상 구동결과만 확인)
통화쌍 : 유로달라
시간봉 : 1시간봉
주문량 : 0.01랏 최소 진입 랏수

수정한 로봇 구동1(진입 둔감 청산 민감)

수익그래프와 레포트 입니다.

진입둔감 청산민감 그래프.png

진입둔감청산민감.png

승률 30% 정도지만, 아직 횡보시 매매가 조금 남아있습니다. 수익을 횡보때 매매로 다 까먹습니다. 하지만, 매매 횟수가 2/3 정도로 줄었습니다. 그럼 아래 2번째 구동 결과를 확인해보겠습니다.

수정한 로봇 구동2 (진입 둔감 청산 둔감)

시스템 트레이딩 개발 일지 #2 수익그래프와 레포트

시스템트레이딩 개발일지 수익그래프 2-1.png

시스템트레이딩 개발일지 레포트 2-1.png

승률이 37%까지 올라가고 매매 횟수도 77번으로 1/2 이상으로 줄였습니다. 결과로 보면 진입을 둔하게 하고, 청산도 둔하게 하는게 수익면이나 승률면에서 낫습니다.

하지만, 여기서 개발을 멈추면 안되겠죠? 여기서 승률을 좀더 높을 수 있는 로직을 생각해 보고 아이디어가 떠오르면 다시 추가 하겠습니다. 어제 새벽에 밤잠 설치고 쓴글이 밀려서 노출이 안되고 있습니다. 동영상 녹화하고, 캡쳐하고 로직 짜고 코딩하고 포스팅 하나에 많은 정성을 쏟고 있습니다. 많은 관심 부탁드려요~

시스템 트레이딩 개발 일지 #1 (My First EA Development Journal)
여기서부터 읽으시면 제 로봇의 이해가 빨라집니다~ 그럼 오늘 하루 즐거운 하루 되세요~

Sort:  

대단하십니다 :) 승률 높은 봇이 어서 구현되길 응원합니다!

네하지만 메타4를 모르시는분들이 많아서 스팀잇에서는 관심을 못 받고 있습니다 저도 공부해서 빗썸으로 가야될듯 ㅜㅜ

안녕하세요. 혹시 매매 알고리즘에 도움이 될까 해서요.
http://stock79.tistory.com/ 참고 하시면 여러가지 알고리즘이 있습니다.
개인적으로 변동성 돌파전략이 가장 좋은것 같습니다.

네 좋은 의견 감사합니다 티스토리 글에서도 언급했듯이 추세 전략은 승률 30를 넘기기가 힘듭니다 시장이 항상 추세장은 아니니까요 그래서 지금 테스트 하닌게 민감도른 대입 했습니다 하지만 이것또한 완벽한 해법이 될수없습니다 여기서 한번더 데이타를 가공해서 필터링을 한후에 비추세구간 대응 로직이 추가되고 승률을 50프로 이상 올리는게 관건입니다 그다음 매매법으로 수익 극대화 전략을 수립하고 실제 테스트를 시도할 생각입니다 혹시 링크된 사이트가 민원기님 블로그인가요? 연구를 많이 하셨네요

제 사이트는 아닙니다. 하지만 시스템 트레이딩에 좋아 보여서 즐켜찾기 해준 사이트 입니다. 참고로 해당 사이트에서 암호화폐 변동성 돌파전략을 2014부터 백테스티한 결과는 승률 50이상 기대값 2.7배 mdd 15% , 수익률은 77배 정도 나옵니다. 비트코인 기준. 전 엑셀로 테스팅 했습니다.

블로그 주인이 정성을 많이 들였네요. 저도즐겨찾기 해놓고 하나씩 구현해 봐야겠습니다. 좋은 정보 주셔서 감사합니다~

와 저도 비스므리한걸 만들고 있습니다만
완전 코린이라 막막했는데
많은 도움이 될거 같습니다
감사합니다

화이팅입니다 메타 4 사용 하시나요?

감사합니다.
메타4는 처음 들어봅니다;
찾아보니 저는 혼자 갈라파고스 개발을 하고 있었군요.
서버에서 시세 정보를 가공해서 rsi, macd 같은거 구하고
클라이언트에서 그래프 같은걸로 보여주고 있었습니다.

블로그 보니 실제 구현되는 봇이던데 이게 파이선으로 만든건가요?

nodejs로 만들었습니다

앗... ㅠ 어렵습니다..
엄청난 일을 하시는분이시군요~!

아! 좋은소식이 있어서 왔어요^^
제 블로그오셔서 확인 부탁드려요~!

네 확인 했습니다

You got a 5.95% upvote from @brupvoter courtesy of @limbba!

You got a 12.19% upvote as a Recovery Shot from @isotonic, currently working as a funding tool, courtesy of @limbba!

  • Image from pngtree.com

@isotonic is the Bid Bot of the @runningproject community.
Earnings obtained by this bot, after paying to the delegators, are fully used to increase the SP of the @runningproject from which all affiliated members are benefited.
Check @runningproject posts in order to know further about.

This post has received a 12.50 % upvote from @sleeplesswhale thanks to: @limbba.

You got a 8.04% upvote from @mercurybot courtesy of @limbba!