跳转至

← 返回接口目录

0x0ffc 资金流向日数据

作用

按一只或多只证券读取 7709 主站最近的日资金流向记录,每只证券通常返回最近 5 个交易日。它不是实时推送接口,也不负责计算 K 线复权。

标准客户端默认在创建时完成普通和专用两组主站测速。资金流向与集合竞价共享 35 台专用主站的内存排名,但各自按需建立业务连接;首次请求和后续请求都不再测速。probe_hosts=False 跳过自动测速。

项目 内容
主要调用 client.money_flow.daily(code, *, include_raw=False, batch_size=75)
底层接口 0x0ffc
返回模型 单只代码返回 MoneyFlowBlock;代码列表返回 MoneyFlowBatch
单次返回 每只证券通常含最近 5 条日记录

示例

from eltdx import TdxClient

with TdxClient(timeout=5) as client:
    flow = client.money_flow.daily("sz000063")
    for row in flow.records:
        print(row.date, row.main_net, row.main_ratio)

    flows = client.money_flow.daily(
        ["sz000063", "sh600000"], batch_size=2
    )
    for block in flows.blocks:
        print(block.full_code, block.records)

参数

参数 含义
code 单只证券代码或代码列表,支持 sz000063000063 这类写法;没有市场前缀时按代码段补全
include_raw 是否保留协议原始响应;默认 False。无论是否开启,记录级 raw 辅助字段都会保留
batch_size 传入代码列表时的最大并发数,默认 75;实际并发数不会超过连接池容量

返回字段

MoneyFlowBlock

这是“一只股票的结果外壳”。传入单只代码时返回一个 MoneyFlowBlock,里面的 records 才是每天的资金流向数据;通常有最近 5 个交易日。它不是另一种资金指标。

字段 含义
exchange 市场前缀:szshbj
market_id 主站市场编号
code 六位证券代码
full_code exchange + code 的完整代码
records 按主站顺序排列的 MoneyFlowDaily 元组
count records 条数

MoneyFlowBatch

传入多个代码时返回这个批量结果。blocks 按输入代码顺序保存每只证券的 MoneyFlowBlockcount 是所有证券的日记录总数;证券数量可用 len(blocks) 获取。

MoneyFlowDaily

这是“一天的资金流向记录”。例如 flow.records[0] 就是最新交易日,flow.records[1] 是上一条记录。

字段 含义
date_raw / date 记录日期原值 / datetime.date
total_amount 当日总成交金额,单位元
buckets 主站返回的 16 个原始分档值,按索引原样保留;不是直接的元金额
main_net 主力净额:超大单和大单买入金额减卖出金额
main_ratio 主力净额占比,百分数值,例如 13.928 表示 13.928%
raw 21 个原始 uint32 字段,便于继续核对尚未命名的字段
record_hex 88 字节日记录的原始十六进制
main_buy_net 主买净额:按主动买入/卖出方向汇总的四组分档净额
main_buy_ratio 主买净额占比,百分数值
main_buy_super_large_net 主买口径下的超大单净额
main_buy_large_net 主买口径下的大单净额
main_buy_medium_net 主买口径下的中单净额
main_buy_small_net 主买口径下的小单净额
main_super_large_net 主力净额口径下的超大单净额
main_large_net 主力净额口径下的大单净额
main_medium_net 主力净额口径下的中单净额
main_small_net 主力净额口径下的小单净额

其中,main_super_large_netmain_large_netmain_medium_netmain_small_net 四项组成 main_net;带 main_buy_ 前缀的四项组成 main_buy_net,两者是不同统计口径。

buckets 怎么看

协议把 16 个值按 8 组买卖对返回,每组是两个数(买入、卖出)。当前已确认 buckets[0] - buckets[1]buckets[4] - buckets[5] 用于主力净额;其余位置先保留原始值,不在 SDK 中强行起业务名称:

