You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用BQL获取多只ETF中唯一持仓标的的市值?

多只ETF唯一持仓标的美元市值的BQL实现方法

要实现多只ETF的唯一持仓标的美元市值查询,你可以通过以下两种方式处理:

  • 直接传入多只ETF代码并去重
    利用holdings函数支持多证券参数的特性,传入多个ETF代码,再通过distinct()函数对持仓标的去重,最后拉取美元市值:

    =@BQL("distinct(holdings('IHI US EQUITY', 'XHE US EQUITY'))", "cur_mkt_cap(currency=USD)")
    

    这里holdings('IHI US EQUITY', 'XHE US EQUITY')会同时获取两只ETF的全部持仓,distinct()会自动剔除重复标的,确保最终只返回唯一的持仓标的及其市值。

  • 通过变量定义ETF列表(适合扩展场景)
    如果后续需要添加更多ETF,可以先定义一个包含所有目标ETF的集合变量,再传入holdings函数:

    let target_etfs = {'IHI US EQUITY', 'XHE US EQUITY'};
    =@BQL("distinct(holdings(target_etfs))", "cur_mkt_cap(currency=USD)")
    

你之前尝试的[holdings(ETF),holdings(ETF)]写法无效,是因为这种方式会生成两个独立的持仓结果集合,BQL无法直接合并嵌套的集合结构。正确的做法是直接在holdings函数内传入多个ETF代码,或者通过集合变量批量传入,再配合distinct()完成去重逻辑。

内容的提问来源于stack exchange,提问作者user2565552

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:41:03