AlgoQuant
Studio + Engine
EnglishAQS Cloud
AlgoQuant EngineOpen Source · Rust

Un moteur Rust haute performance pour le trading systématique.

Construisez des stratégies modulaires, coordonnez les signaux, appliquez le risque portfolio, connectez courtiers et providers, puis utilisez la même logique côté stratégie en backtest et en live.

Modulaire par conceptionRéutilisez modèles, pipelines, lifecycle, courtiers et datafeeds.
Local et privéExécutez sur l’infrastructure que vous contrôlez sans cloud imposé.
Autonome ou connectéUtilisez AQE directement, ou AQS pour le contrôle visuel.
Couche d’exécution et d’orchestration

Le runtime sous un système complet de trading quantitatif.

AQE prend en charge le parcours des événements marché aux résultats examinables. Le code de stratégie reste concentré sur les décisions pendant que le moteur coordonne état, exécution, persistance et intégrations.

01

Coordonner l’état de stratégie

Exécutez lifecycle, univers, événements marché, modèles alpha, pipelines d’insights et teardown dans un ordre prévisible.

02

Traiter les décisions de trading

Représentez l’intention par des insights dimensionnés, validés, transformés, soumis, exécutés, rejetés, gérés et clôturés.

03

Garder les intégrations remplaçables

Placez exécution et données derrière des traits moteur pour changer de courtier ou provider sans réécrire la stratégie.

04

Exploiter des sessions longues

Persistez compte, equity, événements, métriques et insights pour le terminal ou la synchronisation optionnelle vers AQS.

Architecture interactive

Voyez comment les données marché deviennent une décision exécutée et observable.

Explorez les modules, suivez le chemin d’exécution animé et sélectionnez un nœud pour examiner sa responsabilité.

Architecture interactive d’AQ Engine

Sélectionnez un module ou un état d’insight pour examiner son rôle. Déplacez ou zoomez pour explorer.

Module sélectionnéStrategy

Coordonne le cycle de vie, les événements marché, l’état, les modèles et les composants runtime.

Pourquoi Rust

La performance compte, mais la prévisibilité opérationnelle compte davantage.

AQE utilise Rust parce qu’un runtime systématique est un système long, stateful et concurrent. La valeur pratique est un contrôle plus strict de la performance, de l’ownership, des erreurs et des ressources.

Performance prévisible

L’exécution compilée et les modèles explicites conviennent aux stratégies riches en événements et aux backtests répétés.

Sécurité mémoire

Rust retire de larges classes d’erreurs mémoire des processus longs qui portent état marché, compte et stratégie.

Concurrence contrôlée

Les chemins async courtier, datafeed et synchronisation fonctionnent sans masquer ownership ni gestion d’erreurs.

Fiabilité opérationnelle

Interfaces typées et résultats explicites rendent les pannes d’intégration plus visibles et contenues.

aq-engine/src/core/pipeline/mod.rsTrait actuel
pub trait InsightPipe {
    fn version(&self) -> &str;

    fn run(
        &mut self,
        ctx: &mut dyn StrategyContext,
        insight: &mut Insight,
    ) -> InsightPipeResult;
}
Composants réutilisables

Construisez la logique une fois, puis composez-la entre stratégies.

Les insight pipes traitent chaque décision selon son état. Combinez des composants ciblés plutôt que d’enfermer sizing, fenêtres, stops, soumission et gestion dans un seul corps de stratégie.

Réutilisez sizing, entrée marché, stop-loss, take-profit et fenêtres de trading.
Exécutez une logique de pipe indépendante pour les insights New, Executed, Filled, Cancelled, Expired et Closed.
Remplacez PaperBroker, MT5, Yahoo Finance ou les futures intégrations derrière des traits partagés.
Cohérence backtest-live

Gardez le workflow côté stratégie stable quand l’environnement d’exécution change.

AQE utilise le même lifecycle et le même modèle de composants en recherche historique et en session live. La composition courtier-datafeed change ; la stratégie n’a pas besoin d’une seconde implémentation.

