diff --git a/docs/superpowers/specs/2026-07-21-data-source-fusion-design.md b/docs/superpowers/specs/2026-07-21-data-source-fusion-design.md index 29a152f..ba0476a 100644 --- a/docs/superpowers/specs/2026-07-21-data-source-fusion-design.md +++ b/docs/superpowers/specs/2026-07-21-data-source-fusion-design.md @@ -1,7 +1,9 @@ # A 股多数据源融合层设计 -> 日期:2026-07-21 | 基于 brainstorming + 4 源全能力调查(akshare / baostock / miniQMT / csindex) -> 状态:设计草案,待用户评审 → writing-plans +> 日期:2026-07-21 创建 | 基于 brainstorming + 4 源全能力调查(akshare / baostock / miniQMT / csindex) +> **状态:活文档(唯一数据设计文档)** —— 2026-09-02 起用户钦定:本文件是数据架构唯一权威设计, +> 每次数据架构变更必须同批更新到最新状态;演进采用「日期节追加,新节覆盖旧节相关决策」模式。 +> 最后更新:2026-09-02(A 档截面数据域全量上生产,§15) --- @@ -292,6 +294,64 @@ baostock 单进程单登录,`DAILY_LIMIT=48000`,sleep 限速,login 探针 gracef ### 14.9 config 清理 VPS config 的 daily_dir/raw_dir/qfq_dir/minute_15_dir 改 `C:\sanguo_vnpy_v2\data\...`(当前 yaml 指 NAS /volume1,容器版遗留)。NAS config 保留作备份。read_parquet_daily 的 daily_dir 统一指向 qfq(消除 daily/ vs qfq/ 分叉)。 +## 15. 增补 2026-09-02:A 档截面数据域全量上生产(本节为最新,覆盖前文相关决策) + +> 背景:调研 [daily_stock_analysis](https://github.com/ZhuLinsen/daily_stock_analysis)(Gitea 镜像 `sanguo/daily_stock_analysis`) +> 的数据采集面,双机实验(Mac + VPS 生产 IP 49.232.102.198)后落地。四 commit +> db789d6→020d7cd→00cfd45→46a0569,CI#303 NAS 验证绿 + vps-deploy#304 绿,tag=46a0569。 + +### 15.1 架构红线:单脚本注册表,零新采集脚本(用户钦定) + +脚本按**数据源(栈)**分类恒定:akshare 栈唯一采集入口=`scripts/data_platform/akshare_static_download.py`, +baostock 栈=bs_* 系列,xtdata 栈=daily_update_xtdata,新浪指数=sina_index_eod。**新数据类型=注册表添行 ++一个 fetcher 函数+wrapper 加名字**,禁止每类型开新脚本。akshare 本身是聚合库(东财/新浪/同花顺都在内), +新浪/同花顺数据进 akshare 脚本=按栈分类,不算混源。 + +### 15.2 新数据域清单(全部落 data/static//,parquet+marker) + +| 数据域 | 类型 | 源/端点(集群) | 调度 | 行数 | 回补能力 | +|---|---|---|---|---|---| +| zt_pool 涨停池 | per-date | 东财 stock_zt_pool_em(push2ex) | ak-events 19:30 | ~83/日 | **30 交易日内可回补** | +| zt_pool_zbgc 炸板池 | per-date | 东财 zbgc_em(push2ex) | 同上 | ~6/日 | 同上 | +| zt_pool_dtgc 跌停池 | per-date | 东财 dtgc_em(push2ex) | 同上 | 0-2/日(空=当日真无跌停,写空+done) | 同上 | +| fund_flow_industry 行业资金流 | per-date 快照 | 新浪 stock_fund_flow_industry('即时') | 同上 | 90/日(净额/流入/流出/领涨股) | ❌无历史回补,洞即永久 | +| fund_flow_concept 概念资金流 | per-date 快照 | 新浪 fund_flow_concept | 同上 | ~387/日 | ❌ | +| ths_industry 行业榜 | per-date 快照 | 同花顺 board_industry_summary_ths | 同上 | 90×12列/日 | ❌ | +| ths_concept 概念名单 | per-date 快照 | 同花顺 board_concept_name_ths | 同上 | ~375/日 | ❌ | +| xueqiu_hot 雪球热度 | per-date 快照 | 雪球 stock_hot_follow_xq('最热门') | 同上 | ~5634/日 | ❌ | +| sina_sector 新浪行业 | per-date 快照 | 新浪 stock_sector_spot | 同上 | 49/日(ths_industry 对账源) | ❌ | +| hot_rank 东财人气榜 | per-date 快照 | 东财 stock_hot_rank_em(emappdata) | **fetcher 就位未挂载,待墙测量拍板** | ~100/日 | ❌ | +| gdhs 股东户数 | **per-period** | 东财 stock_zh_a_gdhs(datacenter) | **ak-weekly 周六** | ~5342/期 | marker 去重,无新期零网络 | + +- **ak-events 事件窗现状 13 类** = 上表前 9 + 原有 dragon_tiger/block_trade/margin_sse/restricted +- gdhs 形状特殊:`build_gdhs_units` 只枚举**距今>90 天的季度末**(披露守卫)——防未披露期拉空走「真空+done」 + 被 marker 锁死永不重拉;cyq 筹码判死后的筹码结构免费替代(策略侧共识) +- 快照族节假日拉到上一交易日态(端点无 date 参数无自日期列),接受重复,消费方按交易日历过滤 + +### 15.3 东财墙模型(实测,勿再踩) + +- **每 IP 每窗口(~30-60min)放 1 发**:push2 clist(行业/概念榜/资金流榜)、push2his(kline/cyq/个股资金流)、 + emappdata(人气榜)三集群同款;第二发必死、镜像(1./17./79.push2)共享、请求形状无关 + (dsa 的 efinance 四差异 http+IE11UA+无ut+fid=f12 全复刻也死)、失败重试不重置窗口 +- **datacenter 集群(三报表/gdhs/top_holders)独立健康**,不受 push2 惩罚波及;**push2ex(涨停池)独立稳定连打全绿** +- **cyq 筹码全市场=数学死**(5552×40min≈154 天);dsa 的答案是 tushare cyq_chips token 且免费档 15 次/天 +- **行业/概念榜+资金流的免费答案=换域**:同花顺(行业+概念榜)+新浪(资金流+行业)实测秒级零限流 + +### 15.4 语义与防线(全族统一) + +- 失败→返 None 不写不标保旧数据(次日重试);真空 df→写空+done;列名零清洗 akshare 原样落盘 +- **缺日防线**(static_vintage_check.py 09:00):panel_gap_check 每工作日应有 1 个 parquet(节假日空文件也算有); + 可回补族(zt_pool×3)洞≤42 日历日→告警+回补指引;快照族洞即永久→近窗洞告警查日志、旧洞只入 json 不刷告警 +- **vintage_status.json 的 panel 块**=策略守卫层消费契约:`panel.={n_files,first_date,holes_backfillable,holes_permanent}` + +### 15.5 消费契约(与策略 session 09-02 对齐) + +- **炸板率 = 炸板池行数/(涨停池+炸板池行数)**:涨停池=收盘仍封(「炸板次数」>0 行=炸过又回封),炸板池=触板未封, + 并集≈当日触板全集,分母无遗漏 +- 涨停池 16 列:封板资金/首次封板时间/最后封板时间/炸板次数/涨停统计/连板数/**所属行业**( + =免费当日热点行业分布信号,涨停行业集中度原料)/换手率/市值等 +- 温度计三支柱=涨跌停(hot_rank 待批)+雪球;情绪周期/打板/行业轮动因子原料自 2026-08 起逐日积累 + ## 参考(调查来源) - xtdata 官方:https://dict.thinktrader.net/nativeApi/xtdata.html