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.20.tar.gz (249.5 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.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (884.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

akquant-0.1.20-cp310-abi3-win_amd64.whl (671.6 kB view details)

Uploaded CPython 3.10+Windows x86-64

akquant-0.1.20-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.5 kB view details)

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

akquant-0.1.20-cp310-abi3-macosx_11_0_arm64.whl (807.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: akquant-0.1.20.tar.gz
  • Upload date:
  • Size: 249.5 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.20.tar.gz
Algorithm Hash digest
SHA256 0b21977d22f0f70cfb4b052b7757ce7e6b0790740f77103b6055a09cdfd6f52b
MD5 98eaed13f7a92adb190b072f4bdcce12
BLAKE2b-256 c05561e6d13b1b07497491ca879de89aef3f3122a68dffb1da63a2a11fcfcdbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.20.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.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for akquant-0.1.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8e3ab3cf4384e6901708f7635da499668265fae158f47446cd9f9cf222800eb
MD5 b0d18c58195dbdcdaae886264a19c2f2
BLAKE2b-256 9295b8c1e07f6b9d08a9573d10749622195c47c9830d3d1db448b57922521d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.20-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.20-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: akquant-0.1.20-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 671.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.20-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 57763d3156116e3630c13246db9c7f3ea58a870b1cb6e40e64a97243c40ce463
MD5 1d73bf447640a49cbdfe226a98981fe6
BLAKE2b-256 2023f33923219a04ad3aab0a07c61c0dfd05b9e04fb5dfb46accd292aefbeb11

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.20-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.20-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for akquant-0.1.20-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63a65cd237a3d36e81084e27be5d48833d015f156aa5b051e0299e6471a6c29c
MD5 f353d58078c9c57903f923293c4c5f41
BLAKE2b-256 b0a82c6a082f9722ab41d572aec389bb06a5b6a1c18d601b431e0f4b3814561f

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.20-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.20-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for akquant-0.1.20-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 810432737467d82c4a8413cbee0406f11a23fb23302be8d96c9b70de3ac99946
MD5 17aa59bb18a797806b099e962c3345d2
BLAKE2b-256 d69ef6054aa87574c2be174bce00206980b454132789ca521b5f3a90b3c0b133

See more details on using hashes here.

Provenance

The following attestation bundles were made for akquant-0.1.20-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