按照发行日期筛选股票(新股)

用户头像mx_*716bsb
2023-12-19 发布

在使用过滤股票池相关策略时,常常需要依据发行日期来确认是否购买新发行的股票。

而计算日期可以通过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_differencedatetime.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

评论