本文列舉了常見的幾種股票過濾(例如停牌、退市、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