분류
성과
난이도
중급
사용 상황
백테스트EA 평가

모델링 품질

MT5 전략 테스터가 가격 히스토리가 테스트 구간을 얼마나 완전하게 덮었는지 표시하기 위해 출력하는 백분율 — 실제 틱뿐 아니라 생성된 틱으로 돌린 실행에도 함께 찍힌다.

다른 표현: 틱 품질, 히스토리 품질, 백테스트 품질

업데이트일

쉽게 말하면

테스터가 사용한 가격이 실제로 있었던 가격과 얼마나 가까운지를 나타낸다. 수치가 낮다는 것은 시뮬레이션이 자신이 아는 가격들 사이의 움직임을 대부분 지어냈고, 전략은 그 지어낸 것을 매매했다는 뜻이다.

왜 중요한가

백테스트의 다른 모든 수치는 테스터가 사용한 가격 계열 위에서 계산된다. 그래서 모델링 품질은 보고서의 나머지가 전략을 재고 있는지 아니면 보간을 재고 있는지를 결정하는 숫자다. 이 값은 EA 마케팅이 가장 시끄러운 바로 그 지점 — 이점 전체가 봉 안에 있는 인트라데이·스캘핑 전략 — 에서 가장 중요하다.

  • 보고서를 어디까지 믿을 수 있는지의 상한을 정한다. 합성된 봉 내부 움직임 위에서 계산한 손익비는 그 합성에 관한 사실이다.
  • 피해는 균등하지 않다. 일봉 종가 기반 전략은 차이를 거의 느끼지 못하지만, 목표가 5핍인 전략은 대부분의 거래가 테스터가 지어낸 가격으로 결정될 수 있다.
  • 가장 자주 비워지는 항목이며, 빈 항목은 낮은 수치보다 나쁠 수 있다. 이 상품 목록 뒤의 스키마가 이 값의 기본값을 99로 두고 있었기 때문에, 생성된 틱으로 돌린 실행이 '99% modelling quality, against a 92% minimum'을 표시했고 그 기본값은 2026-08-06에야 제거되었다.

전략 검증에 쓰는 법

어디에 쓰이나

  • 모든 MT5 전략 테스터 보고서 상단에서 읽으며, 모델링 모드와 나란히 'History Quality'로 인쇄된다.
  • 공개된 손익비와 낙폭이 무엇 위에서 계산되었는지를 확정하기 위해 EA 상품 페이지에 인용된다.
  • 실행 전에 의도적으로 선택한다. 인트라데이라면 «실제 틱 기반의 모든 틱»(모델 4)을 쓰고, 더 빠른 모델은 거친 파라미터 탐색에만 쓴다.
  • 같은 EA의 두 실행 사이에서 수치가 왜 어긋나는지 설명하기 위해 비교한다.

신뢰할 수 있는 결과의 모습

  • 테스터가 실제 틱과 100 % 또는 그에 가까운 히스토리 품질을 보고하고, 데이터 출처가 명시되어 있다.
  • 해당 종목의 틱 히스토리가 초기 몇 년을 봉에서 메운 것이 아니라 구간 전체를 실제로 덮고 있다.
  • 데이터의 스프레드가 대신 끼워 넣은 고정값이 아니라 기록된 스프레드다.
  • 비교 대상인 모든 실행을 하나의 모델링 모드가 덮는다.

경고 신호

  • 모델링 품질이 아예 명시되어 있지 않은 경우 — 예전에는 그 부재가 그럴듯한 기본값처럼 읽혔고, 그래서 이 수치는 생략이 아니라 측정의 대상이어야 한다.
  • 데이터 출처 없이 인용된 높은 수치. 출처야말로 확인 가능한 나머지 절반이다.
  • 보고서에 봉 기반 보간 모델링이 찍혀 있는 인트라데이 또는 스캘핑 EA.
  • 같은 구간의 두 실행 사이에서 값이 달라지는 경우. 보통 한쪽에서 히스토리 일부가 메워졌다는 뜻이다.
  • 바스켓 EA의 수치를 단일 종목 EA의 잣대로 재는 것. 여러 심볼을 동시에 불러오는 실행은 그 이유만으로 더 낮은 품질을 보고하므로, 그런 비교는 시뮬레이션이 아니라 작업량을 줄 세운다.

