TradingEngine
TradingEngine 是交易执行层核心,负责获取价格数据、聚合策略信号、生成候选、计算仓位、应用风控规则并执行订单。
构造
from jh_quant.trading import PaperBroker, TradingEngine, create_market_data_service
market_data = create_market_data_service( backend="tushare", default_symbols=["600519", "000001"],)
engine = TradingEngine( broker=PaperBroker(initial_capital=100_000), market_data_provider=market_data,)market_data_provider 可以是内置 TuShareMarketDataService、AkShareMarketDataService、XtQuantMarketDataService,也可以是用户自定义 provider。
价格数据
price = engine.get_price_data( symbols=["600519", "000001"], start_date="2025-01-01", end_date="2025-06-01",)返回 DataFrame 至少包含:
symbol, date, open, high, low, close常用可选字段:
volume, amount, price, pct_chg, chg, turnover_rate, amplitudeTradingEngine.get_price_data() 会对 provider 输出进行最终 schema 校验和标准化,因此策略、风控和仓位计算不需要关心数据源来自 TuShare、AkShare 还是 xtquant。
常用方法
build_price_matrix(symbols, start_date, end_date):生成 close price matrix。build_return_matrix(symbols, start_date, end_date):生成收益率矩阵。aggregate_signals(price, frequency, signal_type):聚合策略信号。get_long_candidates(...):生成买入候选。get_short_candidates(...):生成卖出候选。execute_cycle(...):执行一个完整交易周期。