# 通用数据函数(免费)

C++ 通用数据 API 包含在 3.5.18 版本及以上版本,不需要引入新库

# get_symbol_infos - 查询标的基本信息

获取指定(范围)交易标的基本信息,与时间无关.

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<SymbolInfo>* get_symbol_infos(long long sec_type1, long long sec_type2 = 0, const char *exchanges = NULL, const char *symbols = NULL)

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
sec_type1 int 证券品种大类 Y 指定一种证券大类,只能输入一个. 证券大类 sec_type1 清单 1010: 股票, 1020: 基金, 1030: 债券 , 1040: 期货, 1050: 期权, 1060: 指数,1070:板块.
sec_type2 int 证券品种细类 N 0 指定一种证券细类,只能输入一个. 默认0表示不区分细类,即证券大类下所有细类. 证券细类见 sec_type2 清单 - 股票 101001:A 股,101002:B 股,101003:存托凭证 - 基金 102001:ETF,102002:LOF,102005:FOF - 债券 103001:可转债,103008:回购 - 期货 104001:股指期货,104003:商品期货,104006:国债期货 - 期权 105001:股票期权,105002:指数期权,105003:商品期权 - 指数 106001:股票指数,106002:基金指数,106003:债券指数,106004:期货指数 - 板块:107001:概念板块
exchanges str 交易所代码 N NULL 输入交易所代码,可输入多个. 采用 str 格式时,多个交易所代码必须用英文逗号分割,如:"SHSE,SZSE" 默认NULL表示所有交易所. 交易所代码清单 SHSE:上海证券交易所,SZSE:深圳证券交易所 , CFFEX:中金所,SHFE:上期所,DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所
symbols str 标的代码 N NULL 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:"SHSE.600008,SZSE.000002" 默认NULL表示所有标的.
                                                                                                                                                                                                                                                                                                          |

返回值:

SymbolInfo 结构数组,参见SymbolInfo定义与DataArray类的用法。

示例:

get_symbol_infos(1010, 0, NULL, "SHSE.600008,SZSE.000002")

注意:

1. sec_type1为必填参数,即一次只能查询一个品种的标的基本信息。

2. 查询的标的信息根据参数组合sec_type1, sec_type2, exchanges, symbols取交集,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回

3. 若输入包含无效标的代码symbols,则返回只包含有效标的代码对应的数据。

4. 参数组合示例:

查询以下范围 symbol 的基本信息 sec_type1 sec_type2 exchanges symbols
查询指定股票 1010 0 NULL "SHSE.600008,SZSE.000002"
查询 A 股股票 1010 101001 NULL NULL
查询深交所股票 1010 0 "SZSE" NULL
查询 ETF 1020 102001 NULL NULL
查询上交所 LOF 1020 102002 "SHSE" NULL
查询可转债 1030 103001 NULL NULL
查询深交所可转债 1030 103001 "SZSE" NULL
查询股指期货 1040 104001 NULL NULL
查询商品期货 1040 104003 NULL NULL
查询郑商所和大商所期货 1040 0 "CZCE,DCE" NULL
查询股票期权 1050 105001 NULL NULL
查询上交所股票期权 1050 105001 "SHSE" NULL
查询指数期权 1050 105002 NULL NULL
查询商品期权 1050 105003 NULL NULL
查询上期所商品期权 105003 0 "SHFE" NULL
查询股票指数 1060 106001 NULL NULL

# get_symbols_by_date - 查询指定交易日多标的交易信息

