この記事では、一般的な株式フィルタリング(銘柄の一時停止、上場廃止、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