协调策略状态
按可预测的顺序执行生命周期钩子、标的池选择、市场事件、Alpha 模型、信号处理流水线和收尾逻辑。
构建可复用的交易组件,用于回测与实盘执行,同时掌控自己的数据、经纪商接入和基础设施。
归 AlgoQuantStudio 所有。采用 PolyForm Shield License 1.0.0 ,可用于不与本产品竞争的用途,包括你自己的研究、回测和实时交易。使用 AQE 提供竞争产品,须另行获得书面许可。
AQE 负责从接收市场事件到产生可复核交易结果的整个流程。策略代码专注于决策,由引擎协调状态、执行、持久化及相关集成。
按可预测的顺序执行生命周期钩子、标的池选择、市场事件、Alpha 模型、信号处理流水线和收尾逻辑。
用带状态的交易信号表达交易意图,并支持仓位计算、验证、转换、提交、成交、拒绝、管理和平仓。
通过引擎 trait 隔离交易执行和市场数据接口,更换经纪商或数据提供商时,无需重写策略。
持久化存储账户、净值、事件、指标和交易信号状态,以便在终端监控,或按需同步到 AQS。
探索各个模块,跟随动画了解执行路径,选择节点查看它在运行时中的职责。
协调生命周期钩子、市场事件、状态、模型及已配置的运行时组件。
Rust 将策略逻辑编译为原生代码,并提供显式资源管理和严格的编译期检查。AQE 在此基础上结合 Polars 的数据分析能力,为交易决策提供统一框架。
AQE 0.2.2 · Apple M5 Max · 5 组配对运行
2026年11月2日每组对比分别使用从零开始的独立刻度。
相对于优化前候选版本的吞吐量提升。仅为本地合成工作负载,并非端到端交易性能。
这些带日期的测量结果仅反映所记录的源码快照,不代表对后续发布版本的验证,也不衡量实盘交易中的经纪商延迟。
在同一台 Apple M5 Max 上进行五组配对原生运行,交替执行优化前后的二进制文件。每项工作负载每次运行预热 3 次并采样 15 次;公布各版本最慢的中位数及同次运行的 p95。
发布构建:AQE 使用 opt-level=3、LTO 和一个代码生成单元。使用确定性的内存工作负载,计时不包含初始化、数据生成、网络、数据库、界面或 MT5 I/O。吞吐量为操作次数除以耗时中位数。这不代表真实经纪商延迟,也不是完整回测的测量结果。
与优化前的 0.2.2 候选版本进行受控比较,而非与已发布版本比较。工作负载、计时区域、编译器和依赖版本均未改变。
验证:1,081 项测试通过;完整生命周期检查保持了完全相同的经济结果。
250,000 根 K 线:SMA、EMA、RSI 和 ATR
20,000 个交易信号:入场、有效期与收益风险比
在同一根合成 K 线上完成 5,000 次提交与成交
峰值内存未改善:受控比较中,整套测试的最大 RSS 高出 3.5%。离线实时生命周期的中位数基本不变。
历史参考:9 月的 0.2.0 记录为每秒 400,981 个 PaperBroker 订单;此候选版本为 701,213 个。
cargo run --release -p aq-engine --example engine_performance --features runtime --locked基准 JSON实测 JSON 报告受控比较 JSON验证报告9 月历史 JSON运行 1: 优化前 / 优化后运行 2: 优化前 / 优化后运行 3: 优化前 / 优化后运行 4: 优化前 / 优化后运行 5: 优化前 / 优化后
pub trait InsightPipe {
fn version(&self) -> &str;
fn run(
&mut self,
ctx: &mut dyn StrategyContext,
insight: &mut Insight,
) -> InsightPipeResult;
}信号处理器围绕每次交易决策,按当前状态执行处理。你可以组合职责明确的组件,而不必把仓位计算、时间筛选、止损、提交和持仓管理全部写进同一个策略方法体。
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?;AQE 在历史研究和实时会话中使用相同的策略生命周期与组件模型。只需调整经纪商适配器和数据源的组合,无需重新实现策略。
启动、标的池选择、初始化、K 线、交易信号、处理流水线和收尾,始终遵循相同的运行时顺序。
UnifiedBroker 根据所选环境,组合执行适配器和数据源。
回测结果持久化为 SQLite 文件;实时会话向终端界面或 AQS 提供限定范围内的状态。
AQE 是独立运行时,无需依赖 AQS 或远程节点。经纪商和数据提供商通过可扩展的集成接口接入。

通过文档和源代码,可以了解当前运行时的接口约定、生命周期、经纪商集成、数据源、交易信号模型和运行状态。
通过经纪商 trait,支持历史模拟和 MetaTrader 5 实时订单路由。
阅读经纪商适配器文档 →通过可替换的数据源 trait,提供历史 K 线、报价和实时数据。
阅读数据源文档 →以带状态的结构表达交易意图,提供仓位计算、验证、提交和管理的处理流程。
阅读信号处理流水线文档 →将引擎状态同步到 Studio,以便直观查看并监控实盘运行。
阅读 AQS 文档 →

对于构建自定义系统的开发者,AQE 本身即可独立使用。AQS 则围绕运行时,提供节点式策略构建、回测评估、部署控制、实时仪表板和 Insight Flow。
了解目前可用的工作区、运行时和集成功能。
AlgoQuant Studio(AQS)是桌面工作区,AlgoQuant Engine(AQE)负责运行策略,AlgoQuant Insights(AQI)则将已发表的研究与回测及参考资料关联起来。
了解工作流程可以。AQE 可独立构建,并能运行你自己 Rust 项目中的策略。Studio 和云端同步都是可选的操作方式,并非独立运行所必需。
开始使用引擎Python 绑定计划在未来的 AQE 版本中提供,目前尚不可用。AQE 现阶段使用 Rust;后续支持情况及 API 详情将另行公布。
构建 Rust 策略AQE 在回测和实盘交易中使用相同的策略生命周期与组件模型。切换环境时,调整经纪商适配器和数据源的组合,无需另行维护一套策略实现。实际成交与执行条件仍取决于经纪商和市场。
了解如何从回测转入实盘运行使用 PaperBroker 进行模拟交易,通过 MetaTrader 5 接入经纪商执行交易,并从 Yahoo Finance 或 MetaTrader 5 获取市场数据。自定义集成需实现经纪商和数据源 trait。具体要求与限制请参阅集成指南。
阅读集成指南AQE 按 PolyForm Shield License 1.0.0 提供源代码,可用于不与本产品竞争的用途,包括你自己的研究、回测和实盘交易。提供竞争产品须另行获得书面许可。
阅读许可协议