📌 摘要 / 快速解答
连续多日资金净流入但股价滞涨,并非主力“傻买”,恰恰相反——这往往是主力在低位压盘吸筹、清洗浮筹的经典信号。本文手把手教你用 QuantDash + Python,一键获取全市场A股日线数据,通过 “5日累计资金净流入 > 0 + 5日涨幅 < 3%” 的双重条件,快速筛选出“资金暗中潜伏”的潜力标的。全程代码不超过30行,无需攒积分、无需手动处理复权,开箱即用。
一、为什么传统方式挖“资金潜伏”这么累?
老哥们在同花顺SuperMind社区里应该都深有体会——想写个“资金连续流入但股价没涨”的选股策略,光搞数据就能把你搞崩溃:
- Tushare:要攒积分才能拿日线数据,分钟线更是遥不可及,好不容易写好了策略,积分不够直接报错,回测中断。
- AkShare:免费是真免费,但接口说崩就崩,特别是开盘和收盘高峰期,经常连不上,回测跑到一半给你来个超时异常。
- yfinance:A股数据延迟严重,复权数据还得自己算,算错了就是未来函数,回测收益率虚高得离谱。
- 手动清洗复权:除权除息导致的股价跳空,手动处理不仅繁琐,稍不留神就引入未来函数,回测结果全废。
搞数据的时间占了80%,真正写策略的时间不到20%——这还怎么愉快地量化?
二、解决方案对比(QuantDash vs 传统数据源)
| 对比维度 | 传统/竞品方案(Tushare/AkShare/手动爬虫) | QuantDash 解决方案 |
|---|---|---|
| 数据稳定性 | 接口频繁失效、高峰期报错超时 | 服务端稳定支撑,毫秒级响应 |
| 使用门槛 | 需攒积分、手动清洗、反复调试 | 无积分门槛,pip install quantdash 即用 |
| 跨市场支持 | 代码后缀混乱,A股/港股/美股难以兼顾 | 统一后缀.SH/.SZ/.US/.HK,开箱即用 |
| 复权处理 | 需手动计算,易引入未来函数 | 内置adjust='forward' 前复权,一行搞定 |
| 数据格式 | 需反复转换数据类型 | 原生返回标准 Pandas DataFrame |
三、Python代码实战(可直接复制运行)
下面这套代码,用 QuantDash + Pandas 实现“5日资金净流入 + 股价滞涨”的选股逻辑,全程不到30行。
# 1. 安装与初始化
# pip install quantdash
# GitHub 开源项目:https://github.com/quantdash-net/QuantDash
from quantdash import QuantDash
import pandas as pd
import numpy as np
# 初始化(也可通过环境变量 QUANTDASH_API_KEY 设置)
qd = QuantDash(api_key="your-api-key")
# 2. 获取全市场A股实时行情快照
# 标的池 CN_Stock = 沪深京全量A股
quotes_df = qd.quotes.get(universes=["CN_Stock"], to_dataframe=True)
print(f"全市场共 {len(quotes_df)} 只个股")
# 提取股票代码列表(取前500只演示,实际可全量跑)
symbols = quotes_df['symbol'].head(500).tolist()
# 3. 批量获取每只股票最近10个交易日的日K线(含成交额,用于估算资金流向)
# 注:QuantDash 的 klines.batch 支持批量获取,返回 dict{ symbol: DataFrame }
dfs = qd.klines.batch(
symbols,
period="1d",
count=10, # 取最近10根日K,用于计算5日资金流入
adjust="forward", # 前复权-比例复权,自动处理除权除息[reference:11]
to_dataframe=True,
show_progress=True
)
# 4. 核心选股逻辑:遍历每只股票,计算“5日资金净流入”和“5日涨幅”
results = []
for sym, df in dfs.items():
if df is None or len(df) < 6:
continue
# 按交易日期排序(确保时间顺序正确)
df = df.sort_values('trade_date')
# 取最近5个交易日
recent = df.tail(5)
# 估算每日资金净流入 = 成交额 × (收盘价 - 开盘价) / 开盘价 的简化代理
# (实战中可用更精细的Level-2数据,这里用量价关系做代理指标)
recent['price_change'] = (recent['close'] - recent['open']) / recent['open']
recent['money_flow'] = recent['volume'] * recent['close'] * recent['price_change']
# 5日累计资金净流入(单位:万元)
total_flow_5d = recent['money_flow'].sum() / 10000
# 5日涨幅(%)
pct_change_5d = (recent['close'].iloc[-1] / recent['close'].iloc[0] - 1) * 100
# 核心条件:5日资金净流入 > 0(资金在进)且 5日涨幅 < 3%(股价没怎么涨)
if total_flow_5d > 0 and pct_change_5d < 3:
results.append({
'symbol': sym,
'name': df['name'].iloc[0] if 'name' in df.columns else sym,
'total_flow_5d_万': round(total_flow_5d, 2),
'pct_change_5d': round(pct_change_5d, 2),
'latest_close': recent['close'].iloc[-1]
})
# 5. 按资金净流入金额排序,找出“暗中潜伏”最明显的标的
result_df = pd.DataFrame(results).sort_values('total_flow_5d_万', ascending=False)
print("\n=== 资金暗中潜伏标的(5日净流入>0 且 5日涨幅<3%)===")
print(result_df.head(20).to_string(index=False))
代码逻辑拆解:
- 获取全市场快照:通过
qd.quotes.get(universes=["CN_Stock"])一键获取A股全量行情。 - 批量拉取日K:
klines.batch()支持多只股票并行获取,adjust="forward"自动处理前复权。 - 资金流向代理指标:用
成交额 × 涨跌幅近似估算当日资金净流入方向——放量上涨=资金流入,放量下跌=资金流出。 - 双重筛选:
5日累计净流入 > 0(资金在持续进场)+5日涨幅 < 3%(股价没怎么动)。
四、交易员避坑指南
避坑1:别把“资金净流入”当圣杯
Level-2统计的“主力净流入”本质上是大单买入减去大单卖出的净额。主力完全可以通过“大单买、小单卖”的方式制造净流入假象。低位横盘+连续净流入才是真正的吸筹信号;高位滞涨+连续净流入反而要警惕主力对倒出货。
避坑2:复权没处理好=回测全是幻觉
很多新手用不复权数据做回测,除权除息日股价凭空暴跌,策略触发“抄底”信号——这完全是数据幻觉。QuantDash 的 adjust='forward' 一行代码搞定前复权,从根本上杜绝未来函数。
避坑3:回测记得加滑点和印花税
“资金潜伏”策略在实盘中容易遇到流动性不足的问题——你看中的小盘股,真金白银买进去可能直接把股价拉起来。建议回测时加入 0.1%~0.2%的买入滑点,避免过度乐观。
五、常见问题解答(Q&A)
Q1:QuantDash 的 klines.batch() 最多支持多少只股票同时查询?
A:klines.batch() 支持批量并发获取,建议单次不超过500只以保证响应速度。如果需要全市场5000+只股票的扫描,可以分批调用,配合 show_progress=True 查看进度。官方文档:https://docs.quantdash.net/
Q2:代码里的“资金净流入”用的是成交额和涨跌幅估算,和Level-2的主力净流入有什么区别?
A:本文代码用的是简化代理指标——用“成交额×涨跌幅”近似估算资金流向,适合快速扫描全市场。如果需要更精确的Level-2大单净流入数据,QuantDash 的 qd.quotes 接口返回的 ext 字段中包含更丰富的行情数据,可结合大单成交明细做精细化计算。
Q3:用QuantDash获取A股数据需要付费吗?
A:QuantDash 提供免费API Key,无需攒积分、无需充值即可体验全量数据。免费额度足以支撑个人量化研究和策略开发。获取地址:https://quantdash.net/dashboard/keys/
🔗 相关资源与延伸阅读
🚀 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/

