本文列举了常见的几种股票过滤(比如停牌、退市、ST、涨停等)的代码范例,供大家参考。所有代码基于 JoinQuant 编译测试。
过滤停牌股票#
## 过滤停牌股票
def paused_filter(context, security_list):
current_data = get_current_data()
security_list = [stock for stock in security_list if not current_data[stock].paused]
# 返回结果
return security_list
过滤退市股票#
## 过滤退市股票
def delisted_filter(context, security_list):
current_data = get_current_data()
security_list = [stock for stock in security_list if not ((' 退 ' in current_data [stock].name) or ('*' in current_data [stock].name))]
# 返回结果
return security_list
过滤 ST 股票#
## 过滤 ST 股票
def st_filter(context, security_list):
current_data = get_current_data()
security_list = [stock for stock in security_list if not current_data[stock].is_st]
# 返回结果
return security_list
过滤涨停股票#
# 过滤涨停股票
def high_limit_filter(context, security_list):
current_data = get_current_data()
security_list = [stock for stock in security_list if not (current_data[stock].day_open >= current_data[stock].high_limit)]
# 返回结果
return security_list