← 返回全部文章
·约 13 分钟

AKQuant

量化交易
本文目录
  1. 🚀 什么是 AKQuant?
  2. ✨ 核心功能一览
  3. 🛠️ 5 分钟跑通第一个回测
  4. 安装
  5. 完整示例
  6. 复杂订单助手:OCO / Bracket
  7. 📊 回测指标可视化
  8. 📊 与主流量化框架对比
  9. 💡 适用场景
  10. 场景一:AI 因子研究 → Rust 引擎验证
  11. 场景二:A 股原生规则的策略研究
  12. 场景三:可视化报告快速分享
  13. 用户群体总结
  14. 🧪 测试与质量保证
  15. 💰 开源协议与安装
  16. 🎯 总结

📌 核心价值:把"Python 写策略、Rust 跑回测"做成 A 股原生流水线

一个 Rust + Python 双引擎、覆盖 A 股全栈场景的开源量化研究框架,内置 ML 滚动训练、Polars 因子表达式、Plotly 可视化。

封面图

本文仅作技术交流,不构成投资建议。任何策略在接入实盘前,都应完成样本外验证、成本压力测试、权限隔离与人工审批。


🚀 什么是 AKQuant?

AKQuant 是一款专为 A 股及多市场设计的高性能量化研究框架,由国内 AKFamily(AKShare 团队)推出。它的核心思路是把策略开发的灵活性与回测执行的高性能拆开:Python 层负责策略逻辑、Rust 层承担事件循环与订单撮合。

它和你之前见过的"AI 写策略 + Python 回测脚本"完全不同:

  • Rust 内核 + Zero-Copy 数据导入:策略侧 add_arrays 借用 NumPy 缓冲入引擎,回测核心路径无 Python 解释开销
  • 原生 ML 支持:内置 Walk-forward Validation(滚动训练),无缝对接 PyTorch / Scikit-learn
  • A 股原生规则:内置 T+1、涨跌停、保证金、broker_profile(cn_stock_miniqmt / cn_futures),黄金测试覆盖
  • 可视化一行出报告:result.viz.report() 生成 Plotly 交互式 HTML,含权益曲线 / 回撤 / 月度热力图 / 基准对比

GitHub stars GitHub forks PyPI Version

核心定位:把"AI 写因子 + Rust 跑回测"做成一条完整流水线,覆盖从数据获取到可视化报告的全链路。


✨ 核心功能一览

核心功能对比


🛠️ 5 分钟跑通第一个回测

安装

# PyPI 一键安装(无需 Rust 环境)
pip install akquant

# 或从源码编译(推荐,启用所有扩展)
git clone https://github.com/akfamily/akquant.git
cd akquant
uv sync
uvx maturin develop

完整示例

import akquant as aq
import akshare as ak
from akquant import Strategy

# 1. 准备数据(akshare 免费 A 股数据)
df = ak.stock_zh_a_daily(symbol="sh600000", start_date="20250212", end_date="20260212")


class MyStrategy(Strategy):
    def on_bar(self, bar):
        current_pos = self.get_position(bar.symbol)

        # 阳线买入
        if current_pos == 0 and bar.close > bar.open:
            self.buy(symbol=bar.symbol, quantity=100)
            print(f"[{bar.timestamp_iso}] Buy 100 at {bar.close:.2f}")
        # 阴线卖出
        elif current_pos > 0 and bar.close < bar.open:
            self.close_position(symbol=bar.symbol)


# 2. 运行回测
result = aq.run_backtest(
    data=df,
    strategy=MyStrategy,
    initial_cash=100000.0,
    symbols="sh600000",
)

# 3. 一键生成 Plotly HTML 报告
result.viz.report(filename="quickstart_report.html", show=False)

注意:示例中"阳线买入/阴线卖出"仅作引擎演示,并非可投产策略;任何实盘策略都需经过样本外验证。

复杂订单助手:OCO / Bracket

from akquant import OrderStatus, Strategy


class BracketStrategy(Strategy):
    def __init__(self):
        self.entry_order_id = ""

    def on_bar(self, bar):
        if self.get_position(bar.symbol) > 0 or self.entry_order_id:
            return
        # 一次性挂入场 + 止损 + 止盈(自动绑定 OCO)
        self.entry_order_id = self.place_bracket(
            symbol=bar.symbol,
            quantity=100,
            stop_trigger_price=bar.close * 0.98,   # -2% 止损
            take_profit_price=bar.close * 1.04,    # +4% 止盈
            entry_tag="entry",
            stop_tag="stop",
            take_profit_tag="take",
        )

