快速入门
安装
[dependencies]
tigeropen = "0.5.7"
tokio = { version = "1", features = ["full"] }SDK 要求 Rust 1.70+。tiger_id 和 RSA private_key 必填;交易接口还需 account。TBHK 牌照需 token;机构高风险交易需 secret_key。
配置
配置优先级为环境变量、Builder、自动发现的 properties 文件、SDK 默认值。自动发现路径依次为 ./tiger_openapi_config.properties 和 ~/.tigeropen/tiger_openapi_config.properties。
tiger_id=YOUR_TIGER_ID
private_key=YOUR_RSA_PRIVATE_KEY
account=YOUR_ACCOUNT
license=TBUS环境变量为 TIGEROPEN_TIGER_ID、TIGEROPEN_PRIVATE_KEY、TIGEROPEN_ACCOUNT、TIGEROPEN_TOKEN 和 TIGEROPEN_TOKEN_FILE。请求超时默认 15 秒;动态域名默认启用。
从配置创建行情客户端
pub fn from_config(config: ClientConfig) -> QuoteClient构造指向行情服务器的客户端。公开行情仍受市场行情权限限制。
从配置创建交易客户端
pub fn from_config(config: ClientConfig) -> TradeClient从 config.account 读取账户并构造交易客户端。下单、资金和行权权限由账户类型决定。
示例
use tigeropen::config::ClientConfig;
use tigeropen::model::quote_requests::KlineRequest;
use tigeropen::quote::QuoteClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = ClientConfig::builder().build()?;
let quote = QuoteClient::from_config(config);
let states = quote.get_market_state("US").await?;
let bars = quote.get_kline(KlineRequest {
symbols: Some(vec!["AAPL".into()]),
period: Some("day".into()),
limit: Some(10),
..Default::default()
}).await?;
println!("states={}, series={}", states.len(), bars.len());
Ok(())
}[{"market":"US","marketStatus":"Trading","status":"TRADING","openTime":"09:30"}]Updated 8 days ago
Did this page help you?
