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

2023-10-12 10:36

本文主要是介绍获取当日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')

有点绕口,举个例子。
假设当日为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
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码微信捐赠二维码
在这里插入图片描述在这里插入图片描述

这篇关于获取当日n个季度前的日期所处季度的最后一天——时间相关函数4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/195255

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与