PTrade中盘前、盘中、盘后分别对应什么时间?
问题描述
解决方案
在PTrade量化交易平台中,策略的运行时间被严格划分为盘前、盘中和盘后三个阶段。合理利用这些时间段,可以帮助开发者更好地组织数据初始化、交易执行和盘后结算等逻辑。以下是具体的划分及支持的函数说明:
1. 盘前运行时间 (9:30 之前)
盘前阶段主要用于策略的初始化、数据准备和隔夜订单的处理。
- 时间段:9:30 分钟之前为盘前运行时间。
- 支持的函数:
- 回测与交易环境:均支持运行
before_trading_start函数。该函数通常用于获取前一交易日的数据、更新股票池或计算当日所需的指标。 - 交易环境特有:支持运行在
run_daily中指定交易时间(如time='09:15')运行的函数,可用于集合竞价阶段的特殊处理。
- 回测与交易环境:均支持运行
2. 盘中运行时间 (9:30/9:31 ~ 15:00)
盘中阶段是策略执行核心交易逻辑、接收行情和发送委托单的时间。
- 时间段:9:31(回测) / 9:30(交易) ~ 15:00 为盘中运行时间。
- 支持的函数:
- 回测与交易环境:均支持运行
handle_data函数。这是策略最核心的函数,根据设定的频率(日线或分钟线)被周期性调用。 - 回测与交易环境:支持运行在
run_daily中指定盘中交易时间(如time='14:30')运行的函数。 - 交易环境特有:支持运行
run_interval函数(按秒级间隔循环执行)和tick_data函数(处理Tick级高频行情)。
- 回测与交易环境:均支持运行
3. 盘后运行时间 (15:00 之后)
盘后阶段主要用于策略的收盘总结、数据持久化保存、对账以及盘后固定价格交易。
- 时间段:15:00 之后(通常定时任务在 15:30 左右执行)。
- 支持的函数:
- 回测与交易环境:均支持运行
after_trading_end函数。该函数为定时运行,通常由券商配置决定(一般为15:30),用于处理每天收盘后的操作,如保存全局变量g的状态。 - 交易环境特有:15:00之后支持运行在
run_daily中指定交易时间(如time='15:10')运行的函数,常用于科创板/创业板的盘后固定价格交易申报(如调用after_trading_order)。
- 回测与交易环境:均支持运行
总结建议
- 初始化与准备:放在
initialize(仅启动时运行一次)和before_trading_start(每日盘前运行)。 - 核心交易逻辑:放在
handle_data或tick_data中。 - 收尾与保存:放在
after_trading_end中,确保策略重启后状态不丢失。