在使用过滤股票池相关策略时,常常需要依据发行日期来确认是否购买新发行的股票。
而计算日期可以通过datetime简单实现:输入目标日期(通常为今日日期)的datetime格式,进行简单加减与数据的转化即可。
代码思路:
import datetime
# 从函数中调取的股票发行日期
start_date = datetime.datetime(2020, 12, 28, 0, 0)
# 可调整的日期(通常为今日日期)
target_date = datetime.datetime(2023, 12, 19, 12, 0)
# 计算总发行日
time_difference = target_date - start_date
time_difference
是datetime.timedelta
格式,需要转换为具体的整数。如果需要秒数,则直接调取seconds
即可。以下代码以分钟级为例:
def filter_special(context,stock_list):
import datetime
# 过滤器:新股
time = get_datetime().strftime('%Y-%m-%d')
# 获取今天的日期
target_date = datetime.datetime(2023, 12, 19, 12, 0)
stock_list=[stock for stock in stock_list if stock[0:3] != '688']
stock_list=[stock for stock in stock_list if get_security_info(stock).end_date.year>=2023]
stock_list = [stock for stock in stock_list if (target_date-get_security_info(stock).start_date).days>1]
stock_list = [stock for stock in stock_list if (target_date-get_security_info(stock).start_date).days<150]
return stock_list