索引 当前含义 状态
0, 1 主力净额计算中的第一组买入 / 卖出值 已确认参与 main_net
2, 3 主买净额计算中的第一组买入 / 卖出值 已确认参与 main_buy_net
4, 5 主力净额计算中的第二组买入 / 卖出值 已确认参与 main_net
6, 7 主买净额计算中的第二组买入 / 卖出值 已确认参与 main_buy_net
8, 9 第五组买入 / 卖出值 保留原始值,业务名称未确认
10, 11 主买净额计算中的第三组买入 / 卖出值 已确认参与 main_buy_net
12, 13 第七组买入 / 卖出值 保留原始值,业务名称未确认
14, 15 主买净额计算中的第四组买入 / 卖出值 已确认参与 main_buy_net

因此不要把 buckets 的单个数字直接当作“超大单金额”或“买入金额”。SDK 已提供主买、主力及两套四档净额字段;rawrecord_hex 仍保留用于进一步核对。

服务端页面使用的主力计算口径为:

main_net = (bucket[0] - bucket[1] + bucket[4] - bucket[5]) / 50000 * total_amount
main_ratio = (bucket[0] - bucket[1] + bucket[4] - bucket[5]) / 500
main_buy_net = (bucket[2] - bucket[3] + bucket[6] - bucket[7] + bucket[10] - bucket[11] + bucket[14] - bucket[15]) / 50000 * total_amount
main_buy_ratio = (bucket[2] - bucket[3] + bucket[6] - bucket[7] + bucket[10] - bucket[11] + bucket[14] - bucket[15]) / 500
main_buy_super_large_net = (bucket[2] - bucket[3]) / 50000 * total_amount
main_buy_large_net = (bucket[6] - bucket[7]) / 50000 * total_amount
main_buy_medium_net = (bucket[10] - bucket[11]) / 50000 * total_amount
main_buy_small_net = (bucket[14] - bucket[15]) / 50000 * total_amount
main_super_large_net = (bucket[0] - bucket[1]) / 50000 * total_amount
main_large_net = (bucket[4] - bucket[5]) / 50000 * total_amount
main_medium_net = (bucket[8] - bucket[9]) / 50000 * total_amount
main_small_net = (bucket[12] - bucket[13]) / 50000 * total_amount

buckets 是记录中 8 个小端 uint32 打包得到的 16 个小端 uint16 值;SDK 同时保留 raw,不把尚未确认的辅助字段误命名为业务字段。

真实返回样本

真实返回 JSON · MoneyFlowBlock(5 条记录中的 1 条节选)

采样标的sz000063
采样日期2026-08-31
返回类型MoneyFlowBlock

真实采样(主站);接口通常返回最近 5 个交易日,下面展示最新一条的完整解析字段。

{
  "exchange": "sz",
  "market_id": 0,
  "code": "000063",
  "records": [
    {
      "date_raw": 20260831,
      "date": "2026-08-31",
      "total_amount": 2676107520.0,
      "buckets": [15933, 8454, 12053, 3745, 8327, 8842, 4467, 3355, 12584, 15730, 6390, 6317, 13154, 16971, 6825, 6845],
      "main_net": 372728255.3856,
      "main_ratio": 13.928,
      "raw": [1229001766, 1327465001, 555040271, 246230762, 579412104, 220205424, 1031090488, 414718200, 1111176063, 449125041, 554057277, 245444373, 579477639, 219877747, 1030893864, 413997302, 1112224610, 448600745, 1206735744, 35586615, 1830640588],
      "record_hex": "...",
      "main_buy_net": 507015330.7392,
      "main_buy_ratio": 18.946,
      "main_buy_super_large_net": 444662025.5232,
      "main_buy_large_net": 59516631.2448,
      "main_buy_medium_net": 3907116.9792,
      "main_buy_small_net": -1070443.008,
      "main_super_large_net": 400292162.8416,
      "main_large_net": -27563907.456,
      "main_medium_net": -168380685.1584,
      "main_small_net": -204294048.0768
    }
  ]
}

record_hex 在真实返回中是完整 88 字节十六进制;文档样本用 ... 缩略显示,raw 和派生字段保持真实解析值。

和其他行情接口的边界

需求 使用
日资金流向、主力净额和分档值 client.money_flow.daily(code)
不复权、前复权或后复权 K 线 client.bars.get(code, adjust=...)
本地不复权 K 线自行复权 client.corporate.adjustment_factors(...)

该接口只读取资金流向数据,不替代 0x052d K 线和 0x000f 股本变迁。