Futures
get_all_future_contracts
get_all_future_contractsSignature
pub async fn get_all_future_contracts( &self, req: AllFutureContractsRequest, ) -> Result<Vec<FutureContractInfo>, TigerError>
Description
Filter by type/exchange.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_type | Option<String> | Conditional: at least one of contract_type / exchange | None (omitted) |
| req.exchange | Option<String> | Conditional: at least one of contract_type / exchange | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureContractInfo>, TigerError>. continuous: bool, trade: bool, r#type: String, contract_code: String, ib_code: String, name: String, contract_month: String, last_trading_date: String, first_notice_date: String, last_bidding_close_time: i64, currency: String, exchange_code: String, multiplier: f64, min_tick: f64, display_multiplier: f64, exchange: String, product_worth: String, delivery_mode: String, product_type: String, product_scale: String, last_trading_timestamp: i64.
Contracts.
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_all_future_contracts(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_all_future_contracts(AllFutureContractsRequest { contract_type: Some("ES".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"continuous": false,
"trade": true,
"type": "FUT",
"contract_code": "ES2509",
"ib_code": "ES",
"name": "E-mini S&P 500",
"contract_month": "202509",
"last_trading_date": "2025-09-19"
}
]get_current_future_contract
get_current_future_contractSignature
pub async fn get_current_future_contract( &self, req: FutureContractSingleRequest, ) -> Result<Option<FutureContractInfo>, TigerError>
Description
Current main contract, normally by type.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_code | Option<String> | Conditional: at least one of contract_code / contract_type | None (omitted) |
| req.contract_type | Option<String> | Conditional: at least one of contract_code / contract_type | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Option<FutureContractInfo>, TigerError>. continuous: bool, trade: bool, r#type: String, contract_code: String, ib_code: String, name: String, contract_month: String, last_trading_date: String, first_notice_date: String, last_bidding_close_time: i64, currency: String, exchange_code: String, multiplier: f64, min_tick: f64, display_multiplier: f64, exchange: String, product_worth: String, delivery_mode: String, product_type: String, product_scale: String, last_trading_timestamp: i64.
Optional contract.
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_current_future_contract(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_current_future_contract(FutureContractSingleRequest { contract_code: Some("ES2609".into()), ..Default::default() }).await?;
Ok(())
}
Response example
{
"continuous": false,
"trade": true,
"type": "FUT",
"contract_code": "ES2509",
"ib_code": "ES",
"name": "E-mini S&P 500",
"contract_month": "202509",
"last_trading_date": "2025-09-19"
}get_future_continuous_contracts
get_future_continuous_contractsSignature
pub async fn get_future_continuous_contracts( &self, req: FutureContinuousContractsRequest, ) -> Result<Vec<FutureContractInfo>, TigerError>
Description
contract_type required.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_type | Option<String> | Optional | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureContractInfo>, TigerError>. continuous: bool, trade: bool, r#type: String, contract_code: String, ib_code: String, name: String, contract_month: String, last_trading_date: String, first_notice_date: String, last_bidding_close_time: i64, currency: String, exchange_code: String, multiplier: f64, min_tick: f64, display_multiplier: f64, exchange: String, product_worth: String, delivery_mode: String, product_type: String, product_scale: String, last_trading_timestamp: i64.
Continuous contracts.
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_future_continuous_contracts(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_continuous_contracts(FutureContinuousContractsRequest { contract_type: Some("ES".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"continuous": false,
"trade": true,
"type": "FUT",
"contract_code": "ES2509",
"ib_code": "ES",
"name": "E-mini S&P 500",
"contract_month": "202509",
"last_trading_date": "2025-09-19"
}
]get_future_contract
get_future_contractSignature
pub async fn get_future_contract( &self, req: FutureContractSingleRequest, ) -> Result<Vec<FutureContractInfo>, TigerError>
Description
Query by contract code or type; normalizes object to Vec.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_code | Option<String> | Conditional: at least one of contract_code / contract_type | None (omitted) |
| req.contract_type | Option<String> | Conditional: at least one of contract_code / contract_type | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureContractInfo>, TigerError>. continuous: bool, trade: bool, r#type: String, contract_code: String, ib_code: String, name: String, contract_month: String, last_trading_date: String, first_notice_date: String, last_bidding_close_time: i64, currency: String, exchange_code: String, multiplier: f64, min_tick: f64, display_multiplier: f64, exchange: String, product_worth: String, delivery_mode: String, product_type: String, product_scale: String, last_trading_timestamp: i64.
Contracts.
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_future_contract(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_contract(FutureContractSingleRequest { contract_code: Some("ES2609".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"continuous": false,
"trade": true,
"type": "FUT",
"contract_code": "ES2509",
"ib_code": "ES",
"name": "E-mini S&P 500",
"contract_month": "202509",
"last_trading_date": "2025-09-19"
}
]get_future_contracts
get_future_contractsSignature
pub async fn get_future_contracts( &self, exchange_code: &str, ) -> Result<Vec<FutureContractInfo>, TigerError>
Description
Exchange code required.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| exchange_code | &str | Required | None |
Return
QuoteClient:Result<Vec<FutureContractInfo>, TigerError>. continuous: bool, trade: bool, r#type: String, contract_code: String, ib_code: String, name: String, contract_month: String, last_trading_date: String, first_notice_date: String, last_bidding_close_time: i64, currency: String, exchange_code: String, multiplier: f64, min_tick: f64, display_multiplier: f64, exchange: String, product_worth: String, delivery_mode: String, product_type: String, product_scale: String, last_trading_timestamp: i64.
Contract code/month/dates/currency/multiplier/tick/exchange.
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_future_contracts(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_contracts("CME").await?;
Ok(())
}
Response example
[
{
"continuous": false,
"trade": true,
"type": "FUT",
"contract_code": "ES2509",
"ib_code": "ES",
"name": "E-mini S&P 500",
"contract_month": "202509",
"last_trading_date": "2025-09-19"
}
]get_future_depth
get_future_depthSignature
pub async fn get_future_depth( &self, req: FutureDepthRequest, ) -> Result<Vec<FutureDepth>, TigerError>
Description
contract_codes required.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_codes | Option<Vec<String>> | Required by server; SDK does not pre-validate | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureDepth>, TigerError>. contract_code: String, timestamp: i64, asks: Vec
Contract and book levels.
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_future_depth(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_depth(FutureDepthRequest { contract_codes: Some(vec!["ES2609".into()]), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"contract_code": "ES2509",
"timestamp": 1738180800000,
"asks": [
{
"price": 5638.25,
"volume": 120
},
{
"price": 5638.5,
"volume": 85
}
],
"bids": [
{
"price": 5638.0,
"volume": 95
},
{
"price": 5637.75,
"volume": 110
}
]
}
]get_future_exchange
get_future_exchangeSignature
pub async fn get_future_exchange(&self) -> Result<Vec<FutureExchange>, TigerError>
Description
Supported exchanges; no parameters.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| none | - | Required by Rust type | None |
Return
QuoteClient:Result<Vec<FutureExchange>, TigerError>. code: String, name: String, zone_id: String.
code/name/zone_id.
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_future_exchange(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_exchange().await?;
Ok(())
}
Response example
[
{
"code": "CME",
"name": "Chicago Mercantile Exchange",
"zone_id": "America/Chicago"
}
]get_future_history_main_contract
get_future_history_main_contractSignature
pub async fn get_future_history_main_contract( &self, req: FutureHistoryMainContractRequest, ) -> Result<Vec<FutureMainContractHistory>, TigerError>
Description
Contract codes and optional millisecond range.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_codes | Option<Vec<String>> | Required by server; SDK does not pre-validate | None (omitted) |
| req.begin_time | Option<i64> | Optional | None (omitted) |
| req.end_time | Option<i64> | Optional | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureMainContractHistory>, TigerError>. contract_code: String, symbol: String, begin_date: String, end_date: String.
contract/symbol/begin/end dates.
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_future_history_main_contract(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_history_main_contract(FutureHistoryMainContractRequest { contract_codes: Some(vec!["ES2609".into()]), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"contract_code": "ES2509",
"symbol": "ES",
"begin_date": "2025-06-20",
"end_date": "2025-09-19"
}
]get_future_kline
get_future_klineSignature
pub async fn get_future_kline( &self, mut req: FutureKlineRequest, ) -> Result<Vec<FutureKline>, TigerError>
Description
Contract and period required; SDK changes Some(0) times to Some(-1).
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_codes | Option<Vec<String>> | Conditional: at least one of contract_code / contract_codes | None (omitted) |
| req.contract_code | Option<String> | Conditional: at least one of contract_code / contract_codes | None (omitted) |
| req.period | Option<String> | Required by server; SDK does not pre-validate | None (omitted) |
| req.begin_time | Option<i64> | Optional | SDK changes Some(0) to Some(-1) |
| req.end_time | Option<i64> | Optional | SDK changes Some(0) to Some(-1) |
| req.begin_index | Option<i32> | Optional | None (omitted) |
| req.end_index | Option<i32> | Optional | None (omitted) |
| req.limit | Option<i32> | Optional | None (omitted) |
| req.page_token | Option<String> | Optional | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureKline>, TigerError>. contract_code: String, next_page_token: String, items: Vec
contract/token/items.
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_future_kline(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_kline(FutureKlineRequest { contract_code: Some("ES2609".into()), period: Some("day".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"contract_code": "ES2509",
"next_page_token": "eyJzIjoiMTczODE4MDgwMDAwMCJ9",
"items": [
{
"time": 1738094400000,
"volume": 1423500,
"open": 5610.25,
"close": 5638.0,
"high": 5645.75,
"low": 5605.25,
"last_time": 1738180799000,
"open_interest": 2150000,
"settlement": 5635.5
}
]
}
]get_future_kline_by_page
get_future_kline_by_pageSignature
pub async fn get_future_kline_by_page( &self, req: FutureKlineByPageRequest, ) -> Result<Vec<FutureKlineItem>, TigerError>
Description
Client pagination defaults: page 200, total 1000; absent/zero times become -1.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_code | Option<String> | Required by server; SDK does not pre-validate | None (omitted) |
| req.period | Option<String> | Required by server; SDK does not pre-validate | None (omitted) |
| req.begin_time | Option<i64> | Optional | None (omitted) |
| req.end_time | Option<i64> | Optional | None (omitted) |
| req.total_size | Option<i32> | Optional | 1000 when None |
| req.page_size | Option<i32> | Optional | 200 when None |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureKlineItem>, TigerError>. time: i64, volume: i64, open: f64, close: f64, high: f64, low: f64, last_time: i64, open_interest: i64, settlement: f64.
Flattened items.
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_future_kline_by_page(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_kline_by_page(FutureKlineByPageRequest { contract_code: Some("ES2609".into()), period: Some("day".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"time": 1738180800000,
"volume": 1523847,
"open": 5620.5,
"close": 5638.0,
"high": 5645.75,
"low": 5605.25,
"last_time": 1738180800000,
"open_interest": 2150000
}
]get_future_real_time_quote
get_future_real_time_quoteSignature
pub async fn get_future_real_time_quote( &self, req: FutureRealTimeQuoteRequest, ) -> Result<Vec<FutureQuote>, TigerError>
Description
contract_codes and futures quote permission required.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_codes | Option<Vec<String>> | Required by server; SDK does not pre-validate | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureQuote>, TigerError>. contract_code: String, latest_price: f64, latest_size: i64, latest_time: i64, bid_price: f64, ask_price: f64, bid_size: i64, ask_size: i64, open_interest: i64, open_interest_change: i64, volume: i64, open: f64, high: f64, low: f64, settlement: f64, limit_up: f64, limit_down: f64, avg_price: f64.
Price, BBO, volume, OI, OHLC, settlement, limits.
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_future_real_time_quote(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_real_time_quote(FutureRealTimeQuoteRequest { contract_codes: Some(vec!["ES2609".into()]), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"contract_code": "ES2509",
"latest_price": 5638.0,
"latest_size": 15,
"latest_time": 1738180800000,
"bid_price": 5638.0,
"ask_price": 5638.25,
"bid_size": 300,
"ask_size": 300
}
]get_future_trade_ticks
get_future_trade_ticksSignature
pub async fn get_future_trade_ticks( &self, req: FutureTradeTicksRequest, ) -> Result<Vec<FutureTradeTickItem>, TigerError>
Description
v3; contract required; SDK default end_index=30.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_code | Option<String> | Required by server; SDK does not pre-validate | None (omitted) |
| req.begin_index | Option<i32> | Optional | None (omitted) |
| req.end_index | Option<i32> | Optional | SDK changes None to 30 |
| req.limit | Option<i32> | Optional | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Vec<FutureTradeTickItem>, TigerError>. contract_code: String, index: i64, time: i64, price: f64, volume: i64, direction: String.
contract/index/time/price/volume/direction.
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_future_trade_ticks(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_trade_ticks(FutureTradeTicksRequest { contract_code: Some("ES2609".into()), ..Default::default() }).await?;
Ok(())
}
Response example
[
{
"contract_code": "ES2509",
"index": 1,
"time": 1738180800000,
"price": 5638.25,
"volume": 1523847,
"direction": "BUY"
}
]get_future_trading_times
get_future_trading_timesSignature
pub async fn get_future_trading_times( &self, req: FutureTradingTimesRequest, ) -> Result<Option<FutureTradingTime>, TigerError>
Description
Contract required; trading date optional.
Parameters
| Parameter | Rust type | Requirement | SDK default |
|---|---|---|---|
| req.contract_code | Option<String> | Required by server; SDK does not pre-validate | None (omitted) |
| req.trading_date | Option<String> | Optional | None (omitted) |
| req.lang | Option<String> | Optional | None (omitted) |
Return
QuoteClient:Result<Option<FutureTradingTime>, TigerError>. contract_code: String, biz_date: String, zone: String, trading_times: Vec
contract/biz_date/zone/segments.
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_future_trading_times(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = quote.get_future_trading_times(FutureTradingTimesRequest { contract_code: Some("ES2609".into()), ..Default::default() }).await?;
Ok(())
}
Response example
{
"contract_code": "ES2509",
"biz_date": "2025-01-29",
"zone": "America/Chicago",
"trading_times": [
{
"start": 1738015800000,
"end": 1738094400000,
"type": "TRADING"
},
{
"start": 1738094400000,
"end": 1738101600000,
"type": "POST_MARKET"
}
]
}Updated about 13 hours ago
