跳转至

7615 F10 / TQLEX API

7615 是通达信 F10 / 资料数据的 HTTP 网关,适合查询公司概况、题材、公告、财务报表、估值、研报等资料类数据。

它和 7709 行情主站是两条线:

类型 7709 7615
连接方式 TCP 长连接 HTTP POST
数据类型 行情、K 线、分时、成交明细、代码表 F10、财务、题材、新闻公告、研报
使用入口 TdxClient client.f10F10Client
是否需要 7709 握手 需要 不需要

基本用法

from eltdx import TdxClient

client = TdxClient(timeout=3)
profile = client.f10.company_profile("000034")
topics = client.f10.hot_topics("000034")
notices = client.f10.announcements("000034")

print(profile.rows[0])
print(topics.rows[:3])
print(notices.rows[:3])

也可以只用 F10 HTTP 客户端:

from eltdx import F10Client

f10 = F10Client(timeout=3)
print(f10.company_profile("000034").rows[0])

返回结构

所有 F10 方法统一返回 F10Response

字段 / 属性 含义
entry 实际调用的 TQLEX Entry
request_body 实际发送的 JSON body
error_code 服务端 ErrorCode
ok ErrorCode0 或空时为 True
tables / result_sets 返回的表
rows 第一张表的行,适合最常见的单表结果
raw 原始 JSON 响应

每张表是 F10ResultSet

字段 / 属性 含义
key ResultSetKey,没有时自动用 table0table1
columns 原生列名
rows 字典行
row_cells 带列位置的单元格,适合处理重复列名
count 行数

如果服务端返回重复字段名,rows 会自动保留后续列:

T120, T120 -> row["T120"], row["T120__2"]

F10 字段以服务端返回的 ColName / ColDes 为准,很多 Entry 会返回 T003N001 这类原生列名。单个调用方法的常用字段对照见 methods/README.md 里的 F10 单页;遇到未列出的字段时,先看:

print(response.tables[0].columns)
print(response.tables[0].rows[:2])

常用方法

方法 作用 底层 Entry
stock_info(code) 股票名称、代码、市场 CWServ.tdxf10_gg_comreq
company_profile(code, section="8") 公司概况,默认发行上市信息 CWServ.tdxf10_gg_gsgk
business_composition(code, report_date=None) 主营构成,不传报告期时自动取最新报告期 CWServ.tdxf10_gg_jyfx
shareholder_change_plans(code) 股东增减持计划 CWServ.tdxf10_gg_gdyj
dividend_financing(code, section="fh") 分红融资,默认分红方案历史 CWServ.tdxf10_gg_fhrz
allotment_dates(code) 增发获配可选日期 CWServ.tdxf10_gg_fhrz_zfhpmx
allotment_details(code, date) 增发获配机构明细 CWServ.tdxf10_gg_fhrz_zfhpmx
finance_report(code, report_type="zcfzb") 财务报表,默认资产负债表 CWServ.tdxf10_gg_cwfx
finance_diagnosis(code, section="yynl") 财务诊断 CWServ.tdxf10_gg_cwzd
stock_score(code, section="pf") 个股总评,默认综合评分 CWServ.tdxf10_gg_ggzp
profit_forecast(code) 盈利预测评级统计 CWServ.tdxf10_gg_ybpj
theme_market(code, req_id="200743") 题材概念行情,默认相关板块 HQServ.hq_nlp_tcihq
valuation(code, req_id="200191") 估值市场数据,默认估值表 HQServ.hq_nlp_gpsj
ranking_detail(code, section="scpmdela") 市场 / 行业排名明细 CWServ.tdxf10_gg_zxts_rqpm
governance(code, section="wgcl") 资本运作治理 CWServ.tdxf10_gg_zbyz
hot_topics(code, section="zttzbkz") 热点题材 CWServ.tdxf10_gg_rdtc
topic_compare(code, topic_id, section="gndbzfsj") 题材内对比排名 CWServ.tdxf10_gg_rdtc_gndb
topic_compare_first(code) 自动取第一个题材 ID 后做题材对比 CWServ.tdxf10_gg_comreq + CWServ.tdxf10_gg_rdtc_gndb
company_news(code, section="gsyj") 公司研报 / 监管措施 CWServ.tdxf10_gg_gszx
northbound_holding(code) 沪深股通持股变化 CWServ.tdxf10_gg_zlcc
detail(detail_type, record_id) 按记录 ID 查询正文 CWServ.tdxf10_gg_idreq
announcements(code) 公告列表 CWSearch.tzx_rcache
news(code) 新闻列表 CWSearch.tzx_rcache
roadshows(code) 路演列表 CWSearch.tzx_rcache

通用 Entry 调用

没有封装到方法里的 Entry,也可以直接调用:

from eltdx import F10Client

f10 = F10Client(timeout=3)

response = f10.call(
    "CWServ.tdxf10_gg_gsgk",
    params=["8", "000034", ""],
)

print(response.rows[0])

对于 HQServ.* 这类使用自定义请求体的 Entry,直接传完整 body:

response = f10.call(
    "HQServ.hq_nlp_tcihq",
    [{
        "ReqId": "200743",
        "setcode": 0,
        "code": "000034",
        "Page": -1,
        "PageSize": "-1",
        "modname": "mod_tcihq.dll",
    }],
)

真实检查

python scripts/smoke/smoke_f10.py --code 000034 --timeout 8
eltdx-f10-smoke --code 000034 --timeout 8

这个脚本会检查公司概况、热点题材、公告、题材行情和估值数据。