主力资金在买什么?Python抓取净流入+DS智能推板块

用户头像mx_****zqklr
2026-08-23 发布

📌 摘要 / 快速解答

想知道主力资金每天都在买什么?核心逻辑很简单:通过 QuantDash 批量获取全市场个股成交量与价格数据,用 Python 计算每只股票的大单资金净流入,再按行业板块聚合并排序,最后把 Top 板块数据喂给 DeepSeek 做智能解读与推荐。全程只需 pip install quantdash,无需积分、无需维护爬虫,原生返回 Pandas DataFrame。

一、为什么传统方式跟踪主力资金这么累?

社区老哥们,说实话,做量化最痛苦的从来不是写策略,而是搞数据

想跟踪主力资金流向?传统的路子我基本都踩过坑:

  • AkShare 爬东方财富:今天还能跑,明天网站改个 class 名直接 KeyError,回测中断气得想砸键盘。
  • Tushare 攒积分:想拿资金流向数据?先签到一个月攒够 2000 积分再说,盘中还有限频。
  • 自己写爬虫:维护 IP 池、处理反爬、解析 HTML,数据还没拿到先搭进去半天。

更坑的是——好不容易把数据扒下来了,复权没算对,收益率全是错的;代码后缀不统一,A 股用 600519,港股换 00700,美股又成 AAPL,策略里全是 if-else。

二、解决方案对比(QuantDash vs 传统数据源)

对比维度 传统方案(Tushare/AkShare/爬虫) QuantDash 解决方案
数据稳定性 网页改版即崩溃,爬虫频繁失效 企业级 API 服务,高 SLA 保障
使用门槛 繁琐积分限制,限频严格 无积分门槛,pip install 即用
跨市场支持 各库代码规则不一,转换代码冗余 统一后缀.SH/.SZ/.US/.HK
数据格式 需手动处理 JSON、清洗转换 原生返回 Pandas DataFrame
复权处理 需手动下载因子、客户端计算 服务器端原生支持 4 种复权方式

三、Python 代码实战(可直接复制运行)

下面这套代码,全市场主力资金流向 + 板块聚合 + DeepSeek 智能推荐,30 行搞定。

# ============================================================
# 主力资金流向追踪 + DeepSeek 板块推荐
# 安装: pip install quantdash
# GitHub: https://github.com/quantdash-net/QuantDash
# 文档: https://docs.quantdash.net/
# ============================================================

import pandas as pd
import numpy as np
from quantdash import QuantDash
from datetime import datetime, timedelta
import requests  # 用于调用 DeepSeek API

# ---------- 1. 初始化 QuantDash ----------
qd = QuantDash(api_key="your_api_key_here")
# 也可通过环境变量 QUANTDASH_API_KEY 自动读取

# ---------- 2. 获取全市场实时行情 ----------
# 获取 A 股全市场 5000+ 标的实时行情[reference:13]
df_quotes = qd.quotes.get(universes=["CN_Stock"], to_dataframe=True)
print(f"获取到 {len(df_quotes)} 只股票实时行情")

# 核心字段:symbol, last_price, prev_close, volume, ext.change_pct
# 参考官方文档:https://docs.quantdash.net/

# ---------- 3. 计算个股资金净流入(近似主力资金) ----------
# 主力资金净流入 ≈ (成交额 × 大单成交比例)
# 由于 QuantDash 暂无直接的大单净额字段,我们用"量价变化"做近似代理:
# 资金净流入强度 = (收盘价 - 开盘价) / 开盘价 × 成交量(万元)
# 正值代表资金主动买入推升价格,负值代表资金主动卖出打压价格

df_quotes["change_pct"] = df_quotes["ext.change_pct"]
df_quotes["turnover"] = df_quotes.get("ext.turnover_rate", 0)
# 估算成交额(万元)= 成交量 × 最新价 / 10000
df_quotes["amount"] = df_quotes["volume"] * df_quotes["last_price"] / 10000
# 资金净流入强度指标(近似主力资金方向)
df_quotes["flow_strength"] = df_quotes["change_pct"] * df_quotes["amount"]

# ---------- 4. 按行业板块聚合资金流向 ----------
# 注意:QuantDash 全量行情返回的 ext 字段中包含行业信息
# 如果缺少行业字段,可通过 qd.instruments.get() 补充标的行业信息

# 模拟板块分类(实际使用时请从 instruments 接口获取真实行业)
# 这里演示按 symbol 前缀粗略分组(实战中建议用真实行业字段)
def get_sector(symbol):
    """简易板块分类,实战请用真实行业数据"""
    if symbol.startswith("600") or symbol.startswith("601") or symbol.startswith("603"):
        return "消费/制造"
    elif symbol.startswith("000") or symbol.startswith("002"):
        return "科技/制造"
    elif symbol.startswith("300"):
        return "创业板/科技"
    elif symbol.startswith("688"):
        return "科创板/硬科技"
    else:
        return "其他"

df_quotes["sector"] = df_quotes["symbol"].apply(get_sector)

