Skip to content

Warrant Screen

POST /api/v1.0/quote/warrant-screen

Warrant screening -- filter within the warrant market (CALL warrants / PUT warrants / BULL CBBCs / BEAR CBBCs / INLINE warrants) by combining dimensions such as issuer, underlying, price, strike price, maturity date, street ratio, implied volatility, leverage, delta, warrant status, etc. Supports multi-level sorting and pagination.

Parameters

NameTypeInRequiredDescription
market_typeintbodynoDefault 1 (HK). Allowed values: 1=HK (Hong Kong), 4=SG (Singapore), 15=MY (Malaysia).
is_delayboolbodynoWhether to use delayed data. Default false.
only_countboolbodynoReturn count only without detail list. Default false.
stock_ownerstringbodynoUnderlying code (convenience parameter, auto-converted to a single screen_groups condition, e.g. HK.00700). Use screen_groups for complex filtering.
screen_groupsobject[]bodynoFilter condition list. Each element structure: {field_id, interval{lower{value,is_included}, upper{value,is_included}}, choices[{content_type, value}]}. Discrete selection uses choices (multiple elements = OR); range filtering uses interval. See the wrnt_field enum table below for field_id values.
sortsobject[]bodynoSort condition list. Each element: {sort_field_id, sort_flag}. sort_flag=true for descending, false for ascending.
next_keystringbodynoPagination cursor. Leave empty for first page; pass back previous page's pagination.next_key.
limitintbodynoPage size. Default 200, max 1000.

Enum wrnt_field (filter / sort field_id)

field_idMeaningType / Precision
4ISSUER_ID Issuer IDchoice
5STOCK_OWNER Underlying IDchoice
6WARRANT_TYPE Warrant typechoice (1=CALL, 2=PUT, 3=BULL, 4=BEAR, 5=INLINE)
7CONVERSION_RATIO Conversion ratiointerval, x1e3
8CURRENT_PRICE Current priceinterval, x1e3
9STREET_RATIO Street ratiointerval, x1e3
10VOLUME Volumeinterval
11MATURITY_DATE Maturity dateinterval (second-level timestamp)
12STRIKE_PRICE Strike priceinterval, x1e3
13PREMIUM Premiuminterval, x1e5
14RECOVERY_PRICE Call priceinterval, x1e3
15IMPLIED_VOLATILITY Implied volatilityinterval, x1e2
16LEVERAGE_RATIO Leverageinterval, x1e3
17PRICE_RECOVERY_RATIO Underlying distance to call price %interval, x1e5
18DELTA Deltainterval, x1e3
19STATUS Statuschoice (0=NORMAL, 2=STOP_TRADE, 3=PRE_IPO)
20IPO_TIME Listing timeinterval (second-level timestamp)
21BUY_VOL Bid volumeinterval
22SELL_VOL Ask volumeinterval
23EFFECTIVE_LEVERAGE Effective leverageinterval, x1e3
24LAST_CLOSE_PRICE Previous closeinterval, x1e3
25TURNOVER Turnoverinterval
26SELL_PRICE Ask priceinterval, x1e3
27BUY_PRICE Bid priceinterval, x1e3
28HIGH_PRICE High priceinterval, x1e3
29LOW_PRICE Low priceinterval, x1e3
30RATIO_ITM_OTM In/out of the money %interval, x1e5
31BREAK_EVEN_POINT Break-even pointinterval, x1e5
32AMPLITUDE Amplitude %interval, x1e5
33SCORE_FAXING SG scoreinterval, x1e5
34LAST_TRADE_DATE Last trading dateinterval (second-level timestamp)
35STREET_VOLUME Street volumeinterval
36LOT_SIZE Shares per lotinterval
37ISSUE_SIZE Issue sizeinterval
38IPO_PRICE Issue priceinterval, x1e3
39LOWER_STRIKE_PRICE Lower strike priceinterval, x1e3 (INLINE only)
40UPPER_STRIKE_PRICE Upper strike priceinterval, x1e3 (INLINE only)
41IW_PRICE_STATUS In/out of rangechoice (0=Within, 1=Outside upper, 2=Outside lower)
42SENSITIVITY Sensitivityinterval, x1e3
43CONVERSION_PRICE Conversion priceinterval
44CHANGE_RATE Change rate %interval, x1e3
45CHANGE_VALUE Change valueinterval
51SCORE Scoreinterval, x1e5
52FILTER_NO_TRADE Filter no-tradechoice (0=No filter, 1=Filter)
53CURRENCY_CODE Currencyinterval
54STOCK_OWNER_PRICE Underlying priceinterval, x1e3

Request Example

