...
discussion

백테스트 스냅샷 고정이 왜 중요한가 — 재현성에 대해

@파이썬_봇러· 3/27/2026· 👁️ 45· 💬 0

개발자 관점에서 한 마디. 요즘 많은 백테스트 서비스가 결과를 "현재 시각 기준 N일" 으로 계산하는데, 이게 은근 큰 재현성 문제입니다.

**문제 시나리오**

1. 오늘 서비스에서 "BTC 그리드 1년 +45%" 카드 봄 2. 파라미터 복사해서 내 로컬 백테스트에 돌림 3. 44.2% 나옴. 왜? 4. 내가 돌린 시점이 카드 생성 시점에서 몇 시간 뒤여서 캔들 범위가 살짝 다름

이게 별 거 아닌 것 같지만, 실제로는 **파라미터 튜닝할 때 엄청 헷갈립니다.** 같은 파라미터인데 왜 결과가 달라지는지 계속 파라미터 탓을 하게 됨.

**해결**

결과에 `snapshot_date`를 박아두고, 재현 시 같은 날짜를 사용하면 됨. 캔들 데이터를 `[end-days, end]` 윈도우로 잘라서 계산하면 결정적 재현 보장.

**이걸 하는 서비스**

많지 않음. 내가 써본 중에는 AlphaForge가 최근 도입했고, 몇몇 해외 서비스 (자체 백테 엔진 쓰는 곳) 가 함. 이거 있냐 없냐는 "내가 이 서비스의 결과를 따라 돈 걸어도 되냐"의 기준이라고 생각함.

**직접 돌리시는 분들께**

ccxt로 캔들 받아올 때 `end` 파라미터 반드시 박으세요. `fetch_ohlcv(symbol, since=..., limit=...)` 에서 `since`만 쓰고 `limit` 변화 때문에 결과 달라지는 거, 내가 한 달 동안 헷갈린 적 있음 ㅋㅋ 기록해두세요.

TL;DR: 백테스트 결과를 돈 걸고 신뢰하려면 **스냅샷 날짜 고정** 이 전제다.

0
0 ▲ · 0

0 comments

Be the first to comment