问题描述
解决方案
在PTrade量化交易引擎中,handle_data 函数是处理策略交易逻辑的核心模块。根据PTrade API文档,handle_data 函数支持的盘中处理级别如下:
1. 支持的盘中处理级别
handle_data 函数仅满足日线级别和分钟级别的盘中处理。
- 日线级别:如果策略选择日线频率,
handle_data每天执行一次。在股票回测场景下,通常在15:00执行;在股票交易场景下,执行时间由券商实际配置决定(默认为14:50分)。 - 分钟级别:如果策略选择分钟频率,
handle_data每分钟执行一次(在每根分钟K线结束时)。股票回测场景下,执行时间为9:31至15:00;股票交易场景下,执行时间为9:30至14:59。
2. 不支持的级别及替代方案
handle_data 不支持 tick 级别的盘中处理。
如果您的策略需要进行 tick 级别(如每3秒运行一次)的高频盘中处理,不能使用 handle_data,而需要通过以下两个函数来实现:
tick_data函数:专门用于处理 tick 级别策略的交易逻辑,每隔3秒执行一次,包含逐笔委托、逐笔成交等Level2数据(需开通权限)。run_interval函数:用于以设定时间间隔(单位为秒,最小3秒)周期性运行指定函数。
总结
编写PTrade策略时,请根据您的策略频率选择合适的事件函数。中低频策略(日线、分钟)将核心逻辑放入 handle_data,而高频策略(tick级)则应使用 tick_data 或 run_interval。