教程

用数据看主力资金:资金流怎么读

资金流不是"涨跌预测器",是参与度与筹码方向的温度计。`/v1/fund` 一个请求给出主力净流入(当日/5/10/20 日)+ 全市场排名 + 龙虎榜明细 —— 关键是怎么读,下面给代码和四个常见误读。

先看一个请求给什么

Python(需要 Key)
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 条),这是判断"谁在买"的关键。

Python(需要 Key)
# 上榜原因与总额
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` 字段会标游资标签(实测该股为空字符串 = 无标签)
  • 上榜是结果不是原因:上榜说明已大幅波动,此时追进去往往是接盘

配合大宗与两融(同一次请求里)

Python(需要 Key)
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 和 industry_rank 有什么区别?

`main_rank` 是全市场净流入排名(实测 sh600667 = 5532,即偏净流出的一侧);`industry_rank` 是行业内排名。⚠️ 实测中 `industry_rank` 返回 `0`,代表当日该数据不可用,不是"排第 0"。

block_trades / margin 返回空数组是出错了吗?

不是。空数组表示该股票在当日(或最近披露日)没有大宗交易/两融数据。如果你要看全市场或指定日期,用专门的 `/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 均为空数组)。"主力"口径(大单/超大单阈值)由各数据平台定义,本服务给出一致口径的多期序列。