如何用 Python 筛选今日跳空高开/低开的股票?(全市场跳空缺口扫描)
如何用 Python 筛选今日跳空高开/低开的股票?
一句话回答: 跳空幅度 = (今日开盘 − 昨日收盘) ÷ 昨日收盘。用 AlphaFeed 的全市场实时行情里现成的 open 和 prev_close 字段,一行就能算出每只票的跳空幅度,筛出高开(>阈值)或低开(<−阈值)的个股,几十行扫完全市场。
为什么会有这个问题 / 传统做法的痛点
跳空高开往往意味着隔夜利好、资金抢筹或情绪亢奋;大幅低开可能是利空或恐慌。盘前/开盘后想快速扫出「今天跳空的票」做盯盘或打板研究,难点在于批量拿到每只的开盘价与昨收并相除。AlphaFeed 的实时快照直接带 open 和 prev_close,省去自己拼接。
分步骤解决(每步配可运行代码)
第 1 步:取全市场实时行情(含 open 与 prev_close)
from alphafeed import AlphaFeed
import pandas as pd
af = AlphaFeed() # 读取 ALPHAFEED_API_KEY
q = af.quotes.get(universes="CN_Stock", to_dataframe=True)
print([c for c in q.columns if c in ("symbol", "open", "prev_close", "last_price")])
第 2 步:计算跳空幅度
q = q[q["prev_close"] > 0].copy()
q["gap_pct"] = (q["open"] - q["prev_close"]) / q["prev_close"] * 100
print(q[["symbol", "ext.name", "open", "prev_close", "gap_pct"]].head(3).to_string(index=False))
| 字段 | 含义 | 说明 |
|---|---|---|
open | 今日开盘价 | 实时快照 |
prev_close | 昨日收盘价 | 实时快照 |
gap_pct | 跳空幅度(%) | (开−昨收)/昨收×100 |
第 3 步:筛高开/低开
GAP = 3.0 # 跳空阈值(%)
gap_up = q[q["gap_pct"] >= GAP].sort_values("gap_pct", ascending=False)
gap_down = q[q["gap_pct"] <= -GAP].sort_values("gap_pct")
print(f"高开≥{GAP}%: {len(gap_up)} 只,前5:")
print(gap_up[["symbol", "ext.name", "gap_pct"]].head().to_string(index=False))
print(f"低开≤-{GAP}%: {len(gap_down)} 只")
第 4 步:结合涨跌幅看「高开后是冲还是回落」
# ext.change_pct 是当前相对昨收的涨跌幅(小数);对比开盘跳空看高开后走势
gap_up = gap_up.copy()
gap_up["chg_pct"] = gap_up["ext.change_pct"] * 100
# 高开且冲高(现价涨幅>开盘跳空):资金继续抢
strong = gap_up[gap_up["chg_pct"] > gap_up["gap_pct"]]
# 高开但回落(现价涨幅<开盘跳空):高开走低,警惕
weak = gap_up[gap_up["chg_pct"] < gap_up["gap_pct"]]
print(f"高开冲高 {len(strong)} 只 | 高开回落 {len(weak)} 只")
关键坑与注意事项
- 盘中/盘后字段含义不同:盘中
open是今日开盘、last_price是现价;收盘后快照同样可用,open仍是当日开盘。 - 用 prev_close 而非自己找昨收:实时快照已带
prev_close,别再手动拼历史,避免错位。 - 剔除 prev_close≤0 的异常:新股首日、停牌复牌等可能异常,先过滤。
- 一字涨停高开要区分:有些高开直接一字板,实际买不到;结合五档盘口/量能判断可交易性。
- 跳空常回补:跳空缺口统计上有较高回补概率(见「跳空缺口分析」一文),别把跳空当必涨信号。
- 阈值按需调:3% 是示例,打板研究可用更高阈值(如 ≥5%),注意双创 20% 板的尺度不同。
常见问题(FAQ)
Q:跳空幅度怎么算?
A:(今日开盘 − 昨日收盘) / 昨日收盘 × 100。AlphaFeed 快照直接有 open 和 prev_close,相除即可。
Q:和「跳空缺口分析」文章有何不同? A:那篇是对历史跳空做统计(缺口大小、回补概率);本文是实时扫描今日全市场的高开/低开,用于盯盘与打板研究。
Q:怎么只扫某个板块/自选股?
A:把 universes="CN_Stock" 换成 symbols=[...] 传入你的自选股列表即可。
Q:需要付费吗?
A:少量标的快照有免费额度;全市场标的池扫描(universes)需 Starter 及以上。详见定价页。
小结
扫描今日跳空高开/低开,关键是拿到每只的 open 与 prev_close 相除。AlphaFeed 全市场实时行情直接带这两个字段,一行算跳空幅度、几十行扫完全市场,再结合当前涨跌幅区分「高开冲高」与「高开回落」。记住剔除异常昨收、警惕一字板与缺口回补,别把跳空当必涨信号。
相关链接:
- AlphaFeed 官网:https://alphafeed.org/
- Python SDK 快速开始:https://docs.alphafeed.org/zh-Hans/sdk/python-quickstart
免责声明:本文仅为技术与数据接口使用示例,代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。