获取财务数据
C++ SDK 支持查询日级财务数据、财务报告、公司财务币种和历史汇率。日级财务数据和财务报告需要开通相应行情权限。
获取日级财务数据
方法签名
web::json::value QuoteClient::get_financial_daily(
const web::json::value& symbols,
utility::string_t market,
const web::json::value& fields,
time_t begin_date,
time_t end_date,
utility::string_t lang = U(""));
web::json::value QuoteClient::get_financial_daily(
const web::json::value& symbols,
const web::json::value& fields,
time_t begin_date,
time_t end_date,
utility::string_t lang = U(""));第二个重载默认使用 US 市场。开始和结束日期均为必填参数。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| symbols | const web::json::value& | 是 | 股票代码 JSON 数组,例如 ["AAPL"] |
| market | utility::string_t | 第一个重载是 | 市场,例如 US、HK、CN;第二个重载固定为 US |
| fields | const web::json::value& | 是 | 日级财务指标 JSON 数组,例如 ["shares_outstanding"] |
| begin_date | time_t | 是 | 查询范围起点的 Unix 毫秒时间戳 |
| end_date | time_t | 是 | 查询范围终点的 Unix 毫秒时间戳 |
| lang | utility::string_t | 否 | 语言,例如 zh_CN、en_US |
使用 Utils::date_string_to_timestamp() 可将 yyyy-MM-dd 转为请求所需的毫秒时间戳。
返回
web::json::value。SDK 原样返回服务端的 data 数组;每条记录包含 symbol、field、date 和 value。
示例
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("AAPL"));
web::json::value fields = web::json::value::array();
fields[0] = web::json::value::string(U("shares_outstanding"));
const time_t begin_date = Utils::date_string_to_timestamp(U("2025-01-01"));
const time_t end_date = Utils::date_string_to_timestamp(U("2025-01-31"));
auto result = quote_client.get_financial_daily(
symbols, U("US"), fields, begin_date, end_date);
ucout << result.serialize() << std::endl;获取财报
方法签名
web::json::value QuoteClient::get_financial_report(
const web::json::value& symbols,
utility::string_t market,
const web::json::value& fields,
utility::string_t period_type = U("Quarterly"),
time_t begin_date = -1,
time_t end_date = -1,
utility::string_t lang = U(""));
web::json::value QuoteClient::get_financial_report(
const web::json::value& symbols,
const web::json::value& fields,
utility::string_t period_type = U("Quarterly"),
time_t begin_date = -1,
time_t end_date = -1,
utility::string_t lang = U(""));第二个重载默认使用 US 市场;两个重载均默认查询 Quarterly(季报)。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| symbols | const web::json::value& | 是 | 股票代码 JSON 数组,最多 20 只,例如 ["TIGR"] |
| market | utility::string_t | 第一个重载是 | 市场,例如 US、HK、CN;第二个重载固定为 US |
| fields | const web::json::value& | 是 | 财务指标 JSON 数组,例如 ["total_assets", "total_asset_turnover"] |
| period_type | utility::string_t | 否 | 报告周期,默认 Quarterly;可传服务端支持的周期值,例如 Annual、LTM |
| begin_date | time_t | 否 | 财报期末日期范围起点的 Unix 毫秒时间戳;小于等于 0 时不发送 |
| end_date | time_t | 否 | 财报期末日期范围终点的 Unix 毫秒时间戳;小于等于 0 时不发送 |
| lang | utility::string_t | 否 | 语言,例如 zh_CN、en_US |
使用 Utils::date_string_to_timestamp() 可将 yyyy-MM-dd 转为请求所需的毫秒时间戳。
返回
web::json::value。SDK 原样返回服务端的 data 数组;每条记录包含 symbol、currency、field、value、filingDate 和 periodEndDate。
示例
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("TIGR"));
web::json::value fields = web::json::value::array();
fields[0] = web::json::value::string(U("total_assets"));
fields[1] = web::json::value::string(U("total_asset_turnover"));
const time_t begin_date = Utils::date_string_to_timestamp(U("2025-01-01"));
auto result = quote_client.get_financial_report(
symbols, U("US"), fields, U("Quarterly"), begin_date);
ucout << result.serialize() << std::endl;返回示例
[
{
"symbol": "TIGR",
"currency": "USD",
"field": "total_assets",
"value": "8.567835806999999E9",
"filingDate": "2025-08-27",
"periodEndDate": "2025-06-30"
}
]查询财务币种
方法签名
web::json::value QuoteClient::get_financial_currency(
const web::json::value& symbols,
utility::string_t market = U(""),
utility::string_t lang = U(""));参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| symbols | const web::json::value& | 是 | 股票代码 JSON 数组,如 ["AAPL"] |
| market | utility::string_t | 否 | 市场,如 US;不传时由服务端处理 |
| lang | utility::string_t | 否 | 语言,如 zh_CN、en_US |
返回
web::json::value。SDK 原样返回服务端数据,可通过 serialize() 输出 JSON。
示例
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("AAPL"));
auto result = quote_client.get_financial_currency(symbols, U("US"));
ucout << result.serialize() << std::endl;查询财务汇率
方法签名
web::json::value QuoteClient::get_financial_exchange_rate(
const web::json::value& currency_list,
utility::string_t begin_date = U(""),
utility::string_t end_date = U(""),
utility::string_t timezone = U(""),
utility::string_t lang = U(""));参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| currency_list | const web::json::value& | 是 | 币种对 JSON 数组,如 ["USD/CNH"] |
| begin_date | utility::string_t | 否 | 开始日期,格式 yyyy-MM-dd |
| end_date | utility::string_t | 否 | 结束日期,格式 yyyy-MM-dd |
| timezone | utility::string_t | 否 | 时区 |
| lang | utility::string_t | 否 | 语言,如 zh_CN、en_US |
返回
web::json::value。SDK 原样返回服务端数据,可通过 serialize() 输出 JSON。
示例
web::json::value currencies = web::json::value::array();
currencies[0] = web::json::value::string(U("USD/CNH"));
auto result = quote_client.get_financial_exchange_rate(
currencies, U("2025-01-01"), U("2025-01-31"));
ucout << result.serialize() << std::endl;Updated 8 days ago
Did this page help you?
