본문으로 건너뛰기

백테스팅 실행

백테스팅은 과거 데이터를 사용하여 전략의 성과를 검증하는 과정입니다.

백테스팅이란?

백테스팅을 통해 다음을 확인할 수 있습니다:

  • 전략의 수익성
  • 최대 낙폭 (Drawdown)
  • 승률 및 손익비
  • 리스크 지표

백테스팅 실행하기

1. 대시보드에서 실행

  1. 전략 목록에서 백테스팅할 전략을 선택합니다
  2. "백테스팅" 버튼을 클릭합니다
  3. 백테스팅 설정을 입력합니다:
    • 기간: 시작일과 종료일
    • 초기 자본: 백테스팅 시작 자본금
    • 수수료: 거래 수수료율
    • 슬리피지: 주문 체결 시 예상 가격 차이

2. Python SDK로 실행

from timepercent import Backtest, StrategyLoader

# 전략 로드
strategy = StrategyLoader.load("MovingAverageStrategy")

# 백테스팅 설정
backtest = Backtest(
strategy=strategy,
start_date="2020-01-01",
end_date="2023-12-31",
initial_capital=100000, # $100,000
commission=0.001, # 0.1%
slippage=0.0005 # 0.05%
)

# 백테스팅 실행
results = backtest.run()

# 결과 출력
print(f"총 수익률: {results.total_return:.2%}")
print(f"연평균 수익률: {results.annual_return:.2%}")
print(f"샤프 비율: {results.sharpe_ratio:.2f}")
print(f"최대 낙폭: {results.max_drawdown:.2%}")

백테스팅 결과 분석

주요 지표

  • 총 수익률 (Total Return): 전체 기간 동안의 수익률
  • 연평균 수익률 (Annual Return): 연환산 수익률
  • 샤프 비율 (Sharpe Ratio): 위험 대비 수익률 (높을수록 좋음)
  • 최대 낙폭 (Max Drawdown): 최고점 대비 최대 하락폭
  • 승률 (Win Rate): 수익 거래 비율
  • 손익비 (Profit Factor): 총 수익 / 총 손실

결과 차트

백테스팅 결과는 다음과 같은 차트로 시각화됩니다:

  • 자산 가치 변화 곡선
  • 포지션 변화
  • 수익/손실 분포
  • 월별 수익률

백테스팅 주의사항

과최적화 주의

과거 데이터에 너무 맞춰진 전략은 미래에 실패할 수 있습니다. 다양한 시장 환경에서 테스트하세요.

리얼리즘

백테스팅 시 수수료와 슬리피지를 현실적으로 설정하세요. 실제 거래에서는 더 많은 비용이 발생할 수 있습니다.

다음 단계

백테스팅 결과가 만족스럽다면 전략 개발 가이드에서 더 많은 전략 기법을 알아보세요.