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.17.tar.gz (242.6 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.17-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (856.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

akquant-0.1.17-cp310-abi3-win_amd64.whl (641.8 kB view details)

Uploaded CPython 3.10+Windows x86-64

akquant-0.1.17-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (858.4 kB view details)

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

akquant-0.1.17-cp310-abi3-macosx_11_0_arm64.whl (779.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: akquant-0.1.17.tar.gz
  • Upload date:
  • Size: 242.6 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.17.tar.gz
Algorithm Hash digest
SHA256 5e487b90c1d977434b93e498ccea8a738678b2f14b41445edabad34e3b4296c8
MD5 acea1b336607ac3bbea5f3c6ab39d8e5
BLAKE2b-256 2ccbc896bfefadd2cae3eb32f15f9740d29ed06b12ad7a9386ef9836e9cea851

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.17-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44641b0158083f2f3fbeacaf14fe9461adf1a459916c05b680e8b7b996a66fdd
MD5 ce1424d24b46508e7bcf86f9a6c77789
BLAKE2b-256 741a025b323197a0ecb01e7c6a221c036d3741f1f288636952f7d4d390974bff

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: akquant-0.1.17-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 641.8 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.17-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e7c2d2342712ad8df6f19ff6d28db87ff46eb38835f9b7e8379fbdb56129b36c
MD5 f92981d2a1ed6048b9cdea6202f87349
BLAKE2b-256 25b662cc5f0f9d20a7b0d3050ed6eeed23cf9e52d5c45bf4463bae3fc0609986

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.17-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7433f537926b3090ec316d0a56ec93581314c83867ddd84708150584ce3bf858
MD5 53823fd56b05277b05cf28c824b8a97a
BLAKE2b-256 ca0da3e8ddb3ddeba113ea9e11deb3ea2e3ed30c67dece37c1eae3ea1029bbdd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.17-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56434031e12d4736fe3c8a6e413df1f3e9abc628f8de73f08294e6c0c5131638
MD5 6e39a67cace535437ddba93199300642
BLAKE2b-256 8f838924734cddb4fc5e663ad5b2760e827b623932b3f215e00f92806173f085

See more details on using hashes here.

Provenance

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