Commit Graph

12 Commits

Author SHA1 Message Date
0e9ea5d533 refactor(experiment): 提取共用配置到 common 模块
- 将因子定义、日期配置、股票池筛选等提取到 common.py
- 重构 learn_to_rank 和 regression 脚本,统一使用公共配置
- 简化代码结构,消除重复定义
2026-03-15 05:46:19 +08:00
6927d20de1 feat(training): LightGBM支持验证集早停
- 为fit方法添加eval_set参数,支持验证集评估和早停

- 因子引擎简化初始化,移除metadata_path参数

- 回归实验精简因子定义,移除冗余因子库
2026-03-14 22:51:24 +08:00
3f8ca2cebf feat(training): 添加数据质量检查工具并重构实验脚本
- 新增 check_data_quality 函数用于检测全空/全零/全NaN数据质量问题
- 重构 register_factors 函数,消除 FEATURE_COLS 和 PROCESSORS 冗余定义
- 修复实验脚本中特征列表不一致的问题,确保处理器覆盖所有特征
- 优化 LambdaRank 模型参数配置
2026-03-13 22:24:12 +08:00
ced7a929c3 refactor(factors): 简化 add_factor API 并默认启用 metadata
- 合并 add_factor_by_name 到 add_factor,支持三种调用方式
- FactorManager 构造函数改为可选参数,使用默认路径
- FactorEngine 默认启用 metadata,无需手动配置路径
2026-03-12 22:34:25 +08:00
2bb7718dd1 feat(factors): 集成 metadata 模块,支持按名称注册因子
- 新增 add_factor_by_name() 方法,从 metadata 查询 DSL 表达式并注册
- FactorEngine 支持可选的 metadata_path 参数初始化
- 将 regression.ipynb 和 learn_to_rank.ipynb 转换为 Python 脚本
- 新增 test_factor_engine_metadata.py 测试文件
2026-03-11 22:54:52 +08:00
36e0e4b234 feat(training): 新增财务数据因子并修复多表 join 冲突
- 添加 9 个财务数据因子(利润表/资产负债表/现金流量表)
- 修复多表 asof join 时 f_ann_date_right 列名重复错误
- 将 Top5 改为可配置的 TopN 参数
- 删除已弃用的 regression.py 脚本
2026-03-08 11:46:30 +08:00
555cb00276 fix: 修正回归训练中的未来收益率计算公式
- 修复 Label 公式从过去收益率改为未来收益率
2026-03-06 20:56:24 +08:00
7b935b0fa3 feat(training): 添加缺失值填充处理器 NullFiller
新增 NullFiller 处理器,支持 zero/mean/median/value 填充策略,
支持全局统计量或按日期截面填充。在回归训练流程中添加 NullFiller。
2026-03-05 21:57:34 +08:00
5a1f278df8 refactor: 优化回归实验配置和模型参数
- 将因子定义、模型参数、日期配置提取为模块级常量
- 优化 LightGBM 参数(降低过拟合风险)
- LightGBMModel 支持 params 字典参数传入
- 修复 StockFilter 创业板排除逻辑(支持 301xxx)
- 添加 experiment/output 到 .gitignore
2026-03-05 00:38:20 +08:00
3b42093100 feat(data): 财务数据加载与清洗模块
新增 FinancialLoader 类,提供:
- 财务数据加载与清洗(保留合并报表,按 update_flag 去重)
- 支持 as-of join 拼接行情数据(无未来函数)
- 自动识别财务表并配置 asof_backward 拼接模式
2026-03-04 23:35:20 +08:00
af5c96cd53 feat(training): 添加数据过滤器支持及 ST 股票过滤
- 新增 filters.py 模块,实现 BaseFilter 抽象类和 STFilter 过滤器
- 在 Trainer 中支持 filters 参数,可在股票池筛选之前执行数据过滤
- 更新 training/__init__.py 导出 BaseFilter 和 STFilter
- 在 regression.py 中集成 STFilter,用于过滤 ST 股票
2026-03-04 21:14:39 +08:00
f1687dadf3 feat: 因子引擎字段验证改进、股票池过滤修复及实验模块增强
1. 因子引擎字段验证改进
   - 新增 SchemaCache.get_all_fields() 方法,返回所有可用字段集合
   - 修改 match_fields_to_tables(),对不存在的字段抛出明确错误
   - 错误信息包含可用字段列表提示,帮助用户检查拼写
2. 股票池过滤修复
   - 修复北交所股票排除逻辑:将识别方式从代码前缀(8/4开头)改为.BJ后缀
   - 更新文档注释,明确北交所股票识别规则
3. 实验模块增强
   - 新增 regression.py 实现回归实验逻辑
   - 新增 output/ 目录存放实验输出结果
2026-03-03 23:51:08 +08:00