feat(factors): 新增筹码集中度相关因子并优化训练框架

- 添加 19 个筹码分布和胜率相关因子(包括chip_dispersion、winner_rate等系列)
- LightGBM模型添加早停和训练指标记录功能
- 统一Label配置到common.py模块
- 新增list_factors.py因子列表脚本
This commit is contained in:
2026-03-29 01:34:58 +08:00
parent d4e0e2a0b6
commit c3d1b157e9
9 changed files with 373 additions and 246 deletions

View File

@@ -21,7 +21,8 @@ from src.training.components.filters import STFilter
from src.experiment.common import (
SELECTED_FACTORS,
FACTOR_DEFINITIONS,
get_label_factor,
LABEL_NAME,
LABEL_FACTOR,
TRAIN_START,
TRAIN_END,
VAL_START,
@@ -44,171 +45,39 @@ TRAINING_TYPE = "rank"
# %% md
# ## 2. 训练特定配置
# %%
# Label 配置
LABEL_NAME = "future_return_5"
LABEL_FACTOR = get_label_factor(LABEL_NAME)
# Label 配置(从 common.py 统一导入)
# LABEL_NAME 和 LABEL_FACTOR 已在 common.py 中绑定,只需从 common 导入
# 分位数配置
N_QUANTILES = 20
# 排除的因子列表
EXCLUDED_FACTORS = [
"volatility_5",
"volume_ratio_5_20",
"capital_retention_20",
"volatility_squeeze_5_60",
"drawdown_from_high_60",
"ma_ratio_5_20",
"bias_10",
"high_low_ratio",
"bbi_ratio",
"volatility_20",
"std_return_20",
"sharpe_ratio_20",
"ma_5",
"max_ret_20",
"CP",
"net_profit_yoy",
"debt_to_equity",
"EP_rank",
"turnover_rank",
"return_5_rank",
"ebit_rank",
"BP",
"EP",
"amihud_illiq_20",
"profit_margin",
"return_5",
"return_20",
"kaufman_ER_20",
"GTJA_alpha043",
"GTJA_alpha042",
"GTJA_alpha041",
"GTJA_alpha040",
"GTJA_alpha039",
"GTJA_alpha037",
"GTJA_alpha036",
"GTJA_alpha035",
"GTJA_alpha033",
"GTJA_alpha032",
"GTJA_alpha031",
"GTJA_alpha028",
"GTJA_alpha026",
"GTJA_alpha027",
"GTJA_alpha023",
"GTJA_alpha024",
"GTJA_alpha009",
"GTJA_alpha011",
"GTJA_alpha022",
"GTJA_alpha020",
"GTJA_alpha018",
"GTJA_alpha019",
"GTJA_alpha014",
"GTJA_alpha013",
"GTJA_alpha010",
"GTJA_alpha001",
"GTJA_alpha003",
"GTJA_alpha002",
"GTJA_alpha004",
"GTJA_alpha005",
"GTJA_alpha006",
"GTJA_alpha008",
"turnover_deviation",
"turnover_cv_20",
"roa",
"GTJA_alpha073",
"GTJA_alpha078",
"GTJA_alpha077",
"GTJA_alpha076",
"GTJA_alpha067",
"GTJA_alpha085",
"GTJA_alpha084",
"GTJA_alpha087",
"GTJA_alpha088",
"GTJA_alpha090",
"GTJA_alpha083",
"GTJA_alpha079",
"GTJA_alpha080",
"GTJA_alpha094",
"GTJA_alpha092",
"GTJA_alpha089",
"GTJA_alpha095",
"GTJA_alpha064",
"GTJA_alpha065",
"GTJA_alpha066",
"GTJA_alpha063",
"GTJA_alpha060",
"GTJA_alpha058",
"GTJA_alpha057",
"GTJA_alpha056",
"GTJA_alpha046",
"GTJA_alpha002",
"GTJA_alpha027",
"GTJA_alpha051",
"GTJA_alpha044",
"GTJA_alpha049",
"GTJA_alpha050",
"GTJA_alpha110",
"GTJA_alpha107",
"GTJA_alpha104",
"GTJA_alpha106",
"GTJA_alpha103",
"GTJA_alpha100",
"GTJA_alpha101",
"GTJA_alpha102",
"GTJA_alpha098",
"GTJA_alpha097",
"GTJA_alpha096",
"GTJA_alpha099",
"GTJA_alpha117",
"GTJA_alpha118",
"GTJA_alpha114",
"GTJA_alpha111",
"GTJA_alpha129",
"GTJA_alpha130",
"GTJA_alpha132",
"GTJA_alpha041",
"GTJA_alpha131",
"GTJA_alpha134",
"GTJA_alpha135",
"GTJA_alpha136",
"GTJA_alpha112",
"GTJA_alpha120",
"GTJA_alpha119",
"GTJA_alpha122",
"GTJA_alpha124",
"GTJA_alpha126",
"GTJA_alpha103",
"GTJA_alpha087",
"GTJA_alpha093",
"GTJA_alpha092",
"GTJA_alpha073",
"GTJA_alpha127",
"GTJA_alpha128",
"GTJA_alpha115",
"GTJA_alpha153",
"GTJA_alpha152",
"GTJA_alpha151",
"GTJA_alpha150",
"GTJA_alpha148",
"GTJA_alpha142",
"GTJA_alpha141",
"GTJA_alpha139",
"GTJA_alpha133",
"GTJA_alpha161",
"GTJA_alpha164",
"GTJA_alpha117",
"GTJA_alpha124",
"GTJA_alpha162",
"GTJA_alpha157",
"GTJA_alpha156",
"GTJA_alpha160",
"GTJA_alpha155",
"GTJA_alpha170",
"GTJA_alpha169",
"GTJA_alpha168",
"GTJA_alpha166",
"GTJA_alpha163",
"GTJA_alpha176",
"GTJA_alpha175",
"GTJA_alpha174",
"GTJA_alpha178",
"GTJA_alpha177",
"GTJA_alpha185",
"GTJA_alpha180",
"GTJA_alpha187",
"GTJA_alpha188",
"GTJA_alpha189",
"GTJA_alpha191",
"smart_money_accumulation",
"GTJA_alpha014",
"GTJA_alpha056",
"GTJA_alpha085",
"GTJA_alpha154",
"GTJA_alpha141",
]
# LambdaRank 模型参数配置