获取指定交易日多个标的交易信息,包括基本信息及日度数据.

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<SymbolContent>* get_symbols_by_date(long long sec_type1, long long sec_type2 = 0, const char *exchanges = NULL, const char *symbols = NULL, bool skip_suspended = true, bool skip_st = true, const char *trade_date = NULL);

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
sec_type1 int 证券品种大类 Y 指定一种证券大类,只能输入一个. 证券大类 sec_type1 清单 1010: 股票, 1020: 基金, 1030: 债券 , 1040: 期货, 1050: 期权, 1060: 指数,1070:板块.
sec_type2 int 证券品种细类 N 0 指定一种证券细类,只能输入一个. 默认0表示不区分细类,即证券大类下所有细类. 证券细类见 sec_type2 清单 - 股票 101001:A 股,101002:B 股,101003:存托凭证 - 基金 102001:ETF,102002:LOF,102005:FOF - 债券 103001:可转债,103008:回购 - 期货 104001:股指期货,104003:商品期货,104006:国债期货 - 期权 105001:股票期权,105002:指数期权,105003:商品期权 - 指数 106001:股票指数,106002:基金指数,106003:债券指数,106004:期货指数 - 板块:107001:概念板块
exchanges str 交易所代码 N NULL 输入交易所代码,可输入多个. 采用 str 格式时,多个交易所代码必须用英文逗号分割,如:"SHSE,SZSE" 默认NULL表示所有交易所. 交易所代码清单 SHSE:上海证券交易所,SZSE:深圳证券交易所 , CFFEX:中金所,SHFE:上期所,DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所
symbols str 标的代码 N NULL 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:"SHSE.600008,SZSE.000002" 默认NULL表示所有标的.
skip_suspended bool 跳过停牌 N true 是否跳过全天停牌,默认true跳过
skip_st bool 跳过 ST N true 是否跳过包含 ST 的股票:ST, *ST, SST, S*ST, 默认true跳过
trade_date str 交易日期 N NULL 交易日期,%Y-%m-%d 格式,默认NULL取最新截面(包含退市标的)

返回值:

SymbolContent 结构数组,参见SymbolContent定义与DataArray类的用法。

示例:

get_symbols_by_date(sec_type1=1010, 0, NULL, "SHSE.600008,SZSE.000002")

注意:

1. sec_type1为必填参数,即一次只能查询一个品种的标的最新交易日信息。

2. 查询的标的信息根据参数组合sec_type1, sec_type2, exchanges, symbols取交集,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回

3. 若输入包含无效标的代码symbols,则返回只包含有效标的代码对应的数据。

4. 获取全 A 股票代码示例get_symbols(1010, 101001)

5. 可转债的到期日(退市日期)为delisted_date,转股价值为转股价值 = 转股数*股价 = (100/可转债转股价) * 股价

# get_history_symbol - 查询指定标的多日交易信息

获取指定标的多个历史交易日的交易信息,包括基本信息及日度数据.

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<SymbolContent>* get_history_symbol(const char *symbol, const char *start_date = NULL, const char *end_date = NULL);

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
symbol str 标的代码 Y 输入标的代码,只能输入一个.
start_date str 开始时间 N NULL 开始时间日期,%Y-%m-%d 格式,默认NULL表示当前时间
end_date str 结束时间 N NULL 结束时间日期,%Y-%m-%d 格式,默认NULL表示当前时间

返回值:

SymbolContent 结构数组,参见SymbolContent定义与DataArray类的用法。

示例:

get_history_symbol("SZSE.000002", "2022-09-01", "2022-09-30")

注意:

1. 若输入包含无效标的代码symbol,则返回只包含有效标的代码对应的数据。

2. 停牌时且股票发生除权除息,涨停价和跌停价可能有误差。

3. 对每个标的,数据根据trade_date的升序进行排序。

4. start_dateend_date中月份和日期都可以只输入个位数,例:"2010-7-8"或"2017-7-30"

5.start_date大于或者等于 end_date 时, 取指定时间段的数据,当 start_date > end_date时, 返回报错

6. 可转债的到期日(退市日期)delisted_date,转股价值为转股价值 = 转股数*股价 = (100/可转债转股价) * 股价

# get_trading_dates_by_year - 查询年度交易日历

查询一个交易所的指定年份的交易日历.

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<TradingDateContent>* get_trading_dates_by_year(const char *exchange, int start_year, int end_year);

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
exchange str 交易所代码 Y 只能填写一个交易所代码 交易所代码清单: SHSE:上海证券交易所,SZSE:深圳证券交易所,CFFEX:中金所,SHFE:上期所,DCE:大商所,CZCE:郑商所,INE:上海国际能源交易中心,GFEX:广期所
start_year int 开始年份 Y 查询交易日历开始年份(含),yyyy 格式
end_year int 结束年份 Y 查询交易日历结束年份(含),yyyy 格式

**返回值:

TradingDateContent 结构数组,参见TradingDateContent定义与DataArray类的用法。

示例:

get_trading_dates_by_year("SHSE", 2020, 2023)

注意:

1. exchange参数仅支持输入单个交易所代码,若代码错误,会报错

2. 开始年份必须不晚于结束年份,否则返回

# get_previous_n_trading_dates - 查询指定日期的前n个交易日

查询一个交易所指定日期的前n个交易日

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准, gm SDK 3.6.14 版本新增

函数原型:

