Commit Graph

8 Commits

Author SHA1 Message Date
ecb22b826c fix(factor-engine): 修复多因子计算时数据规格字段合并的 bug
- 修复 FactorEngine.compute() 中相同表的字段未正确合并的问题
- 将简单去重改为字段集合合并,确保所有因子依赖的字段都被获取
- 解决 high_low_ratio 等需要 high/low 字段的因子计算失败问题
2026-03-14 02:12:20 +08:00
282fe1fef5 docs(AGENTS): 新增AI行为准则规范
- 添加代码存放位置规则,强制代码存放于 src/ 或 tests/ 目录
- 添加 Tests 目录代码运行规则,强制使用 pytest 运行测试代码
- 更新 learn_to_rank 实验代码:调整因子列表和处理器配置
- 修复 schema_cache 表结构缓存逻辑
2026-03-14 00:19:03 +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
e8ac9d8662 feat(data): 添加 DuckDB 只读模式支持
- Storage 类默认使用 read_only=True 模式,允许多进程并发读取
- ThreadSafeStorage 自动使用 read_only=False 模式,用于数据同步写入
- catalog.query_duckdb_to_polars 函数使用只读连接
2026-03-11 21:33:08 +08:00
f3b3560d26 fix(factors/engine): 修复列选择时基础列重复的问题 2026-03-11 00:12:05 +08:00
e6c3a918c7 feat(training): 添加 LightGBM LambdaRank 排序学习功能
新增基于 LambdaRank 的排序学习模型,用于股票排序预测任务:
- 实现 LightGBMLambdaRankModel 模型类,支持分位数标签转换
- 提供完整的训练流程和 NDCG 评估指标
- 添加实验 Notebook 演示排序学习全流程
2026-03-10 22:23:44 +08:00