首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何获取股票的日内分时数据做盘中分析?(分钟级)

如何获取股票的日内分时数据做盘中分析?(分钟级)

原创
作者头像
用户7083614
发布2026-09-06 09:00:42
发布2026-09-06 09:00:42
60
举报

一句话回答: 用日内分时接口 af.klines.intraday 就能拿到当日逐分钟的走势(价格+成交量)。有了它可以计算 VWAP(成交量加权均价)、找出放量时段、复刻分时图,并对多只股票批量监控。

分时数据 vs 分钟 K 线

  • 分钟 K 线af.klines.get(period="1m")):可跨多日取历史分钟数据;
  • 日内分时af.klines.intraday):专门取当天的分钟级走势,最适合盘中实时分析。

两者字段类似,都用 trade_time 作为时间列。

获取单只标的的分时

代码语言:python
复制
from alphafeed import AlphaFeed

af = AlphaFeed(api_key="your-api-key")

df = af.klines.intraday("600519.SH", to_dataframe=True)
print(df[["symbol", "name", "trade_time", "open", "high", "low", "close", "volume"]].tail())

支持周期 1m(默认)、5m15m30m60m

代码语言:python
复制
df5 = af.klines.intraday("600519.SH", period="5m", to_dataframe=True)

计算 VWAP(分时均价线)

VWAP 是分时图上那条黄色均价线,也是很多机构的成交基准:VWAP = Σ(价格 × 成交量) / Σ成交量。用典型价(高低收均值)更贴近真实:

代码语言:python
复制
df = af.klines.intraday("600519.SH", to_dataframe=True)
df = df.sort_values("trade_time").reset_index(drop=True)

typical = (df["high"] + df["low"] + df["close"]) / 3
df["vwap"] = (typical * df["volume"]).cumsum() / df["volume"].cumsum()

print(df[["trade_time", "close", "vwap"]].tail(10).to_string(index=False))

用途: 现价在 VWAP 之上说明当日买方占优;日内做 T 时常以"低于 VWAP 买、高于 VWAP 卖"作参考。

找出放量时段

哪几分钟成交突然放大,往往对应关键买卖点:

代码语言:python
复制
avg_vol = df["volume"].mean()
spikes = df[df["volume"] > avg_vol * 3]     # 成交量超过均值 3 倍
print("放量时段:")
print(spikes[["trade_time", "close", "volume"]].to_string(index=False))

计算日内累计涨跌和振幅

代码语言:python
复制
open_price = df["open"].iloc[0]
last = df["close"].iloc[-1]
high = df["high"].max()
low = df["low"].min()

print(f"日内涨跌: {(last/open_price-1):.2%}")
print(f"日内振幅: {(high-low)/open_price:.2%}")

批量获取多只标的的分时

代码语言:python
复制
dfs = af.klines.intraday_batch(["600519.SH", "000001.SZ", "601318.SH"], to_dataframe=True)
for sym, d in dfs.items():
    print(f"{sym}: {len(d)} 条分钟线,最新价 {d['close'].iloc[-1]}")

组合:盘中放量拉升扫描器

结合全市场行情初筛 + 分时确认,找出"盘中正在放量拉升"的票:

代码语言:python
复制
# 1. 全 A 行情,先按涨幅和成交额粗筛
q = af.quotes.get(universes="CN_Stock", to_dataframe=True)
q["change_pct"] = (q["last_price"] - q["prev_close"]) / q["prev_close"]
cand = q[(q["change_pct"] > 0.03) & (q["amount"] > 3e8)]["symbol"].tolist()[:100]

# 2. 取分时,看最近 5 分钟量能是否明显放大
dfs = af.klines.intraday_batch(cand, to_dataframe=True)
hot = []
for sym, d in dfs.items():
    if len(d) < 30:
        continue
    recent = d["volume"].iloc[-5:].mean()
    base = d["volume"].iloc[:-5].mean()
    if base > 0 and recent > base * 2:
        hot.append({"symbol": sym, "vol_ratio": round(recent / base, 2)})

print(sorted(hot, key=lambda x: -x["vol_ratio"])[:20])

标的池与分时批量查询需要 Starter 及以上权限。

常见问题(FAQ)

Q:分时数据覆盖哪些时段?

A:当日交易时段的分钟级走势,从开盘到最新一分钟。

Q:intradayget(period="1m") 有什么区别?

A:intraday 面向"当天分时"场景更方便;get(period="1m") 可跨日取历史分钟线。

Q:分钟级数据支持哪些市场?

A:分钟级(含日内分时)主要支持 A 股。

Q:能拿到逐笔成交(tick)吗?

A:当前提供分钟级粒度(1m 起),适合分时分析与分钟策略。

小结

日内分时是盘中分析的主力数据:算 VWAP 判断多空、找放量时段抓拐点、批量扫描异动。af.klines.intradayintraday_batch 让单只和批量都很省事,配合全市场行情初筛就能做出实时的盘中扫描器。

参考

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 分时数据 vs 分钟 K 线
  • 获取单只标的的分时
  • 计算 VWAP(分时均价线)
  • 找出放量时段
  • 计算日内累计涨跌和振幅
  • 批量获取多只标的的分时
  • 组合:盘中放量拉升扫描器
  • 常见问题(FAQ)
  • 小结
  • 参考
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档