# 数据源方案调研：纯静态包 vs 通达信客户端

## 一、项目到底需要哪些数据

`src/fundamental_mvp/` 里的读取器是**直接解析通达信本地二进制文件**的，不走接口：

| 数据 | 文件位置 | 谁在用 | 更新频率 |
| --- | --- | --- | --- |
| 沪深日线 | `vipdoc\sh\lday\*.day`、`vipdoc\sz\lday\*.day` | `price.py`、`inventory.py`、`tdx.py` | **每个交易日** |
| 专业财务 | `vipdoc\cw\gpcw*.dat` | `financial.py`、`inventory.py` | 季度 |
| 除权除息 | `T0002\hq_cache\gbbq` | `price.py`（前复权仿射模型） | **每个交易日（有公司行动时）** |
| 证券名称 | `T0002\hq_cache\shs.tnf`、`szs.tnf` | `tdx.py` | 不定期 |
| 行业分类 | `T0002\hq_cache\tdxhy.cfg` + `incon.dat` | `tdx.py` | 不定期 |

## 二、已实测确认可用的官方静态包

来源：通达信官网「行情数据下载」栏目（[个人行情数据](https://www.tdx.com.cn/article/vipdata.html)、[专业财务数据](https://www.tdx.com.cn/article/stockfin.html)）

| 数据包 | 地址 | 大小 | 实测更新时间 | 对应上面哪一项 |
| --- | --- | --- | --- | --- |
| 沪深京日线完整包 | `https://data.tdx.com.cn/vipdoc/hsjday.zip` | 523.8 MB | 2026-09-11 | ✅ 日线 |
| 专业财务数据包 | `https://data.tdx.com.cn/vipdoc/tdxfin.zip` | 523.9 MB | 2026-09-14 | ✅ 财务（内含按季 `gpcwYYYYMMDD.zip`） |
| 股票数据包 | `https://data.tdx.com.cn/vipdoc/tdxgp.zip` | 712.2 MB | 2026-09-14 | 待确认 |

**`hsjday.zip` 实测结论（已验证可用）**：

- 条目 12406 个：sh 5942 / sz 5855 / bj 609
- 路径格式 `sh\lday\sh600000.day`，**解压到 `vipdoc` 目录即符合项目预期**
- `sh600000.day`：6388 条记录，1999-11-10 → 2026-09-11
- `sz000001.day`：8452 条记录，1991-04-03 → 2026-09-11
- OHLC/成交额/成交量按 `<IIIIIfII` 解析正常，与项目 `tdx.py` 的 `DAY_STRUCT` 一致
- 服务器支持 `Accept-Ranges: bytes`（可断点续传、可只取局部）

## 三、关键缺口：`gbbq`

`gbbq` **不在任何官方静态包里**，只能由通达信客户端本地生成。

而项目强依赖它：`reports\price_metadata.json` 记录 `adjustment_source = tdx_gbbq_category_1`，
前复权完全来自本地 gbbq 仿射模型。缺了它 `price.py` 的 `_load_gbbq()` 会直接抛错。

替代来源：项目已附带的 `pytdx` 有 `get_xdxr_info(market, code)` 网络接口，可逐股取除权除息数据。
但项目代码只认本地 `gbbq` 二进制文件，要用这条路必须写一个转换适配器把 xdxr 数据落成
`gbbq` 格式（需要逆向该加密格式，风险较高），或改写 `price.py`（违反运维提示词的禁改条款）。

## 四、两条可行路线

### 路线 A：通达信客户端无人值守（推荐）

- 初始全量用静态包 `hsjday.zip` 播种（一次性，已下载）
- 客户端开机自启 + 设置「自动收盘」（工具→系统设置→设置1→自动收盘，或系统→盘后数据下载）
- 客户端每天 15:15 自动下载，**日线、财务、gbbq、行业分类全部自动更新**
- 优点：数据最完整、gbbq 天然解决、不再需要人工下载
- 代价：小主机需要自动登录，通达信需常驻运行

### 路线 B：纯静态包脚本化

- 写一个日更脚本，每天下载 `hsjday.zip` 并解压覆盖 `vipdoc`
- 财务数据按季度下载 `tdxfin.zip`
- 优点：完全无 GUI、可脚本化、可审计
- 阻塞点：**gbbq 无解**，必须额外解决（客户端或适配器），否则日更跑不起来

## 五、当前环境事实

- 通达信已安装：`C:\new_tdx64`（V7.73 64 位），进程 `TdxW.exe` 在运行
- 通达信已连上行情服务器（远端 `124.71.137.253:7709` Established）
- `vipdoc\sh\lday`、`vipdoc\sz\lday`、`vipdoc\cw` 目前 **0 个文件**
- `T0002\hq_cache\gbbq`、`tdxhy.cfg`、`shs.tnf` **均不存在**
- `config\local_paths.toml` **仍是打包机器的 `D:/Software/TDX64`**——
  `configure_host.ps1` 会校验数据源存在性，所以必须等数据就位后才能改配置
- 依赖缺口已修复：`pyarrow` 25.0.1、`duckdb` 1.5.5 已装入 `vendor\`
