认识PTrade量化程序基本架构

timi
timi 想要稳稳的幸福~

2 People liked this article · 3015 views

        通过了解PTrade量化平台的基本架构,大家能更深入地熟悉平台的功能和操作流程,建立基本的策略运行逻辑,系统化考虑策略的特点和运行逻辑,从而更高效地开发和优化量化策略,提升交易体验。
        下面来介绍一下PTrade量化平台策略基本架构中的五大模块:它们分别为initialize初始化模块、before_trading_start盘前处理模块、handle_data(tick_data)周期运行模块和after_trading_end盘后处理模块,它们各自的触发时间及策略中可选或必选条件详见下图:



        


        其中initialize初始化模块在策略回测、交易过程中仅开始运行一次,before_trading_start盘前处理模块和after_trading_end盘后处理模块每日运行一次,handle_data(tick_data)周期运行模块根据设定的周期每tick、每分钟或每日运行一次。
        在设计运行架构时,还有一个非常重要的API就是run_daily函数,该函数只能在初始化阶段initialize函数中调用,可以多次设定,实现多个定时任务的调用。在回测中,当回测周期为分钟时,时间的取值范围需要指定在09:31~11:30与13:00~15:00交易时间段之间,当回测周期为日时,无论设定值是多少都只会在15:00执行,而在交易中不受此时间限制,可定为任意时间触发定时任务。

        通过对比两者的API文档,发现PTrade量化平台和聚宽论坛上的策略代码在initialize初始化模块和handle_data周期运行模块的用法是相同的。两者差异比较大的地方是在聚宽论坛策略中有run_daily每日定时函数、run_weekly每周定时函数和run_monthly每月定时函数,PTrade量化平台中只有run_daily每日定时函数,如需达到原策略中run_weekly和run_monthly的效果,需要引入datetime库进行实现,此处时间判断代码将在后续案例中更新。

        这样经过基本架构分析后,我们就了解了每一篇策略大体是如何运行的,在具体的修改移植过程中就会逻辑清晰,接下来我们将对每个基本模块内的内容就移植细节详细展开讲解。

Published on 2024-03-21 18:03

Disclaimers:

This document is written by timi Original published on 百果量化交流平台 ,The copyright belongs to the author。

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister