백테스팅
백테스팅은 과거 가격에 거래 규칙을 적용해 수수료를 반영한 성과를 확인하는 것입니다. 정의와 활용법, 흔한 실수를 알아보세요.
정의
과거 가격에 매매 규칙을 적용해 성과를 확인합니다. 가능하면 수수료와 슬리피지를 반영하고 코인을 단순 보유했을 때와 비교합니다.
백테스팅은 과거 가격에 거래 규칙을 적용해 어떤 결과가 나왔을지 확인하는 과정입니다. 어떤 거래가 발생했을지, 각 거래에 얼마가 들었을지, 계좌 잔액이 어떻게 변했을지를 살펴봅니다. 비용을 반영했을 때 과거에 규칙이 효과가 있었는지는 알 수 있지만, 앞으로도 효과가 있을지는 알 수 없습니다.
예시
Binance의 90일 가격 데이터를 대상으로 "24시간 안에 BTC 가격이 5% 하락하면 $50어치 매수하고, 매수가보다 4% 오르면 매도하며, 6% 하락하면 손절"하는 전략을 테스트합니다. 각 주문에 0.1% 수수료와 0.05% 슬리피지를 적용합니다. 테스트 결과에는 거래 9건, 수수료를 반영한 해당 기간의 결과, 진행 중 발생한 최대 하락폭, 그리고 BTC를 단순 보유했을 때의 동일한 수치가 표시됩니다. 이 예시는 설명을 위한 것으로, 실제 결과가 아닙니다.
이것이 중요한 이유
백테스트는 좋지 않은 아이디어를 걸러내는 가장 저렴한 방법입니다. 수수료를 반영한 뒤 지난 2년 동안 손실을 낸 규칙은 실제 자금을 투입하기에 적합하지 않을 가능성이 큽니다. 하지만 테스트 결과가 실제보다 좋아 보일 수도 있습니다. 수수료를 빼거나, 한 기간만 테스트하거나, 과거 데이터에 맞춰 수치를 조정하면 결과가 실제보다 좋아 보일 수 있습니다.
TradeCorgi의 활용 방식
규칙을 확인하면 모든 전략을 백테스트합니다. 테스트에는 항상 사용 중인 플랜에 해당하는 거래소 수수료, 슬리피지, 최소 주문 수량이 반영됩니다. 결과와 같은 기준으로 최대 하락폭을 표시하고, 코인을 그대로 보유했을 때의 결과와 나란히 보여줍니다. 조회 가능한 과거 데이터는 플랜에 따라 다릅니다. Sandbox는 90일, Copilot은 2년, Autopilot은 4년, Pro는 거래소의 전체 과거 데이터를 이용합니다. 백테스트로 이용할 수 있는 것은 모의 거래뿐이며, 바로 실거래를 시작할 수는 없습니다.