WarrantCbbc
About 4 min
get_warrant_filter
warrant filter
value get_warrant_filter(const utility::string_t symbol, int page_size = 100, int page = 0,
utility::string_t sort_field_name = U(""), utility::string_t sort_dir = U("SortDir_Ascend"));
Description
Get the list of nested CBBC ticker data, support sorting and filtering the rounds by different fields.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string_t | Yes | Positive Stock Code |
page_size | int | No | number of items per page default: 100 |
page | int | No | starting page default: 0 |
sort_field_name | string_t | No | default: U("") |
sort_dir | string_t | No | sort order, enum ASC/DESC default: U("SortDir_Ascend") |
WarrantFilterParams | No | filter_params | The fields of filter_params are as follows.
Parameters | Type | Required or not | Description |
---|---|---|---|
issuer_name | str | No | issuer (refer to the issuerName field of the returned FilterBounds instance), default all |
expire_ym | str | No | expiration date in yyyy-MM format |
state | int | No | state, 0 all, 1 normal, 2 terminated transaction, 3 waiting for listing, default 0 |
warrant_type | set[int] | No | type WarrantType (1: Call, 2: Put, 3: Bull, 4: Bear, 0: All), default All |
in_out_price | set[int] | No | 1: in_price (contains flat values), -1: out-of-price |
lot_size | set[int] | No | shares per lot |
entitlement_ratio | set[float] | No | Conversion ratio |
strike | tuple[float, float] | No | strike price range |
effective_leverage | tuple[float, float] | No | Effective leverage range |
effective_leverage | tuple[float, float] | No | leverage_ratio range |
call_price | tuple[float, float] | No | Recovery Price Range |
volume | tuple[int, int] | No | Volume Range |
premium | tuple[float, float] | No | Premium range |
outstanding_ratio | tuple[float, float] | No | Street Ratio Range |
implied_volatility | tuple[float, float] | No | Implied Volatility Range |
Returns |
name | type | description |
---|---|---|
page | int | page number |
totalPage | int | totalPage |
totalCount | int | Total data |
bounds | tigeropen.quote.domain.filter.WarrantFilterBounds | Requests for settable filters, see below for description |
items | pandas.DataFrame | fields see description below |
Name | Type | Description |
---|---|---|
issuer_name | list[str] | issuer_name |
expire_date | list[str] | expiration date |
lot_size | list[int] | shares per lot |
entitlement_ratio | list<double> | exchange_ratio |
leverage_ratio | dict | |
strike | dict | Strike price range |
strike | dict | strike price range |
outstanding_ratio | dict | street_ratio_range |
implied_volatility | dict | implied_volatility_range |
effective_leverage | dict | effective_leverage_range |
effective_leverage | dict | effective_leverage range |
name | type | description |
---|---|---|
symbol | str | Subject stock code |
name | str | Subject name |
type | warrant_type | type, 1: call, 2: put, 3: bull, 4: bear |
sec_type | str | Contract type, Warrant: WAR / CBBC: IOPT |
market | str | Market, hk |
entitlement_ratio | float | Conversion Ratio |
entitlement_price | float | Conversion Price |
premium | float | premium |
float | break-even_point | float |
call_price | float | call price (CBBCs only) |
Example
#include "tigerapi/quote_client.h"
#include "tigerapi/trade_client.h"
using namespace std;
using namespace web;
using namespace web::json;
using namespace TIGER_API;
int main(int argc, char *args[]) {
/************************** set config **********************/
ClientConfig config = ClientConfig();
config.private_key = "xxxxxx your private key string xxxxxxxx";
config.tiger_id = "your tiger id";
config.account = "your account";
std::shared_ptr<QuoteClient> quote_client = std::make_shared<QuoteClient>(config);
value result = quote_client->get_warrant_filter(U("00700"));
ucout << U("result: ") << result << endl;
return 0;
}
Response Example
WarrantFilterItem({
'items':
symbol name type sec_type market entitlement_ratio entitlement_price premium breakeven_point expire_date last_trading_date state change_rate change latest_price volume amount outstanding_ratio lot_size strike in_out_price delta leverage_ratio effective_leverage implied_volatility
0 27062 A.P Put WAR HK 47.483 1.377007 0.605231 148.669993 2023-10-20 2023-10-16 Normal 0.035714 0.001 0.029 0 0.0 0.002 5000 150.047 1.50988 -0.030389 273.491711 -8.311172 69.847,
'page': 0, 'total_page': 1, 'total_count': 1,
'bounds': FilterBounds({
'expire_date': ['2026-01', '2025-12', '2025-09', '2025-08', '2024-12', '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'],
'lot_size': [1000, 5000, 10000, 50000],
'entitlement_ratio': [1.053, 47.483, 50.0, 92.166, 94.967, 100.0, 460.829, 474.834, 485.437, 500.0],
'leverage_ratio': {'min': 1.391437, 'max': 3056.79342},
'strike': {'min': 111.301, 'max': 717.11},
'premium': {'min': -0.314923, 'max': 0.908085},
'outstanding_ratio': {'min': 0.0, 'max': 1.0},
'implied_volatility': {'min': 0.0, 'max': 131.085},
'effective_leverage': {'min': -46.321801, 'max': 20.189945},
'call_price': {'min': 113.96, 'max': 520.0}})})
get_warrant_real_time_quote
value get_warrant_real_time_quote(const utility::string_t symbol);value get_warrant_real_time_quote(const value &symbols);
Description
Get the time quote of a Warrant Bull/Bear Confirmation
**Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbols | value | Yes | Rotating symbols code, limit to 50 |
**Returns
The structure is as follows:
fields | type | description |
---|---|---|
amount | float | Transaction Amount / Turnover |
breakevenPoint | float | break-even point at expiry |
currency | string | Currency |
delta | float | Hedge Value (Only supported for Warrants) |
entitlementPrice | float | Stock swap price |
entitlementRatio | float | Stock swap ratio |
exchange | string | Exchange |
expiry | string | Expiration Date (yyyy_mm_dd) |
halted | string | Suspension status |
high | float | Highest price |
impliedVolatility | float | Implied votlatility (Warrants only) |
inOutPrice | float | In the money/Out the money |
lastTradingDate | int | Last trading day timestamp |
latestPrice | float | Latest price |
leverageRatio | float | leverage ratio |
listingDate | int | Listing date timestamp |
low | float | Lowest price |
market | string | Market |
multiplier | float | Contract size |
name | string | Underlying asset name |
open | float | Opening price |
outstandingRatio | float | Street Goods Ratio |
preClose | float | Previous Trading Day Closing Price |
premium | float | Premium |
right | string | Direction (put/call) |
strike | float | strike price |
symbol | string | Symbol |
timestamp | int | timestamp |
underlyingSymbol | string | Underlying Asset Code |
volume | int | Volume |
Example
#include "tigerapi/quote_client.h"
#include "tigerapi/trade_client.h"
using namespace std;
using namespace web;
using namespace web::json;
using namespace TIGER_API;
int main(int argc, char *args[]) {
/************************** set config **********************/
ClientConfig config = ClientConfig();
config.private_key = "xxxxxx your private key string xxxxxxxx";
config.tiger_id = "your tiger id";
config.account = "your account";
std::shared_ptr<QuoteClient> quote_client = std::make_shared<QuoteClient>(config);
value result = quote_client->get_warrant_real_time_quote(U("15792"));
ucout << U("result: ") << result << endl;
return 0;
}
Response example
{
"amount":0,
"breakevenPoint":17.32,
"currency":"HKD",
"delta":0.31859999999999999,
"entitlementPrice":0.44,
"entitlementRatio":5,
"exchange":"SEHK",
"expiry":"2024-05-03",
"halted":"Suspension",
"high":0.087999999999999995,
"impliedVolatility":22.035,
"inOutPrice":2.178318,
"lastTradingDate":1714060800000,
"latestPrice":0.087999999999999995,
"leverageRatio":121.93181800000001,
"listingDate":1680710400000,
"low":0.087999999999999995,
"market":"HK","minTick":0.001,
"multiplier":1000,
"name":"MBXIAMI@EC2405A.C",
"open":0.087999999999999995,
"outstandingRatio":0.12529999999999999,
"preClose":0.087999999999999995,
"premium":-0.67716699999999996,
"right":"CALL","secType":"WAR",
"strike":"16.88",
"symbol":"15792",
"timestamp":1714723200018,
"underlyingSymbol":"01810",
"volume":0
}