백테스팅은 명시적인 거래 규칙을 역사적 데이터에 적용합니다. 이는 해당 규칙이 특정 가정 하에서 어떻게 행동했을까를 묻는 것이지, 다음 달에 얼마나 벌 수 있을지를 묻는 것이 아닙니다. 가장 가치 있는 결과는
교육용 가이드입니다. 예시는 가상의 시나리오이며 실제 호가가 아닙니다. 개인화된 투자 조언이 아닙니다.
백테스팅은 명시적인 거래 규칙을 역사적 데이터에 적용합니다. 이는 해당 규칙이 특정 가정 하에서 어떻게 행동했을까를 묻는 것이지, 다음 달에 얼마나 벌 수 있을지를 묻는 것이 아닙니다. 가장 가치 있는 결과는 매력적인 아이디어가 사후 분석을 제거하고 현실적인 비용을 포함하면 사라진다는 사실을 발견하는 것일 수 있습니다.
결과를 검토하기 전에 규칙을 작성하세요
자산 범위, 거래소, 시간 프레임, 신호, 진입 타이밍, 포지션 크기, 청산 조건 및 최대 동시 노출을 명시하세요. 또한 누락된 데이터 처리 방법과 차입 또는 공매도 요구 사항도 명시해야 합니다. 명확한 가정을 가진 간단한 규칙은 수익 곡선을 개선하기 위해 고안된 예외 사항들의 집합보다 감사하기가 더 쉽습니다.
예시를 위해, 완료된 일일 종가가 이동 평균에 상대적으로 어떻게 나타나는지 관찰하고 다음 이용 가능한 실행 기회보다 더 일찍 거래하지 않는 규칙을 상상해 보세요. 이는 테스트 사양일 뿐 권장 전략이 아닙니다. 최종 종가를 사용하는 신호는 같은 캔들 내에서 더 일찍 체결을 받을 수 있는 마법을 부릴 수 없습니다.
데이터가 실제로 무엇을 나타내는지 확인하십시오
일관된 타임스탬프와 시간대를 사용하십시오. 중복 캔들, 누락된 간격, 거래소 장애 및 의심스러운 가격을 확인하십시오. 집계된 모든 호가가 의도한 거래소에서 체결되었을 것이라고 가정하지 마십시오. 파생상품의 경우 계약 사양과 자금 이력이 중요하며, 현물 시장의 경우 상장 날짜와 이용 가능한 페어가 중요합니다.
생존자 편향을 피하십시오. 오늘날 성공적인 토큰들은 과거에 존재했던 모든 토큰을 대표하지 않습니다. 실패하거나 상장 폐지된 자산을 제외하면 전략이 실제로보다 더 견고해 보일 수 있습니다. 오늘날 이용 가능한 시장 데이터에는 당시에는 알려지지 않았던 수정 사항이나 분류가 포함되어 있을 수도 있습니다.
결과를 무효화하는 세 가지 지름길
미래지향적 편향은 정보가 이용 가능하기 전에 그 정보를 사용하는 것입니다. 예로는 미결정된 캔들을 기반으로 거래하거나 나중에 수정된 데이터 포인트를 당시 이미 알려져 있었던 것처럼 사용하는 경우가 있습니다. 신호와 실행을 의도적으로 시프트하고, 여러 거래를 수동으로 감사하십시오.
과적합은 규칙을 역사적 노이즈에 맞게 조정하는 것을 의미합니다. 수백 가지의 파라미터 조합을 시도하고 승리한 결과만 보고하면 숨겨진 선택 문제가 발생합니다. 시도한 내용을 기록하고, 이해하기 쉬운 규칙을 선호하며, 가장 좋은 결과를 편향 없는 발견인 것처럼 제시하지 마십시오.

인트라바 모호성은 캔들 데이터가 이벤트 순서를 드러낼 수 없을 때 발생합니다. 스톱과 타겟이 모두 캔들의 범위 내에 있는 경우, OHLC 값만으로는 어떤 것이 먼저 발생했는지 알 수 없습니다. 더 세분화된 데이터를 사용하거나 보수적인 가정을 적용하고, 선택 사항을 명시하십시오. 고점이나 저점이 제한가에 닿았다고 해서 귀하의 주문이 실행 우선권을 가졌음을 증명하지는 않습니다.
실제 거래 비용을 포함하십시오
입출금 수수료를 차감하고, 스프레드와 슬리피지를 모델링하며, 관련이 있는 경우 자금 비용이나 펀딩을 포함하십시오. 최소 주문 크기와 합리적인 유동성을 존중하십시오. 높은 비용을 스트레스 테스트로 검토하십시오. 불가능한 체결이 필요한 전략은 더 매력적인 차트로는 개선되지 않습니다.
$10,000의 초기 자본금으로 가상의 테스트에서 총 수익 $800과 총 모델링된 비용 $350은 세금 및 생략된 효과를 제외하고 $450의 순이익, 즉 4.5%를 생성합니다. 총 수익률만으로는 8%를 보여주었을 것입니다. 이 두 숫자 모두 중간에 발생한 드로다운의 규모에 대해서는 아무것도 말해주지 않습니다.
개발과 평가를 분리하십시오
이른 기간을 개발용으로 사용하고, 나중에 untouched(손대지 않은) 기간을 평가용으로 사용하십시오. 워크포워드 프로세스는 이전 정보를 바탕으로 반복적으로 개발하고 이후의 윈도우에서 평가합니다. 한 번이라도 홀드아웃 세트에 대해 반복적으로 튜닝하면, 더 이상 진정으로 untouched하지 않게 됩니다. 적합한 데이터가 있는 상승, 하락 및 횡보 조건 전반에서 테스트하십시오.
최종 순수익률과 최대 낙폭, 노출도, 거래 회전율, 거래 횟수, 평균 수익 및 손실, 그리고 몇몇 이상치에 대한 의존도를 함께 검토하십시오. 낙폭은 이전 자산 최고점 대비 하락을 측정하며, 좋은 최종 잔고는 용납할 수 없는 경로를 숨길 수 있습니다. 작은 표본이나 운이 좋은 한 번의 거래가 요약 통계를 지배할 수 있습니다.
다음 단계는 또 다른 테스트입니다
다른 사람이 결과를 재현할 수 있도록 규칙, 데이터 창 및 가정 사항을 보존하십시오. 그런 다음 변경되지 않은 규칙으로 https://realcryptocap.com/articles/crypto-paper-trading-guide 에서 포워드 테스트를 수행하십시오. 과거 수익률은 예측이 아니며, 백테스트는 실제 자본을 위험에 노출시키는 것이 적합한지 입증하지 않습니다.
출처 및 추가 읽을거리: Binance Academy, 백테스트란 무엇인가? — https://academy.binance.com/en/articles/what-is-backtesting; Binance Academy, 거래 전략 백테스트 방법 — https://academy.binance.com/en/articles/how-to-backtest-a-trading-strategy. 원본 예시가 포함된 독립적인 설명.