01Données historiquesBarres Yahoo Finance ou MT5
02AQ EngineStratégie, modèles, pipes, risque
03Exécution paperOrdres, fills, état du compte
04Exécution liveMT5 et sessions supervisées
Partagé

Lifecycle de stratégie

Démarrage, univers, init, barres, insights, pipelines et teardown gardent le même ordre.

Remplaçable

Exécution et données

UnifiedBroker compose l’exécution et le datafeed de l’environnement choisi.

Examinable

État et résultats

Les backtests persistent SQLite ; le live expose l’état au TUI ou à AQS.

Opérations sans lock-in

Exécutez localement, intégrez votre infrastructure et gardez le code privé.

AQE est autonome. AQS est optionnel, les nœuds distants sont optionnels et courtiers ou providers restent derrière des frontières extensibles.

Aucune dépendance cloud imposée pour l’exécution.
Les artefacts SQLite restent inspectables hors AQS.
Le terminal couvre métriques, variables, insights actifs, logs et état de sync.
Les traits peuvent accueillir courtiers, données, bases et systèmes internes.
Interface terminale AQ Engine avec métriques, insights, variables, watches et logs
Interface terminale AQ EngineExploitez backtests et sessions live directement depuis le processus.
Surface technique actuelle

Inspectez ce qui est implémenté aujourd’hui.

La documentation et le code exposent les contrats runtime, lifecycle, intégrations, datafeeds, modèle d’insight et état opérationnel actuels.

Exécution

PaperBroker · Mt5Broker

Simulation historique et routage live MetaTrader 5 derrière des traits courtier.

Documentation courtiers →
Données marché

Yahoo Finance · MT5

Barres historiques, cotations et live par des traits datafeed remplaçables.

Documentation datafeeds →
Couche visuelle

Connexion AQS optionnelle

Synchronisez l’état moteur vers Studio pour l’inspection et l’exploitation live.

Documentation AQS →
AlgoQuant Studio affichant un insight AQ Engine rentable et clôturéAlgoQuant Studio affichant un insight AQ Engine rentable et clôturé
État AQE dans AQSStudio transforme l’état des insights en trace opérationnelle inspectable.
Choisissez votre surface

Utilisez le moteur directement, ou ajoutez Studio pour un environnement visuel.

AQE reste autonome pour les développeurs de systèmes sur mesure. AQS ajoute composition par nœuds, revue des backtests, contrôles de déploiement, dashboards live et Insight Flow.

examples/hyperparameter.rsBalayage déterministe
let mut hyperparameters = HyperParameterConfig::new();
hyperparameters
    .set_sweep_id("ema-crossover-v1")
    .add_hyper_parameter(
        HyperParameter::new("atr_period", 14).values([10, 14, 20]),
    )?
    .add_hyper_parameter(
        HyperParameter::new("ema_period", 21).range(10.0, 30.0, 5.0),
    )?;

let mut state = build_state(timeframe.clone());
state.set_hyper_parameter_config(hyperparameters);
state.run_backtest(start, end, timeframe).await?;
Balayages d’hyperparamètres

Définissez le domaine dans le code. AQE énumère les permutations de manière paresseuse.

Enregistrez des valeurs discrètes typées ou des plages numériques près de votre stratégie, puis utilisez la même valeur avec fallback dans les modèles alpha, insight pipes ou variables de stratégie. AQE n’étend les combinaisons que pendant un balayage, crée un état neuf pour chaque seed et persiste chaque résultat séparément.

--hyper-sweep exécute chaque combinaison séquentiellement.
--hyper-seed <prefix> exécute une combinaison reproductible.
Sans flag, les fallbacks codés en dur conservent leur comportement ordinaire.
Possédez le runtime

Construisez sur un moteur systématique inspectable et extensible.

Commencez par le lifecycle, exécutez la stratégie vide, puis connectez le courtier, le datafeed et la surface opérationnelle nécessaires.