$npx -y skills add FTShare-Lab/FTShare-skills --skill etf-component查询单只 ETF 成份。用户问某只 ETF 成份股、ETF 持仓、510300 成份、沪深300ETF 成份列表时使用。
| 1 | # 查询单只 ETF 成份 |
| 2 | |
| 3 | ## 1. 接口描述 |
| 4 | |
| 5 | | 项目 | 说明 | |
| 6 | |------|------| |
| 7 | | 接口名称 | 查询单只 ETF 成份 | |
| 8 | | 外部接口 | `GET /api/v1/market/data/etf-component` | |
| 9 | | 请求方式 | GET | |
| 10 | | 适用场景 | 根据标的代码查询单只 ETF 的成份股列表(成份股代码与名称);未找到或报错时接口返回相应错误信息 | |
| 11 | |
| 12 | ## 2. 请求参数 |
| 13 | |
| 14 | | 参数名 | 类型 | 是否必填 | 描述 | 取值示例 | 备注 | |
| 15 | |--------|------|----------|------|----------|------| |
| 16 | | symbol | string | 是 | ETF 标的代码,带交易所后缀 | 510300.XSHG、159915.XSHE | 支持 510300.XSHG、510300.SH 等格式 | |
| 17 | |
| 18 | ## 3. 响应说明 |
| 19 | |
| 20 | 返回单条 ETF 成份结构,与全量接口 `etf-components-all` 中单条结构一致。 |
| 21 | |
| 22 | ```json |
| 23 | { |
| 24 | "symbol": "510300.SH", |
| 25 | "components": ["600000.SH", "601318.SH", "600519.SH"], |
| 26 | "components_name": ["浦发银行", "中国平安", "贵州茅台"] |
| 27 | } |
| 28 | ``` |
| 29 | |
| 30 | ### 根字段说明 |
| 31 | |
| 32 | | 字段名 | 类型 | 是否可为空 | 说明 | |
| 33 | |--------|------|------------|------| |
| 34 | | symbol | string | 否 | ETF 标的代码,带市场后缀 | |
| 35 | | components | array | 否 | 成份股代码列表,与 components_name 一一对应 | |
| 36 | | components_name | array | 否 | 成份股名称列表,与 components 一一对应 | |
| 37 | |
| 38 | ## 4. 用法 |
| 39 | |
| 40 | 通过主目录 `run.py` 调用(必填 `--symbol`): |
| 41 | |
| 42 | ```bash |
| 43 | python <RUN_PY> etf-component --symbol 510300.XSHG |
| 44 | python <RUN_PY> etf-component --symbol 159915.XSHE |
| 45 | ``` |
| 46 | |
| 47 | `<RUN_PY>` 为主 SKILL.md 同级的 `run.py` 绝对路径。脚本输出 JSON;接口报错或未找到时,将接口返回的错误信息原样输出到 stderr 并退出码 1。 |
| 48 | |
| 49 | ## 5. 请求示例 |
| 50 | |
| 51 | ``` |
| 52 | GET /api/v1/market/data/etf-component?symbol=510300.XSHG |
| 53 | ``` |
| 54 | |
| 55 | ## 6. 数据更新时间与注意事项 |
| 56 | |
| 57 | - 数据更新时间以接口/数据源为准。 |
| 58 | - 成份列表与名称以接口返回为准;展示时 `components` 与 `components_name` 按索引一一对应。 |