完整代码可直接 python examples/06_complex_orders.py 跑通。


📊 回测指标可视化

下面这张图把 README 快速开始示例的运行结果做了可视化展示(数据来源:result.metrics_df),覆盖了 6 个核心风险与收益指标:

回测指标可视化

重申:示例数据来自 README 自带的"阳线策略"演示,是为展示引擎指标计算能力而设计,不是真实可投产的策略样本。


📊 与主流量化框架对比

竞品对比


💡 适用场景

场景一:AI 因子研究 → Rust 引擎验证

AKQuant 策略仪表盘

功能说明:在 Python 层用 PyTorch / Scikit-learn 训练因子模型,把模型打分信号喂给 AKQuant 的 Rust 内核跑事件驱动回测。整套流水线无缝衔接 ML 训练与高频回测。

输入要求:pandas DataFrame(含 OHLCV + 自定义因子列),ML 模型输出 score ∈ [0, 1]

输出效果:40+ 项指标(Sharpe / Sortino / Calmar / UPI / SQN / Kelly / VaR / CVaR 等)+ Plotly HTML 报告

适用场景:

  • ✅ 多因子融合策略(动量 / 波动率 / 情绪三因子加权)
  • ✅ LSTM / XGBoost 因子打分接入
  • ✅ Walk-forward 滚动训练避免过拟合

场景二:A 股原生规则的策略研究

功能说明:内置 cn_stock_miniqmt / cn_futures broker profile,策略代码层面就能直接使用 A 股 T+1、涨跌停、佣金印花税、最小交易单位 100 股等约束。

输入要求:akshare / tushare 拉取的 A 股历史 K 线

输出效果:与真实交易规则一致的回测曲线,避开了"国外回测框架忽略 T+1 导致实盘偏差"的问题

适用场景:

  • ✅ 量化新手学习阶段(规则已内置,不踩踩坑)
  • ✅ 真实规则下的样本外验证
  • ✅ 期货 / 期权策略(broker profile 可切换)

场景三:可视化报告快速分享

功能说明:result.viz.report() 一行生成 Plotly 交互式 HTML 报告,含基准对比(Benchmark Comparison)模块,可同时输出策略与基准 / 超额累计收益曲线、信息比率、Alpha、Beta 等相对指标。

输入要求:任意 BacktestResult 对象 + 可选 benchmark 序列

输出效果:自包含 HTML 文件(无需联网),可发邮件 / 上传服务器 / 内嵌博客

适用场景:

  • ✅ 给非技术同事展示策略表现
  • ✅ 季度 / 月度策略复盘
  • ✅ GitHub README 项目主页嵌入 demo

用户群体总结

  • ✅ AI 因子研究人员:从 ML 模型到事件驱动仿真一条龙
  • ✅ A 股策略开发者:内置 T+1 / 涨跌停,免去手写规则
  • ✅ 教学 / 教程场景:1329 个测试用例覆盖核心逻辑,可放心二次开发
  • ❌ 不适合:纯美股 / 港股高频策略(Rust 内核更擅长中等频率的事件仿真,毫秒级 HFT 不在 AKQuant 主战场)

🧪 测试与质量保证

AKQuant 1329 个测试用例全量通过,覆盖:

  • 单元测试:Rust 核心组件 + Python 接口
  • 黄金测试 (Golden Tests):合成数据验证 T+1 / 涨跌停 / 保证金 / 期权希腊值,与锁定基线比对,防止算法回退
uv sync
uvx maturin develop
uv run pytest                    # 全量测试
./scripts/cargo-test.sh -q      # Rust 核心测试
uv run pytest tests/golden/     # 仅黄金测试

💰 开源协议与安装

开源协议: MIT License

# PyPI 一键安装(无需 Rust 工具链)
pip install akquant

💡 新用户福利:PyPI 提供预编译 wheel,国内清华 / 阿里镜像源可直接拉取,无需本地 Rust 工具链即可上手。


🎯 总结

AKQuant 把"Python 写策略、Rust 跑回测"做成了一条 A 股原生的开源流水线:内置 103 个 TA-Lib 指标、Polars 因子表达式引擎、Walk-forward 滚动训练、OCO / Bracket 复杂订单、Plotly 一键可视化。

推荐指数: ⭐⭐⭐⭐(4/5,性能与规则双优,但生态相对 Backtrader / Zipline 还年轻)

适合人群: AI 因子研究工程师、A 股量化策略开发者、量化教学场景

立即体验:


数据截至 2026-09-07,最新信息请以官网为准。