|
|
a66d5e9db3
|
feat(training): 新增 TabM 排序学习模型支持并优化训练流程
- 新增 TabMRankModel、TabMRankTask 及配套损失函数与配置
- 将 DataQualityAnalyzer 从 experiment 迁移至 training 模块
- 调整数据处理器移除过度的 NaN/null 硬填充逻辑
- 优化 RankTask 评估指标使用分位数标签替代原始收益率
- 更新实验脚本处理器顺序与模型超参数配置
|
2026-04-04 22:39:58 +08:00 |
|
|
|
9e7d4241c6
|
feat(data): 添加个股资金流向接口并重构速率限制配置
- 新增 moneyflow 资金流向数据同步模块
- 实现接口级速率限制配置(sync_config.py)
- 更新流动性相关因子定义
- 添加非对称量化损失函数
|
2026-04-03 23:57:47 +08:00 |
|
|
|
c143815443
|
feat(training): TabM模型量化交易优化
- 新增 CrossSectionSampler 支持截面数据采样(按交易日批处理)
- 新增 EnsembleQuantLoss (Huber + IC) 替代 MSE 作为损失函数
- 重构 TabMModel 支持量化场景:Rank IC 作为验证指标、CosineAnnealingLR学习率调度、梯度裁剪
- 支持 date_col 参数和特征对齐
- 更新实验配置 batch_size 2048 和 weight_decay 等超参数
|
2026-04-01 00:20:05 +08:00 |
|
|
|
36a3ccbcc8
|
feat(training): 新增 TabM 模型支持及数据质量优化
- 添加 TabMModel、TabPFNModel 深度学习模型实现
- 新增 DataQualityAnalyzer 进行训练前数据质量诊断
- 改进数据处理器 NaN/null 双重处理,增强数据鲁棒性
- 支持 train_skip_days 参数跳过训练初期数据不足期
- Pipeline 自动清理标签为 NaN 的样本
|
2026-03-31 23:11:21 +08:00 |
|
|
|
9e0114c745
|
feat(training): 支持 Label 预处理器
- DataPipeline 新增 label_processor_configs 参数
- 分离特征与 label 的预处理流程
- regression.py 添加 label 缩尾处理配置
- 调整学习率并更新排除因子列表
|
2026-03-29 02:37:53 +08:00 |
|
|
|
c3d1b157e9
|
feat(factors): 新增筹码集中度相关因子并优化训练框架
- 添加 19 个筹码分布和胜率相关因子(包括chip_dispersion、winner_rate等系列)
- LightGBM模型添加早停和训练指标记录功能
- 统一Label配置到common.py模块
- 新增list_factors.py因子列表脚本
|
2026-03-29 01:34:58 +08:00 |
|
|
|
6730acbae1
|
feat(data): 添加每日筹码及胜率数据接口 (cyq_perf)
- 新增 api_cyq_perf 模块,支持筹码分布数据获取和同步
- 在 sync_registry 中注册 cyq_perf 同步器
|
2026-03-26 00:15:30 +08:00 |
|
|
|
e41a128ca3
|
feat(training): 实现 Trainer 模块化重构 (Trainer V2)
- 新增 FactorManager 组件:统一管理多种来源因子
- 新增 DataPipeline 组件:完整数据处理流程(注册、过滤、划分、预处理)
- 新增 Task 策略组件:BaseTask 抽象基类、RegressionTask、RankTask
- 新增 ResultAnalyzer 组件:特征重要性分析和结果组装
- 新增 TrainerV2:作为纯调度引擎协调各组件
- 支持回归和排序学习两种训练模式
- 采用组合模式解耦训练流程,消除代码重复
|
2026-03-24 23:35:31 +08:00 |
|
|
|
bace4cc5f4
|
feat(data): 为数据同步添加事务支持和同步日志
- Storage/ThreadSafeStorage 添加事务支持(begin/commit/rollback)
- 新增 SyncLogManager 记录所有同步任务的执行状态
- 集成事务到 StockBasedSync、DateBasedSync、QuarterBasedSync
- 在 sync_all 和 sync_financial 调度中心添加日志记录
- 新增测试验证事务和日志功能
|
2026-03-23 21:10:15 +08:00 |
|
|
|
31b25074c3
|
test(debug): 添加因子回测一致性问题的调试测试套件
- 分析GTJA_alpha032等因子在不同LOOKBACK_DAYS下的差异来源
- 验证cs_rank嵌套和截面股票数量对结果的影响
- 测试ts_rank NaN处理和除法除零修复
|
2026-03-22 02:43:23 +08:00 |
|
|
|
ccd42082c2
|
refactor(experiment): 重构模型保存机制,支持 processors 持久化
- 模型保存路径改为 models/{model_type}/ 目录结构
- save_model_with_factors 新增 fitted_processors 参数
- 新增 load_processors 函数加载处理器状态
- Storage 查询排序优化:ORDER BY ts_code, trade_date
|
2026-03-19 21:06:11 +08:00 |
|
|
|
0a29506f45
|
feat(experiment): 新增因子排除机制并优化模型训练参数
- 添加 EXCLUDED_FACTORS 列表支持批量排除效果不佳的因子
- 修复 LightGBM 树结构冲突,调整正则化和采样策略防过拟合
- 调整数据处理器配置,关闭模型自动保存
|
2026-03-18 20:57:02 +08:00 |
|
|
|
16f82d3458
|
feat(experiment): 添加模型保存功能及因子信息持久化
- 新增 SAVE_MODEL 配置控制是否保存模型
- 新增 get_model_save_path() 生成模型保存路径
- 新增 save_model_with_factors() 保存模型及关联因子信息
- 新增 load_model_factors() 加载因子信息用于模型复现
- 更新训练脚本使用新的模型保存方式
- 清理 data/sync.py 中的废弃代码
|
2026-03-16 22:50:47 +08:00 |
|
|
|
5ed06d20d2
|
feat(factors): 添加 GTJA alpha 因子并优化计算性能
- 新增 190+ 个 GTJA alpha 因子到因子列表
- 优化 ts_kurt、ts_rank、ts_argmax/min、ts_prod 计算性能
- 性能分析器新增超时检测(180秒)和实时打印功能
- 简化探针因子选择脚本的 main 函数入口
|
2026-03-15 22:21:21 +08:00 |
|
|
|
81e89f3796
|
feat(factors/engine): 添加性能分析器支持 debug 模式
- 新增 PerformanceProfiler 组件,与 FactorEngine 解耦
- 支持上下文管理器用法,安全计时处理异常
- 为 DataRouter/ComputeEngine/FactorEngine 添加 debug 参数
|
2026-03-15 19:34:33 +08:00 |
|
|
|
7bf2699652
|
feat(factors/translator): 新增 ts_rank 和 if 函数处理器,修复类型注解
- 添加 ts_rank 滚动排名函数(计算分位排名 0-1)
- 添加 if 条件选择函数
- 为 map_batches 调用添加 return_dtype=pl.Float64 类型注解
- 修复 ts_wma 边界条件判断
|
2026-03-15 18:43:55 +08:00 |
|
|
|
f943cc98d0
|
feat(factors): 添加 cs_mean 函数并增强 max_/min_ 单参数支持
- 新增 cs_mean 截面均值函数,支持 GTJA Alpha127 等因子转换
- max_/min_ 支持单参数调用,默认使用 252 天(约 1 年)滚动窗口
|
2026-03-15 18:00:48 +08:00 |
|
|
|
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 |
|
|
|
5541373ded
|
feat(probe-selection): 添加探针法因子筛选模块
|
2026-03-14 22:50:32 +08:00 |
|
|
|
bdf937086f
|
refactor(training): 简化 LightGBM 模型参数处理
- 重构 LightGBM 和 LambdaRank 模型,移除参数提取逻辑
- 模型类只保留 params 属性,符合 LightGBM 设计规范
|
2026-03-14 02:41:24 +08:00 |
|
|
|
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 |
|
|
|
5b4db7a2c2
|
docs: 全面更新 AGENTS.md 文档
|
2026-03-12 23:01:29 +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 |
|
|
|
f1811815e7
|
fix(factors): 修复 ts_corr/ts_cov 实现并添加 abs 函数支持
- 修复 ts_corr 和 ts_cov 使用 pl.rolling_corr/pl.rolling_cov 模块级函数
- 添加 abs 函数处理器到 translator
- 扩展 notebook 中的因子定义(24 -> 49 个)
- 更新 AGENTS.md 文档结构和 Training 模块说明
|
2026-03-09 23:37:20 +08:00 |
|
|
|
88fa848b96
|
refactor(training): 重构股票池管理 API 并更新训练流程
- 移除 StockFilterConfig/MarketCapSelectorConfig,改用 StockPoolManager + filter_func
- Trainer 支持 train/val/test 三分法划分
- 更新 regression.ipynb 适配新 API
- 删除已弃用的 test_selectors.py,后续补充 StockPoolManager 测试
|
2026-03-09 22:33:41 +08:00 |
|
|
|
a464ef70c0
|
feat(data): 新增财务指标和涨跌停数据接口
- 财务指标: fina_indicator_vip 封装,166 字段,季度同步
- 涨跌停价格: stk_limit 封装,日频数据同步
- 配套单元测试和调度中心集成
|
2026-03-08 23:14:18 +08:00 |
|
|
|
505279c08b
|
fix(data): 修复财务因子计算非确定性问题
重构 financial_loader 的去重逻辑,确保截面排名计算的股票集合一致:
- 引入"高水位线"算法剔除陈旧历史财报(解决2026年发布2021年财报的问题)
- 改变去重策略:按报告期(end_date)而非更新标识(update_flag)保留最新数据
- 扩展回看期从1年到2年,防止ST/停牌公司财报缺失
- 确保相同交易日在不同查询范围下返回一致的财务数据
|
2026-03-08 20:58:35 +08:00 |
|
|
|
3c7795f630
|
feat: 新增多项技术指标和成交量因子定义
|
2026-03-08 14:12:03 +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 |
|
|
|
592126c376
|
feat(training): 实现 train/val/test 三分法并添加训练指标可视化
- DateSplitter 支持三分法划分,修复 test 数据泄露问题
- 添加训练指标曲线绘制和100轮早停
|
2026-03-08 01:09:47 +08:00 |
|
|
|
85044a74c6
|
refactor(financial-sync): 重构财务数据同步架构
- 新增 base_financial_sync.py 基础同步抽象类
- 重构 api_financial_sync.py 简化调度逻辑
- 重命名 IncomeSync 为 IncomeQuarterSync 继承新基础类
- 增强 storage.py 支持 use_upsert 参数
- 更新 __init__.py 导出符号
|
2026-03-08 00:30:04 +08:00 |
|
|
|
8b85a02003
|
feat: 添加 LightGBM 回归训练示例 Notebook
|
2026-03-06 20:57:27 +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 |
|
|
|
192718095f
|
feat(training): 实现训练模块核心组件(commits 6-9)
- StockPoolManager:每日独立筛选股票池,支持代码过滤和市值选择
- Trainer:整合训练完整流程,支持 processor 分阶段行为和模型持久化
- TrainingConfig:pydantic 配置管理,含必填字段和日期验证
- experiment 模块:预留结构
- 从计划中移除 metrics 组件
- 调整 commit 序号(7-10 → 6-9)
- 更新 training/__init__.py 导出所有公开 API
|
2026-03-03 22:57:01 +08:00 |
|