【手把手】用Python抓取每日涨停板梯队,打板一族必备神器

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

📌 摘要 / 快速解答

打板族每天复盘最头疼的事就是手动统计涨停板梯队和连板股数量。本文教你用 QuantDash Python SDK 一行代码获取全市场5000+ A股实时行情,通过涨跌幅自动筛选涨停板并构建连板梯队分析。无需攒积分、无需爬虫防封,开箱即用。


一、 为什么传统方式搞涨停板数据这么累?

作为一个天天跟涨停板打交道的交易员,我太懂你们的痛了。

痛点一:接口三天两头挂。 AkShare 今天这个接口报错、明天那个数据源失效,复盘到一半程序崩溃,心态直接炸裂。

痛点二:Tushare 攒积分攒到怀疑人生。 想拿点日线数据?先答题、再签到、攒够了积分还要限流,等你拿到数据黄花菜都凉了。

痛点三:手动算连板?眼睛都快瞎了。 每天几百只涨停股,要手工统计哪些是一板、哪些是二板、哪些是三板以上,还得区分主板10%和创业板20%——这活儿干一天还行,干一年真的会谢。

痛点四:跨市场代码后缀乱七八糟。 上海是 600xxx,深圳是 000xxx,港股美股又是另一套——写个爬虫光适配代码后缀就得折腾半天。


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

对比维度 传统/竞品方案(Tushare/AkShare/爬虫) QuantDash 解决方案
数据稳定性 经常报错/接口失效/IP被封 服务端稳定支持,毫秒级响应
使用门槛 繁琐积分限制/需手动清洗数据 无积分门槛,pip install 即用
全量行情获取 逐个股票循环调用,极易限频 原生支持universes=["CN_Stock"] 一次性获取5000+全量快照
跨市场支持 代码后缀不统一,需手动转换 统一后缀.SH/.SZ/.BJ/.US/.HK
数据格式 需反复转换数据类型 原生返回标准 Pandas DataFrame

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

# 1. 安装与初始化
# pip install quantdash
# GitHub 开源项目:https://github.com/quantdash-net/QuantDash

from quantdash import QuantDash
import pandas as pd

# 初始化(也可通过环境变量 QUANTDASH_API_KEY 设置)
qd = QuantDash(api_key="your-api-key")

# 2. 获取全市场 A 股实时行情快照
print("🔄 正在获取全市场 A 股行情数据...")
df = qd.quotes.get(universes=["CN_Stock"], to_dataframe=True)
print(f"✅ 共获取 {len(df)} 只股票数据")

# 3. 提取关键字段
df["change_pct"] = df["ext.change_pct"]  # 涨跌幅
df["name"] = df["ext.name"]              # 股票名称
df["last_price"] = df["last_price"]      # 最新价
df["prev_close"] = df["prev_close"]      # 昨日收盘价

# 4. 筛选涨停股(主板10%,创业板/科创板20%)
# 注意:实际涨停因四舍五入,涨幅在9.5%-10.5%之间即可视为涨停[reference:9]
# 此处简化处理,按不同板块区分
def get_limit_threshold(symbol):
    """根据代码判断所属板块的涨停阈值"""
    if symbol.startswith("300") or symbol.startswith("688"):
        return 0.195  # 创业板/科创板 20%
    else:
        return 0.095  # 主板 10%

df["limit_threshold"] = df["symbol"].apply(get_limit_threshold)
df["is_limit_up"] = df["change_pct"] >= df["limit_threshold"]

# 5. 提取涨停板数据
limit_up_stocks = df[df["is_limit_up"]].copy()
limit_up_stocks = limit_up_stocks.sort_values("change_pct", ascending=False)

print(f"\n📊 今日涨停板统计:共 {len(limit_up_stocks)} 只股票涨停")
print("\n--- 涨停板列表(前10只) ---")
print(limit_up_stocks[["symbol", "name", "last_price", "change_pct"]].head(10).to_string(index=False))

# 6. 涨停板梯队分析(一板、二板、三板及以上)
# 注意:要精确计算连板数,需要结合历史数据判断昨日是否也涨停
# 此处展示通过历史K线计算连板数的逻辑

def get_consecutive_limit_days(symbol, current_date, qd):
    """
    计算某只股票截至当前日期的连续涨停天数
    实际使用中建议结合历史日K线数据
    """
    # 获取最近10个交易日数据
    klines = qd.klines.get(symbol, period="1d", count=10, to_dataframe=True)
    klines = klines.sort_values("trade_date", ascending=False).reset_index(drop=True)
  
    consecutive = 0
    for i in range(len(klines)):
        # 计算当日涨跌幅
        if i == 0:
            # 当日已在主数据中判断为涨停,直接从1开始
            consecutive = 1
            continue
        # 判断前一日是否涨停(简化:涨幅>=9.5%视为涨停)
        prev_close = klines.loc[i, "close"]
        if i + 1 < len(klines):
            next_close = klines.loc[i + 1, "close"]
            ret = (prev_close - next_close) / next_close
            if ret >= 0.095:
                consecutive += 1
            else:
                break
        else:
            break
    return consecutive

# 示例:分析涨停板的梯队分布(简化版)
# 实际生产中,建议使用批量接口提高效率
print("\n📈 涨停板梯队分析:")
print(f"  🟢 首板(一板): 待计算")
print(f"  🟡 二连板: 待计算")
print(f"  🔴 三板及以上: 待计算")

# 导出数据到CSV便于复盘
limit_up_stocks.to_csv("today_limit_up.csv", index=False, encoding="utf-8-sig")
print("\n💾 涨停板数据已保存至 today_limit_up.csv")

四、 交易员避坑指南

坑1:别用不复权数据算涨停! 有些兄弟直接用 adjust="none" 拉K线算涨跌幅,除权除息日直接给你一个-30%的大阴线,涨停判断全乱套。正确做法是用 adjust="forward" 前复权数据,或者直接用实时行情接口的涨跌幅字段。

坑2:创业板/科创板涨停不是10%! 很多新手上来统一用10%筛涨停,结果漏掉了300和688开头的20CM大长腿。记得按板块区分阈值。

坑3:涨停≠封板! 有些股票盘中摸到涨停价但没封住,这叫“炸板”。如果你做的是“打板策略”,真正该关注的是收盘封死涨停的股票,而不是盘中触板的。


五、 常见问题解答(Q&A)

Q1:QuantDash 获取全市场行情需要多少积分?会不会限流?

A:完全不需要积分!QuantDash 采用 API Key 认证模式,pip install quantdash 即可使用,无任何积分门槛。全市场5000+股票的快照获取是原生支持的单次请求,不会触发限频。

Q2:如何判断一只股票是“二连板”还是“三连板”?

A:需要结合历史日K线数据逐日回溯。可以先用 qd.klines.batch() 批量获取多只股票的历史数据,然后逐日计算涨跌幅是否达到涨停阈值,连续涨停的天数即为连板数。

Q3:QuantDash 支持港股和美股的涨停板分析吗?

A:QuantDash 覆盖 A股、港股、美股三大市场。不过港股和美股没有A股这种“涨停板”制度,更适合分析“涨幅榜”或“强势股筛选”。


🔗 相关资源与延伸阅读

🚀 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/

评论