AlgoQuant
Studio + Engine
AQS Cloud
Un framework modular en Rust para el trading algorítmico.Código fuente disponible · Rust

AlgoQuant Engine

Crea componentes de trading reutilizables y ejecútalos tanto en backtests como en operaciones en vivo, con control sobre tus datos, brókeres e infraestructura.

Propiedad de AlgoQuantStudio. Disponible bajo la PolyForm Shield License 1.0.0 para usos que no compitan con el producto, incluidas tu propia investigación, el backtesting y el trading en vivo. El uso de AQE para ofrecer un producto competidor requiere una autorización independiente por escrito.

Modular desde su diseñoReutiliza modelos, pipelines, lógica del ciclo de vida, brókeres y fuentes de datos.
Local y privadoEjecuta en infraestructura bajo tu control sin depender obligatoriamente de la nube.
Independiente o conectadoUtiliza AQE directamente o añade AQS para el control y la supervisión visuales.
Capa de ejecución y orquestación

El entorno de ejecución que sustenta un sistema completo de trading cuantitativo.

AQE gestiona el recorrido desde los eventos de mercado entrantes hasta los resultados de trading que puedes revisar. El código de la estrategia se centra en las decisiones, mientras el motor coordina el estado, la ejecución, la persistencia y las integraciones.

01

Coordina el estado de la estrategia

Ejecuta los hooks del ciclo de vida, la selección del universo, los eventos de mercado, los modelos alfa, los pipelines de insights y la finalización en un orden predecible.

02

Procesa las decisiones de trading

Representa la intención de trading mediante insights con estado que se pueden dimensionar, validar, transformar, enviar al bróker, rechazar, gestionar y cerrar, y cuyas órdenes pueden ejecutarse.

03

Mantén las integraciones intercambiables

Separa la ejecución y los datos de mercado mediante traits del motor para que cambiar de bróker o proveedor no te obligue a reescribir la estrategia.

04

Gestiona sesiones de larga duración

Guarda de forma persistente el estado de cuentas, patrimonio, eventos, métricas e insights para supervisarlo desde la terminal o sincronizarlo opcionalmente con AQS.

Arquitectura interactiva

Descubre cómo los datos de mercado se convierten en una decisión ejecutada y observable.

Explora los módulos, sigue el recorrido animado de la ejecución y selecciona un nodo para inspeccionar su función en el entorno de ejecución.

Arquitectura interactiva de AQ Engine

Selecciona un módulo o estado de insight para inspeccionar su función. Desplaza la vista o ajusta el zoom para explorar.

Módulo seleccionadoEstrategia

Coordina los hooks del ciclo de vida, los eventos de mercado, el estado, los modelos y los componentes de ejecución configurados.

Pruebas de rendimiento del motor

Rendimiento medido.

Rust compila la lógica de las estrategias a código nativo, con gestión explícita de recursos y comprobaciones rigurosas durante la compilación. AQE combina esta base con Polars para el análisis de datos y un framework coherente para las decisiones de trading.

AQE 0.2.2 · Apple M5 Max · 5 ejecuciones emparejadas

2 de noviembre de 2026
Tasa de procesamiento: cuanto mayor, más rápido
Antes de optimizarOptimizado
Indicadores+4,7%
Antes de optimizar26,97 M velas/s
Optimizado28,24 M velas/s
Pipes de insights+18%
Antes de optimizar8,33 M etapas/s
Optimizado9,83 M etapas/s
PaperBroker+315,2%
Antes de optimizar168,9 k órdenes/s
Optimizado701,2 k órdenes/s

Escala independiente con origen en cero para cada par.

Mejoras de rendimiento frente al candidato anterior a la optimización. Cargas sintéticas locales, no rendimiento de trading de extremo a extremo.

Estas mediciones, correspondientes a la fecha indicada, describen la instantánea registrada del código fuente; no verifican ninguna versión posterior. No miden la latencia del bróker en operaciones en vivo.

Metodología y resultados detallados

Cinco ejecuciones nativas emparejadas en el mismo Apple M5 Max, alternando los binarios anteriores y posteriores a la optimización. Cada carga usa 3 calentamientos y 15 muestras por ejecución; publicamos la mediana más lenta de cada variante y el p95 de esa misma ejecución.

Compilación de producción: AQE con opt-level=3, LTO y una unidad de generación de código. Las cargas deterministas en memoria excluyen de los intervalos medidos la preparación, la generación de datos, la red, la base de datos, la interfaz y las operaciones de E/S de MT5. La tasa de procesamiento se calcula dividiendo las operaciones por la mediana de la duración. Esto no mide la latencia real de un bróker ni un backtest completo.

Comparación controlada con el candidato 0.2.2 anterior a la optimización, no con una versión publicada. Las cargas, las regiones cronometradas, el compilador y las versiones de las dependencias no cambiaron.

