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添加架构变更历史
This commit is contained in:
2026-02-23 16:23:53 +08:00
parent 9f95be56a0
commit 593ec99466
32 changed files with 4181 additions and 1395 deletions

View File

@@ -250,4 +250,99 @@ df = pro.query('daily_basic', ts_code='', trade_date='20180726',fields='ts_code,
16 300718.SZ 20180726 17.6612 0.92 32.0239 3.8661
17 000708.SZ 20180726 0.5575 0.70 10.3674 1.0276
18 002626.SZ 20180726 0.6187 0.83 22.7580 4.2446
19 600816.SH 20180726 0.6745 0.65 11.0778 3.2214
19 600816.SH 20180726 0.6745 0.65 11.0778 3.2214
股票曾用名
接口namechange
描述:历史名称变更记录
输入参数
名称 类型 必选 描述
ts_code str N TS代码
start_date str N 公告开始日期
end_date str N 公告结束日期
输出参数
名称 类型 默认输出 描述
ts_code str Y TS代码
name str Y 证券名称
start_date str Y 开始日期
end_date str Y 结束日期
ann_date str Y 公告日期
change_reason str Y 变更原因
接口示例
pro = ts.pro_api()
df = pro.namechange(ts_code='600848.SH', fields='ts_code,name,start_date,end_date,change_reason')
数据样例
ts_code name start_date end_date change_reason
0 600848.SH 上海临港 20151118 None 改名
1 600848.SH 自仪股份 20070514 20151117 撤销ST
2 600848.SH ST自仪 20061026 20070513 完成股改
3 600848.SH SST自仪 20061009 20061025 未股改加S
4 600848.SH ST自仪 20010508 20061008 ST
5 600848.SH 自仪股份 19940324 20010507 其他
股票历史列表(历史每天股票列表)
接口bak_basic
描述获取备用基础列表数据从2016年开始
限量单次最大7000条可以根据日期参数循环获取历史正式权限需要5000积分。
输入参数
名称 类型 必选 描述
trade_date str N 交易日期
ts_code str N 股票代码
输出参数
名称 类型 默认显示 描述
trade_date str Y 交易日期
ts_code str Y TS股票代码
name str Y 股票名称
industry str Y 行业
area str Y 地域
pe float Y 市盈率(动)
float_share float Y 流通股本(亿)
total_share float Y 总股本(亿)
total_assets float Y 总资产(亿)
liquid_assets float Y 流动资产(亿)
fixed_assets float Y 固定资产(亿)
reserved float Y 公积金
reserved_pershare float Y 每股公积金
eps float Y 每股收益
bvps float Y 每股净资产
pb float Y 市净率
list_date str Y 上市日期
undp float Y 未分配利润
per_undp float Y 每股未分配利润
rev_yoy float Y 收入同比(%
profit_yoy float Y 利润同比(%
gpr float Y 毛利率(%
npr float Y 净利润率(%
holder_num int Y 股东人数
接口示例
pro = ts.pro_api()
df = pro.bak_basic(trade_date='20211012', fields='trade_date,ts_code,name,industry,pe')
数据样例
trade_date ts_code name industry pe
0 20211012 300605.SZ 恒锋信息 软件服务 56.4400
1 20211012 301017.SZ 漱玉平民 医药商业 58.7600
2 20211012 300755.SZ 华致酒行 其他商业 23.0000
3 20211012 300255.SZ 常山药业 生物制药 24.9900
4 20211012 688378.SH 奥来德 专用机械 24.9600
... ... ... ... ... ...
4529 20211012 688257.SH 新锐股份 机械基件 0.0000
4530 20211012 688255.SH 凯尔达 机械基件 0.0000
4531 20211012 688211.SH 中科微至 专用机械 0.0000
4532 20211012 605567.SH 春雪食品 食品 0.0000
4533 20211012 605566.SH 福莱蒽特 染料涂料 0.0000