通用
获取市场状态
签名
pub async fn get_market_state(&self, market: &str) -> Result<Vec<MarketState>, TigerError>
说明
市场状态;market 必填,如 US/HK。无需标的行情权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| market | &str | Rust 类型必填 | 无 |
返回
Result<Vec<MarketState>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| market | String | 市场 |
| market_status | String | 市场状态 |
| status | String | 状态代码 |
| open_time | 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_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",
"marketStatus": "Trading",
"status": "TRADING",
"openTime": "2025-01-29 09:30:00"
}
]请求频率
基础限流为 10 次/分钟。
获取交易日历
签名
pub async fn get_trading_calendar( &self, req: TradingCalendarRequest, ) -> Result<Vec<TradingCalendarItem>, TigerError>
说明
交易日历;market 必填,起止日可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.begin_date | Option<String> | 可选 | None(不序列化) |
| req.end_date | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
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",
"isTrading": true,
"sessionType": "regular"
}
]获取股票代码列表
签名
pub async fn get_symbols(&self, req: SymbolsRequest) -> Result<Vec<String>, TigerError>
说明
全量代码;market、sec_type、include_otc、lang 可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.include_otc | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<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
}
]请求频率
基础限流为 10 次/分钟。
获取股票代码和名称列表
签名
pub async fn get_symbol_names( &self, req: SymbolsRequest, ) -> Result<Vec<SymbolName>, TigerError>
说明
全量代码与名称;参数同 get_symbols。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.include_otc | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<SymbolName>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 代码 |
| name | String | 名称 |
| market | 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_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"
}
]请求频率
基础限流为 10 次/分钟。
获取交易元数据
签名
pub async fn get_trade_metas( &self, req: TradeMetasRequest, ) -> Result<Vec<crate::model::quote::TradeMeta>, TigerError>
说明
交易元数据;symbols 必填。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<crate::model::quote::TradeMeta>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 代码 |
| lot_size | i32 | 每手数量 |
| min_tick | f64 | 最小变动单位 |
| spread_scale | f64 | 价差缩放系数 |
| shortable_flag | String | 是否可卖空标记 |
| marginable_flag | 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_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",
"lotSize": 1,
"minTick": 0.01,
"spreadScale": 1.0,
"shortableFlag": "Y",
"marginableFlag": "Y"
}
]请求频率
基础限流为 60 次/分钟。
获取行情权限
签名
pub async fn get_quote_permission( &self, req: QuotePermissionRequest, ) -> Result<Vec<QuotePermission>, TigerError>
说明
权限明细;日期范围与语言可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.begin_date | Option<String> | 可选 | None(不序列化) |
| req.end_date | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<QuotePermission>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 权限名称 |
| expire_at | i64 | 到期时间(毫秒时间戳) |
示例
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",
"expireAt": 1767225600000
}
]请求频率
基础限流为 10 次/分钟。
抢占行情设备访问权
签名
pub async fn grab_quote_permission(&self) -> Result<Vec<QuotePermission>, TigerError>
说明
抢占行情设备访问权,将当前设备设为可访问行情的设备;同一账户的其他设备将失去该设备访问权。此操作不会购买或授予新的行情权限。无参数。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| none | - | Rust 类型必填 | 无 |
返回
Result<Vec<QuotePermission>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 权限名称 |
| expire_at | i64 | 到期时间(毫秒时间戳) |
示例
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",
"expireAt": 1767225600000
}
]请求频率
基础限流为 10 次/分钟。
获取 K 线额度
签名
pub async fn get_kline_quota( &self, req: KlineQuotaRequest, ) -> Result<Vec<KlineQuota>, TigerError>
说明
K 线配额;with_details 默认不发送。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.with_details | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<KlineQuota>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| method | String | 配额方法 |
| used | i32 | 已使用额度 |
| quota | i32 | 总额度 |
| detail | Vec<KlineQuotaDetail> | 配额明细 |
detail 元素(KlineQuotaDetail):
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 代码 |
| market | String | 市场 |
| used_bars | i32 | 已使用 K 线数量 |
| quota_bars | i32 | K 线数量额度 |
| last_access | i64 | 最后访问时间(毫秒时间戳) |
示例
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",
"market": "US",
"usedBars": 5,
"quotaBars": 500,
"lastAccess": 1738180800000
}
]
}
]请求频率
基础限流为 10 次/分钟。
Updated about 1 month ago
