docs(spec): 新增§19财务数据域(财务136)设计——双层dmsk/f10架构+11发实测契约+corpus六修正全带入 [nas]
This commit is contained in:
@@ -705,6 +705,85 @@ T6 剩余=多日累积后验收 1-4(5 股抽查/600519 2001 起/news 硬顶/PDF
|
||||
目录日初清(274 绿)。教训: **增量型 marker 必须带日期维度,且要在「首个完整周期结束
|
||||
前」推演第二天行为**——同日幂等测试全绿掩盖了跨日语义。
|
||||
|
||||
## 19. 增补 2026-09-07:财务数据域(财务136,东财超集)——NAS 域(本节为最新,覆盖前文相关决策)
|
||||
|
||||
### 19.0 背景与目标
|
||||
|
||||
factor session goal「完成财务136,部署在nas上,并验证成功」(用户 2026-09-07 设),数据层
|
||||
归数据 session 实施。**「财务136」=聚宽 finance 口径参照(JQ 三报表+估值 ≈348 字段),实际
|
||||
落东财超集**:balance 319 列/income 203 列/cashflow 254 列(含间接法补充资料)/
|
||||
financial_abstract 105 列/forecast/express/valuation 日频 13 列——09-06 三摸底实测为据
|
||||
(报告 `docs/fundamental_corpus_probes_20260906.md` ①节)。**全 NAS 自采零 VPS**(与 §18
|
||||
同哲学;VPS 存量 parquet 仅验证期只读对照,不构成搬运),全 A 口径复用 corpus 股池
|
||||
(巨潮 szse_stock.json 6168 含退市)。
|
||||
|
||||
### 19.1 接口契约(2026-09-07 夜 11 发实测,直连单线程)
|
||||
|
||||
| 域 | 接口 | 形态 | 实测要点 |
|
||||
|---|---|---|---|
|
||||
| 三报表·宽层 dmsk | datacenter `RPT_DMSK_FN_{BALANCE,INCOME,CASHFLOW}` `filter=(REPORT_DATE='单期')` | **全市场单期**,pageSize500≈12页/期 | 2026-06-30≈5223行;2009年报2520行(akshare docstring「2010起」已过时);**仅57列**(核心科目+ratio+NOTICE_DATE);含彼时在市后退市股 |
|
||||
| 三报表·富层 f10 | emweb `zcfzbAjaxNew` 等 PC_HSF10 | 按股全史,`dates=` 每发**服务端硬顶5期** | 600519 319列×103期(1998起);000002 116期(1992起);**dates传20/103期都只返5期**;老退市股(000003,2002退)F10空 |
|
||||
| valuation | datacenter `RPT_VALUEANALYSIS_DET` | 按股全史1发(~2110行/22列)+**全市场单日快照可行**(`TRADE_DATE='日'`≈5556行) | 回补按股6168发最优;增量日快照12发/日最优 |
|
||||
| abstract | 新浪 `CompanyFinanceService.getFinanceReport2022` | 按股1发全史(105列宽表,回溯1998) | VPS 同接口已验证可用;新浪单源风险(备用=同花顺接口,不阻塞) |
|
||||
| forecast/express | datacenter 按期全市场(`ak.stock_yjyg_em`/`stock_yjkb_em` 契约) | 单期全市场 | VPS ak-quarter 同源在采,契约现成 |
|
||||
|
||||
**量级结论**: 纯 f10 全量≈6168股×~34发≈21万发≈2-3 周采集带;dmsk 全期(2009→今
|
||||
~66期×3表)≈2200发≈1.5h。**双层架构**:dmsk=快而全的覆盖底座(含退市股+NOTICE_DATE
|
||||
新鲜度),f10=聚宽 136 对齐的富列层(f10 期序天然新→旧,首周即近年可用)。
|
||||
|
||||
### 19.2 存储布局(`/volume1/stock/fundamentals/`)
|
||||
|
||||
```
|
||||
dmsk/{balance,income,cashflow}/dt=<REPORT_DATE>/part-*.parquet # 57列全市场按期
|
||||
f10/{balance,income,cashflow}/<code>.parquet # 319/203/254列按股全史快照
|
||||
valuation/<code>.parquet # 按股全史(回补产物,22列原样)
|
||||
valuation_dt/dt=<TRADE_DATE>/part-*.parquet # 日快照(增量层,22列原样)
|
||||
abstract/<code>.parquet # 105列按股
|
||||
forecast/dt=<REPORT_DATE>/part-*.parquet # 按期全市场
|
||||
express/dt=<REPORT_DATE>/part-*.parquet
|
||||
state/markers/{lane}/{stage}/… state/ids_*.parquet state/depth_summary.json
|
||||
```
|
||||
|
||||
列策略=东财/新浪原样全列直存不裁剪(「存多多益善」)。行键:dmsk=(SECURITY_CODE,
|
||||
REPORT_DATE)去重;f10/valuation/abstract 按股文件=最后写入胜(整股重拉语义,拉取失败
|
||||
不覆盖好数据——ak-quarter 事故铁律);valuation_dt=(SECURITY_CODE,TRADE_DATE);
|
||||
forecast/express=(SECURITY_CODE,REPORT_DATE)。
|
||||
|
||||
### 19.3 采集节律(单脚本 `fundamentals_download.py`,corpus 同骨架)
|
||||
|
||||
**daily lane(--until 11:30)**: ①dmsk 近 3 期重扫(NOTICE_DATE>=T-7 增量行,季报月窗自然
|
||||
加密)②valuation 日快照(昨日 TRADE_DATE,~12发)③forecast/express 近 3 期④受新披露影响
|
||||
股 f10 补拉(dates=最近5期,日常 0-50 股/日,季报峰 ~500)。**backfill lane(--until 17:30)**:
|
||||
①dmsk 全期(2009→今先,更早实施首日探边界)②f10 按股全史(期序新→旧天然)③valuation
|
||||
按股全史④abstract 按股⑤forecast/express 全期。退出码/flock 单实例/--until 墙钢/域限速
|
||||
1.0-1.5s/UA 全同 corpus。
|
||||
|
||||
**坑预防清单(corpus 六修正全带入)**: 批内去重(a889b2f);失败不写不标、空结果=合法
|
||||
done(4xx 确定性跳过);增量 marker 按日折叠(52756e3);一次性容器 `--user 1024:100
|
||||
--group-add 101 --no-healthcheck`;账本只做 dmsk/valuation_dt/forecast/express 域(按键
|
||||
幂等),f10/valuation/abstract 按股文件即进度;数据→账本→marker 批量提交次序。
|
||||
|
||||
### 19.4 调度与验证
|
||||
|
||||
DSM `sanguo-fundamentals-daily` 每日 **07:10**(错峰 corpus 06:00;07:00 后遵 factor 错峰
|
||||
要求),admin,bash `/volume1/stock/fundamentals/run_fundamentals.sh`(骨架=run_corpus.sh
|
||||
同款一次性容器)。**与 corpus 并发说明**: corpus 回补期占 06:00-17:30 带,财务 07:10 必然
|
||||
重叠——安全依据=东财端点分域(corpus 打 search-api/np-listapi,财务打 datacenter/emweb,
|
||||
不同服务)+两进程各自 1.0-1.5s 限速+corpus 实测网络瓶颈 CPU 空闲,NAS 双容器无压力;
|
||||
「错峰」要求(不同刻齐发)由 07:10 vs 06:00 满足。**验证三维**(factor 持 goal 验收): ①覆盖=全A 股数×期数分布×最新期
|
||||
新鲜度(NOTICE_DATE max=T-1) ②正确性=600519 锚点(balance 103期/2024 归母权益
|
||||
2331.06亿/归母净利 862.28亿,对公开数一致;VPS 存量抽样只读对照豁免已在派单约定)
|
||||
③可用性=NAS 容器内单股全历史读取秒级。**验收锚点文件**: factor session
|
||||
`fund136-acceptance-anchors.md`。
|
||||
|
||||
### 19.5 实施步骤(TDD,每步一 commit 标 [nas])
|
||||
|
||||
W1 wrapper+金丝雀(run_fundamentals.sh+目录骨架)→ W2 脚本 daily lane(dmsk 重扫+valuation
|
||||
日快照+forecast/express+受影响股 f10 补拉)→ W3 backfill lane 五段 → W4 测试全 mock 零
|
||||
网络(批内去重/失败不覆盖/按日折叠三教训各钉回归)→ W5 NAS 冒烟(--limit 每段预算,防
|
||||
假死三修同款)→ W6 DSM 注册(用户 GUI 30s)+首班验证 → W7 三维验证+factor 验收+本节
|
||||
实施记录。预期: dmsk 层当日可用,f10 层首周近年可用、全量 2-3 周带内自续。
|
||||
|
||||
## 参考(调查来源)
|
||||
|
||||
- xtdata 官方:https://dict.thinktrader.net/nativeApi/xtdata.html
|
||||
|
||||
Reference in New Issue
Block a user