Warrants and Callable Bull/Bear Certificates

Warrant Filter

Request class: WarrantFilterRequest

Description

Get warrant and CBBC market data list, supports sorting and filtering warrants by different fields.

Parameters

ParameterTypeRequiredDescription
symbolstringYesUnderlying stock symbol
langLanguageNoLanguage used for returned names; defaults to the client configuration
pageintNoPage number, starting from 0, default is 0
pageSizeIntegerNoNumber of items per page, default is 50
sortFieldNameStringNoSort field (refer to WarrantItem fields); takes effect only when sortDir is set
sortDirSortDirNoSort order: SortDir_Ascend or SortDir_Descend; omission or SortDir_No leaves sorting unset
warrantTypeWarrantType...NoWarrant types; accepts All, Call, Put, Bull, and Bear. Default is all
issuerNameStringNoIssuer (refer to issuerName field in FilterBounds), default all
expireYMStringNoExpiry month in yyyy-MM format
stateWarrantStateNoStatus: All, Normal, TerminateTrades, or WaitingToBeListed; defaults to All
inOutPriceOptionPrice...NoIn/out-of-the-money filter; accepts ITM (in the money, including at the money) and OTM (out of the money)
lotSizeSet<Integer>NoLot size
entitlementRatioSet<Double>NoEntitlement ratio
strikeDouble min, Double maxNoStrike price range
effectiveLeverageDouble min, Double maxNoEffective leverage range
leverageRatioDouble min, Double maxNoLeverage ratio range
callPriceDouble min, Double maxNoCall price range
volumeLong min, Long maxNoVolume range
premiumDouble min, Double maxNoPremium range
outstandingRatioDouble min, Double maxNoOutstanding ratio range
impliedVolatilityDouble min, Double maxNoImplied volatility range

Response
com.tigerbrokers.stock.openapi.client.https.response.option.WarrantFilterResponsesource

Structure as follows:

public class WarrantFilterResponse extends TigerResponse {
  @JSONField(name = "data")
  private WarrantFilterItem item;
}

Response data can be accessed through WarrantFilterResponse.getItem() method, returns WarrantFilterItem object, where com.tigerbrokers.stock.openapi.client.https.domain.option.item.WarrantFilterItem properties are as follows:

NameTypeDescription
pageintPage number
totalPageintTotal pages
totalCountintTotal data count
boundsFilterBoundsFilterable conditions, see below
itemsList<WarrantItem>List containing WarrantItem objects, warrant data, see below

FilterBounds object structure:

NameTypeDescription
issuerNameList<String>Issuer names
expireDateList<String>Expiry dates
lotSizeList<Integer>Lot sizes
entitlementRatioList<Double>Entitlement ratios
leverageRatioRange<Double>Leverage ratio range
strikeRange<Double>Strike price range
premiumRange<Double>Premium range
outstandingRatioRange<Double>Outstanding ratio range
impliedVolatilityRange<Double>Implied volatility range
effectiveLeverageRange<Double>Effective leverage range
callPriceRange<Double>Call price range

WarrantItem object structure:

NameTypeDescription
symbolStringWarrant or CBBC code
nameStringWarrant or CBBC name
typeWarrantTypeType, 1: Call, 2: Put, 3: Bull, 4: Bear
secTypestringContract type, Warrant: WAR/CBBC: IOPT
marketstringMarket, HK
entitlementRatioDoubleEntitlement ratio
entitlementPriceDoubleEntitlement price
premiumDoublePremium
breakevenPointDoubleBreakeven point at expiry
callPriceDoubleCall price (CBBC only)
beforeCallLevelDoubleDistance to call price (percentage, e.g. 0.196875 means 19.6875%)
expireDatestringExpiry date in yyyy-MM-dd format
lastTradingDatestringLast trading date in yyyy-MM-dd format
stateWarrantStateStatus, 1 normal, 2 trading terminated, 3 pending listing
changeRateDoubleChange rate
changeDoubleChange amount
latestPriceDoubleLatest price
volumeLongVolume
amountDoubleTurnover
outstandingRatioDoubleOutstanding ratio
lotSizeIntegerLot size
strikestringStrike price
inOutPriceDoubleIn-the-money (zero or positive)/Out-of-the-money (negative)
deltaDoubleSensitivity of theoretical warrant value to changes in the underlying price
leverageRatioDoubleLeverage ratio
effectiveLeverageDoubleEffective leverage
impliedVolatilityDoubleImplied volatility

Specific fields can be accessed through object get methods, such as getSymbol()

Note: WarrantItem.lastTradingDate in filter results is a yyyy-MM-dd string, while WarrantQuote.lastTradingDate in real-time quotes is an epoch-millisecond timestamp for midnight Hong Kong time.

The SDK represents these numeric fields with boxed Java types. Boxed types describe the Java representation and do not, by themselves, define whether the API may omit a field or return no value.

