用数据看主力资金:资金流怎么读
资金流不是"涨跌预测器",是参与度与筹码方向的温度计。`/v1/fund` 一个请求给出主力净流入(当日/5/10/20 日)+ 全市场排名 + 龙虎榜明细 —— 关键是怎么读,下面给代码和四个常见误读。
先看一个请求给什么
import requests
KEY = "ct-你的Key"
r = requests.get("https://api.ashareapi.com/v1/fund",
headers={"Authorization": "Bearer " + KEY},
params={"code": "sh600667"}, timeout=30)
d = r.json()["data"]
print(d["date"], d["close"]) # 2026-09-24 19.41
print("当日主力净流入", d["main_net"]) # -528559730.00(-5.29 亿)
print("5 日 ", d["main_net_5d"]) # -571025057.00
print("10 日 ", d["main_net_10d"]) # 531599448.00
print("20 日 ", d["main_net_20d"]) # -82259566.00
print("全市场排名", d["main_rank"]) # 5532(第 5532 / 5000+)- 返回是一个对象(不是数组)—— 含 `main_net*` / `main_rank` / `lhb` / `lhb_details` / `block_trades` / `margin`
- 金额单位是元,且是字符串(`"-528559730.00"`),比较前先转 float
- `main_rank` 是全市场净流入排名(数值越大越靠后 = 越净流出)
- 同一次请求顺带给了龙虎榜、大宗交易、融资融券 —— 不用再调别的接口
四个时间维度要一起看
只看当日会骗人 —— 单日是噪音。四个维度连起来才有信息量:
- 排名比绝对值有用:同样是净流入 1 亿,全市场排第 10 和排第 3000 完全不是一回事
- `industry_rank` 是行业内排名(实测中 sh600667 为 `0`,代表该数据当天不可用,不是"排第 0")
| 形态 | 怎么读 | 注意 |
|---|---|---|
| 当日 -,5/10/20 日 + | 短期回调,中期资金仍在 | 可关注,但不构成买入理由 |
| 当日 +,5/10/20 日 - | 反弹脉冲,中期在流出 | 当心:可能是拉高出货 |
| 四维全 + | 资金持续流入 | 最强形态 —— 但要看股价是否同步 |
| 四维全 - | 资金持续流出 | 弱势,别用"跌多了"当理由 |
| 当日 + 但排名靠后 | 净流入但全市场比它强的很多 | 相对强度弱,别单看绝对值 |
龙虎榜:机构还是游资?
`lhb` 是上榜概要(原因 / 买入总额 / 卖出总额 / 净买),`lhb_details` 是营业部明细(最多 10 条),这是判断"谁在买"的关键。
# 上榜原因与总额
for x in d["lhb"]:
print(x["Reason"], "| 买", x["TotalBuy"], "| 卖", x["TotalSell"], "| 净", x["NetBuy"])
# 实测:连续三个交易日内,涨幅偏离值累计达20% | 买 21.77亿 | 卖 25.70亿 | 净 -3.93亿
# 营业部明细 —— 看"谁在买卖"
for x in d["lhb_details"]:
side = "买" if x["Buy"] else "卖"
print(f'{x["RankType"][:6]} #{x["Rank"]} {x["Name"]} {side} {x["Buy"] or x["Sell"]}')
# 实测(sh600667,2026-09-24):
# 卖出营业部排行榜 #5 瑞银证券上海花园石桥路 卖 2.79亿
# 卖出营业部排行榜 #3 高盛(中国)上海世纪大道 卖 4.87亿
# 卖出营业部排行榜 #2 国泰海通证券总部 卖 5.65亿- 营业部名字就是信号:知名游资席位(如某些"某某路"营业部)≈ 短线资金;"机构专用"≈ 机构
- 看净方向:买榜和卖榜都上榜时,比净买额,不要只看"上榜=利好"
- `HotMoneyTags` 字段会标游资标签(实测该股为空字符串 = 无标签)
- 上榜是结果不是原因:上榜说明已大幅波动,此时追进去往往是接盘
配合大宗与两融(同一次请求里)
print("大宗交易", len(d["block_trades"]), "条")
print("融资融券", len(d["margin"]), "条")
# 实测 sh600667:两者都是空数组 [] —— 表示该股当日无此类数据
# ⚠️ 空数组 ≠ 接口坏了,是"这只股票当天没有"- 大宗折价= 折价成交(可能承接方看空短期);溢价= 有人愿意高价接
- 融资余额上升 = 杠杆资金看多(也意味着回调时踩踏风险更大)
- 需要单独看时:`/v1/block-trade`(大宗)、`/v1/margin-trade`(两融,支持批量代码)
四个常见误读
- "净流入 = 会涨" ✗ —— 资金流是同步或滞后指标,常出现"资金进了但股价没动"(吸筹)或"资金出了但股价在涨"(拉高派发)
- 只看一日 ✗ —— 单日噪音极大,至少看 5 日;跨日对比才有方向
- 把排名当强弱结论 ✗ —— 排名是相对指标,熊市里排第 100 也可能是净流出
- 忽略"净流入"的计算口径 —— "主力"通常指大单/超大单,各平台阈值不同;我们给的是口径一致的当日/5/10/20 日序列,横向和纵向都比绝对值可靠
边界(写清免得误用)
- 不含北向资金分时 —— 没有全市场北向资金流向接口
- 不含分钟级资金流(我们不做分钟数据)
- 不含全市场资金流排行榜 —— `main_rank` 是个股在全市场中的排名,不是"你可以拉全部股票的资金流列表"
- 需要 Key —— `/v1/fund` 是付费端点;龙虎榜分榜 `/v1/lhb` 也是付费(type=institution/hotmoney/activeseat)
- 这不是投资建议 —— 只讲怎么取数、怎么读,不判断买卖
常见问题
不会。资金流是同步或滞后指标:常见"资金进但股价横盘"(吸筹)与"资金出但股价涨"(派发)。它的价值在于交叉验证(配合价格、龙虎榜、量能),不是单独预测涨跌。
`main_rank` 是全市场净流入排名(实测 sh600667 = 5532,即偏净流出的一侧);`industry_rank` 是行业内排名。⚠️ 实测中 `industry_rank` 返回 `0`,代表当日该数据不可用,不是"排第 0"。
不是。空数组表示该股票在当日(或最近披露日)没有大宗交易/两融数据。如果你要看全市场或指定日期,用专门的 `/v1/block-trade` 和 `/v1/margin-trade`。
主力资金与龙虎榜按交易日更新(收盘后)。`date` 字段告诉你数据对应哪个交易日(实测 `2026-09-24`)—— 先看这个字段,再谈解读;盘中拿到的仍是上一交易日口径。
不能。`/v1/fund` 是按代码查单只(同时给出该股的全市场排名),不提供全市场批量列表。要给一篮子排序,得自己准备代码列表逐个调(注意限流)。
最后更新: 2026-09-25
字段与取值取自线上真实返回(2026-09-25 实测 sh600667:main_net -528559730.00 · 5 日 -571025057.00 · 10 日 531599448.00 · 20 日 -82259566.00 · main_rank 5532 · industry_rank 0 · lhb 1 条 · lhb_details 10 条 · block_trades 与 margin 均为空数组)。"主力"口径(大单/超大单阈值)由各数据平台定义,本服务给出一致口径的多期序列。