feat(factors): 新增筹码集中度相关因子并优化训练框架
- 添加 19 个筹码分布和胜率相关因子(包括chip_dispersion、winner_rate等系列) - LightGBM模型添加早停和训练指标记录功能 - 统一Label配置到common.py模块 - 新增list_factors.py因子列表脚本
This commit is contained in:
@@ -250,67 +250,58 @@ SELECTED_FACTORS = [
|
||||
"GTJA_alpha188",
|
||||
"GTJA_alpha189",
|
||||
"GTJA_alpha191",
|
||||
"chip_dispersion_90",
|
||||
"chip_dispersion_70",
|
||||
"cost_skewness",
|
||||
"dispersion_change_20",
|
||||
"price_to_avg_cost",
|
||||
"price_to_median_cost",
|
||||
"mean_median_dev",
|
||||
"trap_pressure",
|
||||
"bottom_profit",
|
||||
"history_position",
|
||||
"winner_rate_surge_5",
|
||||
"winner_rate_cs_rank",
|
||||
"winner_rate_dev_20",
|
||||
"winner_rate_volatility",
|
||||
"smart_money_accumulation",
|
||||
"winner_vol_corr_20",
|
||||
"cost_base_momentum",
|
||||
"bottom_cost_stability",
|
||||
"pivot_reversion",
|
||||
"chip_transition",
|
||||
]
|
||||
|
||||
# 因子定义字典(完整因子库,用于存放尚未注册到metadata的因子)
|
||||
FACTOR_DEFINITIONS = {"cs_rank_circ_mv": "cs_rank(circ_mv)"}
|
||||
|
||||
# 需要排除的因子列表(这些因子不会被计算和使用)
|
||||
# 用于临时屏蔽效果不好的因子,无需从 SELECTED_FACTORS 中删除
|
||||
# EXCLUDED_FACTORS: List[str] = [
|
||||
# # "GTJA_alpha005",
|
||||
# # "GTJA_alpha028",
|
||||
# # "GTJA_alpha023",
|
||||
# # "GTJA_alpha002",
|
||||
# # "GTJA_alpha010",
|
||||
# # "GTJA_alpha011",
|
||||
# # "GTJA_alpha044",
|
||||
# # "GTJA_alpha036",
|
||||
# # "GTJA_alpha027",
|
||||
# # "GTJA_alpha109",
|
||||
# # "GTJA_alpha104",
|
||||
# # "GTJA_alpha103",
|
||||
# # "GTJA_alpha085",
|
||||
# # "GTJA_alpha111",
|
||||
# # "GTJA_alpha092",
|
||||
# # "GTJA_alpha067",
|
||||
# # "GTJA_alpha060",
|
||||
# # "GTJA_alpha062",
|
||||
# # "GTJA_alpha063",
|
||||
# # "GTJA_alpha079",
|
||||
# # "GTJA_alpha073",
|
||||
# # "GTJA_alpha087",
|
||||
# # "GTJA_alpha117",
|
||||
# # "GTJA_alpha113",
|
||||
# # "GTJA_alpha138",
|
||||
# # "GTJA_alpha121",
|
||||
# # "GTJA_alpha124",
|
||||
# # "GTJA_alpha133",
|
||||
# # "GTJA_alpha131",
|
||||
# # "GTJA_alpha118",
|
||||
# # "GTJA_alpha164",
|
||||
# # "GTJA_alpha162",
|
||||
# # "GTJA_alpha157",
|
||||
# # "GTJA_alpha171",
|
||||
# # "GTJA_alpha177",
|
||||
# # "GTJA_alpha180",
|
||||
# # "GTJA_alpha188",
|
||||
# # "GTJA_alpha191",
|
||||
# ]
|
||||
|
||||
# =============================================================================
|
||||
# Label 配置(统一绑定 label_name 和 label_dsl)
|
||||
# =============================================================================
|
||||
# Label 名称
|
||||
LABEL_NAME = "future_return_5"
|
||||
|
||||
# Label DSL 公式
|
||||
LABEL_DSL = "(ts_delay(close, -5) / ts_delay(open, -1)) - 1"
|
||||
|
||||
# Label 配置字典(绑定 name 和 dsl)
|
||||
LABEL_FACTOR = {LABEL_NAME: LABEL_DSL}
|
||||
|
||||
|
||||
def get_label_factor(label_name: str) -> dict:
|
||||
"""获取Label因子定义字典。
|
||||
|
||||
警告: 此函数已废弃,请直接使用 LABEL_FACTOR 常量。
|
||||
label_name 参数将被忽略,始终返回预定义的 LABEL_FACTOR。
|
||||
|
||||
Args:
|
||||
label_name: label因子名称
|
||||
label_name: label因子名称(已废弃,仅保留参数保持向后兼容)
|
||||
|
||||
Returns:
|
||||
Label因子定义字典
|
||||
"""
|
||||
return {
|
||||
label_name: "(ts_delay(close, -5) / ts_delay(open, -1)) - 1",
|
||||
}
|
||||
return LABEL_FACTOR
|
||||
|
||||
|
||||
# =============================================================================
|
||||
|
||||
Reference in New Issue
Block a user