|
|
aefe6d06cf
|
refactor(sync): 引入 SyncRegistry 注册表模式管理同步任务
- 新增 sync_registry.py 模块,提供统一的同步任务注册和管理机制
- 在 api_wrappers/__init__.py 中实现自动注册逻辑,新增接口无需修改 sync.py
- 重构 sync_all_data() 函数,使用注册表模式替代手动罗列,代码从 400+ 行精简至 293 行
- 新增 selected 参数,支持选择性执行特定同步任务
- 新增 list_sync_tasks() 函数,方便查看所有已注册任务
|
2026-03-05 21:11:18 +08:00 |
|
|
|
3b42093100
|
feat(data): 财务数据加载与清洗模块
新增 FinancialLoader 类,提供:
- 财务数据加载与清洗(保留合并报表,按 update_flag 去重)
- 支持 as-of join 拼接行情数据(无未来函数)
- 自动识别财务表并配置 asof_backward 拼接模式
|
2026-03-04 23:35:20 +08:00 |
|
|
|
620696c842
|
refactor: rename src/data/data_router.py to catalog.py
|
2026-03-04 22:09:53 +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 导入
|
2026-03-03 22:04:22 +08:00 |
|
|
|
53225b9443
|
feat(data): 添加每日指标接口并优化因子引擎
- 新增 api_daily_basic.py 封装 Tushare 每日指标接口
- 因子引擎移除 lookback_days,支持 daily_basic 表字段路由
- 将每日指标纳入自动同步流程
- 删除废弃的 training/main.py
|
2026-03-03 17:09:39 +08:00 |
|
|
|
e8158a8d59
|
fix(api_pro_bar): 使用 Tushare 原始字段名
删除 turnover_rate/volume_ratio 到 tor/vr 的不必要重命名,
直接使用 Tushare API 返回的原始字段名。
|
2026-03-02 01:05:15 +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 行为准则
|
2026-03-01 01:24:39 +08:00 |
|
|
|
484bcd0ab7
|
refactor: 提取数据同步逻辑为抽象基类
新增 base_sync.py 模块,提供三层抽象结构统一数据同步流程:
- BaseDataSync: 所有同步类型的基础抽象(客户端、股票代码获取、交易日历)
- StockBasedSync: 按股票同步抽象类(适用于 daily, pro_bar)
- DateBasedSync: 按日期同步抽象类(适用于 bak_basic)
|
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: 数据路由功能
- 新增相关测试用例
|
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等)
|
2026-02-27 22:22:23 +08:00 |
|
|
|
a9e4746239
|
refactor: 代码审查修复 - 日期过滤、性能优化、数据泄露防护
- 修复 data_loader.py 财务数据日期过滤,支持按范围加载
- 优化 MADClipper 使用窗口函数替代 join,提升性能
- 修复训练日期边界问题,添加1天间隔避免数据泄露
- 新增 .gitignore 规则忽略训练输出目录
|
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添加架构变更历史
|
2026-02-23 16:23:53 +08:00 |
|
|
|
e58b39970c
|
feat: HDF5迁移至DuckDB存储
- 新增DuckDB Storage与ThreadSafeStorage实现
- 新增db_manager模块支持增量同步策略
- DataLoader与Sync模块适配DuckDB
- 补充迁移相关文档与测试
- 修复README文档链接
|
2026-02-23 00:07:21 +08:00 |
|
|
|
9965ce5706
|
refactor: 重构 API 接口模块,整合为 api_wrappers 目录结构
- 将独立 API 模块 (daily, stock_basic, trade_cal) 整合至 api_wrappers/
- 重写 sync.py 使用新的 wrapper 结构,支持更多同步功能
- 更新测试文件适配新的模块结构
- 添加 pytest.ini 配置文件
|
2026-02-21 03:43:30 +08:00 |
|
|
|
8fc88b60e3
|
docs: 添加 Tushare API 接口规范文档
|
2026-02-01 23:50:03 +08:00 |
|
|
|
05228ce9de
|
refactor: 调整项目结构,新增数据同步和交易日历模块
- 移除 pyproject.toml,改用 uv 管理项目
- 新增 data/* 忽略规则
- 新增数据同步模块 sync.py
- 新增交易日历模块 trade_cal.py
- 新增相关测试用例
- 更新 API 文档
|
2026-02-01 04:44:01 +08:00 |
|
|
|
ec08a2578c
|
refactor: 清理代码日志、重构速率限制器、切换存储方案
- 移除 client.py 和 daily.py 中的调试日志
- 重构 rate_limiter 支持无限超时和更精确的令牌获取
- 变更 stock_basic 存储方案 HDF5 → CSV
- 更新项目规则:强制使用 uv、禁止读取 config/ 目录
- 新增数据同步模块 sync.py 和测试
- .gitignore 添加 !data/ 允许跟踪数据文件
|
2026-02-01 02:29:54 +08:00 |
|
|
|
38e78a5326
|
feat: 新增股票基础数据获取模块 stock_basic
- 新增 get_stock_basic 和 sync_all_stocks 函数
- 完善 Tushare 数据获取模块体系
- 测试用例重构:从 Mock 改为真实 API 调用
- 更新 API 文档,添加接口使用示例
- 更新开发规范:添加 Mock 使用规范
|
2026-01-31 04:30:29 +08:00 |
|
|
|
e625a53162
|
feat: 初始化 ProStock 项目基础结构和配置
- 添加项目规则文档(开发规范、安全规则、配置管理)
- 实现数据模块核心功能(API 客户端、限流器、存储管理、配置加载)
- 添加 .gitignore 和 .kilocodeignore 配置
- 配置环境变量模板
- 编写 daily 模块单元测试
|
2026-01-31 03:04:51 +08:00 |
|