证券
获取实时行情
签名
pub async fn get_real_time_quote(&self, req: BriefRequest) -> Result<Vec<Brief>, TigerError>
说明
实时快照;symbols 必填;include_hour_trading、sec_type、lang 默认不发送。需对应市场实时权限。
已废弃别名:
get_brief是本方法的转发别名,SDK 自 0.5.1 起标记#[deprecated],无额外行为。新代码请直接使用get_real_time_quote。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.include_hour_trading | Option<bool> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<Brief>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| open | f64 | 开盘价 |
| high | f64 | 最高价 |
| low | f64 | 最低价 |
| close | f64 | 收盘价 |
| pre_close | f64 | 前收价 |
| latest_price | f64 | 最新价 |
| latest_time | i64 | 最新成交时间(毫秒时间戳) |
| ask_price | f64 | 卖一价 |
| ask_size | i64 | 卖一量 |
| bid_price | f64 | 买一价 |
| bid_size | i64 | 买一量 |
| volume | i64 | 成交量 |
| status | String | 交易状态 |
| adj_pre_close | f64 | 复权前收价 |
| change | f64 | 涨跌额 |
| change_rate | f64 | 涨跌幅 |
| amplitude | f64 | 振幅 |
| expiry | String | 到期日 |
| strike | String | 行权价 |
| right | String | 期权方向 |
| multiplier | i32 | 合约乘数 |
| open_interest | 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_real_time_quote(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_real_time_quote(BriefRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"open": 192.3,
"high": 195.99,
"low": 191.85,
"close": 195.5,
"pre_close": 192.53,
"latest_price": 195.5,
"latest_time": 1738180800000
}
]获取延迟行情
签名
pub async fn get_delayed_quote( &self, req: DelayedQuoteRequest, ) -> Result<Vec<Brief>, TigerError>
说明
延迟快照;symbols 必填,sec_type/lang 可选。
已废弃别名:
get_stock_delay_briefs是本方法的转发别名,SDK 自 0.5.1 起标记#[deprecated],无额外行为。新代码请直接使用get_delayed_quote。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<Brief>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| open | f64 | 开盘价 |
| high | f64 | 最高价 |
| low | f64 | 最低价 |
| close | f64 | 收盘价 |
| pre_close | f64 | 前收价 |
| latest_price | f64 | 最新价 |
| latest_time | i64 | 最新成交时间(毫秒时间戳) |
| ask_price | f64 | 卖一价 |
| ask_size | i64 | 卖一量 |
| bid_price | f64 | 买一价 |
| bid_size | i64 | 买一量 |
| volume | i64 | 成交量 |
| status | String | 交易状态 |
| adj_pre_close | f64 | 复权前收价 |
| change | f64 | 涨跌额 |
| change_rate | f64 | 涨跌幅 |
| amplitude | f64 | 振幅 |
| expiry | String | 到期日 |
| strike | String | 行权价 |
| right | String | 期权方向 |
| multiplier | i32 | 合约乘数 |
| open_interest | 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_delayed_quote(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_delayed_quote(DelayedQuoteRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"open": 192.3,
"high": 195.99,
"low": 191.85,
"close": 195.5,
"pre_close": 192.53,
"latest_price": 195.5,
"latest_time": 1738180800000
}
]获取 K 线数据
签名
pub async fn get_kline(&self, req: KlineRequest) -> Result<Vec<Kline>, TigerError>
说明
K 线;symbols、period 必填;right、毫秒时间窗、索引、limit、page_token、交易时段可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.period | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.right | Option<String> | 可选 | None(不序列化) |
| req.begin_time | Option<i64> | 可选 | None(不序列化) |
| req.end_time | Option<i64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.begin_index | Option<i32> | 可选 | None(不序列化) |
| req.end_index | Option<i32> | 可选 | None(不序列化) |
| req.page_token | Option<String> | 可选 | None(不序列化) |
| req.trade_session | Option<String> | 可选 | None(不序列化) |
| req.date | Option<String> | 可选 | None(不序列化) |
| req.with_fundamental | Option<bool> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<Kline>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| period | String | 周期 |
| next_page_token | String | 下一页标记 |
| items | Vec | 数据列表 |
示例
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(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_kline(KlineRequest { symbols: Some(vec!["AAPL".into()]), period: Some("day".into()), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"period": "day",
"next_page_token": "eyJzIjoiMTczODE4MDgwMDAwMCJ9",
"items": [
{
"time": 1738094400000,
"volume": 52314200,
"open": 192.3,
"close": 193.85,
"high": 194.2,
"low": 191.5,
"amount": 10145000000.0
},
{
"time": 1738008000000,
"volume": 48120300,
"open": 191.5,
"close": 192.53,
"high": 193.1,
"low": 190.8,
"amount": 9280000000.0
}
]
}
]分页获取 K 线数据
签名
pub async fn get_kline_by_page( &self, req: KlineByPageRequest, ) -> Result<Vec<KlineItem>, TigerError>
说明
客户端倒序分页;page_size SDK 默认 200,total_size 默认 1000;使用最早 bar 的 time - 1 继续。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 可选 | None(不序列化) |
| req.period | Option<String> | 可选 | None(不序列化) |
| req.begin_time | Option<i64> | 可选 | None(不序列化) |
| req.end_time | Option<i64> | 可选 | None(不序列化) |
| req.total_size | Option<i32> | 可选 | None 时 1000 |
| req.page_size | Option<i32> | 可选 | None 时 200 |
| req.right | Option<String> | 可选 | None(不序列化) |
| req.trade_session | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<KlineItem>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| time | i64 | 时间戳 |
| volume | i64 | 成交量 |
| open | f64 | 开盘价 |
| close | f64 | 收盘价 |
| high | f64 | 最高价 |
| low | f64 | 最低价 |
| amount | f64 | 成交额 |
示例
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_by_page(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_kline_by_page(KlineByPageRequest { ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"time": 1738180800000,
"volume": 58263100,
"open": 192.3,
"close": 195.5,
"high": 195.99,
"low": 191.85,
"amount": 11329847520.0
}
]获取分时数据
签名
pub async fn get_timeline(&self, symbols: &[&str]) -> Result<Vec<Timeline>, TigerError>
说明
当日分时,v3;非空 symbols。需分时权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| symbols | &[&str] | 必填 | 无 |
返回
Result<Vec<Timeline>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| period | String | 周期 |
| pre_close | f64 | 前收价 |
| intraday | Option | 盘中分时数据 |
| pre_hours | Option | 盘前分时数据 |
| after_hours | Option | 盘后分时数据 |
示例
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_timeline(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_timeline(&["AAPL"]).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"period": "day",
"pre_close": 192.53,
"intraday": null,
"pre_hours": null,
"after_hours": null
}
]获取历史分时数据
签名
pub async fn get_timeline_history( &self, req: TimelineHistoryRequest, ) -> Result<Vec<Timeline>, TigerError>
说明
历史分时;symbols 必填;date、复权、时段、语言可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.date | Option<String> | 可选 | None(不序列化) |
| req.right | Option<String> | 可选 | None(不序列化) |
| req.trade_session | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<Timeline>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| period | String | 周期 |
| pre_close | f64 | 前收价 |
| intraday | Option | 盘中分时数据 |
| pre_hours | Option | 盘前分时数据 |
| after_hours | Option | 盘后分时数据 |
示例
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_timeline_history(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_timeline_history(TimelineHistoryRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"period": "day",
"pre_close": 192.53,
"intraday": null,
"pre_hours": null,
"after_hours": null
}
]获取逐笔成交
签名
pub async fn get_trade_tick( &self, req: TradeTickRequest, ) -> Result<Vec<TradeTick>, TigerError>
说明
股票逐笔;symbols 必填;索引、limit、时段可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.begin_index | Option<i32> | 可选 | None(不序列化) |
| req.end_index | Option<i32> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.trade_session | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<TradeTick>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| begin_index | i64 | 起始索引 |
| end_index | i64 | 结束索引 |
| items | Vec | 数据列表 |
示例
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_tick(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_trade_tick(TradeTickRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"begin_index": 0,
"end_index": 30,
"items": [
{
"time": 1738180750000,
"price": 195.5,
"volume": 100,
"type": "+"
},
{
"time": 1738180745000,
"price": 195.49,
"volume": 50,
"type": "-"
}
]
}
]获取深度行情
签名
pub async fn get_quote_depth(&self, req: QuoteDepthRequest) -> Result<Vec<Depth>, TigerError>
说明
盘口;symbols 必填,market/trade_session 可选。需 Level 2 等相应权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.market | Option<String> | 可选 | None(不序列化) |
| req.trade_session | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<Depth>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| asks | Vec | 卖盘档位列表 |
| bids | Vec | 买盘档位列表 |
示例
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_depth(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_quote_depth(QuoteDepthRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"asks": [
{
"price": 195.51,
"volume": 200
},
{
"price": 195.52,
"volume": 350
}
],
"bids": [
{
"price": 195.49,
"volume": 150
},
{
"price": 195.48,
"volume": 400
}
]
}
]获取经纪商席位
签名
pub async fn get_stock_broker( &self, req: StockBrokerRequest, ) -> Result<Option<StockBroker>, TigerError>
说明
券商席位;symbol 必填,limit/sec_type 可选;港股相关权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbol | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Option<StockBroker>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| level_ask_list | Vec | 卖盘券商席位列表 |
| level_bid_list | Vec | 买盘券商席位列表 |
示例
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_stock_broker(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_stock_broker(StockBrokerRequest { symbol: Some("AAPL".into()), ..Default::default() }).await?;
Ok(())
}
返回示例
{
"symbol": "AAPL",
"level_ask_list": [
{
"level": 1,
"broker_count": 3,
"broker_ids": [
"5860",
"4374",
"6998"
]
}
],
"level_bid_list": [
{
"level": 1,
"broker_count": 2,
"broker_ids": [
"6998",
"4374"
]
}
]
}获取资金流向
签名
pub async fn get_capital_flow( &self, symbol: &str, market: &str, period: &str, ) -> Result<Option<CapitalFlow>, TigerError>
说明
资金流;三参数必填;需资金流权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| symbol | &str | 必填 | 无 |
| market | &str | 必填 | 无 |
| period | &str | 必填 | 无 |
返回
Result<Option<CapitalFlow>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| period | String | 周期 |
| items | Vec | 数据列表 |
示例
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_capital_flow(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_capital_flow("AAPL", "US", "day").await?;
Ok(())
}
返回示例
{
"symbol": "AAPL",
"period": "day",
"items": [
{
"netInflow": -109057032.20,
"time": "2025-07-28",
"timestamp": 1753660800000
},
{
"netInflow": 52340018.55,
"time": "2025-07-25",
"timestamp": 1753488000000
}
]
}获取资金分布
签名
pub async fn get_capital_distribution( &self, symbol: &str, market: &str, ) -> Result<Option<CapitalDistribution>, TigerError>
说明
资金分布;两参数必填;需资金流权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| symbol | &str | 必填 | 无 |
| market | &str | 必填 | 无 |
返回
Result<Option<CapitalDistribution>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| net_inflow | f64 | 净流入 |
| in_all | f64 | 总流入 |
| in_big | f64 | 大单流入 |
| in_mid | f64 | 中单流入 |
| in_small | f64 | 小单流入 |
| out_all | f64 | 总流出 |
| out_big | f64 | 大单流出 |
| out_mid | f64 | 中单流出 |
| out_small | f64 | 小单流出 |
示例
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_capital_distribution(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_capital_distribution("AAPL", "US").await?;
Ok(())
}
返回示例
{
"symbol": "AAPL",
"net_inflow": -52340018.55,
"in_all": 2850000000.0,
"in_big": 1520000000.0,
"in_mid": 830000000.0,
"in_small": 500000000.0,
"out_all": 2902340018.55,
"out_big": 1600000000.0
}获取卖空数据
签名
pub async fn get_short_interest( &self, req: ShortInterestRequest, ) -> Result<Vec<ShortInterest>, TigerError>
说明
做空数据;symbols 必填;主要适用美股。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<ShortInterest>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| settlement_date | String | 结算日 |
| short_interest | f64 | 做空股数 |
| avg_daily_volume | f64 | 日均成交量 |
| days_to_cover | f64 | 回补天数 |
| percent_of_float | f64 | 流通股比例 |
| short_interest_previous | f64 | 上期做空股数 |
| percent_change | f64 | 变化百分比 |
示例
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_short_interest(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_short_interest(ShortInterestRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"settlement_date": "2025-01-15",
"short_interest": 98520000.0,
"avg_daily_volume": 58263100.0,
"days_to_cover": 1.69,
"percent_of_float": 0.64,
"short_interest_previous": 95130000.0,
"percent_change": 3.56
}
]获取交易榜单
签名
pub async fn get_trade_rank( &self, req: TradeRankRequest, ) -> Result<Vec<TradeRankItem>, TigerError>
说明
市场成交榜;market 必填。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<TradeRankItem>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | String | 股票代码 |
| name | String | 名称 |
| latest_price | f64 | 最新价 |
| change | f64 | 涨跌额 |
| change_rate | f64 | 涨跌幅 |
| volume | i64 | 成交量 |
| amount | f64 | 成交额 |
示例
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_rank(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_trade_rank(TradeRankRequest { market: Some("US".into()), ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"symbol": "AAPL",
"name": "Apple Inc",
"latest_price": 195.5,
"change": 2.97,
"change_rate": 0.0154,
"volume": 58263100,
"amount": 11329847520.0
}
]Updated 8 days ago
