3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,如果在回测模块调用 get_individual_entrust 函数遇到报错或无法获取数据的情况,主要是由该 API 的使用场景限制决定的。
根据 ptrade 官方 API 文档规定:
get_individual_entrust 函数仅在交易模块可用。它不支持在研究(Research)或回测(Backtest)模块中调用。如果在回测中调用,框架会抛出异常或返回空数据。如果您需要处理逐笔委托数据,必须将策略部署在交易模块中,并在盘中(如 handle_data 或 tick_data)进行调用。
示例代码(仅限交易模块):
def initialize(context):
g.security = "000001.SZ"
set_universe(g.security)
g.flag = False
def handle_data(context, data):
if not g.flag:
# 获取当前股票池逐笔委托数据(返回 dict 类型速度更快)
entrust = get_individual_entrust([g.security], is_dict=True)
if entrust is not None:
log.info("逐笔委托数据为:%s" % entrust)
g.flag = True
如果您在回测中需要获取历史行情数据,请使用 get_history 或 get_price 函数。这两个函数支持获取分钟级(1m, 5m 等)和日线级(1d)的 K 线数据,完全兼容回测模块。
总结:get_individual_entrust 是专为实盘/模拟盘交易设计的 L2 高频接口,请勿在回测环境中使用。