3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在PTrade量化交易平台中,handle_data(context, data) 是处理策略交易逻辑的核心盘中事件函数。它的执行频率并不是在代码内部直接通过函数参数设置的,而是由您在创建回测任务或实盘交易时,在平台界面上选择的“策略运行周期(频率)”来决定的。
根据PTrade API文档,handle_data 的执行频率主要分为以下两种级别:
当您在回测配置中选择日线频率时:
当您在回测配置中选择分钟频率时:
需要注意的是,handle_data 函数仅满足日线和分钟级别的盘中处理。如果您需要运行Tick级别(如每3秒执行一次)的高频策略,不能依赖 handle_data,而应该使用 tick_data(context, data) 函数或者通过 run_interval 定时任务来实现。
无论您在界面上选择的是日线还是分钟线,代码的基础结构是一致的:
def initialize(context):
# 初始化,设置股票池
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 这里的代码将根据您在界面设置的频率(日线或分钟线)被周期性调用
# 获取当前价格
current_price = data[g.security]['close']
log.info('当前价格为: %s' % current_price)
# 简单的买入逻辑
if context.portfolio.cash > current_price * 100:
order(g.security, 100)
总结:要设置 handle_data 的执行频率,请在PTrade平台的回测参数设置页面,找到“运行频率”或“回测周期”选项,将其设置为“日线”或“分钟”即可。框架会自动按照对应的频率在交易时间内回调该函数。