Example

    WarrantFilterRequest request = WarrantFilterRequest.newRequest("00700");
    request.lang(Language.en_US);
    request.sortFieldName("expireDate");
    request.sortDir(SortDir.SortDir_Descend);
    request.warrantType(WarrantType.Bull);
    request.issuerName("Goldman Sachs");
    request.strike(300.0, 320.0);
    request.pageSize(10);
    WarrantFilterResponse response = client.execute(request);
    if (response.isSuccess()) {
      System.out.println(JSONObject.toJSONString(response.getItem()));
    } else {
      System.out.println("response error:" + response.getMessage());
    }

Example Response

{
    "code":0,
    "data":{
        "bounds":{
            "callPrice":{
                "max":520,
                "min":113.96
            },
            "effectiveLeverage":{
                "max":16.116,
                "min":-14.076
            },
            "entitlementRatio":[
                47.483,
                92.166,
                94.967,
                100,
                460.829,
                474.834,
                485.437,
                500
            ],
            "expireDate":[
                "2026-01",
                "2025-12",
                "2025-08",
                "2024-12",
                "2024-08",
                "2024-07",
                "2024-06",
                "2024-04",
                "2024-03",
                "2024-02",
                "2024-01",
                "2023-12",
                "2023-11",
                "2023-10",
                "2023-09",
                "2023-08",
                "2023-07",
                "2023-06",
                "2023-05",
                "2023-04",
                "2023-03",
                "2023-02"
            ],
            "impliedVolatility":{
                "max":344.093,
                "min":0
            },
            "issuerName":[
                "East Asia",
                "BNP Paribas",
                "Societe Generale",
                "Goldman Sachs",
                "Guotai Junan",
                "Haitong",
                "Citigroup",
                "HSBC",
                "Macquarie",
                "Morgan Stanley",
                "JPMorgan",
                "Rui Tong",
                "Credit Suisse",
                "UBS",
                "DBS",
                "Bank of China"
            ],
            "leverageRatio":{
                "max":823.452604,
                "min":1.372409
            },
            "lotSize":[
                1000,
                5000,
                10000,
                50000
            ],
            "outstandingRatio":{
                "max":1,
                "min":0
            },
            "premium":{
                "max":0.848338,
                "min":-0.340153
            },
            "strike":{
                "max":717.11,
                "min":111.301
            }
        },
        "items":[
            {
                "amount":391370,
                "beforeCallLevel":0.221875,
                "breakevenPoint":401.2,
                "callPrice":320,
                "change":0.033,
                "changeRate":0.244444,
                "entitlementPrice":84,
                "entitlementRatio":500,
                "expireDate":"2024-03-28",
                "inOutPrice":0.232661,
                "lastTradingDate":"2024-03-27",
                "latestPrice":0.168,
                "leverageRatio":4.654762,
                "lotSize":5000,
                "market":"HK",
                "name":"Tencent Goldman Sachs Apr Bull B.C",
                "outstandingRatio":0.0023,
                "premium":0.026087,
                "secType":"IOPT",
                "state":"Normal",
                "strike":"317.2",
                "symbol":"68723",
                "type":"Bull",
                "volume":2460000
            },
            {
                "amount":341700,
                "beforeCallLevel":0.26129,
                "breakevenPoint":402.7,
                "callPrice":310,
                "change":0.035,
                "changeRate":0.224359,
                "entitlementPrice":95.5,
                "entitlementRatio":500,
                "expireDate":"2024-03-28",
                "inOutPrice":0.272786,
                "lastTradingDate":"2024-03-27",
                "latestPrice":0.191,
                "leverageRatio":4.094241,
                "lotSize":5000,
                "market":"HK",
                "name":"Tencent Goldman Sachs Apr Bull A.C",
                "outstandingRatio":0.0111,
                "premium":0.029923,
                "secType":"IOPT",
                "state":"Normal",
                "strike":"307.2",
                "symbol":"68722",
                "type":"Bull",
                "volume":1870000
            }
        ],
        "page":0,
        "totalCount":2,
        "totalPage":1
    },
    "message":"success",
    "sign":"l8TsgnaHBThS1X3oQKyLAt+rKEqnY/bW4S/e2U0o5Zmvpr0NgcR86cbWXHSwr1eNIh9ffR0hPlE1j6cbZp2ClrUzDvBT/rIu+mSfIZDg7qTZ9I340VTlk1pIWQzc28Iickx+pzVd0k9tMsIF/hnoiBXfpiyywYa7pa/pLhIcHo8=",
    "success":true,
    "timestamp":1676522644671
}

Rate Limit

The base rate limit is 60 requests/min.


Get Warrant Quotes

Request class: WarrantQuoteRequest

Description

Get real-time warrant and CBBC quotes.

Parameters

ParameterTypeRequiredDescription
symbolsList<String>YesWarrant codes, maximum 50
langLanguageNoLanguage used for returned names; defaults to the client configuration

Response
com.tigerbrokers.stock.openapi.client.https.response.option.WarrantQuoteResponsesource

Structure as follows:

public class WarrantQuoteResponse extends TigerResponse {
  @JSONField(name = "data")
  private WarrantQuoteItem item;
}

Response data can be accessed through WarrantQuoteResponse.getItem(), which returns a WarrantQuoteItem object. Its items list contains com.tigerbrokers.stock.openapi.client.https.domain.option.item.WarrantQuote objects with the following properties:

FieldTypeDescription
symbolStringWarrant or CBBC code
nameStringWarrant or CBBC name
exchangeStringExchange
marketStringMarket
secTypeStringContract type
currencyStringCurrency
expiryStringExpiry date in yyyy-MM-dd format
strikeStringStrike price
rightStringDirection (PUT/CALL)
multiplierDoubleLot size
lastTradingDateLongLast trading date at 00:00 Hong Kong time, in milliseconds
entitlementRatioDoubleEntitlement ratio
entitlementPriceDoubleEntitlement price
minTickDoubleMinimum price increment
listingDateLongListing date at 00:00 Hong Kong time, in milliseconds
callPriceDoubleCall price (CBBC only)
haltedHaltedStatusTrading halt status. 0: Normal 3: Halted 4: Delisted
underlyingSymbolStringUnderlying asset code
timestampLongTimestamp
latestPriceDoubleLatest price
preCloseDoublePrevious close price
openDoubleOpen price
highDoubleHigh price
lowDoubleLow price
volumeLongVolume
amountDoubleTurnover
premiumDoublePremium as a decimal; for example, 0.02141 means 2.141%
outstandingRatioDoubleOutstanding ratio as a decimal; for example, 0.0019 means 0.19%
impliedVolatilityDoubleImplied volatility (warrants only)
inOutPriceDoubleSigned in/out-of-the-money amount as a decimal: values greater than or equal to 0 are in the money, and negative values are out of the money. For example, 0.20744 means 20.744% in the money and -0.20744 means 20.744% out of the money
deltaDoubleSensitivity of theoretical warrant value to changes in the underlying price (warrants only)
leverageRatioDoubleLeverage ratio
breakevenPointDoubleBreakeven point at expiry

Specific fields can be accessed through object get methods, such as getSymbol()

The SDK represents these numeric fields with boxed Java types. Boxed types describe the Java representation and do not, by themselves, define whether the API may omit a field or return no value. callPrice applies only to CBBCs; impliedVolatility and delta apply only to warrants.

Example

    List<String> symbols = new ArrayList<>();
    symbols.add("68723");
    symbols.add("68722");
    WarrantQuoteRequest request = WarrantQuoteRequest.newRequest(symbols);
    request.lang(Language.en_US);
    WarrantQuoteResponse response = client.execute(request);
    if (response.isSuccess()) {
      System.out.println(JSONObject.toJSONString(response));
    } else {
      System.out.println("response error:" + response.getMessage());
    }

Example Response

{
    "code":0,
    "data":{
        "items":[
            {
                "amount":391370,
                "breakevenPoint":401.2,
                "callPrice":320,
                "currency":"HKD",
                "entitlementPrice":84,
                "entitlementRatio":500,
                "exchange":"SEHK",
                "expiry":"2024-03-28",
                "halted":"Normal",
                "high":0.171,
                "inOutPrice":0.232661,
                "lastTradingDate":1711468800000,
                "latestPrice":0.168,
                "leverageRatio":4.654762,
                "listingDate":1673280000000,
                "low":0.142,
                "market":"HK",
                "minTick":0.001,
                "multiplier":5000,
                "name":"Tencent Goldman Sachs Apr Bull B.C",
                "open":0.142,
                "outstandingRatio":0.0023,
                "preClose":0.135,
                "premium":0.026087,
                "right":"CALL",
                "secType":"IOPT",
                "strike":"317.2",
                "symbol":"68723",
                "timestamp":1676521860314,
                "underlyingSymbol":"00700",
                "volume":2460000
            },
            {
                "amount":341700,
                "breakevenPoint":402.7,
                "callPrice":310,
                "currency":"HKD",
                "entitlementPrice":95.5,
                "entitlementRatio":500,
                "exchange":"SEHK",
                "expiry":"2024-03-28",
                "halted":"Normal",
                "high":0.193,
                "inOutPrice":0.272786,
                "lastTradingDate":1711468800000,
                "latestPrice":0.191,
                "leverageRatio":4.094241,
                "listingDate":1673280000000,
                "low":0.172,
                "market":"HK",
                "minTick":0.001,
                "multiplier":5000,
                "name":"Tencent Goldman Sachs Apr Bull A.C",
                "open":0.172,
                "outstandingRatio":0.0111,
                "preClose":0.156,
                "premium":0.029923,
                "right":"CALL",
                "secType":"IOPT",
                "strike":"307.2",
                "symbol":"68722",
                "timestamp":1676521860314,
                "underlyingSymbol":"00700",
                "volume":1870000
            }
        ]
    },
    "message":"success",
    "sign":"af55ER5QJh0jv3iELe01l+Kfw/qt6DJTGOaLeMgJMgqZ/xWH+ELVfHEEscnTa4YkQE3DDJN78Nln7gUFIaMK9NeoC2JNgT3gUUiDEgHhaWmSGerEd56srOZiEC90yIEKSBn8sIrW2ZTs1c/8jyu9QBraxcWnnb4NoopOTL7hXXg=",
    "success":true,
    "timestamp":1676522864184
}

Rate Limit

The base rate limit is 60 requests/min.


Did this page help you?