DataArray<TradingDate>* get_previous_n_trading_dates(const char *exchange, const char *date, int n)

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
exchange str 交易所代码 Y 只能填写一个交易所代码,交易所代码清单: SHSE:上海证券交易所,SZSE:深圳证券交易所,CFFEX:中金所,SHFE:上期所,DCE:大商所,CZCE:郑商所,INE:能源中心,GFEX:广期所
date str 指定日期 Y 指定的基准日期T,%Y-%m-%d 格式
n int 交易日个数 N 前n个交易日,默认为1,即前一天,取值范围[1,支持的最早交易日至当前交易日个数-1]

返回值:

TradingDate 结构数组,参见TradingDate定义与DataArray类的用法。

get_previous_n_trading_dates("SHSE", "2023-10-10", 10)

注意:

1. exchange参数仅支持输入单个交易所代码。

2. n必须为非零正整数,n=0时会报错,n超出最早支持的交易日时只会返回至最早交易日。

3. 获取date前N个交易日,不包括date日期。

# get_next_n_trading_dates - 查询指定日期的后n个交易日

查询一个交易所指定日期的后n个交易日

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准, gm SDK 3.6.14 版本新增

函数原型:

DataArray<TradingDate>* get_next_n_trading_dates(const char *exchange, const char *date, int n)

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
exchange str 交易所代码 Y 只能填写一个交易所代码,交易所代码清单: SHSE:上海证券交易所,SZSE:深圳证券交易所,CFFEX:中金所,SHFE:上期所,DCE:大商所,CZCE:郑商所,INE:能源中心,GFEX:广期所
date str 指定日期 Y 指定的基准日期T,%Y-%m-%d 格式
n int 交易日个数 N 前n个交易日,默认为1,即前一天,取值范围[1,支持的最早交易日至当前交易日个数-1]

返回值:

TradingDate 结构数组,参见TradingDate定义与DataArray类的用法。

get_next_n_trading_dates("SHSE", "2023-09-27", 10)

注意:

1. exchange参数仅支持输入单个交易所代码。

2. n必须为非零正整数,n=0时会报错,n超出最早支持的交易日时只会返回至最早交易日。

3. 获取date前N个交易日,不包括date日期。

# get_trading_session - 查询交易时段

查询一个标的所属品种交易时间段.

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<TradingSession>* get_trading_session(const char *symbols);

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
symbols str 标的代码 Y 输入标的代码,可输入多个. 多个标的代码必须用英文逗号分割,如:"SHSE.600008,SZSE.000002"

返回值:

TradingSession 结构数组,参见TradingSession定义与DataArray类的用法。

示例:

get_trading_session("SHFE.au2306")

注意:

1. 如果输入不存在的合约代码 symbol,会报错提示"该合约[symbol]不存在"。

# get_contract_expire_rest_days - 查询合约到期剩余天数

查询期货合约、期权合约、可转债的到期剩余天数。

此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准

函数原型:

DataArray<ContractExpireRestDays>* get_contract_expire_rest_days(const char *symbols, const char *start_date, const char *end_date, bool trade_flag = false);

参数:

参数名 类型 中文名称 必填 默认值 参数用法说明
symbols str 标的代码 Y 输入标的代码,可输入多个. 多个标的代码必须用英文逗号分割,如:"CFFEX.IF2212,CFFEX.IC2212"
start_date str 开始日期 Y %Y-%m-%d 格式,不早于合约上市日
end_date str 结束日期 Y %Y-%m-%d 格式,不早于指定的开始日期,否则返回报错
trade_flag bool 交易日 N false 是否需要按交易日计算,默认false按自然日计算,则返回到期剩余自然日天数; 设置为true按交易日计算,则返回到期剩余交易日天数

返回值:

ContractExpireRestDays 结构数组,参见ContractExpireRestDays定义与DataArray类的用法。

示例:

get_contract_expire_rest_days("CFFEX.IM2212", "2022-12-12", "2022-12-16", true)

注意:

1. 参数start_dateend_date必须是yyyy-mm-dd字符串格式

2. 在到期日当天,到期剩余天数为 0。正数表示距离到期日的剩余天数,0 表示到期日当天,负数表示距离到期日已经过去的天数。

3. 如果输入不存在的合约代码symbol,会报错提示"该合约[symbol]不存在"。

4. 如果输入的合约代码symbol在时间段内的某个日期未上市,在该日期的到期剩余天数返回空。

5. 用于剩余天数计算的到期日是最后交易日。


上次更新: 3/27/2024, 3:01:49 PM