带你详细了解PTrade策略框架(第一篇)策略基本模式与运行框架

QUANT 2025-12-29 14:28:43 10 举报

对于许多量化交易的初学者而言,最大挑战并非是学习复杂的交易算法,而是理解策略代码在一个量化平台中究竟是如何被执行的

不了解游戏规则,即使有再好的策略也无法有效实施

因此,本系列的第一篇文章,将专注于清晰、严谨地解析PTrade平台的策略框架,协助理解一个策略从诞生到运行的完整过程

1. 事件驱动:策略执行的基本模式

PTrade平台采用的是一种在程序设计中广泛应用的事件驱动(Event-Driven)模型。理解这个模型是掌握策略编写的关键。
例如,我们可以在每个交易日开盘前触发一个“盘前准备”事件,并自动执行策略代码中的 before_trading_start() 函数。同样,在交易时段内,平台会根据设定的频率(如每分钟)触发“行情更新”事件
并执行 handle_data() 函数。通过这种方式,我们无需关心何时以及如何调用这些函数,只需专注于在正确的函数内实现具体的交易逻辑即可。

2. 策略的运行框架
为了更直观地理解策略的完整运行流程,我们可以将其比作一个专业交易员在工作日中的标准流程:盘前的准备工作,到盘中的决策交易,再到收盘后的复盘总结。PTrade通过一系列核心函数,将这个流程予以了标准化和自动化

下表清晰地展示了PTrade策略的生命周期及其对应的核心函数:


3. 业务流程框架图
为了进一步巩固理解,我们可以通过下面的流程图来审视整个策略的执行路径。这张图直观地展示了各个核心函数之间的调用顺序和关系。


从图中我们可以清晰地看出:


1 initialize() 函数是整个策略生命周期的入口,且仅执行一次;


2 before_trading_start(), handle_data(), after_trading_end() 构成了一个在每个交易日都会重复的循环;


3 handle_data() 是盘中循环的核心,策略的大部分运行时长都在这个函数的周期性调用中度过


此外ptrade 还支持委托主推事件(on_order_response)、交易主推事件 (on_trade_response)

可以通过委托和成交的信息来处理策略逻辑,是 tick 级的一个补充
除了以上的一些事件以外,ptrade 也支持通过定时任务来运行策略逻辑,可以 通过 run_daily 接口实现

掌握了策略代码在何时、以何种顺序被执行,是编写出正确、高效量化策略的基础

这四个核心函数构成了策略的骨架,后续所有的功能实现都将围绕它们展开~~~


PTrade免费申请

PTradeQMT免费领取学习案例

PTradeQMT落地辅助

需要的朋友欢迎联系 ~~~



尊重知识,尊重市场 1

著作权归文章作者所有。

最新回复 ( 0 )
发新帖
0
DEPRECATED: addslashes(): Passing null to parameter #1 ($string) of type string is deprecated (/data/user/htdocs/xiunophp/xiunophp.min.php:48)