결과 해석
BacktestResultView(web/src/components/backtest/BacktestResult.tsx) 가 표시하는 6개 메트릭과 equity curve를 어떻게 읽어야 하는지 설명합니다.
📸 백테스트 결과 화면 (추후 자동 캡처 예정)
6개 메트릭 카드
| 카드 | 필드 | 의미 | 합격선 |
|---|---|---|---|
| Total Return | total_return | 누적 수익률 (%) | benchmark(buy & hold) 대비 양호 |
| Sharpe Ratio | sharpe_ratio | 위험 대비 수익 | > 1.0 양호, > 2.0 우수 |
| Max Drawdown | max_drawdown | 최대 낙폭 | < 20% 권장 |
| Win Rate | win_rate | 승률 (%) | 추세 추종 50%+, 평균회귀 60%+ |
| Profit Factor | profit_factor | 총이익 / 총손실 | > 1.5 양호 |
| Total Trades | total_trades | 거래 수 | 통계적 유의 위해 100건 이상 권장 |
Equity Curve
TradingView Lightweight Charts로 시계열 자산 곡선을 그립니다.
- X축: 시간 (timeframe에 따라 candle 단위)
- Y축: USD/USDT 환산 자산
- 컬러: indigo 라인
- 결측 구간: 데이터 없는 기간은 carry-forward
Drawdown 시각화
drawdown은 별도 챠트가 아닌 max_drawdown 카드로만 표시됩니다. 곡선의 꺾임이 클수록 심한 손실 구간입니다.
종합 판단 가이드
좋은 전략의 4가지 신호:
- Sharpe ≥ 1.5 — 변동성 대비 수익 양호
- Max DD ≤ 25% — 자금 회복 가능 범위
- Profit Factor ≥ 1.5 — 손실 대비 이익 충분
- Total Trades ≥ 100 — 통계적 신뢰성 확보
세 가지 이상 만족 시 paper 트레이딩으로 진행할 가치가 있습니다.
페이지 동작
{result && <BacktestResultView result={result} />}
mutation.isError→ 에러 배너 표시result === null→ 결과 영역 숨김- 새 백테스트 실행 시
setResult(data)로 즉시 교체
자주 묻는 질문
Q. Sharpe가 음수예요.
A. 평균 수익이 risk-free rate보다 낮은 경우입니다. 전략을 다시 검토하거나, 수수료/슬리피지를 더 보수적으로 설정해 재실행하세요.
Q. Total Trades가 5건뿐입니다.
A. 통계적으로 의미가 없습니다. 기간 확장 또는 timeframe 단축을 고려하세요.
Q. Equity curve와 메트릭이 안 맞아 보입니다.
A. carry-forward 처리로 시각적 매끄러움이 우선입니다. 정확한 청산일은 Trades → 거래 이력에서 확인하세요.