-
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