Warrants

Get Warrant Filter

Signature


pub async fn get_warrant_filter( &self, req: WarrantFilterRequest, ) -> Result<Option<WarrantFilterResult>, TigerError>

Description

symbol required; paging, sort, issuer, expiry month optional.

Parameters

ParameterRust typeRequirementSDK default
req.symbolOption<String>Required by the server; not prevalidated by the SDKNone (omitted)
req.pageOption<i32>OptionalNone (omitted)
req.page_sizeOption<i32>OptionalNone (omitted)
req.sort_field_nameOption<String>OptionalNone (omitted)
req.sort_dirOption<String>OptionalNone (omitted)
req.issuer_nameOption<String>OptionalNone (omitted)
req.expire_ymOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

QuoteClient: Result<Option<WarrantFilterResult>, TigerError>.

WarrantFilterResult fields:

FieldRust typeDescription
totali32Total result count
itemsVec<WarrantBrief>Warrant list
page_sizei32Results per page
pagei32Page number

Each WarrantBrief in items:

FieldRust typeDescription
symbolStringWarrant symbol
nameStringName
latest_pricef64Latest price
changef64Price change
change_ratef64Change rate
volumei64Volume
amountf64Turnover
underlyingStringUnderlying symbol
issuerStringIssuer
expiry_dateStringExpiry date
strike_pricef64Strike price
warrant_typeStringWarrant type

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_warrant_filter(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_warrant_filter(WarrantFilterRequest { symbol: Some("AAPL".into()), ..Default::default() }).await?;

    Ok(())

}

Response example

{
  "total": 128,
  "items": [
    {
      "symbol": "13412",
      "name": "TENCENT C2506A",
      "latestPrice": 0.285,
      "change": 0.015,
      "changeRate": 0.0556,
      "volume": 8500000,
      "underlying": "00700"
    }
  ],
  "pageSize": 20,
  "page": 1
}

Rate limit

The base rate limit is 60 requests/min.


Get Warrant Quote

Signature


pub async fn get_warrant_quote( &self, req: WarrantQuoteRequest, ) -> Result<Vec<WarrantBrief>, TigerError>

Description

Symbols and HK derivative permission required.

Deprecated alias: get_warrant_briefs forwards to this method and has been marked #[deprecated] in the SDK since 0.5.1. Both Rust methods send the warrant_briefs wire method; the current server registers only warrant_real_time_quote, so this wire call is unsupported. New code should use get_warrant_quote, but renaming the SDK call does not bypass this server limitation.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

QuoteClient: Result<Vec<WarrantBrief>, TigerError>.

Each WarrantBrief:

FieldRust typeDescription
symbolStringWarrant symbol
nameStringName
latest_pricef64Latest price
changef64Price change
change_ratef64Change rate
volumei64Volume
amountf64Turnover
underlyingStringUnderlying symbol
issuerStringIssuer
expiry_dateStringExpiry date
strike_pricef64Strike price
warrant_typeStringWarrant type

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_warrant_quote(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_warrant_quote(WarrantQuoteRequest { symbols: Some(vec!["12345".into()]), ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "symbol": "13412",
    "name": "TENCENT C2506A",
    "latestPrice": 0.285,
    "change": 0.015,
    "changeRate": 0.0556,
    "volume": 8500000,
    "amount": 2422500.0,
    "underlying": "00700"
  }
]


Did this page help you?