ETF 筛选
POST/api/v1.0/quote/etf-screenETF 专用条件筛选。按市场过滤、排序、分页,并返回指定因子。 筛选条件用 ETF FieldID(费率/杠杆/风格箱/持股分布/跟踪误差等),使用本接口筛选 ETF。 取值在 items[].values[],ival 为按指标倍率缩放的整数(含倍率)。
请求参数
| 参数 | 类型 | 位置 | 必填 | 说明 |
|---|---|---|---|---|
market | string | 请求体 | 是 | ETF 市场:US、HK、JP、AU、SG、CA、MY、CN。 |
screen_groups | object[] | 请求体 | 否 | 筛选条件,多组按 AND 组合。每项结构为 {field_id, intervals?, choices?, sub_groups?}。 |
sorts | object[] | 请求体 | 否 | 排序规则,每项 {sort_field_id, sort_flag};sort_flag 为 0 升序、1 降序;默认按 AUM 降序。 |
need_fields | object[] | 请求体 | 否 | 返回因子,每项 {field_id};默认返回代码(2)、价格(5)、AUM(10)。 |
offset | int | 请求体 | 否 | 起始下标,默认 0,最小 0。 |
limit | int | 请求体 | 否 | 返回条数,默认 20,最大 500。 |
请求示例
bash
curl -X POST 'https://webapi.moomoo.com/api/v1.0/quote/etf-screen' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>' \
-d '{"market":"US","sorts":[{"sort_field_id":10,"sort_flag":1}],"need_fields":[{"field_id":2},{"field_id":5},{"field_id":10}],"offset":0,"limit":20}' | jq响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
data.items | object[] | 符合条件的 ETF 列表 |
data.total | integer | 符合条件的 ETF 总数 |
data.items[].code | string | ETF 代码 |
data.items[].name | string | ETF 名称 |
data.items[].values | object[] | 请求的因子取值,ival 为按指标倍率缩放的整数 |
data.items[].values[].field_id | integer | 因子 FieldID |
data.items[].values[].ival | integer | 数值(含倍率) |
data.items[].values[].text | string | 文本值 |
data.items[].values[].content_type | integer | 内容类型:1=百分比 2=数值 3=普通数字 4=文本 5=持仓列表 |
pagination.completed | boolean | 是否已到末页 |
错误码
| ret_code | error.code | 说明 |
|---|---|---|
| 0 | — | 成功 |
| -3 | invalid_parameter | 参数缺失或不在允许范围内 |
| -7 | invalid_symbol | 标的不存在 |
| -8 | unsupported | 市场或品类不支持 |
| -9 | permission_denied | 没有对应权限 |
| -10 | no_data | 没有可返回的数据 |
| -11 | rate_limited | 调用过于频繁 |
响应示例
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"total": 1,
"items": [
{
"code": "US.SPY",
"name": "SPDR S&P 500 ETF",
"values": [
{"field_id": 2, "text": "US.SPY"},
{"field_id": 5, "ival": 500000000},
{"field_id": 10, "ival": 500000000000}
]
}
]
},
"pagination": {
"completed": true
}
}