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.16.tar.gz (241.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.16-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (856.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

akquant-0.1.16-cp310-abi3-win_amd64.whl (641.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

akquant-0.1.16-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (858.6 kB view details)

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

akquant-0.1.16-cp310-abi3-macosx_11_0_arm64.whl (780.2 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: akquant-0.1.16.tar.gz
  • Upload date:
  • Size: 241.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.16.tar.gz
Algorithm Hash digest
SHA256 9e717ab55bcdd47c2cf765fd6065df1129f2216d3afffc335a4119cd38a786c8
MD5 ed2a26c42d119c5945405260fce78564
BLAKE2b-256 a986a8de949bdff60d9934c09ae39b140396639bd7ca67cae9af5413e075838f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.16-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e28a6c568989fd2322b4a2c8c5f322560ff054f78e3cead60d3db2352432838b
MD5 4481c753b71ded671cedca757f56a9ab
BLAKE2b-256 bd8cea1de6ea0bbb228757392a0c040cecf7e26d374ff82f1b2875fa6bee9a94

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: akquant-0.1.16-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 641.5 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.16-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 910fc5f3427e7c845f62d8da37fcaeede35c2d35ca4b9fb385d5404f1892249e
MD5 dbcc78098389a0cd19b1a0fa8237aa77
BLAKE2b-256 d57a7a6e4c1d4c4e108555fa117418529cd4422ffd935ca8392ac623a3e8bc98

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.16-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11148ab4b26ee6ef5a4f8c32355a54985ebad5ff6cce84f4fd177a18d846258e
MD5 de91c5a8ffb35d1dc9a1b56d05c14a31
BLAKE2b-256 3b8d1dd28ed0a7d39b02cfbc14bbc6223a444cab8b62920b89ceef94c0a0ca82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for akquant-0.1.16-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67974d623b2d6f1833570a98aecc5d39b639b07cef3c5b3f820a48d0fc419739
MD5 84e35b32d72e9cc4176e451ecf5cc914
BLAKE2b-256 ad16bef3af9c50006d79d7609768d33ba55f7bad0e09039ff4670c581f165371

See more details on using hashes here.

Provenance

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