Skip to main content

Jiuhuang quant python sdk

Project description

JH_QUANT

banner

量化交易研究与执行平台。支持:免费数据获取回测因子计算模拟交易组合优化可视化仪表盘

快速开始

安装

pip install jh_quant

数据获取

import os
from jh_quant.data import JHData, DataTypes

jh = JHData(api_key=os.getenv("JIUHUANG_API_KEY"))
stock_price = jh.get_data(
    DataTypes.AK_STOCK_ZH_A_HIST_QFQ,  # akshare A 股日线前复权
    symbol="000001",
    start="2025-01-01",
    end="2025-12-10",
)

数据兼容

兼容 akshare 调用风格:

from jh_quant.data.data_providers import akshare as ak

df = ak.stock_zh_a_hist(
    symbol="000001",
    period="daily",
    start_date="20240101",
    end_date="20241231",
    adjust="qfq",
)

兼容 tushare 调用风格:

from jh_quant.data.data_providers import tushare as ts

df = ts.daily(
    ts_code="000001.SZ",
    start_date="20240101",
    end_date="20241231",
)

pro_df = ts.pro.pro_bar(
    ts_code="000001.SZ",
    start_date="20240101",
    end_date="20241231",
    asset="E",
    freq="D",
)

策略回测

from jh_quant.data import JHData, DataTypes
from jh_quant.backtest import (
    backtest,
    StrategyTurtle,
    StrategyMovingAverageCrossover,
    StrategyBuyAndHold,
)
from jh_quant.dashboard import display_backtesting

# 1. 准备数据
jh = JHData()
stock_price = jh.get_data(
    DataTypes.AK_STOCK_ZH_A_HIST_QFQ,
    symbol="000001,600519,300750",
    start="2025-01-01",
    end="2026-05-07",
)
stock_info = jh.get_data(DataTypes.AK_STOCK_INDIVIDUAL_INFO_EM)

# 2. 定义策略
strategies = {
    "海龟策略": StrategyTurtle(entry_window=20, exit_window=10),
    "均线交叉": StrategyMovingAverageCrossover(short_window=12, long_window=24),
    "买入持有": StrategyBuyAndHold(),
}

# 3. 执行回测
trading_hist, backtest_perf = backtest(
    strategies=strategies,
    price_data=stock_price,
    stock_info=stock_info,
)

display_backtesting(trading_hist, backtest_perf)

回测仪表盘预览

策略对比 策略分布
策略对比 策略分布
交易历史 策略排名
交易历史 策略排名

实时模拟交易

jh_quant 支持同时开启多个模拟交易会话,每个会话对应一个模拟账户。下面是示例运行方式:

python run_paper.py

run_paper.py 的完整代码见仓库根目录的 run_paper.py

在回填模式下(可通过 enable_backfill=False 关闭),系统会先完成历史交易回放,并在本地启动服务,默认端口为 8000

打开控制台仪表盘

本地服务启动后,可以通过如下代码打开控制台仪表盘:

from jh_quant.dashboard import display_trading

# 如果你修改了 run_paper.py 中的端口,需要显式传入 port 参数
display_trading()

JH_QUANT Dashboard Demo

模块说明

模块 说明 文档
data 多种数据获取,兼容 aksharetushare 的数据类型与调用风格 README
trading 交易运行层,支持模拟交易、交易会话编排和组合执行 README
backtest 回测引擎,支持快速策略验证和多种内置策略 README
factors 因子计算与暴露分析,内置多种因子模型 README
dashboard PyWebView 可视化仪表盘 -

License

This project is licensed under the AGPL-3.0 License. See LICENSE for details.

Project details


Download files

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

Source Distribution

jh_quant-0.1.5.tar.gz (12.1 MB view details)

Uploaded Source

Built Distribution

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

jh_quant-0.1.5-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file jh_quant-0.1.5.tar.gz.

File metadata

  • Download URL: jh_quant-0.1.5.tar.gz
  • Upload date:
  • Size: 12.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for jh_quant-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2cc607bb5412de7c761f572a49518f7fae1bb0d1110208a25b47dc6d67c24e15
MD5 6f704a21fdb815d80b8193d62d4b992d
BLAKE2b-256 37b262d0314828b50acc7efea8ab4dc4326551d38cbeacb40b3e3eb8c3eb924e

See more details on using hashes here.

File details

Details for the file jh_quant-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: jh_quant-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for jh_quant-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a564aff160e16fe3ec5aa6ae241e6d47f2d5b0f9f42779aaf43a73d424a5dbd8
MD5 8c9fde2cae18f0557163803fdaf3d665
BLAKE2b-256 27a5241c80488b10f2dcb75d2ba73219b3b5b88902fb643d4b0563129aa6cb9d

See more details on using hashes here.

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