Validación: 1081 pruebas superadas; las comprobaciones completas del ciclo de vida conservaron resultados económicos idénticos.

Indicadores

250.000 velas: SMA, EMA, RSI y ATR

Mediana / p95
Milisegundos
Antes de optimizar
9,27 / 11,22
Optimizado
8,85 / 9,63
Rendimiento
28.236.754 velas/s

Pipes de insights

20.000 insights: entrada, TTL y relación beneficio-riesgo

Mediana / p95
Milisegundos
Antes de optimizar
7,2 / 8,86
Optimizado
6,11 / 6,33
Rendimiento
9.828.010 etapas/s

PaperBroker

5.000 envíos y ejecuciones de órdenes en una vela sintética

Mediana / p95
Milisegundos
Antes de optimizar
29,6 / 30,89
Optimizado
7,13 / 10,05
Rendimiento
701.213 órdenes/s
Equipo
Apple M5 Max · Mac17,6 · 18 CPU · 48 GiB
Referencia
Candidato 0.2.2 antes de optimizar · mismo equipo y herramientas
Instantánea del código evaluada
AQE 0.2.2 @ 8382531 · rustc 1.98.1 (48a229cea 2026-09-01) · cargo 1.98.1 (797e8a9bc 2026-08-05)
Estado del código fuente
Incluye cambios locales; los hashes del código fuente se registran en el informe JSON.
Memoria máxima
Batería completa, RSS: 116,8 MiB → 120,8 MiB

La memoria máxima no mejoró: el RSS máximo de la suite fue un 3,5 % mayor en la comparación controlada. La mediana del ciclo de vida en directo sin conexión prácticamente no cambió.

Referencia histórica: la versión 0.2.0 de septiembre registró 400.981 órdenes de PaperBroker/s; este candidato registró 701.213.

Reproducir la instantánea registrada del código fuentecargo run --release -p aq-engine --example engine_performance --features runtime --locked

JSON de referenciaInforme de mediciones en JSONJSON de comparación controladaInforme de validaciónJSON histórico de septiembreEjecución 1: Antes de optimizar / OptimizadoEjecución 2: Antes de optimizar / OptimizadoEjecución 3: Antes de optimizar / OptimizadoEjecución 4: Antes de optimizar / OptimizadoEjecución 5: Antes de optimizar / Optimizado

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

    fn run(
        &mut self,
        ctx: &mut dyn StrategyContext,
        insight: &mut Insight,
    ) -> InsightPipeResult;
}
Componentes reutilizables

Desarrolla la lógica de trading una sola vez y combínala en distintas estrategias.

Los pipes de insights procesan cada decisión de trading en función de su estado. Combina componentes especializados en lugar de integrar el dimensionamiento, los filtros horarios, los stops, los envíos de órdenes y la gestión de posiciones en un único bloque de estrategia.

Reutiliza pipes para dimensionar órdenes, entrar al mercado, aplicar stop-loss y take-profit y definir ventanas de negociación.
Combina lógica según el estado de cada insight: New, Executed (orden enviada), Filled (orden ejecutada), Cancelled, Rejected y Closed.
Intercambia PaperBroker, MT5, Yahoo Finance o futuras integraciones mediante traits compartidos.
examples/hyperparameter.rsBarrido determinista
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?;
Barridos de hiperparámetros

Define el dominio en código. Deja que AQE ejecute las permutaciones de forma diferida.

Registra valores discretos tipados o intervalos numéricos junto a tu estrategia y utiliza el mismo valor, con una alternativa predeterminada, en modelos alfa, pipes de insights o variables de estrategia. AQE solo expande las combinaciones durante un barrido, crea un estado nuevo para cada semilla y guarda cada resultado de forma independiente.

--hyper-sweep ejecuta todas las combinaciones de forma secuencial.
--hyper-seed <prefix> ejecuta una combinación reproducible.
Si no se especifica ninguna opción, se mantiene el comportamiento habitual con valores alternativos fijos en el código.
Coherencia entre backtesting y operativa en vivo

Mantén estable el flujo de trabajo de la estrategia aunque cambie el entorno de ejecución.

AQE utiliza el mismo ciclo de vida de estrategias y modelo de componentes en la investigación histórica y en las sesiones en vivo. Cambia la combinación de bróker y fuente de datos; la estrategia no necesita una segunda implementación.

01Datos históricosVelas de Yahoo Finance o MT5
→
02AQ EngineEstrategia, modelos, pipes y riesgo
→
03Ejecución simuladaÓrdenes, ejecuciones y estado de la cuenta
→
04Ejecución en vivoMT5 y sesiones supervisadas
Compartido

Ciclo de vida de la estrategia

