• 获取当日n个季度前的日期所处季度的最后一天——时间相关函数4


    本文介绍的函数用于获取当日n个季度前的日期所处季度的最后一天(有点绕,看后面例子就好理解了)。

    源码

    def last_day_of_quarter_before_n_quarters(n):
        """
        获取当日n个季度前的日期所处季度的最后一天
        
        :return: 当日n个季度前的日期所处季度的最后一天,格式为字符串
        """
        
        # 当前日期
        current_date = get_trading_day()
        
        # 当前季度
        current_quarter = (current_date.month - 1) // 3 + 1
        
        # 目标日期总季度数,用于计算目标日期
        total_quarters = current_date.year * 4 + current_quarter - 1 - (n - 1)
        
        # 当前季度的n-1个季度前的日期季度
        quarter = total_quarters % 4 + 1
        
        # 当前季度的n-1个季度前的日期年份
        year = total_quarters // 4
        
        # 当前季度的n-1个季度前的季度的第一个月的月份
        month = (quarter - 1) * 3 + 1
        
        # 当前季度的n-1个季度前的第一个月份减去一天,得到n个季度前的日期所处季度的最后一天,并转换为字符串格式
        return (dt.datetime(year, month, 1) - dt.timedelta(days=1)).strftime('%Y%m%d')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    有点绕口,举个例子。
    假设当日为2022年6月30日(2022年第二季度的最后一天),当日1(这里参数n=1)个季度前的最后一天,也就是2022年第一季度的最后一天(2022年3月31日);当日2(这里参数n=2)个季度前的最后一天,也就是2021年第四季度的最后一天(2021年12月31日)。

    更多的实例可以参见下面的表格:

    当前日期n=1的返回值n=2的返回值n=3的返回值
    20220630202203312021123120210930
    20220701202206302022033120211231

    很多策略都需要查询上市公司的财务数据。ptrade提供了查询财务数据的接口函数get_fundamentals,在该函数使用时,需要用到查询日期作为参数。查询日期的不同,会返回不同的财务数据结果。本文所提供的函数,会在回测过程,获取标的的最新财务数据中使用,后续文章会有使用示例。


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

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

    微信二维码微信捐赠二维码
    在这里插入图片描述在这里插入图片描述
  • 相关阅读:
    关于c#:displayname属性
    渗透测试-CSRF漏洞
    【每日一题】—— C. Anonymous Informant(Codeforces Round 908 (Div. 2))(思维题)
    五分钟搭建开源ERP:Odoo,并实现公网远程访问
    力扣:153. 寻找旋转排序数组中的最小值(Python3)
    为什么 AI 时代更应该 Learn in Public
    Python计算器(包含机制转换)
    STM32CubeMX教程12 DMA 直接内存读取
    【大规模 MIMO 检测】基于ADMM的大型MU-MIMO无穷大范数检测研究(Matlab代码实现)
    Runtime——探索类,对象,分类本质
  • 原文地址:https://blog.csdn.net/m0_46603114/article/details/133784643