Option underlying rank
GET/api/v1.0/quote/option-underlying-rankOption underlying rank. option_market: US_SECURITY / US_INDEX / HK_SECURITY / HK_INDEX; sort_type default VOLUME. count default 50 (max 200). Optional trading_date (YYYY-MM-DD). Returns volume/OI, PCR, IV/HV, price change, market cap. For contract rank use quote.option_rank.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
option_market | string | query | yes | Option market. US_SECURITY / US_INDEX / HK_SECURITY / HK_INDEX |
sort_type | string | query | no | Sort field, default VOLUME |
is_asc | bool | query | no | Ascending; default false (descending) |
page_size | int | query | no | Page size, default 50, max 200 |
page_flag | string | query | no | Page cursor. Omit or pass empty on the first page; pass back pagination.page_flag. Stop only when pagination.completed is true |
trading_date | string | query | no | Trading day YYYY-MM-DD; omit for latest. Date YYYY-MM-DD in the security's market timezone |
Example
bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/option-underlying-rank?option_market=US_SECURITY' \
-H 'Authorization: Bearer <AccessToken>' | jqResponse parameters
| Name | Type | Description |
|---|---|---|
data.ranks | object[] | |
data.ranks[].code | string | Underlying symbol |
data.ranks[].name | string | Underlying name |
data.ranks[].total_volume | string | Total option volume |
data.ranks[].total_open_interest | string | Total option open interest |
data.ranks[].volume_ratio | string | Put/Call volume ratio (percent-style) |
data.ranks[].open_interest_ratio | string | Put/Call OI ratio (percent-style) |
data.ranks[].iv | number | Implied volatility (percent) |
data.ranks[].iv_rank | number | IV rank (percent) |
data.ranks[].iv_percentile | number | IV percentile (percent) |
data.ranks[].price | string | Underlying last price |
data.ranks[].change_rate | number | Underlying change rate (percent) |
data.ranks[].iv_change | number | IV change (percent) |
data.ranks[].hv | number | Historical volatility (percent) |
data.ranks[].hv_change | number | HV change (percent) |
data.ranks[].market_cap | number | Market cap |
data.trading_date | string | Rank update date |
pagination.total | int | |
pagination.completed | bool | True when this is the last page. Stop paging only when completed is true |
pagination.page_flag | string | Next page cursor. Pass it back as page_flag while completed is false; empty on the last page |
Errors
| ret_code | error.code | Description |
|---|---|---|
| 0 | — | Success |
| -3 | invalid_parameter | Missing or invalid parameter |
| -8 | unsupported | Not supported |
| -10 | no_data | No data |
Response example
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"ranks": [
{
"code": "US.AAPL",
"name": "example",
"total_volume": "example",
"total_open_interest": "example",
"volume_ratio": "example",
"open_interest_ratio": "example",
"iv": 1.2,
"iv_rank": 1.2,
"iv_percentile": 1.2,
"price": "example",
"change_rate": 1.2,
"iv_change": 1.2,
"hv": 1.2,
"hv_change": 1.2,
"market_cap": 1.2
}
],
"trading_date": "2026-10-16"
},
"pagination": {
"page_flag": "",
"completed": true,
"total": 0
}
}