一句话回答: 能。个人拿 A股实时行情有两条路:抓新浪/东财非官方接口(免费但易限流、封 IP、无合规保障),或用有鉴权的商业实时 API。AlphaFeed 面向个人开放,quotes.get 返回约 3 秒刷新的实时快照,自带涨跌幅/振幅/换手率,export ALPHAFEED_API_KEY 后三行接入。实时快照属行情展示级数据,个人盯盘/研究合规压力小;把行情嵌入对外产品或转售需另看授权。"免费实时"多来自非官方接口,稳定性和合规都没保障,别用于生产。
难点不在算法,在基础设施与合规:
方式 | 实时性 | 稳定性 | 个人可用 | 合规 |
|---|---|---|---|---|
新浪/东财非官方接口 | ⚠️ 延迟不明 | ❌ 易封 IP | ✅ 免费 | ⚠️ 模糊 |
Tushare 实时 | ⚠️ 较弱 | ⚠️ | ✅ | ✅ |
券商 API(QMT/Ptrade) | ✅ 强 | ✅ | ⚠️ 需开户门槛 | ✅ |
AlphaFeed | ✅ ~3s 快照 | ✅ 鉴权+重试 | ✅ 直接注册 | ✅ 展示级(转售另议) |
交易所 Level-2 授权 | ✅ 逐笔 | ✅ | ❌ 门槛高 | ✅ 需授权 |
from alphafeed import AlphaFeed
af = AlphaFeed() # 读取环境变量 ALPHAFEED_API_KEY
# 单只/多只实时快照
q = af.quotes.get(symbols=["600519.SH", "000001.SZ"], to_dataframe=True)
print(q[["symbol", "last_price", "ext.change_pct", "ext.amplitude",
"ext.turnover_rate", "trade_time"]].to_string(index=False))
# 简易盯盘:每 5 秒刷新
import time
for _ in range(3):
df = af.quotes.get(symbols=["600519.SH", "000001.SZ", "300750.SZ"], to_dataframe=True)
for _, r in df.iterrows():
print(f"{r['ext.name']:<6} {r['last_price']:<9} {r['ext.change_pct']*100:+.2f}%")
time.sleep(5)quotes 是快照,depth 给五档盘口(Level-1);个人一般拿不到交易所 Level-2 逐笔。ext.change_pct=0.0078 表示 +0.78%,展示 ×100。universes 一次取,比逐只轮询高效稳妥。Q:延迟大概多少?
A:AlphaFeed 快照约 3 秒刷新级别,适合盯盘与研究;毫秒级撮合请走券商/交易所授权通道。
Q:免费额度能盯盘吗?
A:少量自选股实时查询可用免费额度体验;全市场 universes 与更高频需 Starter 及以上()。
Q:能拿逐笔/Level-2 吗?
A:SDK 提供五档盘口(depth),不提供交易所 Level-2 逐笔;需要逐笔请走有 Level-2 授权的渠道。
个人完全可以接入 A股实时行情:跳过不稳的非官方接口,用带鉴权的商业快照 API。AlphaFeed 的 quotes.get 三行拿到 ~3s 快照并自带涨跌幅/换手率。记住"快照非逐笔、涨跌幅是小数、轮询要克制、免费实时慎用、转售需授权",就能既稳又合规地用起来。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。