PTrade策略开发流程简介,可参考!2026年青岛PTrade量化交易软件提供券商!

PTrade策略开发流程简介,可参考!

策略引擎简介

业务流程框架

ptrade量化引擎以事件触发为基础,通过初始化事件(initialize)、盘前事件(before_trading_start)、盘中事件(handle_data)、盘后事件(after_trading_end)来完成每个交易日的策略任务。

initialize和handle_data是一个允许运行策略的最基础结构,也就是必选项,before_trading_start和after_trading_end是可以按需运行的。

handle_data仅满足日线和分钟级别的盘中处理,tick级别的盘中处理则需要通过tick_data或者run_interval来实现。

ptrade还支持委托主推事件(on_order_response)、交易主推事件(on_trade_response),可以通过委托和成交的信息来处理策略逻辑,是tick级的一个补充。

除了以上的一些事件以外,ptrade也支持通过定时任务来运行策略逻辑,可以通过run_daily实现。

initialize(必选)

使用场景

该函数仅在回测、交易模块可用

说明

该函数用于初始化一些全局变量,是策略运行的唯二必须定义函数之一。

注意事项:

该函数只会在回测和交易启动的时候运行一次。

before_trading_start(可选)

使用场景

该函数仅在回测、交易模块可用

接口说明

该函数在每天开始交易前被调用一次,用于添加每天都要初始化的信息,如无盘前初始化需求,该函数可以在策略中不做定义。

注意事项:

在回测中,该函数在每个回测交易日8:30分执行。

在交易中,该函数在开启交易时立即执行,从隔日开始每天9:10分(默认)执行。

当在9:10前开启交易时,受行情未更新原因在该函数内调用实时行情函数会导致数据有误。 可通过在该函数内sleep至9:10分或调用实时行情函数改为run_daily执行等方式进行避免。

handle_data(必选)

使用场景

该函数仅在回测、交易模块可用

说明

该函数在交易时间内按指定的周期频率运行,是用于处理策略交易的主要模块,根据策略保存时的周期参数分为每分钟运行和每天运行,是策略运行的唯二必须定义函数之一。

注意事项:

该函数每个单位周期执行一次

如果是日线级别策略,每天执行一次。股票回测场景下,在15:00执行;股票交易场景下,执行时间为券商实际配置时间。

如果是分钟级别策略,每分钟执行一次,股票回测场景下,执行时间为9:31 -- 15:00,股票交易场景下,执行时间为9:30 -- 14:59。

回测与交易中,handle_data函数不会在非交易日触发(如回测或交易起始日期为2015年12月21日,则策略在2016年1月1日-3日时, handle_data不会运行,4日继续运行)。

智能交易可能因系统、通讯等原因无法正常使用或无法按照您的设置价格发出委托指令及完成成交,最终成交价格及数量以交易所、登记结算机构等记录为准。请密切关注交易回报情况及条件单设置情况。以上信息仅供参考,不构成对委托指令成交的承诺,不构成投资建议,不构成收益或避免损失的承诺。请您务必仔细阅读相关风险提示及协议,了解各类智能交易功能的区别及不同风险,审慎决策是否使用相关功能。

投资有风险,入市需谨慎!



温馨提示:投资有风险,选择需谨慎。

相关文章