본문 바로가기

EA 교육자료

백테스트신뢰성 매매관리

1-2. 백테스트의 신뢰도 향상 (전략시뮬레이션)

메타플랫폼에서는 '전략과거(백)테스트'기능을 제공합니다. 타 tool들을 통해서도 시스템 트레이딩 매매전략 과거테스트가 가능하지만, 메타플랫폼만큼이나 대중적이며 광범위하며 정확도 있고 경제적이며 확장성 있는 매매전략테스터기는 거의 존재하지 않습니다.

매매전략 과거시뮬레이션 테스트의 장단점과, 특히 외환마진상품을 거래하는 메타플랫폼에서의 과거테스트의 특징에 대해 알아보겠습니다.

우선, 백테스트를 하기 전에 백테스트를 하는 금융상품자체의 특성에 대해 알아야 합니다.

[외환마진상품 특징],

1. 물량한도가 없으므로 포지션보유에 제한이 없음. 단, 슬리피지 발생 가능성이 존재하며 거래선물사 정책에 따라 진입 랏 사이즈와 개수에 제한이 있을 수 있음.
2. 장외상품 특성 상, Liquidity Provider에 따라 호가(틱)에 편차가 발생.
3. 양방향(매수/매도) 포지션 매매
4. 스프레드 존재(거래수수료)
5. 보유포지션에 대한 롤오버 이자지급
6. 선물사에 따라 거래 당 커미션이 따로 존재하기도 함.
7. 실거래에서 호가(틱)유실/슬리피지/리쿼트/서버정지/스프레드벌어짐 현상 발생

처음 백테스트에 대해 알게 되었을 때, 세상을 다 가진 생각이 들게 마련입니다. '백테스트에서 수익 나는 전략들 여러 개를 포트폴리오로 구성하여 운용한다면, 수익만 날 것 같은데? 과연 손실이 날까?'
그리하여, 백테스트 결과를 맹신한 결과는 그 누구도 장담하지 못합니다.
왜냐하면, 백테스트와 실거래에서의 환경차이와 상품특성차이로 인해 전혀 의미 없는 결과가 나오기 때문입니다.

그렇다면 메타트레이더 백테스트는 의미 없는 테스트인가?

그렇지 않습니다. 외환마진상품의 특성과 백테스트 환경의 특징 및 한계를 알고 있다면, 주어진 환경에서 백테스트 환경과 라이브환경에서 동일한 performance를 내는 Expert Advisor ea자동매매 로직 개발이 가능합니다.
호가(틱)유실과 슬리피지, 리쿼트 및 서버정지, 그리고 스프레드 벌어짐 등과 같은 실계좌에서만 발생하는 환경적인 문제들을 극복하는 Robust한 전략, 즉 시장환경에 '둔감'한 전략을 만들어야 합니다.

백테스트결과 == 라이브결과 (결과가 동일한 경우)

a. 가격 움직임에 기반한 전략
챠트호가의 전체적인 움직임을 담는 매매전략이며, 캔들시간봉에 상관없이 동일한 성적을 내는 매매 전략

b. 캔들봉 시작가 활용전략
캔들봉의 시작가만을 백테스트 대상 샘플로 활용하여 매매로직을 개발. 
장외상품 특성 상, 선물사 간 호가 차이로 인해 '호가의 개수'가 다르며 '현재가'가 다릅니다. 이러한 호가들의 대표가 되는 하나의 가격, 즉 '캔들 시작가'로 매매전략을 짜는 것입니다. 호가개수 및 가격range의 정규분포로 인해 캔들의 시간봉이 커질수록 테스트의 신뢰도는 더욱 올라가게 됩니다.

c. 스윙트레이딩
   오픈 포지션의 보유기간이 긴 스윙이상의 중장기 매매전략



백테스트결과 != 라이브결과 (결과가 다른 경우)

a. 스캘핑
메타플랫폼의 과거테스트 환경에서 제공하는 틱데이터의 개별 호가 생성 시간이 플랫폼 시스템 상 임의로 정해지기 때문에, 포지션 진입 후 수초에서 수분 이내에 청산하는 매매전략은 백테스트의 신뢰도가 떨어집니다.

b. 디테일한 패턴전략
디테일하다는 말은 호가(틱, 즉 가격)의 위치를 하나하나 잡는다는 뜻입니다. 그러므로 위에서 설명한 바와 같이 가격하나하나의 패턴을 잡는 로직은 백테스트 결과를 신뢰하기 어렵습니다.

또한, 매매로직을 구상하고 백테스트를 진행 할 때 고려해야 될 부분들이 있습니다.

a. 진입 및 청산 주문이 거부되거나 슬리피지가 발생한다거나 순간 스프레드가 벌어진 상황 등 이러한 경우에 어떻게 대처할 것인가? (이러한 문제에 대한 고민은 최상의 인큐베이터 안과 같은 백테스트상에서의 결과를 실계좌 performance로 이어주는 역할을 하게 됩니다)

b. 인터넷 끊김, 윈도우업데이트 등과 같은 문제로 인해 거래 플랫폼이 꺼지거나 프로그램이 종료 되었을 때 어떻게 대처할 것인가?

c. 자신이 거래중인 선물사가 악의적인 매매환경 조작을 가할 때 어떻게 대처 할 것인가?


'EA 교육자료' 카테고리의 다른 글

for구문 [기본문법]  (0) 2015.04.22
2-2추세패턴기법 [전략 코딩]  (0) 2015.04.22
전략코팅 매매관리  (0) 2015.04.17
캔들활용기본이론 매매코딩  (0) 2015.04.17
RSI상대강도지수 소스 매매코딩  (0) 2015.04.17
RSI상대강도지수 매매코딩  (0) 2015.04.17
볼린져밴드 매매코딩  (0) 2015.04.17
이동평균선 매매코딩  (0) 2015.04.17