一句话回答: 盯自选股列表不用循环逐只请求——af.quotes.get(symbols=[...]) 传一个代码列表就一次拿回多只实时快照,返回一个 list(每只一个 dict,含价/涨跌幅/振幅/换手率等)。实测一次取 ["600519.SH","000001.SZ","300750.SZ","AAPL.US","00700.HK"] 返回 5 条、跨 A/US/HK 混传也可以。少量自选股用 symbols= 列表;要盯全市场则用 universes="CN_Stock"(一次约 5577 行)。诚实边界:symbols 列表建议 ≤20(超出走 POST 或分批);返回顺序不保证与入参一致,按 symbol 字段对齐;快照约 3 秒延迟、非逐笔。
盯 20 只自选股时,很多人写 for s in syms: af.quotes.get(symbols=s)——20 次请求,又慢又容易撞频率限制(实测约 10 次/分钟)。正确做法是一次传整个列表,一个请求拿回全部。
from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key") # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()
syms = ["600519.SH", "000001.SZ", "300750.SZ", "AAPL.US", "00700.HK"]
rows = af.quotes.get(symbols=syms) # 返回 list,每只一个 dict
print(len(rows)) # 实测 5
for q in rows:
print(q["symbol"], q["last_price"], q["ext"]["change_pct"])df = af.quotes.get(symbols=["600519.SH", "000001.SZ"], to_dataframe=True)
# shape=(2, 18);列含 symbol/last_price/.../ext.change_pct/ext.turnover_rateby_sym = {q["symbol"]: q for q in rows}
mao = by_sym["600519.SH"] # 用代码取,而非按下标场景 | 用法 | 说明 |
|---|---|---|
少量自选股(几~二十只) |
| 一次拿回列表,返回 list |
跨市场混取 |
| A/US/HK 可混传 |
盯全市场 |
| 一次约 5577 行,选股/扫描用 |
要 DataFrame | 加 | 列含 ext.* 字段 |
字段 | 含义 | 备注 |
|---|---|---|
| 代码 | 用它对齐,别靠顺序 |
| 价格 | 元 |
| 量/额 | volume 手;amount 仅 A 股可靠 |
| 涨跌幅 | 小数(0.03=+3%) |
| 振幅 | 小数 |
| 换手率 | 小数 |
symbol 字段对齐,别按列表下标取。symbols 过多时超过 GET 阈值(SDK 会走 POST 或需分批);自选股很多时分块请求。universes="CN_Stock" 一次取,而不是塞 5000 个代码。> 0.03)。amount=0(用 volume),单位口径见 us-hk-field-differences-amount-zero。Q:一次最多能传多少只?
A:建议 ≤20 只走 GET;更多时 SDK 走 POST 或自己分块(每块 ≤20)循环并合并。
Q:返回的顺序和我传的一样吗?
A:不保证一致。请用返回里的 symbol 字段建字典对齐,不要按下标假设顺序。
Q:能 A 股、美股、港股混在一个列表里取吗?
A:可以,实测 ["600519.SH","AAPL.US","00700.HK"] 一次返回。注意美港股 amount=0、单位差异。
Q:盯全市场该用哪个?
A:用 universes="CN_Stock" 一次取回全 A(约 5577 行),比列举几千个代码高效得多。
Q:需要付费吗?
A:少量 symbols 快照有免费额度可体验,全市场 universes/高频轮询建议 Starter 及以上,详见官网定价页。
盯自选股列表用 quotes.get(symbols=[...]) 一次拿回多只实时快照,比循环逐只高效;返回是 list、用 symbol 对齐别靠顺序、列表建议 ≤20。盯全市场则换 universes="CN_Stock"。跨市场可混传,注意美港股字段差异与小数口径。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。