股票行情

get_brief 获取股票行情快照

value QuoteClient::get_brief(const value &symbols, bool include_hour_trading, bool include_ask_bid, QuoteRight right)

说明

获取股票的实时行情快照,包含最新价、开盘价、最高价、最低价等

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组,如 value::array({value::string(U("AAPL"))})
include_hour_tradingboolNo是否包含盘前盘后数据,默认 false
include_ask_bidboolNo是否包含买卖盘口数据,默认 false
rightQuoteRightNo复权类型,QuoteRight::br(前复权) 或 QuoteRight::nr(不复权),默认 br

返回

web::json::value JSON 对象

示例

#include "tigerapi/quote_client.h"
#include "tigerapi/client_config.h"

using namespace TIGER_API;

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));
symbols[1] = value::string(U("TSLA"));

value result = quote_client.get_brief(symbols);
ucout << result.serialize() << std::endl;

get_stock_detail 获取股票详情

value QuoteClient::get_stock_detail(const value &symbols, utility::string_t lang, utility::string_t sec_type)

说明

获取股票的详细信息

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
langutility::string_tNo语言,如 U("zh_CN"),默认空
sec_typeutility::string_tNo合约类型,默认空

返回

web::json::value JSON 对象

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));

value result = quote_client.get_stock_detail(symbols);
ucout << result.serialize() << std::endl;

get_timeline 获取分时数据

value QuoteClient::get_timeline(const value &symbols, bool include_hour_trading, time_t begin_time)

说明

获取当日分时数据

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
include_hour_tradingboolNo是否包含盘前盘后数据,默认 false
begin_timetime_tNo起始时间戳(毫秒),默认 -1

返回

web::json::value JSON 对象

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));

value result = quote_client.get_timeline(symbols);
ucout << result.serialize() << std::endl;

get_history_timeline 获取历史分时数据

value QuoteClient::get_history_timeline(const value &symbols, utility::string_t date, QuoteRight right)

说明

获取指定日期的历史分时数据

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
dateutility::string_tYes日期,格式 "yyyy-MM-dd",如 U("2024-01-15")
rightQuoteRightNo复权类型,默认 QuoteRight::br

返回

web::json::value JSON 对象


get_kline 获取K线数据

value QuoteClient::get_kline(const value &symbols, BarPeriod period, time_t begin_time, time_t end_time, QuoteRight right, int limit, utility::string_t page_token)

说明

获取股票K线数据,支持日K、周K、月K以及分钟K线

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
periodBarPeriod 或 utility::string_tNoK线周期,如 BarPeriod::DAY 或 U("day"),默认 DAY。可选值:day/week/month/year/1min/3min/5min/10min/15min/30min/60min
begin_timetime_tNo起始时间戳(毫秒),默认 -1
end_timetime_tNo结束时间戳(毫秒),默认 -1
rightQuoteRight 或 utility::string_tNo复权类型,默认 QuoteRight::br 或 U("br")
limitintNo返回条数上限,默认 251
page_tokenutility::string_tNo翻页标记,默认空

返回

web::json::value JSON 对象,或 vector<Kline> Kline 对象列表(使用对应的重载版本)

Kline 对象属性

属性名类型描述
symbolutility::string_t标的代码
periodutility::string_tK线周期
itemsvector<KlineItem>K线数据列表

KlineItem 对象属性

属性名类型描述
opendouble开盘价
highdouble最高价
lowdouble最低价
closedouble收盘价
volumelong long成交量
timetime_t时间戳

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));

// 获取日K线(返回 JSON)
value result = quote_client.get_kline(symbols, BarPeriod::DAY);
ucout << result.serialize() << std::endl;

// 获取日K线(返回 Kline 对象列表)
vector<Kline> klines = quote_client.get_kline(symbols, U("day"));
for (auto& kline : klines) {
    for (auto& item : kline.items) {
        std::cout << "Time: " << item.time << " Close: " << item.close << std::endl;
    }
}

get_quote_real_time 获取实时行情

