This article has been translated from English to Korean.
시험을 본 적이 있나요? 있다면, 기출문제를 활용해 준비했을 거라고 말해도 무방합니다. 대부분의 사람들은 시험 조건 하에서 기출문제를 풀어봅니다. 목표는 지금까지 사용해온 학습 접근법과 전략이 실제로 효과적인지 확인하는 것입니다. 기출문제를 검토함으로써 자신의 강점이 어디에 있는지, 또 어떤 부분을 개선해야 하는지 파악할 수 있습니다. 거래 전략의 백테스팅도 거래에서 동일한 방식으로 작동합니다. 즉, 사용하려는 거래 전략을 과거 시장 데이터에 적용한 후 결과를 기록하는 것입니다. 이 과정을 통해 전략이 잘 작동하는 부분과 실패하는 부분을 파악할 수 있으므로, 실제 자금을 위험에 노출시키기 전에 전략을 개선할 수 있습니다. 이는 과거 시험지가 시험 당일 전에 취약한 부분을 보완하는 데 도움을 주는 것과 같은 원리입니다.
이 글에서는 다음을 다룹니다:
- 백테스팅이란 무엇이며, 왜 중요한가?
- 백테스팅 세션을 올바르게 설정하는 방법
- 거래 전략을 최적화하고 개선하는 방법
- 백테스팅 시 피해야 할 흔한 함정
백테스팅이란 무엇인가?
백테스팅은 과거 시장 데이터에 거래 전략의 규칙을 적용하여 과거 성과를 평가하는 과정입니다. 이를 위해 규칙이 지시하는 정확한 지점에서 진입하고, 규칙이 정의한 출구 지점에서만 포지션을 청산합니다. 이 과정에서 미리 작성된 규칙을 변경 없이 준수합니다.
백테스팅은 실제 자금을 사용하지 않고도 전략과 관련된 위험을 이해하는 데 도움이 됩니다. 미래의 결과를 보장하지는 않지만, 트레이더가 정보에 기반한 결정을 내리고 실전 거래에 더 자신 있게 대비할 수 있도록 지원합니다.
예시
트레이더 브라이언의 사전 작성된 규칙은 다음과 같습니다. 그의 규칙은 $GBPUSD만 거래하고, 고점 위나 저점 아래에서 유동성 스윕이 발생한 후에만 진입하며, 20핍스 손절과 80핍스 이익실현을 설정하는 것입니다. 그는 백테스팅 동안 이 규칙들을 변경하지 않습니다. 이 규칙들을 엄격히 따름으로써, 브라이언은 어떤 거래가 수익을 냈을지, 어떤 거래가 손실을 봤을지 기록하고 세션 전반에 걸친 성과 패턴을 식별할 수 있습니다.
백테스팅 세션을 올바르게 설정하는 방법
1단계: 거래 전략 정의하기
| "전략의 핵심은 하지 않을 것을 선택하는 것이다." — 마이클 포터, 저명한 미국 경제학자이자 하버드 경영대학원 교수. |
테스트를 진행하기 전에, 백테스팅 세션에서 가장 중요한 단계인 거래 전략을 명확히 정의해야 합니다. 이는 모든 결정의 방향을 설정합니다. 이 단계에서는 테스트하려는 거래 전략을 구성하는 규칙과 기준을 개요로 작성합니다.
예를 들어, 브라이언을 살펴보자. 그의 백테스팅 사례에서 그는 유동성 스윕 전략을 사용하여 GBPUSD를 거래한다. 그의 규칙은 명확하다:
- 고점 위 또는 저점 아래에서 유동성 스윕 발생 후 진입.
- 20핍 스탑 로스를 설정한다.
- 80핍의 테이크 프로핏 설정.
브라이언은 먼저 전략을 명확히 정의함으로써 백테스팅 시트에 기록하는 모든 거래가 일관된 규칙을 따르도록 보장합니다. 이 단계는 세션을 안정화시키고 결과를 의미 있게 만듭니다. 정의된 전략이 없다면 백테스팅은 무작위적이고 신뢰할 수 없게 됩니다.
2단계: 양질의 과거 데이터를 제공하는 백테스팅 플랫폼 선택
신뢰할 수 있는 백테스팅을 위해서는 고품질 시장 데이터와 이를 테스트할 도구가 필수적입니다. 메타트레이더 4/5, 트레이딩뷰, FX 리플레이, 트레이드젤라 같은 플랫폼은 과거 가격 데이터와 함께 이를 재생하고 분석할 수 있는 기능을 제공합니다. 이러한 도구를 사용하면 진입, 청산, 규칙 실행을 연습하면서 결과가 실제 시장 상황을 반영하도록 할 수 있습니다. 트레이딩뷰는 가격 움직임, 시장 구조, 유동성을 이해하고자 하는 초보 및 중급 트레이더에게 적합합니다. 과거 가격 움직임을 재현하고 세션별 전략 성과를 확인할 수 있어 결과가 실제 시장 상황을 반영하는지 검증할 수 있습니다. 사용하기 쉽고 기술적 지식 수준에 맞으며 반복 가능한 테스트를 실행할 수 있는 도구를 선택하세요.
더 높은 정밀도를 위해 틱 단위 데이터, 거래량, 시장 심도 정보를 제공하는 일부 브로커의 데이터를 추가할 수 있습니다.
| 해당 브로커로는 Eightcap, IC Markets, Pepperstone, ThinkMarkets, FXCM 등이 있습니다. |
3단계: 거래 전략 실행
정의한 전략을 과거 데이터에 적용하여 실시간으로 실행되는 것처럼 거래를 시뮬레이션하세요. 실행 방법은 다음과 같습니다:
- 시작 시점으로 과거 가격 데이터상의 특정 지점을 선택하세요.
- 진입 규칙을 따르세요: 거래 조건이 충족되는지 확인합니다.
- 거래 기록: 통화쌍, 세션, 진입 가격, 손절가, 목표가, 이유를 기록합니다.
- 출구 규칙을 따릅니다: 조건에 따라 출구 시점이 되면 출구 가격과 결과(수익/손실)를 기록합니다.
- 다음 거래로 이동: 단계를 건너뛰거나 규칙을 변경하지 않고 과거 데이터를 계속 진행합니다.
거래가 실행되면 전략이 가장 잘 작동하는 부분과 실패하는 부분을 확인해야 합니다. 이것이 최적화의 시작입니다.
거래 전략 최적화 및 개선 방법
최적화는 과거 데이터에 전략을 실행한 후 부족한 부분을 찾는 과정입니다. 백테스트에서 얻은 통찰력을 활용해 전략을 미세 조정하여 실제 시장 환경에서 더 효과적으로 작동하도록 합니다. 이미 테스트한 규칙을 조정하여 가장 수익성 높은 결과를 내는 설정을 찾습니다.
최적화는 백테스트 데이터를 실행 가능한 결정으로 전환합니다. 4단계에서는 이러한 결과를 분석하여 패턴, 약점, 전략을 개선할 수 있는 영역을 파악하는 데 중점을 둡니다.
4단계: 결과 분석
분석은 최적화의 시작점입니다. 전략의 성과를 이해해야만 개선이 가능하기 때문입니다. 이를 위해서는 모든 거래의 완전한 기록이 필요하며, 이를 통해 패턴을 연구하고 규칙이 통화쌍, 세션, 조건에 따라 어떻게 작동하는지 확인할 수 있습니다. 브라이언은 이미 정의된 규칙을 일관되게 따르며 백테스트에서 전략을 실행했습니다. 그의 거래를 검토함으로써 어떤 설정이 성공했고, 어떤 설정이 실패했으며, 어떤 상황에서 발생했는지 정확히 파악할 수 있습니다. 그의 결과는 다음과 같습니다:
| 거래 | 통화쌍 | 세션 | 손절매 | 익절 | 거래 이유 | 결과 |
| 1. | GBPUSD | 런던 | 20 | 80 | 고점 상향 유동성 스윕 | 승리 |
| 2. | GBPUSD | 런던 | 20 | 40 | 고점 위의 유동성 스윕 | 승리 |
| 3. | GBPUSD | 아시아 | 20 | 80 | 고점 위 유동성 스윕 | 손실 |
| 4. | USDJPY | 아시아 | 20 | 80 | 저점 아래 유동성 스윕 | 손실 |
| 5. | USDJPY | 아시아 | 20 | 80 | 고점 상향 유동성 스윕 | 손실 |
| 6. | GBPUSD | 런던 | 20 | 80 | 고점 위의 유동성 스윕 | 승리 |
브라이언의 결과를 통해 최적화 통찰력이 빠르게 드러납니다. 브라이언이 주력 통화쌍 대신 USDJPY를 거래할 때마다 손실을 기록했습니다. 모든 손실은 아시아 세션에서 발생했습니다. 런던 세션 거래에서는 오직 승리만 기록했습니다. 한 거래에서 계획된 80핍 대신 40핍의 이익 실현을 사용해 일관성을 깨뜨렸습니다.
이 분석은 전략이 효과적인 부분과 실패하는 부분을 보여줍니다. 브라이언의 경우, 계획된 통화쌍을 따르고 런던 세션에서 거래할 때 수익이 발생했습니다. 손실은 이러한 규칙에서 벗어날 때마다 발생했으며, 정확히 어떤 조정이 필요한지 보여줍니다.
5단계: 전략 조정
전략 조정은 적용된 최적화입니다. 데이터가 입증한 조정 필요 부분만 수정합니다. 브라이언의 경우 최적화 방향이 명확합니다. 아시아 세션을 계획에서 제외해야 합니다. 종목을 전환하지 않고 주요 통화쌍에 집중해야 합니다. 일관성을 유지하기 위해 80핍스 이익실현을 고정해야 합니다.
이러한 개선은 안정성과 리스크 관리를 향상시킵니다. 또한 현실적인 기대치를 설정합니다. 브라이언은 이제 자신의 전략을 지원하는 조건과 해치는 조건을 이해합니다. 최적화는 기존 우위를 정교화합니다. 신뢰하는 규칙과 이해하는 데이터로 거래할 준비를 갖추게 합니다.
백테스팅 시 피해야 할 흔한 함정
1. 서면 계획 부재.
위에서 논의한 바와 같이, 모든 백테스팅 세션의 첫 단계는 서면 계획입니다. 테스트할 내용, 수집할 데이터, 성과 검토 방법을 정의해야 합니다. 이 실수를 방지하려면:
| 매번 따를 간단한 청사진을 작성하세요. 테스트 대상, 사용할 기준, 적용할 매개변수를 정의하세요. 데이터를 수집하기 전에 이 청사진을 작성하세요. |
2. 거래 비용 무시.
슬리피지와 수수료를 간과하는 것은 흔한 실수입니다. 이러한 비용은 결과에 직접적인 영향을 미칩니다. 이를 무시하면 성과가 부풀려져 백테스팅의 신뢰성을 떨어뜨립니다. 이러한 비용을 제외하고 본 수익은 실제 거래에서는 존재하지 않습니다. 슬리피지와 수수료를 전략의 일부로 반드시 고려해야 합니다.
| 해결책: 테스트에 비용 가정을 반영하세요. 각 통화쌍별 슬리피지를추정하기 위해 과거 데이터를 활용하세요 . 실제 브로커 수수료율을 적용하세요 . 이렇게 하면 실제 거래 조건에 더 가까운 결과를 얻을 수 있습니다. |
3. 불충분한 거래 샘플.
작은 표본 크기에 의존하면 분석의 신뢰도가 떨어집니다. 제한된 데이터로 결론을 내리게 됩니다. 많은 트레이더들이 소수의 거래만 검토하고 자신감을 갖습니다. 이 자신감은 허상입니다. 작은 표본은 전략이 시간에 따라 어떻게 행동하는지 숨깁니다.
브라이언의 경우, 7건의 거래는 백테스트가 아닙니다. 7건의 거래로는 일관성, 손실 폭, 위험에 대해 아무것도 알 수 없습니다. 브라이언은 실제 성과를 확인하려면 수십 건 또는 수백 건의 거래가 필요합니다.
| 해결책: 데이터가 일관된 행동을 보일 때까지 많은 거래와 긴 기간에 걸쳐 전략을 백테스트하십시오. |
4. 심리적·감정적 요인 과소평가.
거래에 관해 이야기할 때, 성공의 상당 부분은 모든 백테스트와 거래 검토에 스며드는 심리적·감정적 함정을 이해하는 데서 비롯됩니다. 이러한 요소들은 데이터를 보는 방식을 왜곡하고, 자신의 시스템이 실제보다 더 잘 작동한다고 믿게 만들 수 있습니다. 성공한 거래만 집중적으로 살펴보고 손실은 무시하거나, 모든 시장 움직임을 자신의 기존 신념을 확인해주는 증거로 해석할 수 있습니다. 이는 현실이 아닌 개인의 필터를 거친 시장 이미지를 만들어냅니다. 예를 들어, 수익 거래만 기록하거나 손실을 단순한 불운으로 치부하거나, 깨끗하고 평탄한 기간만 연구 대상으로 선택할 수 있습니다. 시간이 지남에 따라 이는 전략을 서류상으로는 일관되게 보이게 하지만 실제 조건에서는 취약하게 만듭니다.
| 해결책: 엄격하고 일관된 프로세스가 필요합니다. 모든 거래(수익/손실)를 맥락과 함께 기록하세요. 진입 조건, 시장 상황, 심지어 감정 상태까지 포함시키십시오. 결과를 확인하기 전에 캔들스틱 하나하나를 되짚어 가며 차트를 재현해 진정한 의사결정 과정을 포착하세요. |
