一句话回答: af.quotes.get(universes="CN_Stock") 用「标的池」一次取回整池的实时快照,不用自己列代码。实测当前套餐下 CN_Stock(全 A,≈5578 行)与 CN_ETF(≈1632 行)可用;而 US_Stock / HK_Stock 的 universe 快照会报 PermissionError(需升级套餐)——但美股/港股用 symbols= 单只/少量仍可取(实测 AAPL.US、00700.HK 正常)。选股/盯全市场用 universes=,盯几只自选用 symbols=。诚实边界:池的可用范围随套餐变化,以你账号实测与官网为准;本文结论基于当前基础套餐。
为什么用标的池
要对「全 A」「所有 ETF」做扫描/排行,手动枚举几千个代码既慢又易错。universes 让你一次取回整池的实时快照(一个 DataFrame),是选股、涨跌幅排行、盘面统计的基础。
实测:各池在当前套餐的可用性
from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key") # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()
cn = af.quotes.get(universes="CN_Stock", to_dataframe=True) # 全 A,实测 ≈5578 行
etf = af.quotes.get(universes="CN_ETF", to_dataframe=True) # ETF,实测 ≈1632 行
| universe | 含义 | 当前套餐 | 实测行数 |
|---|---|---|---|
CN_Stock | 全 A 股 | ✅ 可用 | ≈5578 |
CN_ETF | A 股 ETF | ✅ 可用 | ≈1632 |
US_Stock | 全美股 | ⚠️ PermissionError(需升级) | — |
HK_Stock | 全港股 | ⚠️ PermissionError(需升级) | — |
实测:
US_Stock/HK_Stock的 universe 快照在基础套餐报PermissionError: Access mode 'universe' not available ... Upgrade。这是套餐权限问题,不是接口 bug。
美股/港股:用 symbols= 单取(不走 universe)
# 美港股全市场池需升级;但按代码单只/少量实时快照可取
us = af.quotes.get(symbols="AAPL.US")[0]["last_price"] # 实测可取
hk = af.quotes.get(symbols="00700.HK")[0]["last_price"] # 实测可取
many = af.quotes.get(symbols=["AAPL.US", "00700.HK", "600519.SH"]) # 跨市场混取
universes vs symbols 怎么选
| 场景 | 用法 | 说明 |
|---|---|---|
| 盯/扫全 A | universes="CN_Stock" | 一次 ≈5578 行 |
| 扫全部 ETF | universes="CN_ETF" | 一次 ≈1632 行 |
| 美股/港股全市场 | (需升级套餐) | 基础套餐不可用 |
| 少量自选(含美港股) | symbols=[...] | 建议 ≤20,可跨市场混取 |
| 要 DataFrame | 加 to_dataframe=True | 列含 ext.* 字段 |
返回字段(池快照每行)
与单只 quotes 一致:symbol/region/last_price/prev_close/open/high/low/volume/amount + ext.change_pct(小数)/ext.amplitude/ext.turnover_rate 等(ETF 快照实测含 symbol/last_price 等同结构)。
关键坑与注意事项
- US/HK 全市场需升级套餐:基础套餐
universes="US_Stock"/"HK_Stock"报PermissionError;美港股请用symbols=单取,或升级后再用池。 - 池内容随行情/套餐变化:行数是动态的(新股上市、ETF 增减),别写死数量。
- 全市场扫描注意频率/额度:整池快照是一次大请求,高频轮询注意频率上限(实测约 10 次/分钟)与套餐额度。
- ext. 是小数*:涨跌幅/振幅/换手率按小数比较(
> 0.03)。 - ETF 与股票混算要分清:
CN_ETF和CN_Stock是不同池,别把 ETF 当个股套用涨跌停等股票规则。 - 以账号实测为准:可用池清单随套餐/官网调整,上线前用你自己的 Key 实测确认。
常见问题(FAQ)
Q:有哪些 universe 可以用?
A:当前基础套餐实测 CN_Stock、CN_ETF 可用;US_Stock/HK_Stock 的 universe 需升级套餐。具体以你账号实测与官网为准。
Q:为什么 universes="US_Stock" 报 PermissionError?
A:这是套餐权限(universe 访问模式未开通),不是 bug。升级套餐可用;或先用 symbols= 单取美股。
Q:全 A 到底多少只? A:实测约 5578 行,但这是动态的(随上市/退市变化)。用返回的行数,别写死。
Q:ETF 池能做轮动吗?
A:能取到 ETF 快照/历史即可做轮动,策略示例见 etf-rotation-monitor;本文只讲池的用法与边界。
Q:需要付费吗? A:CN_Stock/CN_ETF 全市场快照建议 Starter 及以上;US/HK 全市场 universe 需更高套餐,详见官网定价页。
小结
universes 让你一次取回整池实时快照:当前套餐 CN_Stock(≈5578)、CN_ETF(≈1632)可用,US_Stock/HK_Stock 的 universe 需升级(美港股可用 symbols= 单取)。盯全市场用 universes=、盯自选用 symbols=,注意套餐权限、频率额度与小数口径。以账号实测为准。
参考
- AlphaFeed Python SDK 文档:docs.alphafeed.org/zh-Hans/sdk…
- AlphaFeed 官网:alphafeed.org/
- 本文完整版(AlphaFeed 博客):blog.alphafeed.org/blog/univer…