docs(spec): §18.9语料库首班实录+§19.8 DSM收口+§19.9基本面数据链运行节律总览 [nas]
CI/CD / test (push) Successful in 0s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 8s

两天基本面下载/增量方式终态入档:三表双层(ak月洗库基线+dmsk按期补缺/近3期新鲜)、profit/dupont回灌行军、vb日喂、语料库四段增量;首班day-2修复实战验证+cninfo抖动观察项;19.9速查表(层/源/下载/增量/新鲜度/自愈)
This commit is contained in:
2026-09-08 13:20:17 +08:00
parent 64bb81220d
commit 6e8c74b39a
@@ -705,6 +705,16 @@ T6 剩余=多日累积后验收 1-4(5 股抽查/600519 2001 起/news 硬顶/PDF
目录日初清(274 绿)。教训: **增量型 marker 必须带日期维度,且要在「首个完整周期结束
前」推演第二天行为**——同日幂等测试全绿掩盖了跨日语义。
**首班实录(2026-09-08, 第六修正的实战验证)**: DSM 06:00:01 自动起(功能确认)。
①day-2 修复生效: ann/news 增量真实拉窗, 新 marker 全落 `dt=2026-09-08/` 下, 昨日平铺
marker 日初清理零残留; ②news 6168/6168 全量扫完(含北交 920 尾段); 全文段 +985 篇
(article 域静默无逐篇日志, 进度信号=marker 数); ③ann 2564/6168+150 失败=**巨潮 cninfo
连续第二日服务端抖动**(昨 502 连击/今 504×150), 触发域冷却 fail-closed, PDF 段随之
跳过; daily rc=1 → backfill 让路(设计内)。**零永久丢失双兜底**: 未标 done unit 明晨
重拉, 窗内漏掉的公告由 backfill ①(股,年) 全年扫终会收; ④同晨 dmsk(07:33)与 corpus
(06:00-10:14)并行无扰=东财端点分域假设实证。观察项: 巨潮抖动若持续数日→升级源端
健康度问题(备选: ann 增量段错峰避开其故障高峰)。
## 19. 增补 2026-09-07:财务数据域(财务136)——存量搬运+同步增量架构(本节为最新,覆盖本节初版「全 NAS 自采」方向)
### 19.0 背景与方向修正
@@ -841,8 +851,8 @@ valuation 今日刚同步/三表 09-06 全量),七域覆盖≡VPS(沪深 5215
静默空跑标 done。
- **profit/dupont「断更」系误诊,09-08 晨撤回**: 09-07 深夜读到 NAS 副本止于
2023Q4 判为「一次性回补从未接日喂」——错。实况=bs_fundamentals.py P2 按季回灌
**在行军中**(state next_quarter 逐夜推进至 2024Q3 指针, NAS 副本随 04:00
日同步滞后一拍),剩 2024Q3→2026Q2 共 10 季 ≈5 晚(≈09-13)自愈,之后 P1 增量
**在行军中**(state next_quarter 逐夜推进,昨夜至 2024Q3 指针, NAS 副本随 04:00
日同步滞后一拍),剩 2024Q3→2026Q2 共 10 季 ≈5 晚(≈09-13)自愈,之后 P1 增量
(当季+上一季每晚 sweep, 幂等 keep-last)自动接管。**教训: 判「断更」前必须先读
生产脚本的续喂设计与 state 文件 mtime——「数据末端=快照」≠「管线已死」**。
原批「5.2 万发季度追赶」取消(重复采集+并发撞 baostock 双连接红线,有害无益)。
@@ -856,7 +866,27 @@ NOTICE_DATE 5569/5569 非空最新至当日。**已知边界**: 2009 年前退
000003, 2002 年退)dmsk(2009 起)与 F10(拉老退市也空)双源皆无=源头缺失,
无免费方案,如实记档。翻页坑: 东财 datacenter 用 `pageNumber`(cninfo 才是
pageNum),误用被静默忽略=12 页全回第一页,冒烟 +500/6000 实锤后修(d71ee55)。
DSM `sanguo-fundamentals-daily` 07:10 用户 GUI 注册(注册后每日新鲜度自走)。
DSM `sanguo-fundamentals-daily` 07:10 已由用户 GUI 注册(09-08 晨)并手动首跑验证:
07:33 start → daily `units=0 rc=0`(昨夜 00:42 手动 wrapper 已采过当日, 按日幂等跳过
语义正确)→ backfill `units=0 rc=0`(210 期 marker 全 done 纯 no-op)→ 容器干净退出。
明起 07:10 自动班。
### 19.9 基本面数据链运行节律总览(2026-09-08 终态速查,细节见各节)
| 层 | 源/接口 | 下载方式 | 增量机制 | 新鲜度 | 自愈/兜底 |
|---|---|---|---|---|---|
| 三表基线层<br>§19.1/19.3 | akshare f10(emweb)按股全史<br>(319/203/254 列,沪深 5215) | VPS `ak-monthly` 首个周六全量洗库(55h 跑道) | 月度整文件重写;phase3 04:00 链按 mtime 增量同步 NAS 镜像树 | 季频≤5 周(验证场景可接受) | 洗库失败返 None 不写不标(09-01 事故根治);valuation/abstract 另有 ak-daily 19:00 日更 |
| 三表补缺/新鲜层<br>§19.4 | 东财 datacenter `RPT_DMSK_FN_*` 按期全市场(57 列含 NOTICE_DATE,含退市+北交) | NAS 一次性 backfill≈2200 发(**09-08 完成**:210 unit/1771 发/零失败) | daily(07:10):近 3 期重扫+`NOTICE_DATE>=T-7` 客户端过滤,账本键幂等 | **披露次日** | marker 按日折叠(daily)/一次永逸(backfill 期);批内去重;次新期金丝雀防契约漂移(都回 result=None 不分) |
| forecast/express | datacenter 按期 | 26 期按期文件(2020Q1 起) | 随 ak-monthly 洗库 | 同三表 | 2020 前历史=可选 backlog(dmsk 族同接口可补) |
| profit/dupont<br>(baostock) | bs `query_profit/dupont_data` 按股按季 | VPS `bs-daily` 18:05 fund 腿:P2 按季回灌(state 逐夜推进,~2 季/晚,**≈09-13 跑完**)→P1 接管 | P1=每晚拉当季+上一季 sweep;幂等键 (code,pubDate,statDate) keep-last(重述后写胜) | 季频次日 | DAILY_CAP=30000(与 eod 合计≤41k<48k 铁律);P3 forecast/express 月首周日全区间 |
| valuation_baostock<br>§19.7 第 8 域 | bs 日频估值(peTTM/psTTM/pcf/pbMRQ/turn/isST,1990 起**含退市**) | bs-daily fund 腿日喂 | 每日追加当年按年 parquet | T-1 | **2026 文件 08-13 起**(日喂起点,H1 缺口由基线层 valuation 覆盖;回补列可选) |
| 语料库<br>§18 | 巨潮公告+东财新闻 | 首跑+backfill 四段(ann 43 万/news 88 万/PDF 六类) | daily 四段:ann T-1~T 窗/news recent-100/全文(当日新稿)/PDF(五服务端码+快报标题谓词) | 当日/次日 | 按日 marker+域冷却 fail-closed 其他域继续+backfill (股,年) 全年扫终兜;flock 单实例 |
**层间读法(双层口径, §19.7 写死)**: 回测全历史=基线层为主(全列)+dmsk 补退市/北交段;
季频选股要新鲜=dmsk 层近 3 期优先,基线层兜全列。**已知边界**: 2009 年前退市股(000003 等)
三表 dmsk 与 F10 双源皆无=源头缺失(其日频估值仍被 baostock 树覆盖)。**采集纪律**:
东财 datacenter 1.5s/巨潮 1.0s/东财 search 1.0s/article 2.0s 慢爬,直连不走代理,
日间带 00:30-17:30 语义,baostock 同 IP 单连接 48000 次/天。
## 参考(调查来源)