买 QQQ 和 SMH 重仓了谁?用 FMP ETF 持仓接口(ETF Holdings API)拆解底层权重与投资分散度
在配置美股科技与 AI 算力组合时,许多投资者习惯同时买入纳斯达克 100 ETF(QQQ)、半导体行业 ETF(SMH 或 SOXX)以及标普 500 指数 ETF(VOO 或 SPY),试图通过“宽基 + 科技 + 硬科技赛道”实现分散化配置。然而,如果不对各只基金的底层持仓做逐股穿透(Look-Through),看似分散的多基金组合往往会使单股集中度成倍放大,同时又因指数编制规则的上市地与行业分类限制,意外漏掉关键的非美半导体龙头。
我们调用 FMP 官方 ETF 与基金数据流,对 QQQ、SMH、SOXX、XLK 与 VOO 五只核心美股 ETF(接口标称资产管理规模合计约 1.69 万亿美元,含 SPY 对照共约 2.50 万亿美元,数据取数截至 2026-11-07 最新可得快照)做实盘逐股穿透后发现:SMH 全部 25 只股票持仓中有 21 只已包含在 QQQ 内,这 21 只重合标的合计占 SMH 总权重的 84.68%(在 QQQ 中占 27.32%,按每只共同持股取较低权重相加的两基金权重重叠率为 27.32%);投资者在 QQQ 之外叠加买入 SMH,真正新增的非 QQQ 个股仅占 SMH 的 15.25%(在 50/50 等权组合中仅占账户约 7.62%,集中于台积电 TSM 与 SK 海力士 SKHY 等 4 只股票),而英伟达单股权重则从单独持有 QQQ 时的 7.58% 飙升至等权组合的 14.29%。
为什么同时买 QQQ、SMH 与 VOO 不是分散投资,而是在少数算力龙头上叠加仓位?
在 EtfAndMutualFunds(ETF 与基金接口)分类下,FMP 提供了从基金顶层档案到底层逐股持仓的完整穿透工具链:通过 ETF & Mutual Fund Information(ETF与基金资料接口,/stable/etf/info)可获取资产管理规模(assetsUnderManagement)、费率(expenseRatio)与标称持仓数量(holdingsCount);通过 ETF & Fund Holdings(ETF与基金持仓明细接口,/stable/etf/holdings)可拉取每日更新的逐股持仓权重(weightPercentage)、持股数量(sharesNumber)与持仓市值(marketValue);再配合 ETF Sector Weighting(ETF 板块权重接口,/stable/etf/sector-weightings)与 ETF & Fund Country Allocation(ETF 基金国家配置接口,/stable/etf/country-weightings)即可完成从个股、行业到国家敞口的三维拆解。
我们将截至 2026 年 11 月 7 日实盘拉取的五大科技与宽基 ETF(外加同跟踪标普 500 的 SPY 作为对照;文中各项合计均按接口原始未取整权重求和后四舍五入,与展示值直接相加可能存在 0.01% 尾差)底层结构与核心芯片/科技股权重汇总如下:
| 基金代码与简称 | 标称 AUM · 费率 · 有效股票数 | 前五大重仓股及权重 (Top 5 合计占比) | 科技板块占比 · 非美地区占比 | 核心算力与半导体龙头单股权重对比 (NVDA / TSM / AVGO / AMD / ASML) |
|---|---|---|---|---|
| QQQ (纳指 100) | 4,692.77 亿美元 · 0.18% · 101 只 | AAPL 8.70%、NVDA 7.58%、MSFT 6.89%、AMZN 4.86%、MU 3.54% (31.56%) | 科技 59.21% · 非美 2.75% (荷兰 0.84%) | NVDA 7.58% · TSM 0.00% · AVGO 2.40% · AMD 3.15% · ASML 0.61% |
| SMH (VanEck 半导体) | 606.90 亿美元 · 0.35% · 25 只 | NVDA 21.00%、TSM 9.76%、TXN 6.17%、AVGO 5.88%、ADI 5.03% (47.83%) | 科技 99.96% · 非美 19.30% (中国台湾 9.76%) | NVDA 21.00% · TSM 9.76% · AVGO 5.88% · AMD 5.02% · ASML 4.56% |
| SOXX (iShares 半导体) | 390.57 亿美元 · 0.33% · 30 只 | AMD 8.88%、NVDA 8.50%、AVGO 8.14%、MU 7.08%、INTC 6.03% (38.63%) | 科技 100.00% · 非美 10.77% (中国台湾 4.77%) | NVDA 8.50% · TSM 3.36% · AVGO 8.14% · AMD 8.88% · ASML 1.58% |
| XLK (标普科技精选) | 1,169.39 亿美元 · 0.08% · 76 只 | AAPL 16.87%、NVDA 14.76%、MSFT 13.37%、AVGO 4.66%、AMD 4.01% (53.67%) | 科技 100.00% · 非美 0.58% | NVDA 14.76% · TSM 0.00% · AVGO 4.66% · AMD 4.01% · ASML 0.00% |
| VOO (先锋标普 500) | 10,000.00 亿美元 (接口标称值) · 0.03% · 503 只 | NVDA 8.39%、AAPL 7.38%、MSFT 5.78%、AMZN 3.71%、GOOGL 3.07% (28.33%) | 科技 40.48% · 非美 0.00% | NVDA 8.39% · TSM 0.00% · AVGO 2.54% · AMD 1.52% · ASML 0.00% |
| SPY (SPDR 标普 500) | 8,185.39 亿美元 · 0.09% · 503 只 | AAPL 7.92%、NVDA 6.93%、MSFT 6.27%、AMZN 4.03%、GOOGL 2.61% (27.76%) | 科技 38.62% · 非美 0.48% | NVDA 6.93% · TSM 0.00% · AVGO 2.19% · AMD 1.04% · ASML 0.00% |
拆解上表底层持仓数据,可以发现四个仅看基金名称极易忽略的事实:
- SMH 与 QQQ 的交集高达 21 只股票(占 SMH 总权重的 84.68%,两基金权重重叠率 27.32%):SMH 持有的 25 只半导体股票中,除台积电(TSM,权重 9.76%)、SK 海力士 ADR(SKHY,4.03%)、意法半导体(STM,0.93%)以及从纳指 100 剔除的安森美半导体(ON,0.53%)这 4 只标的(合计占 SMH 的 15.25%)外,其余 21 只美股芯片股全部在 QQQ 成分股之列(这 21 只股票在 QQQ 中合计占 27.32% 权重,由于每只重合芯片股在 QQQ 中的权重均低于其在 SMH 中的权重,按
Overlap(QQQ, SMH) = ∑ min(w_QQQ,i, w_SMH,i)算出的权重重叠率恰好也是 27.32%)。 - XLK 的前三甲集中度(45.00%)远高于 QQQ(23.16%),且完全不含谷歌、亚马逊与 Meta:XLK 仅从标普 500 中筛选 GICS 信息技术板块公司,苹果(16.87%)、英伟达(14.76%)与微软(13.37%)三家合计占去 45.00% 仓位;而被 GICS 划分至可选消费的亚马逊(AMZN)以及划分至通信服务的谷歌(GOOGL/GOOG)与 Meta(META),在 XLK 中的权重全部为 0.00%。
- 双层股权(Dual Share Class)会掩盖单一发行人的真实权重:在 QQQ 与 VOO 中,Alphabet 同时以 A 类股(GOOGL)和 C 类无投票权股(GOOG)两行独立计入持仓。以 QQQ 为例,单看 GOOGL(2.87%)或 GOOG(2.70%)均未进前五,但合并同一发行人后 Alphabet 真实权重达 5.57%,超过亚马逊(4.86%)位列 QQQ 第四大重仓公司;同理,VOO 中 GOOGL(3.07%)与 GOOG(2.45%)合并后达 5.52%,紧随微软(5.78%)之后。
- VOO 与 SPY 的规模口径及持仓估值基准期差异:在
/stable/etf/info中,VOO 的assetsUnderManagement返回整 1 万亿美元(1000000000000,即 10,000.00 亿美元标称值),而其/stable/etf/holdings全部持仓的marketValue合计为 17,300.63 亿美元;且同为跟踪标普 500 的基金,VOO 与 SPY 在表一中的单股权重存在明显错位(如英伟达在 VOO 为 8.39%、在 SPY 为 6.93%)。原因在于两方面:一是 VOO 作为 Vanguard 500 Index Fund 的 ETF 份额,需区分 ETF 份额净资产与包含共同基金份额的全基金净资产;二是 Vanguard 披露持仓快照的估值基准日早于每日更新的道富(SPY)、景顺(QQQ)与贝莱德(SOXX),因此分析跨基金规模与权重时不可将不同估值期的快照当作同日截面直接混比。
为什么台积电(TSM)在 QQQ、XLK 和 VOO 里的权重全部是 0%,而 SMH 与 SOXX 的重仓排序截然不同?
许多跟踪 AI 晶圆代工与光刻机产业链的投资者(关于算力硬件上下游财务传导,另见 AI 算力硬件周期毛利率与存货周转监控实战)常误以为买入 QQQ 或 XLK 就已涵盖全球半导体核心资产。实际上,底层指数的上市交易所限制、美国本土公司准入规则与单股权重上限(Capping)直接决定了台积电(TSM)与阿斯麦(ASML)在各只 ETF 中的去留:
// 1. /stable/etf/holdings?symbol=SMH(VanEck 半导体 ETF 前两大持仓,NVDA 占 21.00%,纽交所 ADR 台积电 TSM 占 9.76%)
[
{"symbol": "SMH", "asset": "NVDA", "name": "Nvidia Corp", "isin": "US67066G1040", "securityCusip": "67066G104", "sharesNumber": 67463117, "weightPercentage": 20.99642063, "marketValue": 12251302047.2, "updatedAt": "2026-11-07 05:35:10"},
{"symbol": "SMH", "asset": "TSM", "name": "Taiwan Semiconductor Manufacturing Co L", "isin": "US8740391003", "securityCusip": "874039100", "sharesNumber": 16120155, "weightPercentage": 9.75506007, "marketValue": 5692026730.5, "updatedAt": "2026-11-07 05:35:10"}
]
// 2. /stable/etf/holdings?symbol=SOXX(iShares 半导体 ETF 前两大持仓 + 第 13 大持仓 TSM,单股上限与 ADR 上限压低 NVDA 与 TSM 权重)
[
{"symbol": "SOXX", "asset": "AMD", "name": "ADVANCED MICRO DEVICES", "isin": "US0079031078", "securityCusip": "007903107", "sharesNumber": 8224889, "weightPercentage": 8.88064975, "marketValue": 3326145111.6, "updatedAt": "2026-11-06 14:33:56"},
{"symbol": "SOXX", "asset": "NVDA", "name": "NVIDIA", "isin": "US67066G1040", "securityCusip": "67066G104", "sharesNumber": 17535795, "weightPercentage": 8.50246501, "marketValue": 3184500372, "updatedAt": "2026-11-06 14:33:56"},
{"symbol": "SOXX", "asset": "TSM", "name": "TAIWAN SEMICONDUCTOR MANUFACTURING", "isin": "US8740391003", "securityCusip": "874039100", "sharesNumber": 3566802, "weightPercentage": 3.36263918, "marketValue": 1259437786.2, "updatedAt": "2026-11-06 14:33:56"}
]
对比上述实盘报文与指数编制方法,可以厘清两大选型盲区:
1. 台积电(TSM)与阿斯麦(ASML)的指数准入分野
- 为什么 QQQ 有阿斯麦(0.61%)却没有台积电(0.00%):按纳斯达克 100 指数编制规则,非美公司可以入选,但硬性要求标的必须在纳斯达克交易所(Nasdaq)挂牌上市。荷兰光刻机巨头阿斯麦的美股纽约注册普通股(ASML)在纳斯达克挂牌,因此进入 QQQ(持仓 196.57 万股,市值 26.67 亿美元,权重 0.61%);而台积电美股 ADR(TSM)在纽约证券交易所(NYSE)上市,天然不符合 QQQ 的交易所准入条件。
- 为什么 VOO、SPY 与 XLK 未持有台积电与阿斯麦:标普美国指数编制方法要求成分股满足美国本土公司(U.S. Company)认定标准并排除海外公司 ADR。在本次实测快照中,VOO、SPY、QQQ 与 XLK 四只主力基金对台积电(TSM)的直接股票持仓权重均为 0.00%(VOO、SPY 与 XLK 对 ASML 同样为 0.00%)。
2. 同为半导体 ETF,为什么 SMH 与 SOXX 的权重重叠率(Overlap Ratio)只有 69.59%?
SMH(跟踪 MVIS US Listed Semiconductor 25 Index,25 只股票)与 SOXX(跟踪 NYSE Semiconductor Index,30 只股票)共有 23 只共同成分股(占 SMH 总权重的 95.01%、占 SOXX 总权重的 93.19%)。但按基金重叠率标准公式 Overlap(A, B) = ∑ min(w_A,i, w_B,i) 实算,两者的权重重叠度仅为 69.59%,超过三成仓位存在结构性错位:
- 单股上限机制(20% vs 8%)导致龙头弹性相差逾一倍:SMH 在每次调仓时允许第一大重仓股最高占 20%(受调仓间隙市值漂移影响,当前快照中英伟达占 21.00%、台积电占 9.76%,前两大合计占 30.75%);而 SOXX 在调仓时将前五大权重股上限锁定在 8% 左右、其余个股上限 4%,且限制海外 ADR 合计权重不超过 10%,导致 SOXX 第一大重仓股变为 AMD(8.88%),英伟达(8.50%)与博通(8.14%)紧随其后,台积电则被压缩至第 13 位(仅 3.36%)。
- EDA 芯片设计软件与中小盘芯片股的取舍差异:SMH 纳入了益华电脑(CDNS,权重 2.46%)与新思科技(SNPS,权重 2.45%)两家 EDA 工业软件双寡头(合计 4.92%);而 SOXX 按 ICE 行业分类规则未纳入归属软件类的 CDNS 与 SNPS,转而持有了 Credo Technology(CRDO,1.36%)、Entegris(ENTG,1.35%)、高塔半导体(TSEM,0.98%)、MACOM(MTSI,0.97%)、日月光(ASX,0.86%)、Cerebras(CBRS,0.56%)与联华电子(UMC,0.54%)7 只中小盘芯片与封测股(合计 6.62%)。
调用 FMP ETF 持仓与反向暴露接口时,必须过滤哪些非股票行与多币种陷阱?
在用 Python 批量清洗 /stable/etf/* 与 /stable/funds/* 接口返回数据时,若直接对原始数组做 sum() 或 sort(),极易踩中以下三个数据工程暗坑:
1. 原始持仓数组包含现金、股指期货、总收益互换(TRS)与或有价值权(CVR)
对比 /stable/etf/info 的 holdingsCount 与 /stable/etf/holdings 实际返回的数组长度可以发现:QQQ 标称 102 项、实际返回 106 行;SMH 标称 26 项、实际返回 27 行;SOXX 标称 30 项、实际返回 33 行;XLK 标称 76 项、实际返回 79 行;VOO 标称 505 项、实际返回 519 行。穿透尾部的非标行可见:
- 空
asset的现金、货币基金与衍生品行:QQQ 尾部含 5 行asset == ""的记录,分别为现金等价物CASH & EQUIVALENTS(0.15%)、纳指 100 迷你期货CME E-Mini NASDAQ 100 Index Future 12/18/2026(+0.14%)及其对冲抵消项CONTRA FUTURE(-0.14%)、现金抵押品与待发分红;SOXX 尾部含 1 行带 ISIN 但asset == ""的贝莱德货币市场基金("BLK CSH FND TREASURY SL AGENCY",权重 0.15%);VOO 尾部则包含 16 行asset == ""的记录,涵盖标普 500 迷你期货、多笔总收益互换(如TRS:GOLDMAN SACHS GROUP INC USD 2027-Aug-31)及负向美元现金调节项(-0.17%)。 - 非空
asset但无isin的期货与 CVR 代码:XLK 尾部有一行asset: "IXTZ6"(XAK TECHNOLOGY DEC26科技板块期货,权重 -0.01%),SPY 尾部有一行asset: "2602335D"(CONTRA HOLOGIC INCORPO或有价值权 CVR,权重 0.000003%),这两行的共同特征是isin字段为空字符串""。 - 直接股票持仓筛选条件:在本次核验的六只美股权益 ETF 中,同时校验
bool(row.get("asset")) and bool(row.get("isin"))即可滤除全部现金、货币基金、股指期货、互换与 CVR 噪音行,精确提取 QQQ(101 只)、SMH(25 只)、SOXX(30 只)、XLK(76 只)、VOO(503 只)与 SPY(503 只)的直接股票持仓暴露。
2. 个股反向查 ETF 接口(etf/asset-exposure)的跨币种 marketValue 与跨境份额重复计数陷阱
当研究员想反查“全市场哪些 ETF 持有最多英伟达或台积电”时,通常会调用 ETF Asset Exposure(ETF持仓分布查询接口,/stable/etf/asset-exposure)。实测传入 symbol=NVDA 共返回 4,313 条基金持仓记录,传入 symbol=TSM 共返回 572 条记录。但若直接按返回字段 marketValue 降序排列,排在英伟达第一名的并非 VOO(持仓市值 1,451.50 亿美元)或 SPY(537.16 亿美元),而是东京证券交易所上市的 1557.T(SPDR S&P 500 ETF 日元跨境挂牌份额),其 marketValue 高达 8,515,406,344,295.93(约 8.52 万亿日元),第二、三名则是圣地亚哥交易所的 IWDACL.SN(6.87 万亿智利比索)与韩国交易所的 360750.KS(1.70 万亿韩元):
// /stable/etf/asset-exposure?symbol=NVDA(注意:直接按 marketValue 排序会混入日元 .T、韩元 .KS 等非美元计价记录)
[
{"symbol": "1557.T", "asset": "NVDA", "sharesNumber": 295794206, "weightPercentage": 6.927252, "marketValue": 8515406344295.927},
{"symbol": "VOO", "asset": "NVDA", "sharesNumber": 635561927, "weightPercentage": 8.38984, "marketValue": 145149632888.26},
{"symbol": "QQQ", "asset": "NVDA", "sharesNumber": 182521930, "weightPercentage": 7.576356, "marketValue": 33145982488},
{"symbol": "SMH", "asset": "NVDA", "sharesNumber": 67463117, "weightPercentage": 21, "marketValue": 12251302047.2}
]
这里包含两个必须在代码中处理的机制:第一,/stable/etf/asset-exposure 的 marketValue 采用各 ETF 挂牌交易当地币种计价且未附带 currency 字段;第二,像东京挂牌的 1557.T 或墨西哥挂牌的 IVV.MX 属于跨境多地挂牌份额,其中 1557.T 的 sharesNumber(295,794,206 股)与美股主基金 SPY 的英伟达持股数完全相同,若直接将所有记录的 sharesNumber 相加会导致同一主基金被重复统计。因此,若要筛选美股本土上市 ETF(注意 ETF Symbol Search(ETF代码检索接口,/stable/etf-list)同样包含海外交易所代码),应先过滤不含 . 国际交易所后缀的代码并结合基金档案确认美国交易所挂牌属性。
3. country-weightings 与 sector-weightings 的百分比字段类型不一致
在 /stable/etf/holdings 与 /stable/etf/sector-weightings 中,weightPercentage 均为浮点数值型(Float)(如 59.209265);唯独在 /stable/etf/country-weightings 中,weightPercentage 返回的是带百分号的字符串(String)(如 "80.7%"、"9.76%")。在 Python 中解析国家配置权重时,必须先执行 float(str(row["weightPercentage"]).rstrip("%")),否则直接调 float() 会抛出 ValueError。
如何用 Python 计算 ETF 两两重叠率与多基金组合的底层个股暴露(Look-Through)?
在实盘资产配置中,假设投资者持有两套常见组合:组合 A(50% QQQ + 50% SMH) 与 组合 B(40% VOO + 30% QQQ + 30% SMH)。基于各只 ETF 最近可得持仓快照,任意个股 i 在组合中的穿透合成权重公式为 w_eff,i = ∑ (α_k × w_k,i)(其中 α_k 为第 k 只 ETF 的组合配置比例,w_k,i 为股票 i 在第 k 只 ETF 中的持仓权重;需注意各基金持仓快照的估值基准日并不完全同步——本次快照中 QQQ、SMH、SOXX、XLK 与 SPY 对同一股票的隐含估值价完全一致,如英伟达均为 181.60 美元,而 VOO 快照对应的英伟达隐含估值价为 228.38 美元,因此跨基金加权结果代表按各自最新可得持仓权重合成的近似暴露)。
下面这段 43 行的 Python 脚本拉取五大 ETF 的最新底层持仓,自动过滤非股票衍生品行,输出四组核心 ETF 配对的重叠率指标,并计算上述两套组合的 Top 8 穿透重仓股。运行前请先设置环境变量 FMP_KEY:
# Linux / macOS 终端设置环境变量
export FMP_KEY="你的密钥"
# Windows PowerShell 设置环境变量
$env:FMP_KEY="你的密钥"
完整可运行的 ETF 持仓重叠率与组合穿透计算脚本如下:
import os
from collections import defaultdict
import requests
BASE_URL = "https://quote-fmp.com/stable"
API_KEY = os.environ["FMP_KEY"]
def fetch_etf_weights(symbol: str) -> tuple[dict, int]:
resp = requests.get(f"{BASE_URL}/etf/holdings", params={"symbol": symbol, "apikey": API_KEY}, timeout=25)
resp.raise_for_status()
rows = resp.json()
weights = defaultdict(float)
for r in rows:
if r.get("asset") and r.get("isin"):
weights[r["asset"].strip()] += float(r.get("weightPercentage") or 0.0)
return dict(weights), len(rows)
def calc_pair_overlap(sym_a: str, wt_a: dict, sym_b: str, wt_b: dict) -> dict:
common = set(wt_a) & set(wt_b)
overlap = sum(min(wt_a[k], wt_b[k]) for k in common)
top3 = sorted(common, key=lambda k: min(wt_a[k], wt_b[k]), reverse=True)[:3]
return {
"pair": f"{sym_a}_vs_{sym_b}",
"common_stocks": len(common),
"overlap_pct": round(overlap, 2),
"wt_in_a_pct": round(sum(wt_a[k] for k in common), 2),
"wt_in_b_pct": round(sum(wt_b[k] for k in common), 2),
"top3_common": [(k, round(wt_a[k], 2), round(wt_b[k], 2)) for k in top3],
}
def look_through_portfolio(alloc: dict[str, float], etf_book: dict[str, dict]) -> list[tuple]:
eff = defaultdict(float)
for etf_sym, ratio in alloc.items():
for stock, wt in etf_book[etf_sym].items():
eff[stock] += ratio * wt
return [(k, round(v, 2)) for k, v in sorted(eff.items(), key=lambda x: x[1], reverse=True)[:8]]
etf_symbols = ["QQQ", "SMH", "SOXX", "XLK", "VOO"]
book = {s: fetch_etf_weights(s)[0] for s in etf_symbols}
for a, b in [("QQQ", "SMH"), ("SMH", "SOXX"), ("QQQ", "XLK"), ("QQQ", "VOO")]:
print(calc_pair_overlap(a, book[a], b, book[b]))
print("50% QQQ + 50% SMH Top8:", look_through_portfolio({"QQQ": 0.5, "SMH": 0.5}, book))
print("40% VOO + 30% QQQ + 30% SMH Top8:", look_through_portfolio({"VOO": 0.4, "QQQ": 0.3, "SMH": 0.3}, book))
实盘运行上述脚本,终端输出结果如下:
{'pair': 'QQQ_vs_SMH', 'common_stocks': 21, 'overlap_pct': 27.32, 'wt_in_a_pct': 27.32, 'wt_in_b_pct': 84.68, 'top3_common': [('NVDA', 7.58, 21.0), ('MU', 3.54, 4.13), ('AMD', 3.15, 5.02)]}
{'pair': 'SMH_vs_SOXX', 'common_stocks': 23, 'overlap_pct': 69.59, 'wt_in_a_pct': 95.01, 'wt_in_b_pct': 93.19, 'top3_common': [('NVDA', 21.0, 8.5), ('AVGO', 5.88, 8.14), ('TXN', 6.17, 5.51)]}
{'pair': 'QQQ_vs_XLK', 'common_stocks': 35, 'overlap_pct': 51.43, 'wt_in_a_pct': 51.67, 'wt_in_b_pct': 84.42, 'top3_common': [('AAPL', 8.7, 16.87), ('NVDA', 7.58, 14.76), ('MSFT', 6.89, 13.37)]}
{'pair': 'QQQ_vs_VOO', 'common_stocks': 86, 'overlap_pct': 54.78, 'wt_in_a_pct': 93.36, 'wt_in_b_pct': 55.93, 'top3_common': [('NVDA', 7.58, 8.39), ('AAPL', 8.7, 7.38), ('MSFT', 6.89, 5.78)]}
50% QQQ + 50% SMH Top8: [('NVDA', 14.29), ('TSM', 4.88), ('AAPL', 4.35), ('AVGO', 4.14), ('AMD', 4.09), ('MU', 3.84), ('TXN', 3.69), ('MSFT', 3.44)]
40% VOO + 30% QQQ + 30% SMH Top8: [('NVDA', 11.93), ('AAPL', 5.56), ('MSFT', 4.38), ('AVGO', 3.5), ('AMD', 3.06), ('MU', 3.03), ('AMZN', 2.94), ('TSM', 2.93)]
根据上述函数返回结果整理(注:Top 8 按单一证券代码 asset 排序,同一发行人的多类股票分别列示),两套组合的底层暴露揭示了两个关键风控结论:
- 在「50% QQQ + 50% SMH」等权组合中,英伟达单股有效权重升至 14.29%(
0.5 × 7.58% + 0.5 × 21.00%),是第二名台积电(4.88%)的近 3 倍;且组合前七大重仓股中有 6 只为半导体公司(NVDA、TSM、AVGO、AMD、MU、TXN 按原始未舍入权重相加达 34.92%,按两位小数展示值相加为 34.93%)。 - 在「40% VOO + 30% QQQ + 30% SMH」三基金组合中,由于 QQQ 中 86 只成分股(占 QQQ 权重的 93.36%)与 SMH 中 19 只成分股(占 SMH 权重的 78.99%)同时也是标普 500(VOO)的成分股,英伟达在三只 ETF 中发生三重叠加(
0.4 × 8.39% + 0.3 × 7.58% + 0.3 × 21.00%),穿透后单股占比仍高达 11.93%,相当于整个组合每配置 8.4 美元就有 1 美元集中在英伟达一只股票上;若将 Alphabet 的 GOOGL 与 GOOG 合并计算,其在组合 B 中的合计权重达 3.88%,超过博通(3.50%)位列组合第四大单一公司敞口。
常见问题(FAQ):ETF 历史季度持仓回溯与 N-PORT 监管披露
1. /stable/etf/holdings 只返回最新持仓快照,做历史回测时如何获取过去某个季度的 ETF 历史成分股与权重?
/stable/etf/holdings 提供的是基金公司最新公布的每日持仓篮子(Daily Basket),不含历史切片参数。若需在回测中还原历史某季度的基金持仓并严格规避未来函数,应联合调用 Fund & ETF Disclosures by Date(基金ETF按日披露接口,/stable/funds/disclosure-dates)与 Mutual Fund Disclosures(公募基金披露接口,/stable/funds/disclosure),传入 symbol、year 与 quarter 拉取基金向 SEC 提交的 Form N-PORT 季度监管报告。该接口不仅返回历史各季末的精确持仓股数(balance)、美元市值(valUsd)与净值占比(pctVal),还附带精确到秒的 SEC 接收时间戳 acceptedDate(如 SMH 2026Q2 报告期末为 2026-06-30,SEC 接收时间为 2026-08-26 15:01:30)以及转融通出借标识 isLoanByFund(如 SMH 在 2026Q2 将 NXPI、ARM、STM 三只持仓用于证券出借生息)。
2. 如何反查某只股票在最新一期公募基金与 ETF N-PORT 季报中的机构增减仓变动?
若想对比公募基金与 ETF 在相邻两个季度对某只股票的增减持股数(change),可调用 Mutual Fund & ETF Disclosure(公募基金与 ETF 披露接口,/stable/funds/disclosure-holders-latest)并传入股票代码(如 symbol=NVDA 或 symbol=TSM,关于对冲基金 13F 持仓与内部人交易的联动分析另见 华尔街聪明钱 13F 机构持仓追踪实战)。如需在本地实测上述全套 ETF 持仓穿透与 N-PORT 历史披露接口,可前往 快速接入指南 获取测试密钥运行文中脚本。