Backtests et runs live
Sélectionner Un Broker Et Un Datafeed
Section intitulée « Sélectionner Un Broker Et Un Datafeed »AQE expose les courtiers d’exécution et fournisseurs de données de marché via UnifiedBroker.
Combinaisons courantes :
PaperBroker+YahooFinanceDataFeedpour les backtests historiques locaux.PaperBroker+Mt5DataFeedquand vous voulez des bougies MT5 avec une exécution backtest simulée.Mt5Broker+Mt5DataFeedpour l’exécution live MetaTrader 5.
let execution = PaperBroker::new(AccountType::Paper, 100_000.0, 1);let data = YahooFinanceDataFeed::new();let broker = UnifiedBroker::new_backtest(execution, data);Pour la configuration propre à chaque broker, consultez Courtiers et flux de données.
Exécuter En Mode Backtest
Section intitulée « Exécuter En Mode Backtest »Le runner de backtest suit l’implémentation actuelle de 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 BacktestResultsLes exécutions générées enregistrent les artefacts sur disque sous :
backtests/<run_id>/backtest.db
AQE écrit l’artefact SQLite avec les logs de trade, round trips, historique de compte, insights et barres. Vous pouvez inspecter ces résultats dans AlgoQuant Studio via Backtest Results ou avec n’importe quel lecteur SQLite.
Exécuter En Live
Section intitulée « Exécuter En Live »Le mode live utilise la même structure stratégie/runtime, mais s’abonne aux données live et aux mises à jour de trade.
Vous pouvez exécuter AQE en live :
- avec AQS, en passant l’authentification et en activant la synchronisation live
- sans AQS, en exécutant
run_live(None)
if let Err(e) = state.run_live(auth).await { eprintln!("Live execution failed: {:?}", e); std::process::exit(1);}Quand l’authentification est fournie, AQE écrit l’état live dans des tables scoped AQS comme :
insightsstrategy_accountsstrategy_equity_pointsstrategy_live_metricsstrategy_events
Quand l’authentification est omise, AQE peut toujours fonctionner en live localement sans synchroniser dans AQS.
Interface Terminale
Section intitulée « Interface Terminale »Quand AQE est compilé avec les features runtime et tui et que le processus est attaché à un terminal interactif, les backtests et runs live ouvrent automatiquement une interface Ratatui. Le TUI reflète les métriques, insights actifs, variables de stratégie, chemins de variables suivis, état de synchronisation AQS et événements runtime.
Utilisez --no-tui quand vous voulez garder le flux de logs console classique :
cargo run --features runtime,tui --release -- --no-tuiLisez Interface terminale pour le layout des panneaux, les contrôles et le comportement d’arrêt en live.
Nous utilisons des cookies et du stockage essentiels pour la connexion, la sécurité du compte, les préférences de thème, cet avis et les métriques internes PostHog nécessaires sur l’utilisation, la qualité de session et la fiabilité. Nous n’utilisons pas de cookies publicitaires.
