Skip to main content

High-performance quantitative trading framework based on Rust and Python

Project description

AKQuant

PyPI Version Python Versions License AKShare

AKQuant

AKQuant 是一款专为量化投研设计的下一代高性能混合框架。核心引擎采用 Rust 编写以确保极致的执行效率,同时提供优雅的 Python 接口以维持灵活的策略开发体验。

🚀 核心亮点:

  • 极致性能:得益于 Rust 的零开销抽象与 Zero-Copy 数据架构,回测速度较传统纯 Python 框架(如 Backtrader)提升 X倍+
  • 原生 ML 支持:内置 Walk-forward Validation(滚动训练)框架,无缝集成 PyTorch/Scikit-learn,让 AI 策略开发从实验到回测一气呵成。
  • 专业级风控:内置完善的订单流管理与即时风控模块,支持多资产组合回测。

👉 阅读完整文档 | English Documentation

安装说明

AKQuant 已发布至 PyPI,无需安装 Rust 环境即可直接使用。

pip install akquant

快速开始

以下是一个简单的策略示例:

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

# 1. 准备数据
# 使用 akshare 获取 A 股历史数据 (需安装: pip install akshare)
df = ak.stock_zh_a_daily(symbol="sh600000", start_date="20230101", end_date="20231231")

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(bar.symbol, 100)
            print(f"[{bar.timestamp_str}] Buy 100 at {bar.close:.2f}")

        elif current_pos > 0 and bar.close < bar.open:
            self.close_position(bar.symbol)
            print(f"[{bar.timestamp_str}] Sell 100 at {bar.close:.2f}")

# 运行回测
result = aq.run_backtest(
    data=df,
    strategy=MyStrategy,
    symbol="sh600000"
)

# 打印回测结果
print("\n=== Backtest Result ===")
print(result.metrics_df)

运行结果示例:

=== Backtest Result ===
                            Backtest
total_return_pct           -0.056694
annualized_return          -0.000575
sharpe_ratio               -6.331191
sortino_ratio              -6.845218
max_drawdown_pct            0.056694
volatility                  0.000091
win_rate                    0.339286
end_market_value       999433.064610
initial_market_value  1000000.000000
total_return               -0.000567
max_drawdown                0.000567
ulcer_index                 0.000306
upi                        -1.878765
equity_r2                   0.981178
std_error                  22.986004

文档索引

License

MIT License

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

akquant-0.1.18.tar.gz (242.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

akquant-0.1.18-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (857.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

akquant-0.1.18-cp310-abi3-win_amd64.whl (642.6 kB view details)

Uploaded CPython 3.10+Windows x86-64

akquant-0.1.18-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (859.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

akquant-0.1.18-cp310-abi3-macosx_11_0_arm64.whl (780.6 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file akquant-0.1.18.tar.gz.

File metadata

  • Download URL: akquant-0.1.18.tar.gz
  • Upload date:
  • Size: 242.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for akquant-0.1.18.tar.gz
Algorithm Hash digest
SHA256 8dd199932bf670137e46b3dd0b2b11d90d0fcd1adf8e77fd30db779fe0b92b07
MD5 5285c439b5b6f4216e53c374b1a965e5
BLAKE2b-256 3ad96bd2834be8f0144cfd323941c4731c9da99a1a472a15b33721b715084608

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.18.tar.gz:

Publisher: release.yml on akfamily/akquant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file akquant-0.1.18-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for akquant-0.1.18-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25cbbd6fadafc9d9fcd05ebb30e46a98038cd62b8e2a9977ae1224002b8baa7c
MD5 ebaaac9089cd41996f0710fd46907c13
BLAKE2b-256 b195835fc7954a99cc228b511d918d45b140adb1c80fad7acc7af4dcc41ad7e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.18-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on akfamily/akquant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file akquant-0.1.18-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: akquant-0.1.18-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 642.6 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for akquant-0.1.18-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f8fd761ebcf12864b83df8c93caeced78ec5c73919fe7912d0d74a6e45e9a3ee
MD5 cbc1381009eb39c68f572bea7f040e61
BLAKE2b-256 80b20ec9cac172aadaf397a3d1a0f68f61a8659ca3a56d9222166634ec2e12c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.18-cp310-abi3-win_amd64.whl:

Publisher: release.yml on akfamily/akquant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file akquant-0.1.18-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for akquant-0.1.18-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1afdde4269d284be37763246b9bad6718a8b946a834be1c6fd66221584f3a865
MD5 103b44cd503bdfa773709f09974911e9
BLAKE2b-256 002d1070b5bd4202bbc14caecfbac3613b685e22e5fd5a9a7b2767fd61a9dc9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.18-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on akfamily/akquant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file akquant-0.1.18-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for akquant-0.1.18-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8bf77e2db04a0a5d33a809bb77da4676f157d55708e394dee9e844694425f690
MD5 5ecd65557b7f52b492f8f8ef027efad4
BLAKE2b-256 13e0a9104e46a429ae5a6cc0c388f31ac69b4f43313f4ebfc98070068e420f22

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.18-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on akfamily/akquant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page