vector<RealtimeQuote> QuoteClient::get_quote_real_time(const value &symbols)

说明

获取股票的实时行情数据,返回 RealtimeQuote 对象列表

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组

返回

vector<RealtimeQuote> 实时行情对象列表

RealtimeQuote 对象属性

属性名类型描述
symbolutility::string_t标的代码
opendouble开盘价
highdouble最高价
lowdouble最低价
closedouble收盘价
pre_closedouble昨收价
latest_pricedouble最新价
latest_timetime_t最新成交时间
volumelong long成交量
ask_pricedouble卖一价
ask_sizedouble卖一量
bid_pricedouble买一价
bid_sizedouble买一量
statusutility::string_t市场状态

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));
symbols[1] = value::string(U("TSLA"));

vector<RealtimeQuote> quotes = quote_client.get_quote_real_time(symbols);
for (auto& q : quotes) {
    ucout << q.symbol << U(" latest_price: ") << q.latest_price << std::endl;
}

get_trade_tick 获取逐笔成交

value QuoteClient::get_trade_tick(const value &symbols, TradingSession trade_session, long begin_index, long end_index, int limit)

说明

获取股票的逐笔成交数据

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
trade_sessionTradingSession 或 utility::string_tNo交易时段,默认 TradingSession::Regular
begin_indexlongNo起始索引,默认 -1
end_indexlongNo结束索引,默认 -1
limitintNo返回条数上限,默认 100

返回

web::json::value JSON 对象

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));

value result = quote_client.get_trade_tick(symbols);
ucout << result.serialize() << std::endl;

get_quote_depth 获取深度行情

value QuoteClient::get_quote_depth(const value &symbols, Market market)

说明

获取股票的深度行情(买卖盘口)

参数

参数名类型是否必填描述
symbolsvalueYes标的代码数组
marketMarketNo市场,默认 Market::US

返回

web::json::value JSON 对象

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value symbols = value::array();
symbols[0] = value::string(U("AAPL"));

value result = quote_client.get_quote_depth(symbols, Market::US);
ucout << result.serialize() << std::endl;

get_stock_broker 获取股票经纪商席位

value QuoteClient::get_stock_broker(utility::string_t symbol, int limit, utility::string_t lang, utility::string_t sec_type)

说明

获取港股经纪商买卖席位数据

参数

参数名类型是否必填描述
symbolutility::string_tYes港股代码,如 U("00700")
limitintNo返回条数,默认 40
langutility::string_tNo语言,默认空
sec_typeutility::string_tNo合约类型,默认空

返回

web::json::value JSON 对象


get_capital_distribution 获取资金分布

value QuoteClient::get_capital_distribution(utility::string_t symbol, Market market, utility::string_t lang)

说明

获取股票的资金分布数据

参数

参数名类型是否必填描述
symbolutility::string_tYes标的代码
marketMarketNo市场,默认 Market::US
langutility::string_tNo语言,默认空

返回

web::json::value JSON 对象


get_capital_flow 获取资金流向

value QuoteClient::get_capital_flow(utility::string_t symbol, Market market, CapitalPeriod period, time_t begin_time, time_t end_time, int limit)

说明

获取股票的资金流向数据

参数

参数名类型是否必填描述
symbolutility::string_tYes标的代码
marketMarket 或 utility::string_tNo市场,默认 Market::US
periodCapitalPeriod 或 utility::string_tNo周期,默认 CapitalPeriod::DAY。可选值:intraday/day/week/month/year/quarter/6month
begin_timetime_tNo起始时间戳,默认 -1
end_timetime_tNo结束时间戳,默认 -1
limitintNo返回条数,默认 200

返回

web::json::value JSON 对象

示例

ClientConfig config(false, U("/path/to/your/properties/"));
QuoteClient quote_client(config);

value result = quote_client.get_capital_flow(U("AAPL"), Market::US, CapitalPeriod::DAY);
ucout << result.serialize() << std::endl;

What’s Next