Warrants and Callable Bull/Bear Certificates
Warrant Filter
Corresponding Request Class: WarrantFilterRequest
Description
Get warrant and CBBC market data list, supports sorting and filtering warrants by different fields.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Underlying stock code |
| page | int | No | Page number, starting from 0, default is 0 |
| page_size | int | No | Number of items per page, default is 50 |
| sort_field_name | string | No | Sort field, default is expireDate (refer to WarrantItem fields) |
| sort_dir | SortDir | No | Sort order, enum SortDir_Ascend/SortDir_Descend, default SortDir_Ascend |
| warrant_type | Set<Integer> | No | Type WarrantType (1:Call, 2: Put, 3: Bull, 4: Bear, 0: All), default all |
| issuer_name | string | No | Issuer (refer to issuerName field in FilterBounds), default all |
| expire_ym | string | No | Expiry date, format yyyy-MM |
| state | int | No | Status, 0 all, 1 normal, 2 trading terminated, 3 pending listing, default 0 |
| in_out_price | Set<Integer> | No | 1: In-the-money (including at-the-money), -1: Out-of-the-money |
| lot_size | Set<Integer> | No | Lot size |
| entitlement_ratio | Set<Double> | No | Entitlement ratio |
| strike | Range<Double> | No | Strike price range |
| effective_leverage | Range<Double> | No | Effective leverage range |
| leverage_ratio | Range<Double> | No | Leverage ratio range |
| call_price | Range<Double> | No | Call price range |
| volume | Range<Long> | No | Volume range |
| premium | Range<Double> | No | Premium range |
| outstanding_ratio | Range<Double> | No | Outstanding ratio range |
| implied_volatility | Range<Double> | No | Implied 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:
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
| totalPage | int | Total pages |
| totalCount | int | Total data count |
| bounds | FilterBounds | Filterable conditions, see below |
| items | List<WarrantItem> | List containing WarrantItem objects, warrant data, see below |
FilterBounds object structure:
| Name | Type | Description |
|---|---|---|
| issuerName | List<String> | Issuer names |
| expireDate | List<String> | Expiry dates |
| lotSize | List<Integer> | Lot sizes |
| entitlementRatio | List<Double> | Entitlement ratios |
| leverageRatio | Range<Double> | Leverage ratio range |
| strike | Range<Double> | Strike price range |
| premium | Range<Double> | Premium range |
| outstandingRatio | Range<Double> | Outstanding ratio range |
| impliedVolatility | Range<Double> | Implied volatility range |
| effectiveLeverage | Range<Double> | Effective leverage range |
| callPrice | Range<Double> | Call price range |
WarrantItem object structure:
| Name | Type | Description |
|---|---|---|
| symbol | string | Underlying stock code |
| name | string | Underlying name |
| type | WarrantType | Type, 1: Call, 2: Put, 3: Bull, 4: Bear |
| secType | string | Contract type, Warrant: WAR/CBBC: IOPT |
| market | string | Market, HK |
| entitlementRatio | double | Entitlement ratio |
| entitlementPrice | double | Entitlement price |
| premium | double | Premium |
| breakevenPoint | double | Breakeven point at expiry |
| callPrice | double | Call price (CBBC only) |
| beforeCallLevel | double | Distance to call price (percentage, e.g. 0.196875 means 19.6875%) |
| expireDate | string | Expiry date |
| lastTradingDate | string | Last trading date |
| state | WarrantState | Status, 1 normal, 2 trading terminated, 3 pending listing |
| changeRate | double | Change rate |
| change | double | Change amount |
| latestPrice | double | Latest price |
| volume | long | Volume |
| outstandingRatio | double | Outstanding ratio |
| lotSize | int | Lot size |
| strike | double | Strike price |
| inOutPrice | double | In-the-money (positive)/Out-of-the-money (negative) |
| delta | double | Delta |
| leverageRatio | double | Leverage ratio |
| effectiveLeverage | double | Effective leverage |
| impliedVolatility | double | Implied volatility |
Specific fields can be accessed through object get methods, such as getSymbol()
Example
WarrantFilterRequest request = WarrantFilterRequest.newRequest("00700");
request.lang(Language.zh_CN);
request.sortFieldName("expireDate");
request.sortDir(SortDir.SortDir_Descend);
request.warrantType(WarrantType.Bull);
request.issuerName("高盛");
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());
}Response Example
{
"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
}Get Warrant Quote
Corresponding Request Class: WarrantQuoteRequest
Description
Get real-time warrant and CBBC quotes.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | List<String> | Yes | Warrant codes, maximum 50 |
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 TigerResponse.getItem() method, returns WarrantQuoteItem object, where items property list com.tigerbrokers.stock.openapi.client.https.domain.option.item.WarrantQuote properties are as follows:
| Field | Type | Description |
|---|---|---|
| symbol | string | Underlying code |
| name | string | Underlying name |
| exchange | string | Exchange |
| market | string | Market |
| secType | string | Contract type |
| currency | string | Currency |
| expiry | string | Expiry date yyyy-MM-dd |
| strike | string | Strike price |
| right | string | Direction (PUT/CALL) |
| multiplier | double | Lot size |
| lastTradingDate | long | Last trading date timestamp |
| entitlementRatio | double | Entitlement ratio |
| entitlementPrice | double | Entitlement price |
| minTick | double | Minimum price increment |
| listingDate | long | Listing date timestamp |
| callPrice | double | Call price* (CBBC only)* |
| halted | HaltedStatus | Trading halt status. 0: Normal 3: Halted 4: Delisted |
| underlyingSymbol | string | Underlying asset code |
| timestamp | long | Timestamp |
| latestPrice | double | Latest price |
| preClose | double | Previous close price |
| open | double | Open price |
| high | double | High price |
| low | double | Low price |
| volume | long | Volume |
| amount | double | Turnover |
| premium | double | Premium |
| outstandingRatio | double | Outstanding ratio |
| impliedVolatility | double | Implied volatility (warrants only) |
| inOutPrice | double | In-the-money/Out-of-the-money |
| delta | double | Delta (warrants only) |
| leverageRatio | double | Leverage ratio |
| breakevenPoint | double | Breakeven point at expiry |
Specific fields can be accessed through object get methods, such as getSymbol()
Example
List<String> symbols = new ArrayList<>();
symbols.add("68723");
symbols.add("68722");
WarrantQuoteRequest request = WarrantQuoteRequest.newRequest(symbols);
request.lang(Language.zh_CN);
WarrantQuoteResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(JSONObject.toJSONString(response));
} else {
System.out.println("response error:" + response.getMessage());
}Response Example
{
"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
}Updated 9 days ago
