Skip to content

Bootstrap 模板

jh_quant.trading.bootstrap 用来降低模拟盘和实盘启动成本。CLI 入口只需要选择模板、backend、策略、股票池和少量运行参数,bootstrap 会完成行情服务、持久化、选股器、session config、API 和 Dashboard 的组装。

CLI 入口

Terminal window
jh-quant paper --help
jh-quant live --help

常用参数:

参数说明
--template模板:paper-basicpaper-comparelive-basic
--backend行情 backend:tushareaksharexquant
--strategy一个或多个策略名,多个用英文逗号分隔
--symbols股票池,纯代码格式,例如 688041,688256
--db-pathSQLite 数据库路径
--hostAPI 服务绑定地址,默认 127.0.0.1
--portAPI 服务端口,默认 8000
--no-dashboard只启动 API,不自动打开 Dashboard
--dashboard-refresh-msDashboard 刷新间隔,默认 15000 毫秒
--no-backfill关闭回填模式
--no-auto-start创建 session 但不自动启动调度

--strategy 的可选值来自系统已注册策略,完整列表会显示在 --help 中。

内置模板

模板行为
paper-basic创建一个模拟盘 session;多个策略在同一 session 内等权聚合
paper-compare为每个策略创建独立模拟盘 session,适合做策略对比;始终保留 turtle 基准
live-basic创建一个实盘 session;broker 使用 xtquant/MiniQMT

默认策略:

模板默认策略
paper-basicmomentum
paper-compareturtle,momentum
live-basicmomentum

jh-quant paper 默认使用 paper-compare。当用户传入 --strategy rsi 时,bootstrap 会自动保留 turtle 基准场景,并额外创建 paper-rsi

默认股票池

默认股票池偏向半导体 / AI 芯片链,便于演示并行策略比较:

688041, 688256, 688981, 688012, 688008, 688347, 603986,
603501, 300604, 002371, 688072, 688525, 688126, 688521

行情 Backend

backend历史行情实时行情
tushareTuShareHistoricalBarProvider复用 AkShare 实时行情合并当天数据
akshareAkShareHistoricalBarProviderAkShareRealtimeQuoteProvider
xquantTuShareHistoricalBarProviderXtQuantRealtimeQuoteProvider

默认 backend 是 tushare

选股器

内置两种选股器:

选股器说明
watchlist固定股票池选股(bootstrap 默认)
factor_selector基于因子排序选股(包装 jh_quant.backtest.selectors.FactorSelector

风控规则

bootstrap 默认为所有 session 配置 atr_trailing_stop(multiplier=3.0, window=20)。可选规则还包括 stop_losstake_profittrailing_stopmax_holding_barsmax_consecutive_risingmax_consecutive_falling。详见 配置指南

组合优化

bootstrap 默认启用 Riskfolio 组合优化(MinRisk 目标,DRIFT_THRESHOLD 再平衡 ±10% 漂移)。详见 组合优化

Dashboard

默认情况下,bootstrap 会先启动 API,再自动调用:

from jh_quant.dashboard import display_trading
display_trading(host=host, port=port)

因此用户运行 jh-quant paper 后不需要再手动启动 Dashboard。若只需要 API:

Terminal window
jh-quant paper --no-dashboard

Python API

from jh_quant.trading.bootstrap import TradingBootstrapConfig, build_paper_manager
config = TradingBootstrapConfig(
template="paper-compare",
backend="tushare",
strategies=["rsi"],
symbols=["688041", "688256", "688981"],
initial_capital=100_000,
db_path="trade_paper.db",
show_dashboard=True,
)
manager = build_paper_manager(config)

专业用户可以跳过 bootstrap,直接构造 MarketDataServiceSessionServiceConfigMultiSessionService。详见 高级自定义运行