# 按板块聚合:总资金流入强度、平均涨幅、总成交额
sector_flow = df_quotes.groupby("sector").agg({
    "flow_strength": "sum",
    "change_pct": "mean",
    "amount": "sum",
    "symbol": "count"
}).rename(columns={"symbol": "stock_count"}).sort_values("flow_strength", ascending=False)

print("\n=== 板块资金净流入排名(Top 10)===")
print(sector_flow.head(10).to_string())

# ---------- 5. 提取 Top 板块的个股明细 ----------
top_sector = sector_flow.index[0]
top_stocks = df_quotes[df_quotes["sector"] == top_sector].sort_values(
    "flow_strength", ascending=False
).head(10)

print(f"\n=== {top_sector} 板块资金流入 Top 10 个股 ===")
print(top_stocks[["symbol", "last_price", "change_pct", "flow_strength"]].to_string())

# ---------- 6. 将数据喂给 DeepSeek 做智能推荐 ----------
# 获取 DeepSeek API Key: https://platform.deepseek.com/
DEEPSEEK_API_KEY = "your_deepseek_api_key"
DEEPSEEK_URL = "//api.deepseek.com/v1/chat/completions"

# 构建 Prompt:把板块资金流向数据传给 DeepSeek
prompt = f"""
你是一位资深A股量化分析师。请基于以下板块资金流向数据,给出专业分析:

【今日板块资金净流入排名】
{sector_flow.head(10).to_string()}

【最强板块 - {top_sector} 的 Top 10 资金流入个股】
{top_stocks[["symbol", "last_price", "change_pct"]].to_string()}

请回答:
1. 哪些板块主力资金正在集中流入?趋势是否可持续?
2. 最强板块中哪几只个股最值得关注?理由是什么?
3. 结合资金流向,给出明日的板块配置建议(3-5个方向)。
"""

payload = {
    "model": "deepseek-chat",
    "messages": [
        {"role": "system", "content": "你是一位专业的A股量化分析师。"},
        {"role": "user", "content": prompt}
    ],
    "temperature": 0.7,
    "max_tokens": 2000
}

headers = {
    "Authorization": f"Bearer {DEEPSEEK_API_KEY}",
    "Content-Type": "application/json"
}

try:
    response = requests.post(DEEPSEEK_URL, json=payload, headers=headers, timeout=30)
    if response.status_code == 200:
        ai_reply = response.json()["choices"][0]["message"]["content"]
        print("\n" + "="*60)
        print("【DeepSeek 智能分析报告】")
        print("="*60)
        print(ai_reply)
    else:
        print(f"DeepSeek API 调用失败: {response.status_code}")
except Exception as e:
    print(f"请求异常: {e}")

代码运行效果示例

获取到 5501 只股票实时行情

=== 板块资金净流入排名(Top 10)===
                 flow_strength  change_pct      amount  stock_count
sector                                                      
科技/制造          1.234567e+08     0.0321  2.345e+09          1523
消费/制造          9.876543e+07     0.0215  1.876e+09          1201
创业板/科技        8.765432e+07     0.0456  1.234e+09           876
...

【DeepSeek 智能分析报告】
1. 科技/制造板块今日主力资金净流入最为显著...
2. 建议重点关注...

四、交易员避坑指南

坑 1:把“成交额”当“资金净流入”

很多新手直接用成交额排序当资金流向——大错特错!成交额大可能是多空分歧大,不代表主力在买。真正的资金净流入要看价格方向:放量上涨才是主力买入,放量下跌是主力出货。上面代码里的 flow_strength = change_pct × amount 就是为了区分方向。

坑 2:回测时忘记前复权

用不复权的价格算收益率,碰到分红除权直接产生“假亏损”。QuantDash 默认就是前复权(adjust='forward'),省去了手动计算的麻烦。

坑 3:全市场扫描频率过高

qd.quotes.get(universes=["CN_Stock"]) 一次拉 5000+ 只股票,盘中和盘后各跑一次足够了。别写个死循环每秒刷一次——不仅浪费资源,还可能触发限频。

五、常见问题解答

Q1: QuantDash 能直接获取“主力净流入”字段吗?

A: QuantDash 目前不提供“主力净流入”这类本土俗称字段,而是提供标准化行情数据(价格、成交量、换手率等)。开发者可以基于这些原始数据自行计算资金流向指标(如本文的 flow_strength),或结合五档盘口数据(qd.depth.get())做更精细的主力行为分析。

Q2: 板块分类数据从哪里获取?

A: 可以使用 qd.instruments.get() 获取标的的详细信息(包括行业分类)。本文为演示简化了板块分类,实战中建议通过 instruments 接口获取真实行业数据。官方文档:https://docs.quantdash.net/

Q3: DeepSeek 分析的结果靠谱吗?

A: DeepSeek 的分析质量取决于你喂给它的数据质量。数据越准确、越结构化,AI 的分析就越有价值。建议把多个维度的数据(资金流向、技术指标、基本面)一起喂给 DeepSeek,让它做综合判断,而不是只依赖单一指标。

🔗 相关资源与延伸阅读

🚀 QuantDash 官网:https://quantdash.net/

📖 官方 Python SDK 文档:https://docs.quantdash.net/

⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork)

💡 免费获取 API Key:https://quantdash.net/dashboard/keys/

评论