El inicio, el universo, la inicialización, las velas, los insights, los pipelines y el cierre mantienen el mismo orden de ejecución.

Intercambiable

Ejecución y datos

UnifiedBroker combina el proveedor de ejecución y la fuente de datos para el entorno seleccionado.

Revisable

Estado y resultados

Los backtests guardan los resultados en SQLite; las sesiones en vivo exponen el estado de su ámbito a la interfaz de terminal o a AQS.

Operativa sin dependencia de un proveedor

Ejecuta en local, integra tu infraestructura y mantén privado el código de tus estrategias.

AQE es un entorno de ejecución independiente. AQS y los nodos remotos son opcionales, y los brókeres y proveedores de datos se conectan mediante interfaces de integración que puedes ampliar.

La ejecución de estrategias no exige depender de la nube.
Los archivos de backtests en SQLite se pueden seguir inspeccionando fuera de AQS.
La supervisión desde el terminal abarca métricas, variables, insights activos, registros y el estado de sincronización.
Las integraciones con brókeres, fuentes de datos, bases de datos y sistemas internos pueden ampliar los traits del motor.
Interfaz de terminal de AQ Engine que muestra métricas de ejecución, insights, variables, elementos supervisados y registros
Interfaz de terminal de AQ EngineGestiona backtests y sesiones en vivo directamente desde el proceso en ejecución.
Capacidades técnicas actuales

Consulta lo que está implementado actualmente.

La documentación y el código fuente detallan los contratos actuales del entorno de ejecución, el ciclo de vida, las integraciones con brókeres, las fuentes de datos, el modelo de insights y el estado operativo.

AlgoQuant Studio mostrando un insight cerrado de AQ Engine con beneficiosAlgoQuant Studio mostrando un insight cerrado de AQ Engine con beneficios
Estado de AQE dentro de AQSStudio convierte el estado de los insights durante la ejecución en un historial operativo que puedes inspeccionar.
Elige tu interfaz

Utiliza el motor directamente o añade Studio cuando necesites un entorno operativo visual.

AQE también resulta útil por sí solo para los desarrolladores de sistemas personalizados. AQS añade composición mediante nodos, revisión de backtests, controles de despliegue, paneles en vivo e Insight Flow al entorno de ejecución.

Detalles prácticos

Antes de empezar.

El espacio de trabajo, el entorno de ejecución y las integraciones que puedes usar hoy.

¿Qué son AQS, AQE y AQI?

AlgoQuant Studio (AQS) es el espacio de trabajo de escritorio. AlgoQuant Engine (AQE) ejecuta tus estrategias. AlgoQuant Insights (AQI) vincula las investigaciones publicadas con backtests y referencias.

Explorar el flujo de trabajo
¿Puedo usar AQE sin Studio?

Sí. AQE se puede compilar de forma independiente y ejecutar estrategias desde tu propio proyecto de Rust. Studio y la sincronización con la nube son opciones para gestionar las operaciones, no requisitos para la ejecución autónoma.

Empezar con el motor
¿Puedo usar Python con AQE?

La compatibilidad con Python mediante bindings está prevista para una futura versión de AQE. Actualmente, AQE utiliza Rust; la disponibilidad y los detalles de la API se anunciarán por separado.

Crear una estrategia en Rust
¿Puedo reutilizar la lógica de una estrategia en backtests y en trading en vivo?

AQE utiliza el mismo ciclo de vida de estrategia y modelo de componentes en ambos entornos. Cambia la combinación de bróker y fuente de datos en lugar de mantener una segunda implementación de la estrategia. La ejecución real de las órdenes y sus condiciones siguen dependiendo de tu bróker y del mercado.

Consultar cómo pasar del backtest a las operaciones en vivo
¿Qué brókeres y fuentes de datos puedo usar?

Usa PaperBroker para la simulación, MetaTrader 5 para ejecutar órdenes a través de un bróker y Yahoo Finance o MetaTrader 5 para obtener datos de mercado. Las integraciones personalizadas implementan los traits de bróker y fuente de datos. Consulta los requisitos y las limitaciones en las guías de integración.

Consultar las guías de integración
¿Qué licencia utiliza AQE?

El código fuente de AQE está disponible bajo la PolyForm Shield License 1.0.0 para usos que no constituyan competencia, incluidas tus propias actividades de investigación, backtesting y trading en vivo. Ofrecer un producto competidor requiere una autorización adicional por escrito.

Consultar la licencia
Controla tu entorno de ejecución

Desarrolla sobre un motor de trading sistemático que puedes inspeccionar y ampliar.

Empieza por la documentación del ciclo de vida, ejecuta la estrategia vacía y conecta después el bróker, la fuente de datos y la interfaz operativa que necesite tu flujo de trabajo.