通用

获取市场状态

签名


pub async fn get_market_state(&self, market: &str) -> Result<Vec<MarketState>, TigerError>

说明

市场状态;market 必填,如 US/HK。无需标的行情权限。

参数

参数Rust 类型必填性/条件SDK 默认值
market&str必填

返回

  • QuoteClient: Result<Vec<MarketState>, TigerError>. market: String, market_status: String, status: String, open_time: String.

MarketState { market, market_status, status, open_time }

示例


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_market_state(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_market_state("US").await?;

    Ok(())

}

返回示例

[
  {
    "market": "US",
    "market_status": "Trading",
    "status": "TRADING",
    "open_time": "2025-01-29 09:30:00"
  }
]

获取交易日历

签名


pub async fn get_trading_calendar( &self, req: TradingCalendarRequest, ) -> Result<Vec<TradingCalendarItem>, TigerError>

说明

交易日历;market 必填,起止日可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>服务端必填;SDK 不预校验None(不序列化)
req.begin_dateOption<String>可选None(不序列化)
req.end_dateOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<TradingCalendarItem>, TigerError>. market: String, date: String, is_trading: bool, session_type: String.

市场、日期、交易日状态和开闭市时间。

示例


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_trading_calendar(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_trading_calendar(TradingCalendarRequest { market: Some("US".into()), ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "market": "US",
    "date": "2025-01-29",
    "is_trading": true,
    "session_type": "regular"
  }
]

获取股票代码列表

签名


pub async fn get_symbols(&self, req: SymbolsRequest) -> Result<Vec<String>, TigerError>

说明

全量代码;marketsec_typeinclude_otclang 可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>可选None(不序列化)
req.sec_typeOption<String>可选None(不序列化)
req.include_otcOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<String>, TigerError>.
    代码字符串列表。

示例


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_symbols(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbols(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "value": 94836000000.0
  }
]

获取股票代码和名称列表

签名


pub async fn get_symbol_names( &self, req: SymbolsRequest, ) -> Result<Vec<SymbolName>, TigerError>

说明

全量代码与名称;参数同 get_symbols

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>可选None(不序列化)
req.sec_typeOption<String>可选None(不序列化)
req.include_otcOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<SymbolName>, TigerError>. symbol: String, name: String, market: String.

SymbolName { symbol, name, market }

示例


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_symbol_names(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbol_names(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "symbol": "AAPL",
    "name": "Apple Inc",
    "market": "US"
  }
]

获取交易元数据

签名


pub async fn get_trade_metas( &self, req: TradeMetasRequest, ) -> Result<Vec<crate::model::quote::TradeMeta>, TigerError>

说明

交易元数据;symbols 必填。

参数

参数Rust 类型必填性/条件SDK 默认值
req.symbolsOption<Vec<String>>服务端必填;SDK 不预校验None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<crate::model::quote::TradeMeta>, TigerError>. symbol: String, lot_size: i32, min_tick: f64, spread_scale: f64, shortable_flag: String, marginable_flag: String.

TradeMeta { symbol, lot_size, min_tick, spread_scale, shortable_flag, marginable_flag }

示例


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_trade_metas(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

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

    Ok(())

}

返回示例

[
  {
    "symbol": "AAPL",
    "lot_size": 1,
    "min_tick": 0.01,
    "spread_scale": 1.0,
    "shortable_flag": "Y",
    "marginable_flag": "Y"
  }
]

获取行情权限

签名


pub async fn get_quote_permission( &self, req: QuotePermissionRequest, ) -> Result<Vec<QuotePermission>, TigerError>

说明

权限明细;日期范围与语言可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.begin_dateOption<String>可选None(不序列化)
req.end_dateOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.

QuotePermission { name, expire_at }

示例


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_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_quote_permission(QuotePermissionRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "name": "usQuoteLevel2",
    "expire_at": 1767225600000
  }
]

抢占行情权限

签名


pub async fn grab_quote_permission(&self) -> Result<Vec<QuotePermission>, TigerError>

说明

查询当前权限,无参数。

参数

参数Rust 类型必填性/条件SDK 默认值
none-必填

返回

  • QuoteClient: Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.

Vec<QuotePermission>

示例


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_grab_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.grab_quote_permission().await?;

    Ok(())

}

返回示例

[
  {
    "name": "usQuoteLevel2",
    "expire_at": 1767225600000
  }
]

获取 K 线额度

签名


pub async fn get_kline_quota( &self, req: KlineQuotaRequest, ) -> Result<Vec<KlineQuota>, TigerError>

说明

K 线配额;with_details 默认不发送。

参数

参数Rust 类型必填性/条件SDK 默认值
req.with_detailsOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<KlineQuota>, TigerError>. method: String, used: i32, quota: i32, detail: Vec

method/used/quota/detail

示例


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_kline_quota(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_kline_quota(KlineQuotaRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "method": "kline",
    "used": 35,
    "quota": 500,
    "detail": [
      {
        "symbol": "AAPL",
        "count": 5
      }
    ]
  }
]


Did this page help you?