Commit Graph

  • 161b7cc690 fix(factors/engine): 修复 DataRouter 缓存 key 缺少 columns 导致的缓存污染 main trading liaozhaorun 2026-04-06 00:19:15 +08:00
  • ad8ba8f6ec fix(training): 保留 test 集中标签为 NaN 的样本用于预测 liaozhaorun 2026-04-05 23:24:22 +08:00
  • 1fa4ff9544 feat(training): TabM 排序模型架构优化与 Rank-Gauss 标签工程 - TabMSetRank: 将 TabM 输出改为隐藏层特征,经 SetRankHead 交互后通过 final_mlp 输出 Ensemble 排序分 - SetRankHead 引入可学习残差缩放因子(Zero-init)与 Pre-Norm 结构,提升训练稳定性 - TabMRankTask 新增 Rank-Gauss 连续标签变换,支持标准分位数/指数增益/Rank-Gauss 三种标签模式 - 修复 NDCG 评估在负值标签下的计算问题 - 调整实验脚本超参数(dropout、hidden dim、weight decay)及排除因子列表 - 迁移废弃的 torch.cuda.amp 到 torch.amp,并将数据预加载至 GPU 减少循环拷贝 liaozhaorun 2026-04-05 19:01:08 +08:00
  • 598f6eefd8 chore(experiment): 注释掉 regression 实验脚本中的 max_bin 参数 liaozhaorun 2026-04-05 18:34:14 +08:00
  • 94d5d13bb1 feat(training): 新增 TabM SetRank 模型并支持任务注入 - 添加 TabMSetRankModel 实现集合排序训练 - TabMRankTask 支持通过 model_class 注入兼容模型 - 启用 common.py 中的流动性因子 liaozhaorun 2026-04-05 01:03:17 +08:00
  • a66d5e9db3 feat(training): 新增 TabM 排序学习模型支持并优化训练流程 - 新增 TabMRankModel、TabMRankTask 及配套损失函数与配置 - 将 DataQualityAnalyzer 从 experiment 迁移至 training 模块 - 调整数据处理器移除过度的 NaN/null 硬填充逻辑 - 优化 RankTask 评估指标使用分位数标签替代原始收益率 - 更新实验脚本处理器顺序与模型超参数配置 liaozhaorun 2026-04-04 22:39:58 +08:00
  • 9e7d4241c6 feat(data): 添加个股资金流向接口并重构速率限制配置 - 新增 moneyflow 资金流向数据同步模块 - 实现接口级速率限制配置(sync_config.py) - 更新流动性相关因子定义 - 添加非对称量化损失函数 liaozhaorun 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 等超参数 liaozhaorun 2026-04-01 00:20:05 +08:00
  • 36a3ccbcc8 feat(training): 新增 TabM 模型支持及数据质量优化 - 添加 TabMModel、TabPFNModel 深度学习模型实现 - 新增 DataQualityAnalyzer 进行训练前数据质量诊断 - 改进数据处理器 NaN/null 双重处理,增强数据鲁棒性 - 支持 train_skip_days 参数跳过训练初期数据不足期 - Pipeline 自动清理标签为 NaN 的样本 liaozhaorun 2026-03-31 23:11:21 +08:00
  • 9e0114c745 feat(training): 支持 Label 预处理器 - DataPipeline 新增 label_processor_configs 参数 - 分离特征与 label 的预处理流程 - regression.py 添加 label 缩尾处理配置 - 调整学习率并更新排除因子列表 liaozhaorun 2026-03-29 02:37:53 +08:00
  • c3d1b157e9 feat(factors): 新增筹码集中度相关因子并优化训练框架 liaozhaorun 2026-03-29 01:34:58 +08:00
  • d4e0e2a0b6 feat(data): 添加每日筹码及胜率数据接口 (cyq_perf) - 新增 api_cyq_perf 模块,支持筹码分布数据获取和同步 - 在 sync_registry 中注册 cyq_perf 同步器 liaozhaorun 2026-03-26 22:22:43 +08:00
  • 6730acbae1 feat(data): 添加每日筹码及胜率数据接口 (cyq_perf) - 新增 api_cyq_perf 模块,支持筹码分布数据获取和同步 - 在 sync_registry 中注册 cyq_perf 同步器 liaozhaorun 2026-03-26 00:15:30 +08:00
  • 3806b8021b refactor(training): 将旧版 Trainer 标记为废弃,推荐使用 TrainerV2 liaozhaorun 2026-03-24 23:39:46 +08:00
  • e41a128ca3 feat(training): 实现 Trainer 模块化重构 (Trainer V2) - 新增 FactorManager 组件:统一管理多种来源因子 - 新增 DataPipeline 组件:完整数据处理流程(注册、过滤、划分、预处理) - 新增 Task 策略组件:BaseTask 抽象基类、RegressionTask、RankTask - 新增 ResultAnalyzer 组件:特征重要性分析和结果组装 - 新增 TrainerV2:作为纯调度引擎协调各组件 - 支持回归和排序学习两种训练模式 - 采用组合模式解耦训练流程,消除代码重复 liaozhaorun 2026-03-24 23:35:31 +08:00
  • bace4cc5f4 feat(data): 为数据同步添加事务支持和同步日志 - Storage/ThreadSafeStorage 添加事务支持(begin/commit/rollback) - 新增 SyncLogManager 记录所有同步任务的执行状态 - 集成事务到 StockBasedSync、DateBasedSync、QuarterBasedSync - 在 sync_all 和 sync_financial 调度中心添加日志记录 - 新增测试验证事务和日志功能 liaozhaorun 2026-03-23 21:10:15 +08:00
  • 31b25074c3 test(debug): 添加因子回测一致性问题的调试测试套件 - 分析GTJA_alpha032等因子在不同LOOKBACK_DAYS下的差异来源 - 验证cs_rank嵌套和截面股票数量对结果的影响 - 测试ts_rank NaN处理和除法除零修复 liaozhaorun 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 liaozhaorun 2026-03-19 21:06:11 +08:00
  • 0a29506f45 feat(experiment): 新增因子排除机制并优化模型训练参数 - 添加 EXCLUDED_FACTORS 列表支持批量排除效果不佳的因子 - 修复 LightGBM 树结构冲突,调整正则化和采样策略防过拟合 - 调整数据处理器配置,关闭模型自动保存 liaozhaorun 2026-03-18 20:57:02 +08:00
  • 16f82d3458 feat(experiment): 添加模型保存功能及因子信息持久化 liaozhaorun 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 函数入口 liaozhaorun 2026-03-15 22:21:21 +08:00
  • 81e89f3796 feat(factors/engine): 添加性能分析器支持 debug 模式 - 新增 PerformanceProfiler 组件,与 FactorEngine 解耦 - 支持上下文管理器用法,安全计时处理异常 - 为 DataRouter/ComputeEngine/FactorEngine 添加 debug 参数 liaozhaorun 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 边界条件判断 liaozhaorun 2026-03-15 18:43:55 +08:00
  • f943cc98d0 feat(factors): 添加 cs_mean 函数并增强 max_/min_ 单参数支持 - 新增 cs_mean 截面均值函数,支持 GTJA Alpha127 等因子转换 - max_/min_ 支持单参数调用,默认使用 252 天(约 1 年)滚动窗口 liaozhaorun 2026-03-15 18:00:48 +08:00
  • c6ebab0e58 feat(factors): 添加时间序列函数及智能路由 - 新增 8 个国泰君安 191 兼容的时间序列函数:ts_sma, ts_wma, ts_decay_linear, ts_argmax, ts_argmin, ts_count, ts_prod, ts_sumac - max_/min_ 函数智能路由:正整数参数自动调用 ts_max/ts_min 实现滚动窗口逻辑 liaozhaorun 2026-03-15 13:05:55 +08:00
  • 0e9ea5d533 refactor(experiment): 提取共用配置到 common 模块 - 将因子定义、日期配置、股票池筛选等提取到 common.py - 重构 learn_to_rank 和 regression 脚本,统一使用公共配置 - 简化代码结构,消除重复定义 liaozhaorun 2026-03-15 05:46:19 +08:00
  • 6927d20de1 feat(training): LightGBM支持验证集早停 liaozhaorun 2026-03-14 22:51:24 +08:00
  • 5541373ded feat(probe-selection): 添加探针法因子筛选模块 liaozhaorun 2026-03-14 22:50:32 +08:00
  • bdf937086f refactor(training): 简化 LightGBM 模型参数处理 - 重构 LightGBM 和 LambdaRank 模型,移除参数提取逻辑 - 模型类只保留 params 属性,符合 LightGBM 设计规范 liaozhaorun 2026-03-14 02:41:24 +08:00
  • ecb22b826c fix(factor-engine): 修复多因子计算时数据规格字段合并的 bug - 修复 FactorEngine.compute() 中相同表的字段未正确合并的问题 - 将简单去重改为字段集合合并,确保所有因子依赖的字段都被获取 - 解决 high_low_ratio 等需要 high/low 字段的因子计算失败问题 liaozhaorun 2026-03-14 02:12:20 +08:00
  • ca27cb297a docs: 精简 README 文档结构 liaozhaorun 2026-03-14 01:59:45 +08:00
  • a22bc2d282 refactor(data): 移除 api_daily 模块并更新文档 liaozhaorun 2026-03-14 01:48:56 +08:00
  • 181994f063 perf(factors/engine): 重构计算引擎使用 Polars 原生并行 - 移除 Python 多进程/多线程池,消除 DataFrame 序列化开销 - 采用 BFS 分层执行策略,每层表达式通过单次 with_columns 提交 - 利用 Polars Rust 引擎实现零拷贝并行计算 - 添加死锁检测机制处理依赖环 liaozhaorun 2026-03-14 01:24:52 +08:00
  • 2034d60fbb fix(factors): 修复 AST 优化器并发命名冲突及逻辑运算支持 - 修复 ExpressionFlattener 跨实例临时名称冲突 - 添加 & 和 | 逻辑运算符的 DSL/Parser/Translator 支持 - 增加回归测试验证修复 liaozhaorun 2026-03-14 01:17:14 +08:00
  • c8808d07eb feat(factors): 实现 AST 拍平优化支持嵌套窗口函数 - 新增 ExpressionFlattener 类自动拆解嵌套窗口函数(如 cs_rank(ts_delay(close, 1))) - 支持因子引用其他因子:engine.register("fac2", cs_rank("fac1")) - 给 DependencyExtractor 增加 ignore_symbols 免疫名单,防止已注册因子被当作数据库字段 - 添加完整测试覆盖嵌套场景和数值一致性验证 liaozhaorun 2026-03-14 01:06:17 +08:00
  • 282fe1fef5 docs(AGENTS): 新增AI行为准则规范 - 添加代码存放位置规则,强制代码存放于 src/ 或 tests/ 目录 - 添加 Tests 目录代码运行规则,强制使用 pytest 运行测试代码 - 更新 learn_to_rank 实验代码:调整因子列表和处理器配置 - 修复 schema_cache 表结构缓存逻辑 liaozhaorun 2026-03-14 00:19:03 +08:00
  • 3f8ca2cebf feat(training): 添加数据质量检查工具并重构实验脚本 - 新增 check_data_quality 函数用于检测全空/全零/全NaN数据质量问题 - 重构 register_factors 函数,消除 FEATURE_COLS 和 PROCESSORS 冗余定义 - 修复实验脚本中特征列表不一致的问题,确保处理器覆盖所有特征 - 优化 LambdaRank 模型参数配置 liaozhaorun 2026-03-13 22:24:12 +08:00
  • 5b4db7a2c2 docs: 全面更新 AGENTS.md 文档 liaozhaorun 2026-03-12 23:01:29 +08:00
  • 4fe29b805f feat(scripts): 添加因子批量注册脚本 - 新增 register_factors.py,支持通过 name/desc/dsl 自动注册因子 - 自动生成 F_XXX 格式 factor_id - 默认保存到 src/experiment/data/factors.jsonl liaozhaorun 2026-03-12 22:39:01 +08:00
  • ced7a929c3 refactor(factors): 简化 add_factor API 并默认启用 metadata - 合并 add_factor_by_name 到 add_factor,支持三种调用方式 - FactorManager 构造函数改为可选参数,使用默认路径 - FactorEngine 默认启用 metadata,无需手动配置路径 liaozhaorun 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 测试文件 liaozhaorun 2026-03-11 22:54:52 +08:00
  • 038f5f1722 feat(factors): 实现因子元数据管理模块 - 新增 FactorManager 类,支持 JSONL 文件读写和 DuckDB SQL 查询 - 实现零拷贝输出 Polars DataFrame,与现有因子引擎无缝集成 - 添加字段校验器(FactorValidator)和完整的异常处理机制 - 包含 49 个示例因子数据(趋势、波动率、量价、基本面等类别) - 更新 src/factors/__init__.py 导出元数据管理组件 liaozhaorun 2026-03-11 22:03:16 +08:00
  • e8ac9d8662 feat(data): 添加 DuckDB 只读模式支持 - Storage 类默认使用 read_only=True 模式,允许多进程并发读取 - ThreadSafeStorage 自动使用 read_only=False 模式,用于数据同步写入 - catalog.query_duckdb_to_polars 函数使用只读连接 liaozhaorun 2026-03-11 21:33:08 +08:00
  • f3b3560d26 fix(factors/engine): 修复列选择时基础列重复的问题 liaozhaorun 2026-03-11 00:12:05 +08:00
  • e6c3a918c7 feat(training): 添加 LightGBM LambdaRank 排序学习功能 新增基于 LambdaRank 的排序学习模型,用于股票排序预测任务: - 实现 LightGBMLambdaRankModel 模型类,支持分位数标签转换 - 提供完整的训练流程和 NDCG 评估指标 - 添加实验 Notebook 演示排序学习全流程 liaozhaorun 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 模块说明 liaozhaorun 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 测试 liaozhaorun 2026-03-09 22:33:41 +08:00
  • a464ef70c0 feat(data): 新增财务指标和涨跌停数据接口 - 财务指标: fina_indicator_vip 封装,166 字段,季度同步 - 涨跌停价格: stk_limit 封装,日频数据同步 - 配套单元测试和调度中心集成 liaozhaorun 2026-03-08 23:14:18 +08:00
  • 505279c08b fix(data): 修复财务因子计算非确定性问题 重构 financial_loader 的去重逻辑,确保截面排名计算的股票集合一致: - 引入"高水位线"算法剔除陈旧历史财报(解决2026年发布2021年财报的问题) - 改变去重策略:按报告期(end_date)而非更新标识(update_flag)保留最新数据 - 扩展回看期从1年到2年,防止ST/停牌公司财报缺失 - 确保相同交易日在不同查询范围下返回一致的财务数据 liaozhaorun 2026-03-08 20:58:35 +08:00
  • 3c7795f630 feat: 新增多项技术指标和成交量因子定义 liaozhaorun 2026-03-08 14:12:03 +08:00
  • 36e0e4b234 feat(training): 新增财务数据因子并修复多表 join 冲突 - 添加 9 个财务数据因子(利润表/资产负债表/现金流量表) - 修复多表 asof join 时 f_ann_date_right 列名重复错误 - 将 Top5 改为可配置的 TopN 参数 - 删除已弃用的 regression.py 脚本 liaozhaorun 2026-03-08 11:46:30 +08:00
  • eb76cbbd52 feat(financial): 实现资产负债表和现金流量表同步接口 - 新增 BalanceQuarterSync 类,封装 balancesheet_vip 接口(157个字段) - 新增 CashflowQuarterSync 类,封装 cashflow_vip 接口(95个字段) - 在财务数据调度中心注册资产负债表和现金流量表 - 更新规范文档,标记接口为已实现 liaozhaorun 2026-03-08 10:57:39 +08:00
  • 0aec87281e docs: 完善财务数据 API 规范文档 liaozhaorun 2026-03-08 01:16:25 +08:00
  • 592126c376 feat(training): 实现 train/val/test 三分法并添加训练指标可视化 - DateSplitter 支持三分法划分,修复 test 数据泄露问题 - 添加训练指标曲线绘制和100轮早停 liaozhaorun 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 导出符号 liaozhaorun 2026-03-08 00:30:04 +08:00
  • c01bf76a3d docs: 添加财务数据同步模块重构相关文档 liaozhaorun 2026-03-07 22:14:04 +08:00
  • 1520c2a51e feat(factors): 新增 Phase 1-2 数学和统计因子函数 - 新增 atan, log1p 数学函数 - 新增 ts_var, ts_skew, ts_kurt, ts_pct_change, ts_ema 统计函数 - 新增 ts_atr, ts_rsi, ts_obv TA-Lib 技术指标函数 - 新增完整集成测试覆盖所有新函数 liaozhaorun 2026-03-07 01:03:49 +08:00
  • 62a4635a71 feat: 新增因子装饰器系统和完整因子文档 - 添加因子表达式文档,收录180+个因子及数学表达式 - 添加因子实现分析报告,明确ts_*与cs_*算子分类 - 实现装饰器系统:@time_series/@cross_section/@element_wise - 优化API和翻译器以支持新架构 liaozhaorun 2026-03-06 23:59:39 +08:00
  • 8b85a02003 feat: 添加 LightGBM 回归训练示例 Notebook liaozhaorun 2026-03-06 20:57:27 +08:00
  • 555cb00276 fix: 修正回归训练中的未来收益率计算公式 - 修复 Label 公式从过去收益率改为未来收益率 liaozhaorun 2026-03-06 20:56:24 +08:00
  • 7b935b0fa3 feat(training): 添加缺失值填充处理器 NullFiller liaozhaorun 2026-03-05 21:57:34 +08:00
  • aefe6d06cf refactor(sync): 引入 SyncRegistry 注册表模式管理同步任务 - 新增 sync_registry.py 模块,提供统一的同步任务注册和管理机制 - 在 api_wrappers/__init__.py 中实现自动注册逻辑,新增接口无需修改 sync.py - 重构 sync_all_data() 函数,使用注册表模式替代手动罗列,代码从 400+ 行精简至 293 行 - 新增 selected 参数,支持选择性执行特定同步任务 - 新增 list_sync_tasks() 函数,方便查看所有已注册任务 liaozhaorun 2026-03-05 21:11:18 +08:00
  • 5a1f278df8 refactor: 优化回归实验配置和模型参数 - 将因子定义、模型参数、日期配置提取为模块级常量 - 优化 LightGBM 参数(降低过拟合风险) - LightGBMModel 支持 params 字典参数传入 - 修复 StockFilter 创业板排除逻辑(支持 301xxx) - 添加 experiment/output 到 .gitignore liaozhaorun 2026-03-05 00:38:20 +08:00
  • 3b42093100 feat(data): 财务数据加载与清洗模块 新增 FinancialLoader 类,提供: - 财务数据加载与清洗(保留合并报表,按 update_flag 去重) - 支持 as-of join 拼接行情数据(无未来函数) - 自动识别财务表并配置 asof_backward 拼接模式 liaozhaorun 2026-03-04 23:35:20 +08:00
  • 620696c842 refactor: rename src/data/data_router.py to catalog.py liaozhaorun 2026-03-04 22:09:53 +08:00
  • af5c96cd53 feat(training): 添加数据过滤器支持及 ST 股票过滤 - 新增 filters.py 模块,实现 BaseFilter 抽象类和 STFilter 过滤器 - 在 Trainer 中支持 filters 参数,可在股票池筛选之前执行数据过滤 - 更新 training/__init__.py 导出 BaseFilter 和 STFilter - 在 regression.py 中集成 STFilter,用于过滤 ST 股票 liaozhaorun 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/ 目录存放实验输出结果 liaozhaorun 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 liaozhaorun 2026-03-03 22:57:01 +08:00
  • f35a6a76a6 feat(training): 实现 LightGBM 模型 - 新增 LightGBMModel:LightGBM 回归模型实现 - 支持自定义参数(objective, num_leaves, learning_rate, n_estimators 等) - 使用 LightGBM 原生格式保存/加载模型(不依赖 pickle) - 支持特征重要性提取 - 已注册到 ModelRegistry(@register_model("lightgbm")) liaozhaorun 2026-03-03 22:30:37 +08:00
  • 9ca1deae56 feat(training): 实现数据处理器 - 新增 StandardScaler:全局标准化,训练集学习参数,测试集复用 - 新增 CrossSectionalStandardScaler:截面标准化,每天独立计算 - 新增 Winsorizer:支持全局/截面两种缩尾模式 - 处理器统一遵循 fit/transform 接口,Trainer 可无差别调用 - 添加 17 个单元测试覆盖各种场景 liaozhaorun 2026-03-03 22:23:43 +08:00
  • 6b63c428d9 feat(training): 实现股票池选择器配置 - 新增 StockFilterConfig:支持按代码前缀过滤创业板/科创板/北交所 - 新增 MarketCapSelectorConfig:配置市值选择参数(数量、排序、列名) - 添加参数验证(n>0, 列名非空) - 在 components 模块导出配置类 - 添加 15 个单元测试覆盖各种场景 liaozhaorun 2026-03-03 22:10:36 +08:00
  • f48b307ad2 feat(training): 实现 DateSplitter 数据划分器 - 新增 DateSplitter 类,支持基于日期范围的一次性训练/测试划分 - 实现日期格式验证和日期范围逻辑检查 - 支持自定义日期列名参数 - 添加完整的单元测试(12个测试用例) - 在 components 模块导出 DateSplitter liaozhaorun 2026-03-03 22:07:45 +08:00
  • 317ecd87e7 feat(data): 封装ST股票列表接口(stock_st) - 新增 api_stock_st.py,实现ST股票数据获取和日期遍历同步 - 更新 sync.py,将ST股票同步加入第7步流程 - 移除 base_sync.py 中未使用的 get_last_n_trading_days 导入 liaozhaorun 2026-03-03 22:04:22 +08:00
  • 472b2b665a feat(training): 添加训练模块基础架构 liaozhaorun 2026-03-03 21:55:39 +08:00
  • 12ddb19b2e feat(factors): 添加 SchemaCache 实现数据库表结构自动扫描 liaozhaorun 2026-03-03 17:32:58 +08:00
  • 53225b9443 feat(data): 添加每日指标接口并优化因子引擎 - 新增 api_daily_basic.py 封装 Tushare 每日指标接口 - 因子引擎移除 lookback_days,支持 daily_basic 表字段路由 - 将每日指标纳入自动同步流程 - 删除废弃的 training/main.py liaozhaorun 2026-03-03 17:09:39 +08:00
  • 780284af7f feat(test): 添加两支股票因子字符串计算测试 测试基于 Formula Parser + DSL 的字符串因子表达式计算, 包含 return_5、ma5、ma10 等因子及截面排名验证 liaozhaorun 2026-03-03 00:15:16 +08:00
  • 05d0c90312 feat(factors): 新增公式解析基础组件 新增公式解析相关模块,支持将字符串表达式解析为 DSL 节点树: - exceptions.py: 定义公式解析异常体系 - FormulaParseError 基类,提供位置指示的错误信息 - UnknownFunctionError 支持模糊匹配建议 - InvalidSyntaxError、EmptyExpressionError 等具体异常 - parser.py: 基于 Python ast 的公式解析器 - 支持符号引用、数值常量、二元/一元运算 - 支持函数调用和比较运算 - 常量折叠优化 - registry.py: 函数注册表 - 支持动态注册和查询公式函数 - 提供可用函数列表和重复注册检查 liaozhaorun 2026-03-03 00:04:48 +08:00
  • 77e4e94e05 refactor(factors): 拆分 engine.py 为模块化包 将单文件 engine.py (1064行) 拆分为 engine/ 包: - 数据规格、路由器、计划器、计算引擎、因子引擎分离 - 保持向后兼容,API 无变化 liaozhaorun 2026-03-02 22:29:18 +08:00
  • 1c0c4a0de1 fix(factors): 修复 cs_rank 等截面函数在依赖表达式时输出全 null 的问题 liaozhaorun 2026-03-02 22:21:43 +08:00
  • 9b826c1845 feat(factors): 基础行情字段默认从 pro_bar 表获取 - 修改 Symbol 名称与数据库字段对齐:volume->vol, pct_change->pct_chg - 修改 ExecutionPlanner._infer_data_specs,将基础行情字段路由到 pro_bar 表 - 支持的基础字段:open, high, low, close, vol, amount, pre_close, change, pct_chg 等 liaozhaorun 2026-03-02 20:59:36 +08:00
  • 1a6fc2eeba feat(engine): 实现 DataRouter 数据库连接功能 liaozhaorun 2026-03-02 20:47:01 +08:00
  • e8158a8d59 fix(api_pro_bar): 使用 Tushare 原始字段名 删除 turnover_rate/volume_ratio 到 tor/vr 的不必要重命名, 直接使用 Tushare API 返回的原始字段名。 liaozhaorun 2026-03-02 01:05:15 +08:00
  • b461a4940d refactor(factor): 完成因子框架 DSL 化重构 - 重构 FactorEngine 实现完整的 DSL 表达式执行链路 - 新增 DataRouter 数据路由器,支持内存模式和核心宽表组装 - 新增 ExecutionPlanner 执行计划生成器,整合编译器和翻译器 - 新增 ComputeEngine 计算引擎,支持并行运算 - 完善 factors/__init__.py 公开 API 导出 - 新增 test_factor_engine.py 引擎单元测试 - 移除旧引擎实现和废弃的 DSL promotion 测试 - 更新 AGENTS.md 添加 v2.2 架构变更历史和 Factors 框架设计说明 liaozhaorun 2026-03-01 15:03:56 +08:00
  • 84479ee9ff refactor: 将表结构定义从 storage 迁移到各 API 文件 - 移除 storage.py 集中式建表逻辑,改为各 API 文件自管理 - base_sync.py 新增 ensure_table_exists() 和表探测机制 - api_daily/api_pro_bar/api_bak_basic 添加 TABLE_SCHEMA 定义 - api_financial_sync 添加完整利润表字段定义 - sync.py 更新职责文档,明确仅同步每日更新数据 - AGENTS.md 添加 v2.1 架构变更历史和 AI 行为准则 liaozhaorun 2026-03-01 01:24:39 +08:00
  • 484bcd0ab7 refactor: 提取数据同步逻辑为抽象基类 新增 base_sync.py 模块,提供三层抽象结构统一数据同步流程: - BaseDataSync: 所有同步类型的基础抽象(客户端、股票代码获取、交易日历) - StockBasedSync: 按股票同步抽象类(适用于 daily, pro_bar) - DateBasedSync: 按日期同步抽象类(适用于 bak_basic) liaozhaorun 2026-02-27 23:34:12 +08:00
  • 0698b9d919 feat: 添加DSL因子表达式系统和Pro Bar API封装 - 新增 factors/dsl.py: 纯Python DSL表达式层,通过运算符重载实现因子组合 - 新增 factors/api.py: 提供常用因子符号(close/open/high/low)和时序函数(ts_mean/ts_std/cs_rank等) - 新增 factors/compiler.py: 因子编译器 - 新增 factors/translator.py: DSL表达式翻译器 - 新增 data/api_wrappers/api_pro_bar.py: Tushare Pro Bar API封装,支持后复权行情数据 - 新增 data/data_router.py: 数据路由功能 - 新增相关测试用例 liaozhaorun 2026-02-27 22:43:45 +08:00
  • a56433e440 refactor(factor): 完全重构因子计算框架 - 引入DSL表达式系统 - 删除旧因子框架:移除 base.py、composite.py、data_loader.py、data_spec.py 及所有子模块(momentum、financial、quality、sentiment等) - 新增DSL表达式系统:实现 factor DSL 编译器和翻译器 - dsl.py: 领域特定语言定义 - compiler.py: AST编译与优化 - translator.py: Polars表达式翻译 - api.py: 统一API接口 - 新增数据路由层:data_router.py 实现字段到表的动态路由 - 新增API封装:api_pro_bar.py 提供pro_bar数据接口 - 更新执行引擎:engine.py 适配新的DSL架构 - 重构测试体系:删除旧测试,新增 test_dsl_promotion.py、 test_factor_integration.py、test_pro_bar.py - 清理文档:删除8个过时文档(factor_design、db_sync_guide等) liaozhaorun 2026-02-27 22:22:23 +08:00
  • c3c20ed7ea refactor(factor): 计划重构factor模块 liaozhaorun 2026-02-26 20:38:26 +08:00
  • 51578e9af8 refactor(factor): 计划重构factor模块 liaozhaorun 2026-02-26 20:23:25 +08:00
  • 990a77ec6c refactor(training): 重构训练管道,支持灵活因子配置 - 添加 FactorConfig 类,支持链式 API 和动态因子列表 - 重构 prepare_data 使用 FactorEngine 计算因子,确保防泄露机制生效 - 新增 prepare_data_and_train / train_and_predict 分步执行接口 - 修复 factors/__init__.py docstring 语法错误 liaozhaorun 2026-02-25 23:39:02 +08:00
  • a9e4746239 refactor: 代码审查修复 - 日期过滤、性能优化、数据泄露防护 - 修复 data_loader.py 财务数据日期过滤,支持按范围加载 - 优化 MADClipper 使用窗口函数替代 join,提升性能 - 修复训练日期边界问题,添加1天间隔避免数据泄露 - 新增 .gitignore 规则忽略训练输出目录 liaozhaorun 2026-02-25 21:11:19 +08:00
  • 593ec99466 refactor: 存储层迁移DuckDB + 模块重构 - 存储层重构: HDF5 → DuckDB(UPSERT模式、线程安全存储) - Sync类迁移: DataSync从sync.py迁移到api_daily.py(职责分离) - 模型模块重构: src/models → src/pipeline(更清晰的命名) - 新增因子模块: factors/momentum (MA、收益率排名)、factors/financial - 新增API接口: api_namechange、api_bak_basic - 新增训练入口: training模块(main.py、pipeline配置) - 工具函数统一: get_today_date等移至utils.py - 文档更新: AGENTS.md添加架构变更历史 liaozhaorun 2026-02-23 16:23:53 +08:00
  • 9f95be56a0 feat(models): 实现机器学习模型训练框架 - 添加核心抽象:Processor、Model、Splitter、Metric 基类 - 实现阶段感知机制(TRAIN/TEST/ALL),防止数据泄露 - 内置 8 个数据处理器和 3 种时序划分策略 - 支持 LightGBM、CatBoost 模型 - PluginRegistry 装饰器注册,插件式架构 - 22 个单元测试 liaozhaorun 2026-02-23 01:37:34 +08:00
  • e58b39970c feat: HDF5迁移至DuckDB存储 - 新增DuckDB Storage与ThreadSafeStorage实现 - 新增db_manager模块支持增量同步策略 - DataLoader与Sync模块适配DuckDB - 补充迁移相关文档与测试 - 修复README文档链接 liaozhaorun 2026-02-23 00:07:21 +08:00
  • 0a16129548 feat(factors): 添加因子计算框架 - 新增因子基类 (BaseFactor, CrossSectionalFactor, TimeSeriesFactor) - 新增数据规格和上下文类 (DataSpec, FactorContext, FactorData) - 新增数据加载器 (DataLoader) 和执行引擎 (FactorEngine) - 新增组合因子支持 (CompositeFactor, ScalarFactor) - 添加因子模块完整测试用例 - 添加 Git 提交规范文档 liaozhaorun 2026-02-22 14:41:32 +08:00
  • 9965ce5706 refactor: 重构 API 接口模块,整合为 api_wrappers 目录结构 - 将独立 API 模块 (daily, stock_basic, trade_cal) 整合至 api_wrappers/ - 重写 sync.py 使用新的 wrapper 结构,支持更多同步功能 - 更新测试文件适配新的模块结构 - 添加 pytest.ini 配置文件 liaozhaorun 2026-02-21 03:43:30 +08:00
  • e81d39ae0d chore: 添加 .opencode 到 gitignore liaozhaorun 2026-02-01 23:50:17 +08:00
  • 8fc88b60e3 docs: 添加 Tushare API 接口规范文档 liaozhaorun 2026-02-01 23:50:03 +08:00
  • 05228ce9de refactor: 调整项目结构,新增数据同步和交易日历模块 liaozhaorun 2026-02-01 04:44:01 +08:00