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.21.tar.gz (255.7 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.21-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (899.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

akquant-0.1.21-cp310-abi3-win_amd64.whl (685.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

akquant-0.1.21-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (903.3 kB view details)

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

akquant-0.1.21-cp310-abi3-macosx_11_0_arm64.whl (823.4 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: akquant-0.1.21.tar.gz
  • Upload date:
  • Size: 255.7 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.21.tar.gz
Algorithm Hash digest
SHA256 6ce7e2a239bd2eaef4bdd072c6501628e5e7b0a1ff98f0e26cedcfdfedb81bdf
MD5 80caf5cfa70ad74322c7844cd10392bf
BLAKE2b-256 7e3869fbe24923baf848d88595808bbc1f5670bc1953a8f904e518d4849f059d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.21-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 203d091dcd96dc85cde0f8edabbe281e1f350f27dcdd6c53a39f49a149874105
MD5 162610b603e9afd5a482287487620cea
BLAKE2b-256 31c7b5c3d3e1e200ba818033badd5a9347cfe6b5035b9304fb2bebdecaaf2d42

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: akquant-0.1.21-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 685.1 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.21-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c0397541c8240a39ca49c828e27698733810b1dbc5bd5a704f1ecd2163747fa0
MD5 e0bfb0966f50dff46aaa11e492f2a141
BLAKE2b-256 bddd6a42b857f2b85234a70289544288b5a2a27058abd11ea053dfb09061bec7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.21-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af66187cf0323f056111f344cba25fb13a4927893165ac94a0b08c8d8c9a4284
MD5 6ac89337a29e4353657d4501dc8b8339
BLAKE2b-256 2522884762dcdfbc9f8944c6ef559e632fba99c375936de25c413352650eefff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.21-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 764984145aaa3be0cc7c533d63c370b5ed5a733ef0c2687dbc04545146277573
MD5 60d20635db3efdd75bda0724ed2fa240
BLAKE2b-256 02512251b5ea2d52769a8cbce27ca20b91965f619eb63fd2b8422b108c05f162

See more details on using hashes here.

Provenance

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