当前位置:   article > 正文

PTrade获取交易日期——时间相关函数1_ptrade 文档

ptrade 文档

本系列文章将笔者平时在使用ptrade进行策略开发中使用到的与日期相关的函数进行记录,以便大家参考并一同改进优化。

如果读者还有其他日期相关的函数实现需求,也可以留言,大家一起讨论补充。

首先看一下ptrade提供的get_trading_day函数的用法,后面的函数大多要用到它。

结合ptrade官方文档对get_trading_day的介绍如下:

get_trading_day(day)
  • 1

使用场景

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

接口说明

该函数用于获取当前时间数天前或数天后的交易日期。

注意事项:

1、默认情况下,回测中当前时间为策略中调用该接口的回测日日期(context.blotter.current_dt)。

2、默认情况下,研究中当前时间为调用当天日期。

3、默认情况下,交易中当前时间为调用当天日期。

参数

day:表示天数,正的为数天后,负的为数天前,day取0表示获取当前交易日,如果当前日期为非交易日则返回下一交易日的日期。day默认取值为0,不建议获取交易所还未公布的交易日期(int);

返回

date:datetime.date日期对象

示例

所有的示例均在回测模式下运行,实盘模式使用时可参考回测模式下的结果。

示例1
def initialize(context):
    log.info(get_trading_day())


def handle_data(context, data):
    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

将回测时间设置为2023-01-01至2023-01-03,输出结果如下:

2023-01-03 00:00:00 - INFO - 2023-01-03
  • 1

2023-01-01和2023-01-02为非交易日,initialize函数不会被调用(该函数只会在回测和交易启动的时候运行一次)。

2023-01-03为交易日,initialize函数被调用,打印get_trading_day函数的返回结果为2023-01-03。

示例2
def initialize(context):
    log.info(get_trading_day(-1))


def handle_data(context, data):
    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

同样将回测时间设置为2023-01-01至2023-01-03,输出结果如下:

2023-01-03 00:00:00 - INFO - 2022-12-30
  • 1

当get_trading_day的参数为负数时,表示要获取当前交易日的数天前的交易日期。

如示例2中所示,参数为-1,当在2023-01-03调用get_trading_day时,会返回2023-01-03前的第1个交易日期是多少。2023-01-02(周一、假期)、2023-01-01(周日)、2022-12-31(周六)均为非交易日,2022-12-30为交易日,因此get_trading_day(-1)的返回结果为2022-12-30。

示例3
def initialize(context):
    log.info(get_trading_day(4))


def handle_data(context, data):
    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

同样将回测时间设置为2023-01-01至2023-01-03,输出结果如下:

2023-01-03 00:00:00 - INFO - 2023-01-09
  • 1

当get_trading_day的参数为正数时,表示要获取当前交易日的数天后的交易日期。

如示例3中所示,参数为4,当在2023-01-03调用get_trading_day时,会返回2023-01-03后的第4个交易日期是多少。2023-01-04(第1个交易日),2023-01-05(第2个交易日),2023-01-06(第3个交易日),2023-01-07(周六),2023-01-08(周日),2023-01-09(第4个交易日),因此get_trading_day(4)返回结果2023-01-09。


博客内容只用于交流学习,不构成投资建议,盈亏自负!

个人博客:http://coderx.com.cn/(优先更新)
项目最新代码:https://gitee.com/sl/quant_from_scratch
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码微信捐赠二维码
在这里插入图片描述在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/607642
推荐阅读
相关标签
  

闽ICP备14008679号