polakowo/vectorbt

The backtesting engine that gives you an unfair advantage. Run thousands of trading ideas before others finish one.

해결하는 문제

VectorBT는 기존 백테스팅의 비효율성을 해결합니다. 기존 방식은 일반적으로 데이터 바를 하나씩 순회하며 전략을 처리하기 때문에, 대규모 파라미터 최적화나 그리드 서치 작업이 매우 느리고 연구자들에게 비실용적이었습니다.

작동 원리

VectorBT는 반복 루프 대신 벡터화된 접근 방식을 사용합니다. 수천 개의 전략 구성을 NumPy 배열에 담아 동시에 처리합니다. 성능을 극대화하기 위해 Numba를 통한 JIT(Just-In-Time) 컴파일을 활용하며, 선택적으로 Rust 엔진을 제공하여 JIT 오버헤드를 제거함으로써 몇 시간 걸리던 그리드 서치를 몇 초 만에 완료할 수 있습니다.

대상 사용자

금융 연구원, 퀀트 트레이더, 그리고 다양한 자산과 타임프레임에 걸쳐 고속 실험 및 대규모 백테스팅을 수행해야 하는 AI 에이전트를 위해 설계되었습니다.

주요 특징

  • 벡터화된 백테스팅: pandas, NumPy, Numba를 사용하여 고성능 전략 연구를 수행합니다.
  • 대규모 파라미터 스윕: 유연한 브로드캐스팅을 지원하여 수천 개의 윈도우 조합이나 무작위 전략을 한 번에 테스트할 수 있습니다.
  • 포괄적인 분석: 드로다운, 승률, Sharpe/Sortino 비율을 포함한 상세한 포트폴리오 성과 지표를 제공합니다.
  • 대화형 시각화: Plotly 및 Jupyter widgets와 통합되어 히트맵, 산점도, 애니메이션 금융 차트를 생성할 수 있습니다.
  • ML 준비 완료: 머신러닝 워크플로우를 위한 견고성 테스트, 워크포워드 최적화(walk-forward optimization), 라벨 생성 기능을 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트