# Warrant Screening V2
get_warrant_screen(request)
Description
Warrant screening V2. Compared with the legacy get_warrant, this API returns 45 columns of warrant attributes, supports HK / Singapore / Malaysia markets, and supports a count-only mode (only_count). All numeric fields accept raw values; OpenD performs magnification conversion internally.
Parameters
Parameter Type Description request WarrantScreenRequest Warrant screening request object; warrant_market must be passed at construction WarrantScreenRequest fields:
Field Type Description warrant_market WarrantMarket Market is_delay bool Whether to use delayed market data only_count bool Whether to return only the total count (no detailed records) page_from int Pagination start position page_count int Maximum results per page Filter builder methods (each call appends one filter condition):
Method Description add_interval_filter(field_id, min_val=None, max_val=None, min_included=True, max_included=True) Interval filter add_choice_filter(field_id, choices) Choice filter add_sort(field_id, desc=False) Sort Common WarrantField field_id (full list see WarrantField):
field_id Meaning Filter type 4 ISSUER_ID choice 5 STOCK_OWNER underlying choice 6 WARRANT_TYPE choice 8 CURRENT_PRICE interval 9 STREET_RATIO interval 10 VOLUME interval 16 LEVERAGE_RATIO interval 19 STATUS choice 23 EFFECTIVE_LEVERAGE interval
Returns
Parameter Type Description ret RET_CODE API result data tuple When ret == RET_OK, returns (last_page, all_count, DataFrame) str When ret != RET_OK, an error description is returned Returned DataFrame fields (45 columns total):
Field Type Description issuer_id int Issuer ID warrant_type int Warrant type strike_price float Strike price maturity_date str Maturity date last_trade_date str Last trade date conversion_ratio float Conversion ratio last_close_price float Previous close price recovery_price float Recovery price (Bull/Bear only) stock_owner_price float Underlying stock price current_price float Current price volume int Volume turnover float Turnover sell_vol int Ask volume buy_vol int Bid volume sell_price float Ask price buy_price float Bid price street_rate float Street ratio high_price float High low_price float Low implied_volatility float Implied volatility (Call/Put only) delta float Delta (Call/Put only) status int Warrant status street_rate_new float Street ratio (new) score float Composite score premium float Premium leverage float Leverage effective_leverage float Effective leverage break_even_point float Break-even point ipop float In/Out of the money amplitude float Amplitude fx_score float SG score ipo_time str IPO time street_vol int Street volume lot_size int Lot size issue_size int Issue size ipo_price float IPO price upper_strike_price float Upper strike price (Inline only) lower_strike_price float Lower strike price (Inline only) iw_price_status int Inside / outside the range sensitivity float Sensitivity price_recovery_ratio float Underlying distance to recovery price (Bull/Bear only) code str Warrant code with market prefix (e.g. HK.10001), filled by OpenD after symbol lookup owner_code str Underlying code with market prefix (e.g. HK.00700) name str Warrant name owner_name str Underlying name
Example
from futu import (
OpenQuoteContext, RET_OK, WarrantScreenRequest,
WarrantMarket, WarrantField, WarrantType,
)
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
# Example 1: HK low-priced high-leverage Call / Put warrants
req = WarrantScreenRequest(warrant_market=WarrantMarket.HK)
req.add_choice_filter(field_id=WarrantField.WARRANT_TYPE,
choices=[WarrantType.CALL, WarrantType.PUT]) # Call + Put
req.add_interval_filter(field_id=WarrantField.CURRENT_PRICE,
min_val=0.1, max_val=5.0) # Current price 0.1~5
req.add_interval_filter(field_id=WarrantField.EFFECTIVE_LEVERAGE,
min_val=3.0) # Effective leverage > 3
req.add_interval_filter(field_id=WarrantField.STREET_RATIO, max_val=50.0) # Street ratio < 50%
req.add_sort(field_id=WarrantField.VOLUME, desc=True) # Volume descending
req.page_count = 20
ret, data = quote_ctx.get_warrant_screen(req)
if ret == RET_OK:
last_page, all_count, df = data
print(df[['code', 'warrant_type', 'current_price', 'effective_leverage']].head())
else:
print('error: ', data)
# Example 2: Return only the total count of matching records
req = WarrantScreenRequest(warrant_market=WarrantMarket.HK)
req.only_count = True
req.add_choice_filter(field_id=WarrantField.WARRANT_TYPE, choices=[WarrantType.CALL])
req.add_interval_filter(field_id=WarrantField.CURRENT_PRICE, min_val=1.0)
ret, data = quote_ctx.get_warrant_screen(req)
if ret == RET_OK:
_, all_count, _ = data
print(f"Total Call warrants matching: {all_count}")
# Example 3: Filter by underlying stock code (choice accepts code string)
req = WarrantScreenRequest(warrant_market=WarrantMarket.HK)
req.add_choice_filter(field_id=WarrantField.STOCK_OWNER, choices=["HK.00700"])
req.add_choice_filter(field_id=WarrantField.WARRANT_TYPE,
choices=[WarrantType.BULL, WarrantType.BEAR]) # Bull + Bear
req.add_sort(field_id=WarrantField.TURNOVER, desc=True)
req.page_count = 50
ret, data = quote_ctx.get_warrant_screen(req)
if ret == RET_OK:
_, all_count, df = data
print(f"Total Tencent bull/bear warrants: {all_count}")
print(df[['code', 'name', 'warrant_type', 'turnover']].head())
quote_ctx.close()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
- Output
code warrant_type current_price effective_leverage
0 HK.29080 1 0.117 7.070
1 HK.28957 1 0.110 8.021
2 HK.28545 1 0.106 6.807
3 HK.29526 1 0.118 4.337
4 HK.13637 1 0.212 5.896
Total Call warrants matching: 197
Total Tencent bull/bear warrants: 393
code name warrant_type turnover
0 HK.57161 腾讯法兴六乙牛X.C 3 10149350.0
1 HK.54908 腾讯法兴六乙牛R.C 3 9797800.0
2 HK.55573 腾讯华泰六十牛C.C 3 4227400.0
3 HK.53663 腾讯法兴六乙牛N.C 3 3504625.0
4 HK.68433 腾讯法兴六乙牛M.C 3 3018900.0
2
3
4
5
6
7
8
9
10
11
12
13
14
Per-field examples
All examples below assume
req = WarrantScreenRequest(warrant_market=WarrantMarket.HK)has been constructed; the measured response is OpenD HK-market sample data, showing the correspondingall_countand DataFrame head for that field (values already auto-scaled by the SDK).#
CODE(id=1 · choice · HK · no return column) Security code (text)Pass an array of prefixed code strings (e.g.
"HK.57161"); SDK auto-strips the prefix; exact match onlyreq.add_choice_filter(WarrantField.CODE, ["HK.57161", "HK.54908", "HK.55573"])1Measured response (HK · all_count=3, 3 rows matched):
code name owner_code owner_name warrant_type current_price 0 HK.54908 腾讯法兴六乙牛R.C HK.00700 腾讯控股 3 0.066 1 HK.55573 腾讯华泰六十牛C.C HK.00700 腾讯控股 3 0.080 2 HK.57161 腾讯法兴六乙牛X.C HK.00700 腾讯控股 3 0.0441
2
3
4#
NAME(id=2 · choice/sort · HK · no return column) Security name (text)Text field, suitable only for sort; choice requires a name string
req.add_sort(WarrantField.NAME, desc=False)1Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.59177 阿里法巴八十熊G.P HK.09988 阿里巴巴-W 4 0.290 1 HK.65875 阿里法巴八十熊H.P HK.09988 阿里巴巴-W 4 0.024 2 HK.55774 阿里法巴八十熊I.P HK.09988 阿里巴巴-W 4 0.203 3 HK.60642 阿里法巴八五熊D.P HK.09988 阿里巴巴-W 4 0.157 4 HK.66020 阿里法巴八五熊E.P HK.09988 阿里巴巴-W 4 0.1731
2
3
4
5
6#
ISSUER_ID(id=4 · choice · HK · return columnissuer_id) Issuer IDFilterable only on HK; SG/MY measurements show issuer_id always 0. See the ISSUER_ID table above for the full issuer mapping
req.add_choice_filter(WarrantField.ISSUER_ID, [21]) # 仅瑞通 VT 发行 req.add_sort(WarrantField.TURNOVER, desc=True)1
2Measured response (HK · all_count=2431, 5 rows matched, head top 5):
code name owner_code owner_name issuer_id warrant_type current_price 0 HK.55430 恒指瑞银八十熊B.P HK.800000 恒生指数 21 4 0.053 1 HK.57466 恒指瑞银八九牛N.C HK.800000 恒生指数 21 3 0.037 2 HK.27921 恒指瑞银六九沽A.P HK.800000 恒生指数 21 2 0.050 3 HK.29814 恒指瑞银六甲购A.C HK.800000 恒生指数 21 1 0.052 4 HK.56502 恒指瑞银八九牛D.C HK.800000 恒生指数 21 3 0.0541
2
3
4
5
6#
STOCK_OWNER(id=5 · choice · HK / SG / MY · return columnowner_code) Underlying stock IDAccepts a list of code strings directly, e.g. ["HK.00700"]
req.add_choice_filter(WarrantField.STOCK_OWNER, ["HK.00700"]) req.add_sort(WarrantField.TURNOVER, desc=True)1
2Measured response (HK · all_count=844, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.29080 腾讯国君六甲购B.C HK.00700 腾讯控股 1 0.117 1 HK.27892 腾讯摩通六九购E.C HK.00700 腾讯控股 1 0.058 2 HK.27966 腾讯法兴六九购D.C HK.00700 腾讯控股 1 0.060 3 HK.28957 腾讯法兴六甲购B.C HK.00700 腾讯控股 1 0.110 4 HK.29069 腾讯摩通六甲购B.C HK.00700 腾讯控股 1 0.0991
2
3
4
5
6#
WARRANT_TYPE(id=6 · choice · HK / SG / MY · return columnwarrant_type) Warrant type1=Call 2=Put 3=Bull 4=Bear 5=Inline; SG measurements may return 6/7, MY may return 8 (not defined in the SDK enum)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.BULL, WarrantType.BEAR]) req.add_sort(WarrantField.TURNOVER, desc=True)1
2
3Measured response (HK · all_count=7923, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 4 0.056 1 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 3 0.038 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 3 0.037 3 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 4 0.055 4 HK.57114 恒指法兴八九牛7.C HK.800000 恒生指数 3 0.0541
2
3
4
5
6#
CONVERSION_RATIO(id=7 · interval · HK / SG / MY · return columnconversion_ratio) Conversion ratioSDK takes the ratio itself (pass 1.0 for a 1.0 ratio); protocol field ×1000 integer-encoded on the wire
req.add_interval_filter(WarrantField.CONVERSION_RATIO, min_val=1.0, max_val=10.0) req.add_sort(WarrantField.CONVERSION_RATIO, desc=False)1
2Measured response (HK · all_count=3527, 5 rows matched, head top 5):
code name owner_code owner_name conversion_ratio warrant_type current_price 0 HK.15938 利丰瑞信七七购A.C HK.01818 招金矿业 1.0 1 0.000 1 HK.15941 平安瑞银七甲沽B.P HK.02318 中国平安 1.0 1 0.000 2 HK.25738 首程麦银六八购A.C HK.00697 首程控股 1.0 1 0.016 3 HK.15190 中核信证六二购B HK.01816 中广核电力 1.0 1 0.000 4 HK.17771 置富麦银六八购A.C HK.00778 置富产业信托 1.0 1 0.0151
2
3
4
5
6#
CURRENT_PRICE(id=8 · interval · HK / SG / MY · return columncurrent_price) Current priceUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.CURRENT_PRICE, min_val=0.1, max_val=0.15) req.add_sort(WarrantField.CURRENT_PRICE, desc=False)1
2Measured response (HK · all_count=1719, 5 rows matched, head top 5):
code name owner_code owner_name current_price warrant_type 0 HK.65586 中移花旗六九牛C.C HK.00941 中国移动 0.1 3 1 HK.67749 阿里瑞银六六牛B.C HK.09988 阿里巴巴-W 0.1 3 2 HK.69293 港交汇丰七甲牛A.C HK.00388 香港交易所 0.1 3 3 HK.56800 恒指信证七九牛U.C HK.800000 恒生指数 0.1 3 4 HK.57184 恒指法兴八三牛A.C HK.800000 恒生指数 0.1 31
2
3
4
5
6#
STREET_RATIO(id=9 · interval · HK / SG / MY · return columnstreet_rate) Street ratioUnit: %; SDK takes the value as e.g. 50.0 (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.STREET_RATIO, min_val=10.0, max_val=50.0) req.add_sort(WarrantField.STREET_RATIO, desc=False)1
2Measured response (HK · all_count=1918, 5 rows matched, head top 5):
code name owner_code owner_name street_rate warrant_type current_price 0 HK.27205 腾讯瑞银八乙购A.C HK.00700 腾讯控股 10.00 1 0.233 1 HK.63380 恒指中银八三熊I.P HK.800000 恒生指数 10.00 4 0.335 2 HK.60023 恒指国君七乙牛S.C HK.800000 恒生指数 10.01 3 0.193 3 HK.21640 飞鹤华泰六七购A.C HK.06186 中国飞鹤 10.01 1 0.010 4 HK.25461 恒指瑞银六七购A.C HK.800000 恒生指数 10.01 1 0.0101
2
3
4
5
6#
VOLUME(id=10 · interval · HK / SG / MY · return columnvolume) VolumeUnit: shares
req.add_interval_filter(WarrantField.VOLUME, min_val=1000) req.add_sort(WarrantField.VOLUME, desc=True)1
2Measured response (HK · all_count=6092, 5 rows matched, head top 5):
code name owner_code owner_name volume warrant_type current_price 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 20257030000 4 0.056 1 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 18202610000 4 0.055 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 17612080000 3 0.037 3 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 16576470000 3 0.038 4 HK.55430 恒指瑞银八十熊B.P HK.800000 恒生指数 12932700000 4 0.0531
2
3
4
5
6#
MATURITY_DATE(id=11 · interval · HK / SG / MY · return columnmaturity_date) Maturity date (Unix timestamp seconds)Unix timestamp in seconds; returned maturity_date is also a string-typed timestamp
import time req.add_interval_filter(WarrantField.MATURITY_DATE, min_val=int(time.time()), max_val=int(time.time()) + 365*86400) req.add_sort(WarrantField.MATURITY_DATE, desc=False)1
2
3
4
5Measured response (HK · all_count=9330, 5 rows matched, head top 5):
code name owner_code owner_name maturity_date warrant_type current_price 0 HK.21145 金云摩利六六购A.C HK.03896 金山云 1781539200 1 0.010 1 HK.54786 百度瑞银六六牛B.C HK.09888 百度集团-SW 1781539200 3 0.305 2 HK.23342 优必中银六六购B.C HK.09880 优必选 1781539200 1 0.010 3 HK.23574 汇量华泰六六购A.C HK.01860 汇量科技 1781539200 1 0.010 4 HK.18353 美高摩通六六购A.C HK.02282 美高梅中国 1781625600 1 0.0101
2
3
4
5
6#
STRIKE_PRICE(id=12 · interval · HK / SG / MY · return columnstrike_price) Strike priceUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.STRIKE_PRICE, min_val=10.0, max_val=20.0) req.add_sort(WarrantField.STRIKE_PRICE, desc=False)1
2Measured response (HK · all_count=990, 5 rows matched, head top 5):
code name owner_code owner_name strike_price warrant_type current_price 0 HK.19876 喜相华泰六八购A.C HK.02473 喜相逢集团 10.0 1 0.010 1 HK.23889 中油法巴六七购A.C HK.00857 中国石油股份 10.0 1 0.153 2 HK.11055 英港摩通六七沽A.P N/A N/A 10.0 2 0.051 3 HK.25258 中联花旗六八购A.C HK.00762 中国联通 10.0 1 0.014 4 HK.27520 新发信证七三购A.C HK.00017 新世界发展 10.0 1 0.1071
2
3
4
5
6#
PREMIUM(id=13 · interval · HK / SG / MY · return columnpremium) PremiumUnit: %; SDK takes the value as e.g. 15.0, negative allowed (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.PREMIUM, min_val=0.0, max_val=20.0) req.add_sort(WarrantField.PREMIUM, desc=False)1
2Measured response (HK · all_count=11283, 5 rows matched, head top 5):
code name owner_code owner_name premium warrant_type current_price 0 HK.21137 恒大中银八七购A.C N/A N/A 0.0 1 0.000 1 HK.16449 恒生中银九乙购A.C N/A N/A 0.0 1 0.000 2 HK.16512 恒指高盛九九沽J.P HK.06688 蚂蚁集团 0.0 1 0.000 3 HK.16522 恒指瑞通九十沽A.P HK.06688 蚂蚁集团 0.0 1 0.000 4 HK.68392 招行瑞银六八牛A.C HK.03968 招商银行 0.0 3 0.2381
2
3
4
5
6#
RECOVERY_PRICE(id=14 · interval · HK / SG / MY · return columnrecovery_price) Recovery priceUnit: in currency; SDK takes the raw price; effective only for Bull/Bear (3/4) (protocol field ×1000 integer-encoded on the wire)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.BULL, WarrantType.BEAR]) req.add_interval_filter(WarrantField.RECOVERY_PRICE, min_val=0.01) req.add_sort(WarrantField.RECOVERY_PRICE, desc=False)1
2
3
4Measured response (HK · all_count=7923, 5 rows matched, head top 5):
code name owner_code owner_name recovery_price warrant_type current_price 0 HK.59404 商汤瑞银七八牛D.C HK.00020 商汤-W 1.00 3 0.062 1 HK.64826 商汤法兴七五牛A.C HK.00020 商汤-W 1.05 3 0.113 2 HK.59403 商汤瑞银七八牛C.C HK.00020 商汤-W 1.10 3 0.053 3 HK.64933 商汤瑞银六乙牛A.C HK.00020 商汤-W 1.20 3 0.074 4 HK.59322 商汤汇丰七一牛A HK.00020 商汤-W 1.20 3 0.0001
2
3
4
5
6#
IMPLIED_VOLATILITY(id=15 · interval · HK / SG / MY · return columnimplied_volatility) Implied volatilityUnit: %; SDK takes the value as e.g. 15.0; effective only for Call/Put (1/2) (protocol field ×100 integer-encoded on the wire)
req.add_interval_filter(WarrantField.IMPLIED_VOLATILITY, min_val=10.0, max_val=100.0) req.add_sort(WarrantField.IMPLIED_VOLATILITY, desc=False)1
2Measured response (HK · all_count=5962, 5 rows matched, head top 5):
code name owner_code owner_name implied_volatility warrant_type current_price 0 HK.24413 中移中银六九购A.C HK.00941 中国移动 13.487 1 0.041 1 HK.25984 建行韩投八乙购A.C HK.00939 建设银行 14.638 1 0.500 2 HK.25450 中移国君六九购A.C HK.00941 中国移动 15.308 1 0.054 3 HK.24942 中移汇丰六九购A.C HK.00941 中国移动 15.776 1 0.059 4 HK.14414 建行法巴六乙购A.C HK.00939 建设银行 15.792 1 0.1911
2
3
4
5
6#
LEVERAGE_RATIO(id=16 · interval · HK / SG / MY · return columnleverage) Leverage ratioSDK takes the raw value (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.LEVERAGE_RATIO, min_val=3.0, max_val=50.0) req.add_sort(WarrantField.LEVERAGE_RATIO, desc=True)1
2Measured response (HK · all_count=8360, 5 rows matched, head top 5):
code name owner_code owner_name leverage warrant_type current_price 0 HK.29999 恒指中银六乙购C.C HK.800000 恒生指数 49.985 1 0.071 1 HK.27121 领展瑞银六九购A.C HK.00823 领展房产基金 49.972 1 0.074 2 HK.15343 百度摩通六八沽A.P HK.09888 百度集团-SW 49.869 2 0.023 3 HK.25973 远能麦银六八购A.C HK.01138 中远海能 49.852 1 0.068 4 HK.26365 远能麦银六九购A.C HK.01138 中远海能 49.852 1 0.0341
2
3
4
5
6#
PRICE_RECOVERY_RATIO(id=17 · interval · HK / SG / MY · return columnprice_recovery_ratio) Underlying-to-recovery price %Unit: %; SDK takes the value as e.g. 15.0, negative allowed; effective only for Bull/Bear (3/4) (protocol field ×100000 integer-encoded on the wire)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.BULL, WarrantType.BEAR]) req.add_interval_filter(WarrantField.PRICE_RECOVERY_RATIO, min_val=-50.0, max_val=50.0) req.add_sort(WarrantField.PRICE_RECOVERY_RATIO, desc=False)1
2
3
4
5Measured response (HK · all_count=7923, 5 rows matched, head top 5):
code name owner_code owner_name price_recovery_ratio warrant_type current_price 0 HK.54832 美团瑞银七乙熊M.P HK.03690 美团-W -0.73916 4 0.430 1 HK.53329 美团瑞银七乙熊I.P HK.03690 美团-W -0.72053 4 0.390 2 HK.54269 美团摩通七九熊F.P HK.03690 美团-W -0.72053 4 0.395 3 HK.54562 美团汇丰七乙熊D.P HK.03690 美团-W -0.71018 4 0.370 4 HK.54799 美团摩通七乙熊D.P HK.03690 美团-W -0.71018 4 0.3701
2
3
4
5
6#
DELTA(id=18 · interval · HK / SG / MY · return columndelta) DeltaSDK takes the raw value, range [-1, 1]; effective only for Call/Put (1/2) (protocol field ×1000 integer-encoded on the wire)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.CALL, WarrantType.PUT]) req.add_interval_filter(WarrantField.DELTA, min_val=-1.0, max_val=1.0) req.add_sort(WarrantField.DELTA, desc=True)1
2
3
4Measured response (HK · all_count=8247, 5 rows matched, head top 5):
code name owner_code owner_name delta warrant_type current_price 0 HK.16281 联想信证六六购A.C HK.00992 联想集团 0.999 1 1.28 1 HK.18636 中寿国君六六购A.C HK.02628 中国人寿 0.999 1 0.59 2 HK.22934 建滔华泰六八购A.C HK.00148 建滔集团 0.997 1 6.73 3 HK.19057 汇丰摩利六七购A.C HK.00005 汇丰控股 0.996 1 0.87 4 HK.19058 汇丰法兴六七购A.C HK.00005 汇丰控股 0.996 1 0.871
2
3
4
5
6#
STATUS(id=19 · choice · HK / SG / MY · return columnstatus) Warrant status0=Normal 1=Terminated 2=Pending listing
req.add_choice_filter(WarrantField.STATUS, [WarrantStatus.NORMAL]) req.add_sort(WarrantField.VOLUME, desc=True)1
2Measured response (HK · all_count=13057, 5 rows matched, head top 5):
code name owner_code owner_name status warrant_type current_price 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 0 4 0.056 1 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 0 4 0.055 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 0 3 0.037 3 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 0 3 0.038 4 HK.55430 恒指瑞银八十熊B.P HK.800000 恒生指数 0 4 0.0531
2
3
4
5
6#
IPO_TIME(id=20 · interval · HK / SG / MY · return columnipo_time) Listing time (Unix timestamp seconds)Unix timestamp in seconds
req.add_interval_filter(WarrantField.IPO_TIME, min_val=1700000000, max_val=2000000000) req.add_sort(WarrantField.IPO_TIME, desc=True)1
2
3Measured response (HK · all_count=16122, 5 rows matched, head top 5):
code name owner_code owner_name ipo_time warrant_type current_price 0 HK.11203 道指摩通六乙沽B US..DJI 道琼斯指数 1781625600 2 0.0 1 HK.11204 纳指摩通六乙沽C US..NDX 纳斯达克100指数 1781625600 2 0.0 2 HK.11205 道指摩通六乙沽C US..DJI 道琼斯指数 1781625600 2 0.0 3 HK.13826 老铺摩利六乙沽A HK.06181 老铺黄金 1781625600 2 0.0 4 HK.13827 港交摩利六乙沽A HK.00388 香港交易所 1781625600 2 0.01
2
3
4
5
6#
BUY_VOL(id=21 · interval · HK / SG / MY · return columnbuy_vol) Buy volumeUnit: shares
req.add_interval_filter(WarrantField.BUY_VOL, min_val=1) req.add_sort(WarrantField.BUY_VOL, desc=True)1
2Measured response (HK · all_count=10554, 5 rows matched, head top 5):
code name owner_code owner_name buy_vol warrant_type current_price 0 HK.56746 恒指汇丰八甲牛V.C HK.800000 恒生指数 41410000 3 0.065 1 HK.56560 恒指摩通八三牛G.C HK.800000 恒生指数 40730000 3 0.114 2 HK.63929 恒指摩利八十牛E.C HK.800000 恒生指数 40380000 3 0.102 3 HK.64852 恒指瑞银八十牛G.C HK.800000 恒生指数 40000000 3 0.131 4 HK.29035 泡玛星展六甲沽A.P HK.09992 泡泡玛特 40000000 2 0.0711
2
3
4
5
6#
SELL_VOL(id=22 · interval · HK / SG / MY · return columnsell_vol) Sell volumeUnit: shares
req.add_interval_filter(WarrantField.SELL_VOL, min_val=1) req.add_sort(WarrantField.SELL_VOL, desc=True)1
2Measured response (HK · all_count=11581, 5 rows matched, head top 5):
code name owner_code owner_name sell_vol warrant_type current_price 0 HK.26774 阿里法巴六七购B.C HK.09988 阿里巴巴-W 60130000 1 0.010 1 HK.29035 泡玛星展六甲沽A.P HK.09992 泡泡玛特 37900000 2 0.071 2 HK.55588 恒指汇丰九四熊D.P HK.800000 恒生指数 34110000 4 0.055 3 HK.56458 恒指摩通八九牛4.C HK.800000 恒生指数 33830000 3 0.064 4 HK.57114 恒指法兴八九牛7.C HK.800000 恒生指数 33370000 3 0.0541
2
3
4
5
6#
EFFECTIVE_LEVERAGE(id=23 · interval · HK / SG / MY · return columneffective_leverage) Effective leverageSDK takes the raw value (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.EFFECTIVE_LEVERAGE, min_val=3.0, max_val=50.0) req.add_sort(WarrantField.EFFECTIVE_LEVERAGE, desc=True)1
2Measured response (HK · all_count=5409, 5 rows matched, head top 5):
code name owner_code owner_name effective_leverage warrant_type current_price 0 HK.23821 建行国君六六购A.C HK.00939 建设银行 47.082 1 0.102 1 HK.25486 华地信证六六购B.C HK.01109 华润置地 45.821 1 0.010 2 HK.23727 领展信证六六购A.C HK.00823 领展房产基金 44.375 1 0.012 3 HK.23398 建行麦银六六购A.C HK.00939 建设银行 42.977 1 0.017 4 HK.23575 华地摩通六六购A.C HK.01109 华润置地 42.093 1 0.0121
2
3
4
5
6#
LAST_CLOSE_PRICE(id=24 · interval · HK / SG / MY · return columnlast_close_price) Previous closeUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.LAST_CLOSE_PRICE, min_val=0.1, max_val=2.0) req.add_sort(WarrantField.LAST_CLOSE_PRICE, desc=False)1
2Measured response (HK · all_count=7028, 5 rows matched, head top 5):
code name owner_code owner_name last_close_price warrant_type current_price 0 HK.14210 腾讯花旗六乙沽A.P HK.00700 腾讯控股 0.1 2 0.101 1 HK.67749 阿里瑞银六六牛B.C HK.09988 阿里巴巴-W 0.1 3 0.100 2 HK.53182 平安汇丰七甲牛L.C HK.02318 中国平安 0.1 3 0.107 3 HK.69230 平安法兴七十牛U.C HK.02318 中国平安 0.1 3 0.105 4 HK.56325 恒指法兴八三牛8.C HK.800000 恒生指数 0.1 3 0.1191
2
3
4
5
6#
TURNOVER(id=25 · interval · HK / SG / MY · return columnturnover) TurnoverUnit: in currency
req.add_interval_filter(WarrantField.TURNOVER, min_val=1) req.add_sort(WarrantField.TURNOVER, desc=True)1
2Measured response (HK · all_count=6093, 5 rows matched, head top 5):
code name owner_code owner_name turnover warrant_type current_price 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 864568920.0 4 0.056 1 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 852463370.0 3 0.038 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 842853250.0 3 0.037 3 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 777372600.0 4 0.055 4 HK.57114 恒指法兴八九牛7.C HK.800000 恒生指数 608277730.0 3 0.0541
2
3
4
5
6#
SELL_PRICE(id=26 · interval · HK / SG / MY · return columnsell_price) Ask priceUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.SELL_PRICE, min_val=0.001) req.add_sort(WarrantField.SELL_PRICE, desc=False)1
2Measured response (HK · all_count=11581, 5 rows matched, head top 5):
code name owner_code owner_name sell_price warrant_type current_price 0 HK.23665 S金摩通六七购A.C HK.02840 SPDR金 0.01 1 0.01 1 HK.25680 百度麦银六七购A.C HK.09888 百度集团-SW 0.01 1 0.01 2 HK.27365 中交法兴六六购A.C HK.01800 中国交通建设 0.01 1 0.01 3 HK.28314 铁塔信证六九购A.C HK.00788 中国铁塔 0.01 1 0.01 4 HK.28806 协鑫麦银六九购A.C HK.03800 协鑫科技 0.01 1 0.011
2
3
4
5
6#
BUY_PRICE(id=27 · interval · HK / SG / MY · return columnbuy_price) Bid priceUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.BUY_PRICE, min_val=0.001) req.add_sort(WarrantField.BUY_PRICE, desc=False)1
2Measured response (HK · all_count=10554, 5 rows matched, head top 5):
code name owner_code owner_name buy_price warrant_type current_price 0 HK.13598 小米摩通六乙购B.C HK.01810 小米集团-W 0.01 1 0.010 1 HK.14635 比迪星展六甲购A.C HK.01211 比亚迪股份 0.01 1 0.010 2 HK.14652 腾讯法兴六九购A.C HK.00700 腾讯控股 0.01 1 0.011 3 HK.16396 南科信证六乙购A.C HK.03033 南方恒生科技 0.01 1 0.014 4 HK.17724 泡玛汇丰六甲购A.C HK.09992 泡泡玛特 0.01 1 0.0121
2
3
4
5
6#
HIGH_PRICE(id=28 · interval · HK / SG / MY · return columnhigh_price) High priceUnit: in currency; SDK takes the raw price; intraday high (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.HIGH_PRICE, min_val=0.001) req.add_sort(WarrantField.HIGH_PRICE, desc=True)1
2Measured response (HK · all_count=6075, 5 rows matched, head top 5):
code name owner_code owner_name high_price warrant_type current_price 0 HK.11115 美光法兴六甲购A.C N/A N/A 6.74 1 6.74 1 HK.24047 建板摩利六七购A.C HK.01888 建滔积层板 6.47 1 6.47 2 HK.25060 建滔华泰六八购B.C HK.00148 建滔集团 5.67 1 5.65 3 HK.16544 建板信证六十购A.C HK.01888 建滔积层板 5.57 1 5.57 4 HK.26175 建板汇丰六八购A.C HK.01888 建滔积层板 5.44 1 5.441
2
3
4
5
6#
LOW_PRICE(id=29 · interval · HK / SG / MY · return columnlow_price) Low priceUnit: in currency; SDK takes the raw price; intraday low (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.LOW_PRICE, min_val=0.001) req.add_sort(WarrantField.LOW_PRICE, desc=False)1
2Measured response (HK · all_count=6075, 5 rows matched, head top 5):
code name owner_code owner_name low_price warrant_type current_price 0 HK.28933 阿里麦银六七购A.C HK.09988 阿里巴巴-W 0.01 1 0.01 1 HK.29014 阿里法兴六六购A.C HK.09988 阿里巴巴-W 0.01 1 0.01 2 HK.13598 小米摩通六乙购B.C HK.01810 小米集团-W 0.01 1 0.01 3 HK.13662 中联麦银六九购A.C HK.00762 中国联通 0.01 1 0.01 4 HK.14148 腾讯汇丰六七购A.C HK.00700 腾讯控股 0.01 1 0.011
2
3
4
5
6#
RATIO_ITM_OTM(id=30 · interval · HK / SG / MY · return columnipop) ITM/OTM ratio %Unit: %; SDK takes the value as e.g. 15.0, negative allowed; returned column name is ipop (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.RATIO_ITM_OTM, min_val=-50.0, max_val=50.0) req.add_sort(WarrantField.RATIO_ITM_OTM, desc=False)1
2Measured response (HK · all_count=16166, 5 rows matched, head top 5):
code name owner_code owner_name ipop warrant_type current_price 0 HK.21173 信达海通八七购A.C HK.01359 中国信达 -41.74285 1 0.000 1 HK.21158 华泥瑞信八七购A.C HK.01313 华润建材科技 -41.68907 1 0.000 2 HK.25100 喜相摩通六六购A.C HK.02473 喜相逢集团 -37.67187 1 0.061 3 HK.25841 喜相麦银六七购A.C HK.02473 喜相逢集团 -37.64062 1 0.025 4 HK.15946 信达瑞信七六购A.C HK.01359 中国信达 -37.40952 1 0.0001
2
3
4
5
6#
BREAK_EVEN_POINT(id=31 · interval · HK / SG / MY · return columnbreak_even_point) Break-even point %Unit: %; SDK takes the value as e.g. 15.0 (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.BREAK_EVEN_POINT, min_val=-100.0, max_val=100.0) req.add_sort(WarrantField.BREAK_EVEN_POINT, desc=False)1
2Measured response (HK · all_count=11618, 5 rows matched, head top 5):
code name owner_code owner_name break_even_point warrant_type current_price 0 HK.21137 恒大中银八七购A.C N/A N/A 0.0 1 0.000 1 HK.16449 恒生中银九乙购A.C N/A N/A 0.0 1 0.000 2 HK.49942 道指汇丰六乙熊H.P US..DJI 道琼斯指数 0.0 4 0.013 3 HK.49950 道指瑞银六乙熊L.P US..DJI 道琼斯指数 0.0 4 0.012 4 HK.29859 东风麦银六六购A.C N/A N/A 0.0 1 0.7201
2
3
4
5
6#
AMPLITUDE(id=32 · interval · HK / SG / MY · return columnamplitude) Amplitude %Unit: %; SDK takes the value as e.g. 15.0 (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.AMPLITUDE, min_val=0.01) req.add_sort(WarrantField.AMPLITUDE, desc=True)1
2Measured response (HK · all_count=5358, 5 rows matched, head top 5):
code name owner_code owner_name amplitude warrant_type current_price 0 HK.23936 舜光信证六六购A.C HK.02382 舜宇光学科技 3.80000 1 0.054 1 HK.23432 舜光摩利六六购A.C HK.02382 舜宇光学科技 3.27273 1 0.055 2 HK.24022 舜光花旗六六购A.C HK.02382 舜宇光学科技 3.00000 1 0.058 3 HK.20335 江铜摩通六六购A.C HK.00358 江西铜业股份 2.24390 1 0.181 4 HK.61517 中芯法兴六甲牛H.C HK.00981 中芯国际 2.00000 3 0.0761
2
3
4
5
6#
SCORE_FAXING(id=33 · interval · HK / SG / MY · return columnfx_score) SG Faxing scoreSDK takes the raw score; returned column name is fx_score (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.SCORE_FAXING, min_val=0.0, max_val=10.0) req.add_sort(WarrantField.SCORE_FAXING, desc=True)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name fx_score warrant_type current_price 0 HK.29442 中药法巴七五购A.C HK.01177 中国生物制药 0.94860 1 0.071 1 HK.13660 建滔法兴七一购B.C HK.00148 建滔集团 0.94397 1 0.193 2 HK.29636 美图摩通六甲购A.C HK.01357 美图公司 0.93674 1 0.127 3 HK.24961 中移摩通六九购A.C HK.00941 中国移动 0.93553 1 0.070 4 HK.21241 兖矿摩通六八购A.C HK.01171 兖矿能源 0.93449 1 0.2021
2
3
4
5
6#
LAST_TRADE_DATE(id=34 · interval · HK / SG / MY · return columnlast_trade_date) Last trading day (Unix timestamp seconds)Unix timestamp in seconds; typically 1 trading day earlier than MATURITY_DATE
req.add_interval_filter(WarrantField.LAST_TRADE_DATE, min_val=1900000000, max_val=2200000000) req.add_sort(WarrantField.LAST_TRADE_DATE, desc=False)1
2
3Measured response (HK · all_count=1, 1 rows matched, head top 5):
code name owner_code owner_name last_trade_date warrant_type current_price 0 HK.29183 建行法巴零乙购A.C HK.00939 建设银行 1924272000 1 0.2371
2#
STREET_VOLUME(id=35 · interval · HK / SG / MY · return columnstreet_vol) Street volumeUnit: shares; returned column name is street_vol
req.add_interval_filter(WarrantField.STREET_VOLUME, min_val=1) req.add_sort(WarrantField.STREET_VOLUME, desc=True)1
2Measured response (HK · all_count=11611, 5 rows matched, head top 5):
code name owner_code owner_name street_vol warrant_type current_price 0 HK.14958 腾讯法兴六七购A.C HK.00700 腾讯控股 400000000 1 0.010 1 HK.14826 腾讯摩通六七购A.C HK.00700 腾讯控股 398760000 1 0.010 2 HK.25097 腾讯摩通六九购A.C HK.00700 腾讯控股 319360000 1 0.012 3 HK.13039 小米摩通六乙购A.C HK.01810 小米集团-W 306960000 1 0.017 4 HK.14148 腾讯汇丰六七购A.C HK.00700 腾讯控股 300000000 1 0.0101
2
3
4
5
6#
LOT_SIZE(id=36 · interval · HK / SG / MY · return columnlot_size) Lot sizeUnit: shares
req.add_interval_filter(WarrantField.LOT_SIZE, min_val=1) req.add_sort(WarrantField.LOT_SIZE, desc=False)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name lot_size warrant_type current_price 0 HK.22588 万科麦银六六购B.C HK.02202 万科企业 100 1 0.010 1 HK.24402 航赁麦银六七购A.C HK.02588 中银航空租赁 100 1 0.019 2 HK.24702 航赁华泰六七购A.C HK.02588 中银航空租赁 100 1 0.010 3 HK.27072 蔚来麦银六九沽A.P HK.09866 蔚来-SW 100 2 0.071 4 HK.19866 南科华泰六六购A.C HK.03033 南方恒生科技 200 1 0.0101
2
3
4
5
6#
ISSUE_SIZE(id=37 · interval · HK / SG / MY · return columnissue_size) Issue sizeUnit: shares
req.add_interval_filter(WarrantField.ISSUE_SIZE, min_val=1) req.add_sort(WarrantField.ISSUE_SIZE, desc=True)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name issue_size warrant_type current_price 0 HK.22659 阿里韩投八乙购A.C HK.09988 阿里巴巴-W 500000000 1 0.370 1 HK.16737 宁德法兴七乙购A.C HK.03750 宁德时代 500000000 1 0.880 2 HK.13850 恒指摩通六乙沽C HK.800000 恒生指数 500000000 2 0.000 3 HK.22235 港交韩投八八购A.C HK.00388 香港交易所 480000000 1 0.325 4 HK.22254 中移韩投八八购A.C HK.00941 中国移动 480000000 1 0.1621
2
3
4
5
6#
IPO_PRICE(id=38 · interval · HK / SG / MY · return columnipo_price) IPO priceUnit: in currency; SDK takes the raw price (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.IPO_PRICE, min_val=0.001) req.add_sort(WarrantField.IPO_PRICE, desc=False)1
2Measured response (HK · all_count=0, 0 rows matched): no data. Reason: OpenD measurements show ipo_price returns 0 for most warrants, so min_val=0.001 filters out all rows
#
LOWER_STRIKE_PRICE(id=39 · interval · HK / SG / MY · return columnlower_strike_price) Lower strike priceUnit: in currency; SDK takes the raw price; effective only for Inline (5) (protocol field ×1000 integer-encoded on the wire)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.IW]) req.add_interval_filter(WarrantField.LOWER_STRIKE_PRICE, min_val=0.001) req.add_sort(WarrantField.LOWER_STRIKE_PRICE, desc=False)1
2
3Measured response (HK · all_count=0, 0 rows matched): no data. Reason: No inline warrants (IW) are currently listed on HK; the warrant-type filter returns no rows
#
UPPER_STRIKE_PRICE(id=40 · interval · HK / SG / MY · return columnupper_strike_price) Upper strike priceUnit: in currency; SDK takes the raw price; effective only for Inline (5) (protocol field ×1000 integer-encoded on the wire)
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.IW]) req.add_interval_filter(WarrantField.UPPER_STRIKE_PRICE, min_val=0.001) req.add_sort(WarrantField.UPPER_STRIKE_PRICE, desc=False)1
2
3Measured response (HK · all_count=0, 0 rows matched): no data. Reason: No inline warrants (IW) are currently listed on HK; the warrant-type filter returns no rows
#
IW_PRICE_STATUS(id=41 · choice · HK / SG / MY · return columniw_price_status) Inside/outside the band0=Outside 1=Inside; only Inline (5) returns non-zero values
req.add_choice_filter(WarrantField.WARRANT_TYPE, [WarrantType.IW])1Measured response (HK · all_count=0, 0 rows matched): no data. Reason: No inline warrants (IW) are currently listed on HK; the warrant-type filter returns no rows
#
SENSITIVITY(id=42 · interval · HK / SG / MY · return columnsensitivity) SensitivitySDK takes the raw value (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.SENSITIVITY, min_val=0.001) req.add_sort(WarrantField.SENSITIVITY, desc=False)1
2Measured response (HK · all_count=13623, 5 rows matched, head top 5):
code name owner_code owner_name sensitivity warrant_type current_price 0 HK.19340 腾音信证六九购A.C HK.01698 腾讯音乐-SW 0.018 1 0.010 1 HK.28495 稀宇麦银六十购B.C HK.00100 MINIMAX-W 0.019 1 0.013 2 HK.51984 美团瑞银七乙熊G.P HK.03690 美团-W 0.020 4 0.275 3 HK.52261 美团法巴七七熊K.P HK.03690 美团-W 0.020 4 0.280 4 HK.52532 美团瑞银七乙熊H.P HK.03690 美团-W 0.020 4 0.3101
2
3
4
5
6#
CONVERSION_PRICE(id=43 · interval · HK / SG / MY · no return column) Conversion priceNot exposed separately in the returned DataFrame; usable as a filter / sort condition
req.add_interval_filter(WarrantField.CONVERSION_PRICE, min_val=0.001) req.add_sort(WarrantField.CONVERSION_PRICE, desc=False)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.64814 平安瑞银八三牛A.C HK.02318 中国平安 3 0.0 1 HK.15946 信达瑞信七六购A.C HK.01359 中国信达 1 0.0 2 HK.24719 腾讯东亚九四沽A HK.00700 腾讯控股 2 0.0 3 HK.26168 金软瑞银九二购B HK.03888 金山软件 1 0.0 4 HK.64492 恒指汇丰八五熊G.P HK.800000 恒生指数 3 0.01
2
3
4
5
6#
CHANGE_RATE(id=44 · interval · HK / SG / MY · no return column) Change rate %Unit: %; SDK takes the value as e.g. 5.0; not exposed separately in the returned DataFrame (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.CHANGE_RATE, min_val=-100.0, max_val=100.0) req.add_sort(WarrantField.CHANGE_RATE, desc=True)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.25160 远能华泰六七购B.C HK.01138 中远海能 1 0.136 1 HK.23936 舜光信证六六购A.C HK.02382 舜宇光学科技 1 0.054 2 HK.25876 远能华泰六八购A.C HK.01138 中远海能 1 0.093 3 HK.23432 舜光摩利六六购A.C HK.02382 舜宇光学科技 1 0.055 4 HK.26285 远能华泰六九购B.C HK.01138 中远海能 1 0.0481
2
3
4
5
6#
CHANGE_VALUE(id=45 · interval · HK / SG / MY · no return column) Change valueUnit: in currency; not exposed separately in the returned DataFrame
req.add_interval_filter(WarrantField.CHANGE_VALUE, min_val=-1.0, max_val=1.0) req.add_sort(WarrantField.CHANGE_VALUE, desc=True)1
2Measured response (HK · all_count=7641, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.25336 铁塔摩利六乙购A.C HK.00788 中国铁塔 1 0.017 1 HK.25366 铁塔摩通六乙购A.C HK.00788 中国铁塔 1 0.028 2 HK.26138 铁塔中银六乙购A.C HK.00788 中国铁塔 1 0.027 3 HK.26447 中铁法兴六九购A.C HK.00390 中国中铁 1 0.020 4 HK.67330 京东摩通六乙牛A.C HK.09618 京东集团-SW 3 0.2161
2
3
4
5
6#
SCORE(id=51 · interval · HK / SG / MY · return columnscore) Warrant scoreComposite score; SDK takes the raw score (protocol field ×100000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.SCORE, min_val=0.0, max_val=10.0) req.add_sort(WarrantField.SCORE, desc=True)1
2Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name score warrant_type current_price 0 HK.11048 澳港摩通六七购A.C N/A N/A 0.010 1 0.195 1 HK.11056 欧港摩通六七购A.C N/A N/A 0.009 1 0.016 2 HK.49582 标指摩通六九牛B.C US..SPX 标普500指数 0.009 3 0.193 3 HK.10087 美日摩通六六购A.C FX.USDJPY 美元/日元 0.008 1 0.073 4 HK.11047 澳港摩通六七沽A.P N/A N/A 0.008 2 0.0131
2
3
4
5
6#
FILTER_NO_TRADE(id=52 · choice · HK / SG / MY · return columncurrent_price) Filter out no-trade warrantsSwitch field: 0=no filter, 1=filter out warrants with zero volume; no data column returned
req.add_choice_filter(WarrantField.FILTER_NO_TRADE, [1]) req.add_sort(WarrantField.VOLUME, desc=True)1
2Measured response (HK · all_count=15151, 5 rows matched, head top 5):
code name owner_code owner_name current_price warrant_type 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 0.056 4 1 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 0.055 4 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 0.037 3 3 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 0.038 3 4 HK.55430 恒指瑞银八十熊B.P HK.800000 恒生指数 0.053 41
2
3
4
5
6#
CURRENCY_CODE(id=53 · choice · HK / SG / MY · no return column) Currency codeUsually determined by market (HK=HKD, SG=SGD, MY=MYR); not exposed separately in the returned DataFrame
req.add_sort(WarrantField.TURNOVER, desc=True)1Measured response (HK · all_count=16170, 5 rows matched, head top 5):
code name owner_code owner_name warrant_type current_price 0 HK.55994 恒指摩通九三熊R.P HK.800000 恒生指数 4 0.056 1 HK.57003 恒指摩通八九牛8.C HK.800000 恒生指数 3 0.038 2 HK.57109 恒指法兴八七牛E.C HK.800000 恒生指数 3 0.037 3 HK.55641 恒指法兴八三熊P.P HK.800000 恒生指数 4 0.055 4 HK.57114 恒指法兴八九牛7.C HK.800000 恒生指数 3 0.0541
2
3
4
5
6#
STOCK_OWNER_PRICE(id=54 · interval · HK / SG / MY · return columnstock_owner_price) Underlying stock priceUnit: in currency; SDK takes the raw price; returned in the stock_owner_price column (protocol field ×1000 integer-encoded on the wire)
req.add_interval_filter(WarrantField.STOCK_OWNER_PRICE, min_val=0.001) req.add_sort(WarrantField.STOCK_OWNER_PRICE, desc=False)1
2Measured response (HK · all_count=16168, 5 rows matched, head top 5):
code name owner_code owner_name stock_owner_price warrant_type current_price 0 HK.16376 碧桂法巴九十购A.C HK.02007 碧桂园 0.209 1 0.000 1 HK.16468 中粮麦银九甲购A.C HK.00606 中骏商管 0.295 1 0.000 2 HK.19876 喜相华泰六八购A.C HK.02473 喜相逢集团 0.640 1 0.010 3 HK.25841 喜相麦银六七购A.C HK.02473 喜相逢集团 0.640 1 0.025 4 HK.29782 喜相华泰六六购A.C HK.02473 喜相逢集团 0.640 1 0.0101
2
3
4
5
6
Interface Limitations
- A maximum of 60 requests per 30 seconds