[ptrade交易实战] 业务流程框架

前言

详细的开通渠道请看后记

ptrade量化是以事件触发为基础,通过几个事件来完成每日交易任务的!

主要可以分成4个事件,初始化事件(initialize),盘前事件(before_trading_start)、盘中事件(handle_data)、盘后事件(after_trading_end)。

初始化主要用于初始化一些全局变量,这个是必备的一个结构,是我们选择股票的事件!

盘前事件是在每天开始交易前被调用,是一个可选事件

盘中事件可以做日线级别、分钟级别、tick级别的盘中处理,但是需要注意的是tick级别的盘中处理则需要通过tick_data或者run_interval来实现。这个是必须事件!

盘后事件是交易结束后被调用的,同样是个可选事件!

事件一图流

一、initialize

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

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

示例

def initialize(context):
    #g为全局对象
    g.security = '600109.SS'
    set_universe(g.security)

def handle_data(context, data):
    order('600109.SS',100)

二、before_trading_start(可选)

这个函数主要是每天开始交易前调用一次,是用来添加每天都要初始化的信息的,如果说你的策略没有盘前初始化的需求,是不需要定义的!

注意事项:

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

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

3、当在9:10前开启交易时,受行情未更新缘故在该函数内调用实时行情接口会导致数据有误。可以通过在这个函数内sleep到9:10分或者调用实时行情接口(比如l2行情)改为run_daily执行等方式来避免。

示例

def initialize(context):
    #g为全局变量
    g.security = '600109.SS'
    set_universe(g.security)

def before_trading_start(context, data):
    log.info(g.security)

def handle_data(context, data):
    order('600109.SS',100)

三、handle_data(必选)

这个是用于处理交易的主要模块,可以看着整个策略的主体,可以根据策略保存时候的周期参数分钟级和日线级,tick级的话要是用其他函数,后续会讲到!

注意事项:

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

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

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

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

示例

def initialize(context):
    #g为全局变量
    g.security = '600109.SS'
    set_universe(g.security)

def handle_data(context, data):
    order('600109.SS',100)

data:一个字典(dict),key是标的代码,value是当时的SecurityUnitData对象,存放当前周期(日线策略,则是当天;分钟策略,则是这一分钟)的数据;

注意:为了加速,data中的数据只包含股票池中所订阅标的的信息,可使用data[security]的方式来获取当前周期对应的标的信息;

四、after_trading_end(可选)

该函数只会执行一次,执行时间为由券商配置决定,一般为15:30。

示例

def initialize(context):
    #g为全局变量
    g.security = '600109.SS'
    set_universe(g.security)

def handle_data(context, data):
    order('600109.SS',100)

def after_trading_end(context, data):
    log.info(g.security)

后记

ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区支出!

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值