|
|
6927d20de1
|
feat(training): LightGBM支持验证集早停
- 为fit方法添加eval_set参数,支持验证集评估和早停
- 因子引擎简化初始化,移除metadata_path参数
- 回归实验精简因子定义,移除冗余因子库
|
2026-03-14 22:51:24 +08:00 |
|
|
|
ecb22b826c
|
fix(factor-engine): 修复多因子计算时数据规格字段合并的 bug
- 修复 FactorEngine.compute() 中相同表的字段未正确合并的问题
- 将简单去重改为字段集合合并,确保所有因子依赖的字段都被获取
- 解决 high_low_ratio 等需要 high/low 字段的因子计算失败问题
|
2026-03-14 02:12:20 +08:00 |
|
|
|
181994f063
|
perf(factors/engine): 重构计算引擎使用 Polars 原生并行
- 移除 Python 多进程/多线程池,消除 DataFrame 序列化开销
- 采用 BFS 分层执行策略,每层表达式通过单次 with_columns 提交
- 利用 Polars Rust 引擎实现零拷贝并行计算
- 添加死锁检测机制处理依赖环
|
2026-03-14 01:24:52 +08:00 |
|
|
|
c8808d07eb
|
feat(factors): 实现 AST 拍平优化支持嵌套窗口函数
- 新增 ExpressionFlattener 类自动拆解嵌套窗口函数(如 cs_rank(ts_delay(close, 1)))
- 支持因子引用其他因子:engine.register("fac2", cs_rank("fac1"))
- 给 DependencyExtractor 增加 ignore_symbols 免疫名单,防止已注册因子被当作数据库字段
- 添加完整测试覆盖嵌套场景和数值一致性验证
|
2026-03-14 01:06:17 +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 |
|
|
|
05d0c90312
|
feat(factors): 新增公式解析基础组件
新增公式解析相关模块,支持将字符串表达式解析为 DSL 节点树:
- exceptions.py: 定义公式解析异常体系
- FormulaParseError 基类,提供位置指示的错误信息
- UnknownFunctionError 支持模糊匹配建议
- InvalidSyntaxError、EmptyExpressionError 等具体异常
- parser.py: 基于 Python ast 的公式解析器
- 支持符号引用、数值常量、二元/一元运算
- 支持函数调用和比较运算
- 常量折叠优化
- registry.py: 函数注册表
- 支持动态注册和查询公式函数
- 提供可用函数列表和重复注册检查
|
2026-03-03 00:04:48 +08:00 |
|
|
|
77e4e94e05
|
refactor(factors): 拆分 engine.py 为模块化包
将单文件 engine.py (1064行) 拆分为 engine/ 包:
- 数据规格、路由器、计划器、计算引擎、因子引擎分离
- 保持向后兼容,API 无变化
|
2026-03-02 22:29:18 +08:00 |
|