백테스트 및 실시간 실행
브로커와 데이터 피드 선택하기
섹션 제목: “브로커와 데이터 피드 선택하기”AQE는 UnifiedBroker를 통해 주문 실행 브로커와 시장 데이터 공급자를 제공합니다.
일반적인 조합은 다음과 같습니다.
- 로컬 과거 데이터 백테스트에는
PaperBroker+YahooFinanceDataFeed를 사용합니다. - MT5 캔들 데이터와 모의 백테스트 체결을 함께 사용하려면
PaperBroker+Mt5DataFeed를 사용합니다. - MetaTrader 5에서 실시간으로 주문을 실행하려면
Mt5Broker+Mt5DataFeed를 사용합니다.
let execution = PaperBroker::new(AccountType::Paper, 100_000.0, 1);let data = YahooFinanceDataFeed::new();let broker = UnifiedBroker::new_backtest(execution, data);브로커별 설정은 브로커 및 데이터 피드를 참조하세요.
백테스트 모드로 실행하기
섹션 제목: “백테스트 모드로 실행하기”백테스트 실행기는 현재 StrategyState::run_backtest 구현을 따릅니다.
// 1. strategy.on_start(ctx)// 2. load_universe() -> strategy.universe() -> broker.get_ticker_info()// 3. alpha.start() per alpha// 4. load_init() -> OnInit lifecycle logic -> strategy.init per asset// 5. alpha.init(asset) per alpha per asset// 6. broker.load_backtest_data()// 7. loop: broker step -> on_bar() -> optional insight generation -> run_insight_pipeline()// 8. strategy.on_teardown(ctx)// 9. return BacktestResults실행 결과 파일은 디스크의 다음 위치에 저장됩니다.
backtests/<run_id>/backtest.db
AQE는 거래 로그, 진입부터 청산까지의 왕복 거래 내역, 계좌 이력, 인사이트, 봉 데이터를 SQLite 결과 파일에 기록합니다. AlgoQuant Studio의 Backtest Results나 SQLite 조회 도구에서 결과를 확인할 수 있습니다.
실시간 실행하기
섹션 제목: “실시간 실행하기”실시간 모드는 동일한 전략 및 런타임 구조를 사용하지만 실시간 데이터와 거래 업데이트를 구독합니다.
AQE는 다음 방식으로 실시간 실행할 수 있습니다.
- 인증 정보를 전달하고 실시간 동기화를 활성화하여 AQS와 함께 실행
run_live(None)을 실행하여 AQS 없이 실행
if let Err(e) = state.run_live(auth).await { eprintln!("Live execution failed: {:?}", e); std::process::exit(1);}인증 정보가 제공되면 AQE는 다음과 같은 AQS 전용 테이블에 실시간 상태를 기록합니다.
insightsstrategy_accountsstrategy_equity_pointsstrategy_live_metricsstrategy_events
인증 정보를 생략해도 AQE는 AQS와 동기화하지 않고 로컬에서 실시간으로 실행할 수 있습니다.
터미널 UI
섹션 제목: “터미널 UI”AQE를 runtime 및 tui 기능으로 컴파일하고 프로세스가 대화형 터미널에 연결되어 있으면, 백테스트와 실시간 실행 시 Ratatui 인터페이스가 자동으로 열립니다. TUI는 지표, 활성 인사이트, 전략 변수, 감시 중인 변수 경로, AQS 동기화 상태, 런타임 이벤트를 표시합니다.
일반 콘솔 로그 스트림을 사용하려면 --no-tui를 지정하세요.
cargo run --features runtime,tui --release -- --no-tui패널 구성, 조작 방법, 실시간 실행 종료 동작은 터미널 UI를 읽어보세요.
로그인, 계정 보안, 색상 테마 설정, 이 알림 표시와 PostHog의 필수 내부 이용 현황·세션 품질·안정성 지표 수집을 위해 필수 쿠키와 저장소를 사용합니다. 광고 쿠키는 사용하지 않습니다.
