Skip to content

Option underlying rank ​

GET /api/v1.0/quote/option-underlying-rank

Option 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 ​

NameTypeInRequiredDescription
option_marketstringqueryyesOption market. US_SECURITY / US_INDEX / HK_SECURITY / HK_INDEX
sort_typestringquerynoSort field, default VOLUME
is_ascboolquerynoAscending; default false (descending)
page_sizeintquerynoPage size, default 50, max 200
page_flagstringquerynoPage cursor. Omit or pass empty on the first page; pass back pagination.page_flag. Stop only when pagination.completed is true
trading_datestringquerynoTrading 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>' | jq

Response parameters ​

NameTypeDescription
data.ranksobject[]
data.ranks[].codestringUnderlying symbol
data.ranks[].namestringUnderlying name
data.ranks[].total_volumestringTotal option volume
data.ranks[].total_open_intereststringTotal option open interest
data.ranks[].volume_ratiostringPut/Call volume ratio (percent-style)
data.ranks[].open_interest_ratiostringPut/Call OI ratio (percent-style)
data.ranks[].ivnumberImplied volatility (percent)
data.ranks[].iv_ranknumberIV rank (percent)
data.ranks[].iv_percentilenumberIV percentile (percent)
data.ranks[].pricestringUnderlying last price
data.ranks[].change_ratenumberUnderlying change rate (percent)
data.ranks[].iv_changenumberIV change (percent)
data.ranks[].hvnumberHistorical volatility (percent)
data.ranks[].hv_changenumberHV change (percent)
data.ranks[].market_capnumberMarket cap
data.trading_datestringRank update date
pagination.totalint
pagination.completedboolTrue when this is the last page. Stop paging only when completed is true
pagination.page_flagstringNext page cursor. Pass it back as page_flag while completed is false; empty on the last page

Errors ​

ret_codeerror.codeDescription
0—Success
-3invalid_parameterMissing or invalid parameter
-8unsupportedNot supported
-10no_dataNo 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
  }
}