bash
curl -X POST "https://webapi.moomoo.com/api/v1.0/quote/warrant-screen" \
  -H "Content-Type: application/json" \
  -d '{"market_type":1,"limit":3,"screen_groups":[{"field_id":6,"choices":[{"content_type":1,"value":1}]},{"field_id":5,"choices":[{"content_type":1,"value":54047868453564}]},{"field_id":19,"choices":[{"content_type":1,"value":0}]}],"sorts":[{"sort_field_id":16,"sort_flag":true}]}' | jq

Response Fields

General fields:

FieldTypeDescription
codestringWarrant code, e.g. HK.18869.
namestringWarrant English name.
sc_namestringWarrant Simplified Chinese name.
tc_namestringWarrant Traditional Chinese name.
stock_ownerstringUnderlying code, e.g. HK.00700.
typestringWarrant type: CALL / PUT / BULL / BEAR / INLINE / N/A.
issuerstringIssuer two-letter code (BC, BI, BP, CS, CT, DB, DC, EA, GS, HS, JP, KC, MB, ML, NM, RB, RS, SC, SG, UB, HT, VT, MS, GJ, XZ, HU, KS, CI).
statusstringWarrant status: NORMAL / STOP_TRADE / PENDING_LISTING / N/A.
maturity_timestringMaturity date (yyyy-MM-dd).
maturity_timestampintMaturity date, millisecond timestamp.
list_timestringListing date (yyyy-MM-dd).
list_timestampintListing time, millisecond timestamp.
last_trade_timestringLast trading date (yyyy-MM-dd).
last_trade_timestampintLast trading date, millisecond timestamp.
lot_sizeintShares per lot.
issue_sizeintIssue size (shares).

Price / Volume:

FieldTypeDescription
cur_pricefloatWarrant current price.
last_close_pricefloatPrevious close price.
high_pricefloatHigh price.
low_pricefloatLow price.
bid_pricefloatBest bid price.
ask_pricefloatBest ask price.
bid_volintBest bid volume (shares).
ask_volintBest ask volume (shares).
volumeintVolume (shares).
turnoverfloatTurnover.
price_change_valfloatPrice change (cur_price - last_close_price).
change_ratefloatChange rate, unit %.
amplitudefloatAmplitude, unit %.

Derivative indicators:

FieldTypeDescription
strike_pricefloatStrike price.
conversion_ratiofloatConversion ratio.
conversion_pricefloatConversion price.
break_even_pointfloatBreak-even point.
premiumfloatPremium, unit %.
ipopfloatIn/out of the money, unit % (positive=ITM / negative=OTM).
leveragefloatLeverage ratio.
effective_leveragefloatEffective leverage.
deltafloatDelta.
implied_volatilityfloatImplied volatility, unit %.
scorefloatWarrant score.
street_ratefloatStreet ratio, unit %.
street_volintStreet volume (shares).

CBBC / Inline warrant specific:

FieldTypeDescription
recovery_pricefloatCall price (BULL/BEAR only).
price_recovery_ratiofloatUnderlying distance to call price % (BULL/BEAR only).
upper_strike_pricefloatUpper strike price (INLINE only).
lower_strike_pricefloatLower strike price (INLINE only).
inline_price_statusstringIn/out of range: WITH_IN / OUTSIDE / N/A.

Pagination:

FieldTypeDescription
pagination.totalintTotal number of warrants matching the criteria.
pagination.has_moreboolWhether there is a next page.
pagination.next_keystringNext page cursor; "-1" when no more pages.

Scope & Limits

  • Supported markets: HK (Hong Kong) / SG (Singapore) / MY (Malaysia) (market_type values 1 / 4 / 15). Other markets are not supported.
  • Supported categories: CALL (call warrants), PUT (put warrants), BULL (bull CBBCs), BEAR (bear CBBCs), INLINE (inline warrants).
  • Single page limit max 1000; next_key is an opaque cursor.
  • Valid but empty results (e.g. no warrants of that type in a market, overly strict filters) return ret_code=0 + data.warrants=[] + all_count=0.

Error Codes

ret_codeerror.codeTrigger ConditionHandling
-3invalid_parametermarket_type not in [1,4,15] / limit out of range (>1000) / invalid next_key / other invalid parameter types.Correct request body and retry.
-7invalid_symbolstock_owner code cannot be resolved in the securities cache.Verify underlying code validity via basic API, then retry.
-2 / -4 / -6internal_errorGateway internal error (route not ready / backend request construction failure / response conversion failure).Retry; contact gateway support if errors persist.

Response Example

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "warrants": [
      {
        "code": "HK.25894",
        "name": "腾讯摩通六七购B.C",
        "stock_owner": "HK.00700",
        "issuer": "JP",
        "type": "CALL",
        "status": "NORMAL",
        "strike_price": 778.27,
        "cur_price": 0.01,
        "leverage": 453.2,
        "premium": 71.948,
        "street_rate": 5.9,
        "maturity_time": "2026-07-29"
      }
    ]
  },
  "pagination": { "has_more": true, "next_key": "3", "total": 335 }
}