专业财报下载 eltdx.financial¶
eltdx.financial 从通达信计算服务器下载专业财报文件并解析为结构化记录:先取 tdxfin/gpcw.txt 得到可用财报文件列表,再下载对应的 gpcwYYYYMMDD.zip 并解出每只股票的财务记录。
底层复用 eltdx 既有的 0x06b9 文件下载能力(ResourceApi.download_file),不重复实现 socket / 帧逻辑。
入口¶
| 入口 | 说明 |
|---|---|
open_calc_client(host=None, *, timeout=8.0) |
构造指向计算服务器的 TdxClient(probe_hosts=False) |
list_archive_files(client) |
下载并解析 gpcw.txt,返回 list[FinancialFileInfo] |
download_archive(client, filename) |
下载单个财报 zip 的原始字节 |
download_records(client, filename) |
下载 zip → 解 .dat → 返回 list[FinancialRecord] |
CALC_HOSTS |
默认计算服务器列表 |
示例¶
from eltdx.financial import (
CALC_HOSTS,
download_records,
list_archive_files,
open_calc_client,
)
with open_calc_client() as client: # 指向计算服务器
files = list_archive_files(client)
print(files[0].filename) # 形如 tdxfin/gpcw20260331.zip
records = download_records(client, files[0].filename)
for record in records[:3]:
print(record.market_id, record.fields[:4])
也可以把任意具备 client.resources.download_file(path) -> bytes 的对象传入 list_archive_files / download_records。
说明¶
- zip 损坏或缺少
.dat时抛eltdx.exceptions.ResourceFormatError。 - 解析器与模型同时被
eltdx.offline.read_history_financial复用,保持单一事实来源。 - 计算服务器与行情主站是不同服务器,
open_calc_client()默认使用CALC_HOSTS。