백테스트와 실거래의 차이

  • 보간된 데이터는 존재한 적 없는 체결을 만들어낸다. 테스터는 알려진 가격 사이를 매끄러운 경로로 가정하므로, 손절과 목표가 시장이 제시한 적 없는 순서로 발동한다.
  • 고정 스프레드 모델링은 실계좌가 지불하는 확대분을 없애는데, 그 확대분은 낮은 품질의 모델링이 이미 잘못 가격 매긴 작은 목표에 가장 세게 떨어진다.
  • 실제 틱 모델링은 간극을 좁히지만 없애지는 못한다. 지연, 리쿼트, 브로커 자체의 체결 방식은 여전히 시뮬레이션 밖이다.
  • 백테스트와 실계좌의 간극 크기는 모델링 품질을 그대로 따라간다고 보면 된다. 데이터가 거칠수록 놀라움도 커진다.

권장 검증 방법

  1. 1테스터 모델을 실행 전에 정하고 결과와 함께 기록하라. 마지막 실행이 우연히 무엇을 썼는지 보고하는 방식이 아니라.
  2. 2하루 안에 매매하는 전략에는 실제 틱을 쓰되, 먼저 터미널에 틱이 실제로 있는지 확인하라 — 여기 공개된 한 실행 뒤의 ticks.dat는 123 KB였고, 그것은 재고가 없다는 뜻이다.
  3. 3완성된 전략을 두 번째 실제 틱 출처에서 다시 돌려 비교하라. 출처 간의 일치가 그 수치를 근거로 만든다.
  4. 4공개하는 모든 실행에서 품질 수치와 출처를 함께 밝혀라. 독자가 믿는 대신 재현할 수 있도록.

예시

이 사이트에 공개된 네 건의 실행이며, 모두 테스터의 같은 항목을 읽는다. 그중 셋은 같은 모델 — 모델 0, M1 봉에서 생성한 모든 틱 — 을 같은 브로커 히스토리 위에서 사용했고, 차이는 오직 실행이 몇 개의 종목을 불러와야 했는가뿐이었다.

모델 0, 단일 종목 (GBPJPY)
히스토리 품질 99 %
단일 심볼의 M1 히스토리.
모델 0, 다섯 종목 (바스켓)
히스토리 품질 72 %
모델 0, 일곱 종목 (바스켓)
히스토리 품질 72 %
모델 4, 실제 틱 (Dukascopy)
히스토리 품질 100 %

바스켓 실행은 자신의 작업량 때문에 수치가 끌려 내려가므로, 여기 바스켓 상품은 어느 것도 독자가 오해할 낮은 수치 대신 품질 수치를 공개하지 않는다.

계산 모델·브로커·데이터 출처를 고정한 채 99 % → 72 %. 바뀐 것은 종목 수뿐이었다

결과 27포인트 하락은 실행의 히스토리 작업량을 잰 것이지 충실도를 잰 것이 아니다

해석하는 법

모델링 품질을 보고서의 다른 모든 수치에 붙어 있는 조건으로 다루고, 그 비중을 정하기 전에 전략의 보유 시간을 먼저 읽어라.

구간 의미
실제 틱, 품질 100 % 또는 그 근처 수치가 전략에 관한 것이 된다. 남은 차이는 가격 계열이 아니라 체결에 산다.
약 90 %, 봉 기반 보간 일봉 종가 시스템에는 쓸 만하고, 봉 안에서 매매하는 것에는 오해를 부른다. 결과가 아니라 탐색으로 읽어라.
파라미터 탐색에 쓰는 낮은 수치 탐색 도구로는 정당하고 공개 주장으로는 무가치하다. 살아남은 후보는 반드시 제대로 다시 돌려야 한다.
명시 없음 가장 약한 경우다. 아예 측정하지 않은 것과 구별되지 않기 때문이다. 수익 수치를 읽기 전에 먼저 물어라.
  • 데이터를 전략의 시간대에 맞춰라. 목표가 촘촘할수록 결과의 더 많은 부분이 테스터가 알던 가격들 사이에서 결정되었다.
  • 출처가 없는 높은 수치는 절반짜리 주장이다. 그것을 재현 가능하게 만드는 것은 출처다.
  • 같은 EA의 두 실행이 어긋나면 규칙에서 버그를 찾기 전에 모델링 모드부터 확인하라.

