【迅投 QMT】QMT如何获取ETF申赎清单?download_etf_info()与get_etf_info()教程

本方案由 ++EasyQuant AI++++量化助手++ 提供。

问题背景

ETF 套利、申购赎回和成分股篮子分析,都需要获取 ETF 的申赎清单数据。QMT 提供 download_etf_info() 下载 ETF 申赎清单,并通过 get_etf_info() 读取本地数据。

实现思路

  • 下载最新 ETF 申赎清单数据。

  • 读取全部 ETF 信息。

  • 按 ETF 代码获取单只 ETF 清单。

  • 提取申购赎回状态、现金差额和成分股信息。

完整代码示例

复制代码
from xtquant import xtdata


ETF_CODE = "510050.SH"


def download_etf_data():
    """
    下载全部ETF申赎清单信息。
    """
    xtdata.download_etf_info()

    print("ETF申赎清单数据下载完成")


def get_single_etf_info(etf_code):
    """
    获取单只ETF的申赎清单信息。
    """
    all_etf_info = xtdata.get_etf_info()

    if not all_etf_info:
        print("未获取到ETF申赎清单数据")
        return None

    etf_info = all_etf_info.get(etf_code)

    if etf_info is None:
        print("未找到ETF代码:", etf_code)
        return None

    return etf_info


def analyse_etf_info(etf_info):
    """
    输出ETF申赎状态和成分股信息。
    """
    print("========== ETF基础信息 ==========")

    print("现金差额:", etf_info.get("现金差额"))
    print("申购允许:", etf_info.get("是否允许申购"))
    print("赎回允许:", etf_info.get("是否允许赎回"))
    print("申购单位:", etf_info.get("申购赎回单位"))

    components = etf_info.get("成份股信息", [])

    print("\n========== ETF成分股 ==========")
    print("成分股数量:", len(components))

    for component in components[:10]:
        print(component)


def main():
    # 第一步:下载清单数据
    download_etf_data()

    # 第二步:读取指定ETF信息
    etf_info = get_single_etf_info(ETF_CODE)

    if etf_info is None:
        return

    # 第三步:分析数据
    analyse_etf_info(etf_info)


if __name__ == "__main__":
    main()

筛选允许申购赎回的 ETF

复制代码
from xtquant import xtdata


def get_available_etfs():
    all_etf_info = xtdata.get_etf_info()

    available_etfs = []

    for etf_code, etf_info in all_etf_info.items():
        can_create = etf_info.get("是否允许申购")
        can_redeem = etf_info.get("是否允许赎回")

        if can_create == 1 and can_redeem == 1:
            available_etfs.append(etf_code)

    return available_etfs

注意事项

  1. 使用前应调用 xtdata.download_etf_info() 下载最新数据。

  2. ETF 申赎清单通常每日更新,策略运行前建议重新下载或确认本地数据日期。

  3. 不同版本或数据模式下,返回字段名称可能略有差异,应先打印字典结构确认。

  4. 现金替代标志决定某些成分券能否或必须使用现金替代。

  5. 获取清单不代表账户具备 ETF 申购赎回资格,实际权限以券商账户为准。

总结

QMT 的 ETF 申赎清单接口可用于读取 ETF 成分股、现金差额和申购赎回状态,是 ETF 套利、篮子交易及申赎策略的重要数据基础。

相关推荐
大强同学2 小时前
我的 AI 真实使用情况与深度复盘
人工智能
正在走向自律2 小时前
我用 Doubao-Seed-Evolving 搭了个 AI 智能教育助手,从自适应评测到错因诊断的全程实测
人工智能·seed-evolving·ai智能教育·自适应评测·ai答疑·知识点树管理
@LiX2 小时前
深度学习基本原理
人工智能·深度学习
HIT_Weston2 小时前
166、【Agent】【OpenCode】TuiThreadCmd(流式传输&二进制Blob)
人工智能·agent·opencode
吨吨ai2 小时前
# ChatGPT Plus / Pro + Codex Debug 实战:如何让 AI 从日志、Trace、异常堆栈自动定位线上 Bug
人工智能·chatgpt·bug
fivebliss2 小时前
取算存——模型容量、能耗指标和架构梳理
人工智能·性能优化·gpu算力
xiwc2 小时前
Token 预算管理:长对话不崩溃的秘密
人工智能
何时梦醒3 小时前
第一篇:项目概览 — 在浏览器里跑大模型,端侧 AI 的革命来了
前端·人工智能
何时梦醒3 小时前
第二篇:工程化搭建 — Vite + React + TypeScript + TailwindCSS 全解析
前端·人工智能