Jiuhuang quant python sdk
Project description
JH_QUANT
量化交易研究与执行平台。支持:免费数据获取、回测、因子计算、模拟交易、组合优化、可视化仪表盘。
快速开始
安装
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()
模块说明
| 模块 | 说明 | 文档 |
|---|---|---|
| data | 多种数据获取,兼容 akshare 和 tushare 的数据类型与调用风格 |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cc607bb5412de7c761f572a49518f7fae1bb0d1110208a25b47dc6d67c24e15
|
|
| MD5 |
6f704a21fdb815d80b8193d62d4b992d
|
|
| BLAKE2b-256 |
37b262d0314828b50acc7efea8ab4dc4326551d38cbeacb40b3e3eb8c3eb924e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a564aff160e16fe3ec5aa6ae241e6d47f2d5b0f9f42779aaf43a73d424a5dbd8
|
|
| MD5 |
8c9fde2cae18f0557163803fdaf3d665
|
|
| BLAKE2b-256 |
27a5241c80488b10f2dcb75d2ba73219b3b5b88902fb643d4b0563129aa6cb9d
|