여기 있는 30개 EA 상품 중 6개가 모델링 품질을 밝힌다. 모두 100 %이고 모두 실제 틱으로 돌린 실행이다. 나머지 24개는 아무것도 밝히지 않는다 — 12개는 모델 0으로 돌았는데, 이는 테스터가 기록된 틱을 재생하는 대신 M1 봉에서 모든 틱을 만들어내는 방식이다. 보고서에 72 %가 찍힌 두 건의 바스켓 실행도 여기에 든다. 그리고 실제 틱으로 돌린 나머지 12개는 아무 수치도 밝히지 않는다. 빌드 게이트는 소스 대신 배포된 페이지를 읽는데, 기본값 99가 스키마 안에 살고 있었고 소스 텍스트를 보는 검사는 그것이 되돌아오는 다음 경로를 놓칠 것이기 때문이다.

흔한 오해

없는 수치를 좋은 수치로 읽는 것

생략된 모델링 품질은 겸손한 값이 아니라 측정되지 않은 값이다. 독자를 대신해 채워진 기본값은 침묵을 아무도 하지 않은 주장으로 바꾼다.

높은 백분율이 백테스트를 현실적으로 만든다고 가정하는 것

그것은 가격 계열이 충실했다는 뜻일 뿐이다. 슬리피지, 리쿼트, 지연, 브로커의 체결 정책은 모두 테스터 밖에 있으므로 100 % 실행도 여전히 체결을 미화한다.

서로 다른 테스터 모델에서 나온 수치를 비교하는 것

모델링 모드는 가격만이 아니라 거래 집합 자체를 바꾼다 — 보간 데이터에서 발동한 거래가 실제 틱에서는 한 번도 발동하지 않을 수 있다. 그런 두 실행은 서로 다른 실험이다.

스캘핑 기준을 일봉 시스템에 적용하거나 그 반대로 하는 것

며칠씩 보유하는 스윙 전략은 봉 내부 경로를 거의 느끼지 않지만 스캘퍼는 그것으로 먹고산다. 둘에 하나의 임계값을 쓰면 한쪽은 반드시 틀린다.

자세히

자주 묻는 질문

EA 백테스트의 모델링 품질은 어느 정도여야 하나요?
하루 안에 진입하고 청산하는 전략이라면 히스토리 품질이 100 % 또는 그에 가까운 실제 틱이어야 합니다. 일봉 종가 기반 시스템이라면 봉에서 보간한 90 % 안팎의 데이터로도 대체로 충분합니다. 이 수치는 전략의 결과가 테스터가 알던 가격들 사이에서 얼마나 많이 결정되는지에 비례해 중요해집니다.
실제 틱 데이터인데도 모델링 품질이 100 % 미만인 이유는 무엇인가요?
테스터가 히스토리로 요청 구간을 얼마나 완전하게 덮었는지를 보고하기 때문입니다. 브로커가 저장한 틱의 구멍, 봉에서 메운 초기 연도, 틱 히스토리 시작 이전부터 시작하는 구간, 또는 여러 종목을 동시에 불러와야 하는 실행 — 실행 자체가 실제 틱을 쓰더라도 이 모두가 수치를 낮춥니다. 마지막 항목 때문에 다종목 실행의 수치는 단일 종목 실행의 수치와 비교할 수 없습니다.
90 %짜리 백테스트는 쓸모없나요?
쓸모없지는 않지만 제한적입니다. 느린 전략을 거르는 데는 합리적인 필터이고, 빠른 전략의 수치를 공개하는 근거로는 나쁩니다. 보간이 공급하는 것이 바로 짧은 목표의 전략이 매매하는 봉 내부 경로이기 때문입니다.