通用数据函数(免费)
python 通用数据 API 包含在 gm3.0.148 版本及以上版本,不需要引入新库
get_symbol_infos
- 查询标的基本信息
获取指定(范围)交易标的基本信息,与时间无关.
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_symbol_infos(sec_type1, sec_type2=None, exchanges=None, symbols=None, df=False)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
sec_type1 | int | 证券品种大类 | Y | 无 | 指定一种证券大类,只能输入一个. 证券大类 sec_type1 清单 1010: 股票, 1020: 基金, 1030: 债券 , 1040: 期货, 1050: 期权, 1060: 指数,1070:板块. |
sec_type2 | int | 证券品种细类 | N | None | 指定一种证券细类,只能输入一个. 默认None 表示不区分细类,即证券大类下所有细类. 证券细类见 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 or list | 交易所代码 | N | None | 输入交易所代码,可输入多个. 采用 str 格式时,多个交易所代码必须用英文逗号分割,如:'SHSE,SZSE' 采用 list 格式时,多个交易所代码示例:['SHSE', 'SZSE'] 默认None 表示所有交易所. 交易所代码清单 SHSE:上海证券交易所,SZSE:深圳证券交易所 , CFFEX:中金所,SHFE:上期所,DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所 |
symbols | str or list | 标的代码 | N | None | 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:'SHSE.600008,SZSE.000002' 采用 list 格式时,多个标的代码示例:['SHSE.600008', 'SZSE.000002'] 默认None 表示所有标的. |
df | bool | 返回格式 | N | False | 是否返回 dataframe 格式,默认False 返回字典格式,返回 list[dict] , 列表每项的 dict 的 key 值为 fields 字段. |
返回值:
字段名 | 类型 | 中文名称 | 说明 | 股票字段 | 基金字段 | 债券字段 | 期货字段 | 期权字段 | 指数字段 |
---|---|---|---|---|---|---|---|---|---|
symbol | str | 标的代码 | exchange.sec_id | √ | √ | √ | √ | √ | √ |
sec_type1 | int | 证券品种大类 | 1010: 股票,1020: 基金, 1030: 债券,1040: 期货, 1050: 期权,1060: 指数,1070:板块 | √ | √ | √ | √ | √ | √ |
sec_type2 | int | 证券品种细类 | - 股票 101001:A 股,101002:B 股,101003:存托凭证 - 基金 102001:ETF,102002:LOF,102005:FOF - 债券 103001:可转债,103003:国债,103006:企业债,103008:回购 - 期货 104001:股指期货,104003:商品期货,104006:国债期货 - 期权 105001:股票期权,105002:指数期权,105003:商品期权 - 指数 106001:股票指数,106002:基金指数,106003:债券指数,106004:期货指数 - 板块:107001:概念板块 | √ | √ | √ | √ | √ | √ |
board | int | 板块 | A 股 10100101:主板 A 股 10100102:创业板 10100103:科创版 10100104:北交所股票 ETF 10200101:股票 ETF 10200102:债券 ETF 10200103:商品 ETF 10200104:跨境 ETF 10200105:货币 ETF 可转债 10300101:普通可转债 10300102:可交换债券 10300103:可分离式债券 10300104:定向可转债 | √ | √ | √ | 无 | 无 | 无 |
exchange | str | 交易所代码 | SHSE:上海证券交易所, SZSE:深圳证券交易所, CFFEX:中金所, SHFE:上期所, DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所 | √ | √ | √ | √ | √ | √ |
sec_id | str | 交易所标的代码 | 股票,基金,债券,指数的证券代码; 期货,期权的合约代码 | √ | √ | √ | √ | √ | √ |
sec_name | str | 交易所标的名称 | 股票,基金,债券,指数的证券名称; 期货,期权的合约名称 | √ | √ | √ | √ | √ | √ |
sec_abbr | str | 交易所标的简称 | 拼音或英文简称 | √ | √ | √ | √ | √ | √ |
price_tick | float | 最小变动单位 | 交易标的价格最小变动单位 | √ | √ | √ | √ | √ | √ |
trade_n | int | 交易制度 | 0 表示 T+0,1 表示 T+1,2 表示 T+2 | √ | √ | √ | √ | √ | √ |
listed_date | datetime.datetime | 上市日期 | 证券/指数的上市日、衍生品合约的挂牌日 | √ | √ | √ | √ | √ | √ |
delisted_date | datetime.datetime | 退市日期 | 股票/基金的退市日, 期货/期权的到期日(最后交易日), 可转债的赎回登记日 | √ | √ | √ | √ | √ | √ |
underlying_symbol | str | 标的资产 | 期货/期权的合约标的物 symbol,可转债的正股标的 symbol | 无 | 无 | √ | √ | √ | 无 |
option_type | str | 行权方式 | 期权行权方式,仅期权适用,E:欧式,A:美式 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio1 | float | 期权保证金计算系数 1 | 计算期权单位保证金的第 1 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio2 | float | 期权保证金计算系数 2 | 计算期权单位保证金的第 2 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
call_or_put | str | 合约类型 | 期权合约类型,仅期权适用,C:Call(认购或看涨), P:Put(认沽或看跌) | 无 | 无 | 无 | 无 | √ | 无 |
conversion_start_date | datetime.datetime | 可转债开始转股日期 | 可转债初始转股价的执行日期,仅可转债适用 | 无 | 无 | √ | 无 | 无 | 无 |
示例:
get_symbol_infos(sec_type1=1010, symbols='SHSE.600008,SZSE.000002')
输出:
[{'symbol': 'SHSE.600008', 'sec_type1': 1010, 'sec_type2': 101001, 'board': 10100101, 'exchange': 'SHSE', 'sec_id': '600008', 'sec_name': '首创环保', 'sec_abbr': 'SCHB', 'price_tick': 0.01, 'trade_n': 1, 'listed_date': datetime.datetime(2000, 4, 27, 0, 0, tzinfo=tzfile('PRC')), 'delisted_date': datetime.datetime(2038, 1, 1, 0, 0, tzinfo=tzfile('PRC')), 'underlying_symbol': '', 'option_type': '', 'option_margin_ratio1': 0.0, 'option_margin_ratio2': 0.0, 'call_or_put': '', 'conversion_start_date': None},
{'symbol': 'SZSE.000002', 'sec_type1': 1010, 'sec_type2': 101001, 'board': 10100101, 'exchange': 'SZSE', 'sec_id': '000002', 'sec_name': '万科A', 'sec_abbr': 'WKA', 'price_tick': 0.01, 'trade_n': 1, 'listed_date': datetime.datetime(1991, 1, 29, 0, 0, tzinfo=tzfile('PRC')), 'delisted_date': datetime.datetime(2038, 1, 1, 0, 0, tzinfo=tzfile('PRC')), 'underlying_symbol': '', 'option_type': '', 'option_margin_ratio1': 0.0, 'option_margin_ratio2': 0.0, 'call_or_put': '', 'conversion_start_date': None}]
注意:
1. sec_type1
为必填参数,即一次只能查询一个品种的标的基本信息。
2. 查询的标的信息根据参数组合sec_type1, sec_type2, exchanges, symbols
取交集,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回空list/空DataFrame
,例如get_symbol_infos(sec_type1=1040,exchanges='SZSE')
返回的是空值。
3. 若输入包含无效标的代码symbols
,则返回的list/DataFrame
只包含有效标的代码对应的数据。
4. 参数组合示例:
查询以下范围 symbol 的基本信息 | sec_type1 | sec_type2 | exchanges | symbols |
---|---|---|---|---|
查询指定股票 | 1010 | None | None | 'SHSE.600008,SZSE.000002' |
查询 A 股股票 | 1010 | 101001 | None | None |
查询深交所股票 | 1010 | None | 'SZSE' | None |
查询 ETF | 1020 | 102001 | None | None |
查询上交所 LOF | 1020 | 102002 | 'SHSE' | None |
查询可转债 | 1030 | 103001 | None | None |
查询深交所可转债 | 1030 | 103001 | 'SZSE' | None |
查询股指期货 | 1040 | 104001 | None | None |
查询商品期货 | 1040 | 104003 | None | None |
查询郑商所和大商所期货 | 1040 | None | 'CZCE,DCE' | None |
查询股票期权 | 1050 | 105001 | None | None |
查询上交所股票期权 | 1050 | 105001 | 'SHSE' | None |
查询指数期权 | 1050 | 105002 | None | None |
查询商品期权 | 1050 | 105003 | None | None |
查询上期所商品期权 | 105003 | None | 'SHFE' | None |
查询股票指数 | 1060 | 106001 | None | None |
get_symbols
- 查询指定交易日多标的交易信息
获取指定交易日多个标的交易信息,包括基本信息及日度数据.
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_symbols(sec_type1, sec_type2=None, exchanges=None, symbols=None, skip_suspended=True, skip_st=True, trade_date=None, df=False)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
sec_type1 | int | 证券品种大类 | Y | 无 | 指定一种证券大类,只能输入一个. 证券大类 sec_type1 清单 1010: 股票, 1020: 基金, 1030: 债券 , 1040: 期货, 1050: 期权, 1060: 指数,1070:板块. |
sec_type2 | int | 证券品种细类 | N | None | 指定一种证券细类,只能输入一个. 默认None 表示不区分细类,即证券大类下所有细类. 证券细类见 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 or list | 交易所代码 | N | None | 输入交易所代码,可输入多个. 采用 str 格式时,多个交易所代码必须用英文逗号分割,如:'SHSE,SZSE' 采用 list 格式时,多个交易所代码示例:['SHSE', 'SZSE'] 默认None 表示所有交易所. 交易所代码清单 SHSE:上海证券交易所,SZSE:深圳证券交易所 , CFFEX:中金所,SHFE:上期所,DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所 |
symbols | str or list | 标的代码 | N | None | 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:'SHSE.600008,SZSE.000002' 采用 list 格式时,多个标的代码示例:['SHSE.600008', 'SZSE.000002'] 默认None 表示所有标的. |
skip_suspended | bool | 跳过停牌 | N | True | 是否跳过全天停牌,默认True 跳过 |
skip_st | bool | 跳过 ST | N | True | 是否跳过包含 ST 的股票:ST, *ST, SST, S*ST , 默认True 跳过 |
trade_date | str | 交易日期 | N | None | 交易日期,%Y-%m-%d 格式,默认None 取最新截面(包含退市标的) |
df | bool | 返回格式 | N | False | 是否返回 dataframe 格式,默认False 返回字典格式,返回 list[dict] , 列表每项的 dict 的 key 值为 fields 字段. |
返回值:
字段名 | 类型 | 中文名称 | 说明 | 股票字段 | 基金字段 | 债券字段 | 期货字段 | 期权字段 | 指数字段 |
---|---|---|---|---|---|---|---|---|---|
trade_date | datetime.datetime | 交易日期 | 最新交易日的日期 | √ | √ | √ | √ | √ | √ |
symbol | str | 标的代码 | exchange.sec_id | √ | √ | √ | √ | √ | √ |
sec_type1 | int | 证券品种大类 | 1010: 股票,1020: 基金, 1030: 债券,1040: 期货, 1050: 期权,1060: 指数,1070:板块 | √ | √ | √ | √ | √ | √ |
sec_type2 | int | 证券品种细类 | - 股票 101001:A 股,101002:B 股,101003:存托凭证 - 基金 102001:ETF,102002:LOF,102005:FOF - 债券 103001:可转债,103008:回购 - 期货 104001:股指期货,104003:商品期货,104006:国债期货 - 期权 105001:股票期权,105002:指数期权,105003:商品期权 - 指数 106001:股票指数,106002:基金指数,106003:债券指数,106004:期货指数 - 板块:107001:概念板块 | √ | √ | √ | √ | √ | √ |
board | int | 板块 | A 股 10100101:主板 A 股 10100102:创业板 10100103:科创版 10100104:北交所股票 ETF 10200101:股票 ETF 10200102:债券 ETF 10200103:商品 ETF 10200104:跨境 ETF 10200105:货币 ETF 可转债 10300101:普通可转债 10300102:可交换债券 10300103:可分离式债券 10300104:定向可转债 | √ | √ | √ | 无 | 无 | 无 |
exchange | str | 交易所代码 | SHSE:上海证券交易所, SZSE:深圳证券交易所, CFFEX:中金所, SHFE:上期所, DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所 | √ | √ | √ | √ | √ | √ |
sec_id | str | 交易所标的代码 | 股票,基金,债券,指数的证券代码; 期货,期权的合约代码 | √ | √ | √ | √ | √ | √ |
sec_name | str | 交易所标的名称 | 股票,基金,债券,指数的证券名称; 期货,期权的合约名称 | √ | √ | √ | √ | √ | √ |
sec_abbr | str | 交易所标的简称 | 拼音或英文简称 | √ | √ | √ | √ | √ | √ |
price_tick | float | 最小变动单位 | 交易标的价格最小变动单位 | √ | √ | √ | √ | √ | √ |
trade_n | int | 交易制度 | 0 表示 T+0,1 表示 T+1,2 表示 T+2 | √ | √ | √ | √ | √ | √ |
listed_date | datetime.datetime | 上市日期 | 证券/指数的上市日、衍生品合约的挂牌日 | √ | √ | √ | √ | √ | √ |
delisted_date | datetime.datetime | 退市日期 | 股票/基金的退市日, 期货/期权的到期日(最后交易日), 可转债的赎回登记日 | √ | √ | √ | √ | √ | √ |
underlying_symbol | str | 标的资产 | 期货/期权的合约标的物 symbol,可转债的正股标的 symbol | 无 | 无 | √ | √ | √ | 无 |
option_type | str | 行权方式 | 期权行权方式,仅期权适用,E:欧式,A:美式 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio1 | float | 期权保证金计算系数 1 | 计算期权单位保证金的第 1 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio2 | float | 期权保证金计算系数 2 | 计算期权单位保证金的第 2 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
call_or_put | str | 合约类型 | 期权合约类型,仅期权适用,C:Call(认购或看涨), P:Put(认沽或看跌) | 无 | 无 | 无 | 无 | √ | 无 |
conversion_start_date | datetime.datetime | 可转债开始转股日期 | 可转债初始转股价的执行日期,仅可转债适用 | 无 | 无 | √ | 无 | 无 | 无 |
is_adjusted | bool | 合约调整 | 是否调整合约,True:是,False:否(调整后会产生新的新的合约名称、新的行权价格、新的合约乘数) | 无 | 无 | 无 | 无 | √ | 无 |
is_suspended | bool | 是否停牌 | 是否停牌,True:是,False:否 | √ | √ | √ | 无 | 无 | 无 |
is_st | bool | 是否 ST | 是否 ST,True: 是 ST 类(含ST, *ST, SST, S*ST ), False: 否 | √ | 无 | 无 | 无 | 无 | 无 |
position | int | 持仓量 | 当日累计持仓量(当日盘后更新) | 无 | 无 | 无 | √ | √ | 无 |
settle_price | float | 结算价 | 当日结算价(当日盘后更新) | 无 | 无 | 无 | √ | √ | 无 |
pre_settle | float | 昨结价 | 昨日结算价 | 无 | 无 | 无 | √ | √ | 无 |
pre_close | float | 昨收价 | 昨日收盘价 | √ | √ | √ | √ | √ | √ |
upper_limit | float | 涨停价 | 当日涨停价(首次公开发行上市的股票上市前 5 日无涨跌停价,返回0) | √ | √ | √ | √ | √ | 无 |
lower_limit | float | 跌停价 | 当日跌停价(首次公开发行上市的股票上市前 5 日无涨跌停价,返回0) | √ | √ | √ | √ | √ | 无 |
turn_rate | float | 换手率 | 当日换手率(%)(当日盘后更新) | √ | √ | 无 | 无 | 无 | √ |
adj_factor | float | 复权因子 | 当日累计后复权因子 | √ | √ | 无 | 无 | 无 | 无 |
margin_ratio | float | 保证金比例 | 期货最新保证金比例(交易所标准的最新期货保证金) | 无 | 无 | 无 | √ | 无 | 无 |
conversion_price | float | 转股价 | 可转债最新转股价(转股价变动后的最新转股价) | 无 | 无 | √ | 无 | 无 | 无 |
exercise_price | float | 行权价 | 期权最新行权价(期权合约调整后的最新行权价) | 无 | 无 | 无 | 无 | √ | 无 |
multiplier | int | 合约乘数 | 期货和期权合约最新合约乘数(期权合约调整后的最新合约乘数) | 无 | 无 | 无 | √ | √ | 无 |
示例:
get_symbols(sec_type1=1010, symbols='SHSE.600008,SZSE.000002', trade_date='2022-01-13')
输出:
[{'trade_date': datetime.datetime(2022, 1, 13, 0, 0, tzinfo=tzfile('PRC')), 'pre_close': 3.47, 'upper_limit': 3.82, 'lower_limit': 3.12, 'turn_rate': 1.1215, 'adj_factor': 6.5564, 'margin_ratio': 1.0, 'multiplier': 1, 'is_adjusted': False, 'is_suspended': False, 'position': 0, 'settle_price': 0.0, 'pre_settle': 0.0, 'conversion_price': 0.0, 'exercise_price': 0.0, 'is_st': False, 'symbol': 'SHSE.600008', 'sec_type1': 1010, 'sec_type2': 101001, 'board': 10100101, 'exchange': 'SHSE', 'sec_id': '600008', 'sec_name': '首创环保', 'sec_abbr': 'SCHB', 'price_tick': 0.01, 'trade_n': 1, 'listed_date': datetime.datetime(2000, 4, 27, 0, 0, tzinfo=tzfile('PRC')), 'delisted_date': datetime.datetime(2038, 1, 1, 0, 0, tzinfo=tzfile('PRC')), 'underlying_symbol': '', 'option_type': '', 'option_margin_ratio1': 0.0, 'option_margin_ratio2': 0.0, 'call_or_put': '', 'conversion_start_date': None},
{'trade_date': datetime.datetime(2022, 1, 13, 0, 0, tzinfo=tzfile('PRC')), 'pre_close': 22.05, 'upper_limit': 24.26, 'lower_limit': 19.85, 'turn_rate': 0.9394, 'adj_factor': 173.0897, 'margin_ratio': 1.0, 'multiplier': 1, 'is_adjusted': False, 'is_suspended': False, 'position': 0, 'settle_price': 0.0, 'pre_settle': 0.0, 'conversion_price': 0.0, 'exercise_price': 0.0, 'is_st': False, 'symbol': 'SZSE.000002', 'sec_type1': 1010, 'sec_type2': 101001, 'board': 10100101, 'exchange': 'SZSE', 'sec_id': '000002', 'sec_name': '万科A', 'sec_abbr': 'WKA', 'price_tick': 0.01, 'trade_n': 1, 'listed_date': datetime.datetime(1991, 1, 29, 0, 0, tzinfo=tzfile('PRC')), 'delisted_date': datetime.datetime(2038, 1, 1, 0, 0, tzinfo=tzfile('PRC')), 'underlying_symbol': '', 'option_type': '', 'option_margin_ratio1': 0.0, 'option_margin_ratio2': 0.0, 'call_or_put': '', 'conversion_start_date': None}]
注意:
1. sec_type1
为必填参数,即一次只能查询一个品种的标的最新交易日信息。
2. 查询的标的信息根据参数组合sec_type1, sec_type2, exchanges, symbols
取交集,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回空list/空DataFrame
,例如get_symbols(sec_type1=1040, exchanges='SZSE')
返回的是空值。
3. 若输入包含无效标的代码symbols
,则返回的list/DataFrame
只包含有效标的代码对应的数据。
4. 获取全 A 股票代码示例get_symbols(sec_type1=1010, sec_type2=101001, df=True)['symbol'].tolist()
5. 可转债的到期日(退市日期)为delisted_date
,转股价值为转股价值 = 转股数*股价 = (100/可转债转股价) * 股价
get_history_symbol
- 查询指定标的多日交易信息
获取指定标的多个历史交易日的交易信息,包括基本信息及日度数据.
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_history_symbol(symbol=None, start_date=None, end_date=None, df=False)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
symbol | str | 标的代码 | Y | 无 | 输入标的代码,只能输入一个. |
start_date | str | 开始时间 | N | None | 开始时间日期,%Y-%m-%d 格式,默认None 表示当前时间 |
end_date | str | 结束时间 | N | None | 结束时间日期,%Y-%m-%d 格式,默认None 表示当前时间 |
df | bool | 返回格式 | N | False | 是否返回 dataframe 格式,默认False 返回字典格式,返回 list[dict] , 列表每项的 dict 的 key 值为 fields 字段. |
返回值:
字段名 | 类型 | 中文名称 | 说明 | 股票字段 | 基金字段 | 债券字段 | 期货字段 | 期权字段 | 指数字段 |
---|---|---|---|---|---|---|---|---|---|
trade_date | datetime.datetime | 交易日期 | 最新交易日的日期 | √ | √ | √ | √ | √ | √ |
symbol | str | 标的代码 | exchange.sec_id | √ | √ | √ | √ | √ | √ |
sec_type1 | int | 证券品种大类 | 1010: 股票,1020: 基金, 1030: 债券,1040: 期货, 1050: 期权,1060: 指数,1070:板块 | √ | √ | √ | √ | √ | √ |
sec_type2 | int | 证券品种细类 | - 股票 101001:A 股,101002:B 股,101003:存托凭证 - 基金 102001:ETF,102002:LOF,102005:FOF - 债券 103001:可转债,103008:回购 - 期货 104001:股指期货,104003:商品期货,104006:国债期货 - 期权 105001:股票期权,105002:指数期权,105003:商品期权 - 指数 106001:股票指数,106002:基金指数,106003:债券指数,106004:期货指数 - 板块:107001:概念板块 | √ | √ | √ | √ | √ | √ |
board | int | 板块 | A 股 10100101:主板 A 股 10100102:创业板 10100103:科创版 10100104:北交所股票 ETF 10200101:股票 ETF 10200102:债券 ETF 10200103:商品 ETF 10200104:跨境 ETF 10200105:货币 ETF 可转债 10300101:普通可转债 10300102:可交换债券 10300103:可分离式债券 10300104:定向可转债 | √ | √ | √ | 无 | 无 | 无 |
exchange | str | 交易所代码 | SHSE:上海证券交易所, SZSE:深圳证券交易所, CFFEX:中金所, SHFE:上期所, DCE:大商所, CZCE:郑商所, INE:上海国际能源交易中心 ,GFEX:广期所 | √ | √ | √ | √ | √ | √ |
sec_id | str | 交易所标的代码 | 股票,基金,债券,指数的证券代码; 期货,期权的合约代码 | √ | √ | √ | √ | √ | √ |
sec_name | str | 交易所标的名称 | 股票,基金,债券,指数的证券名称; 期货,期权的合约名称 | √ | √ | √ | √ | √ | √ |
sec_abbr | str | 交易所标的简称 | 拼音或英文简称 | √ | √ | √ | √ | √ | √ |
price_tick | float | 最小变动单位 | 交易标的价格最小变动单位 | √ | √ | √ | √ | √ | √ |
trade_n | int | 交易制度 | 0 表示 T+0,1 表示 T+1,2 表示 T+2 | √ | √ | √ | √ | √ | √ |
listed_date | datetime.datetime | 上市日期 | 证券/指数的上市日、衍生品合约的挂牌日 | √ | √ | √ | √ | √ | √ |
delisted_date | datetime.datetime | 退市日期 | 股票/基金的退市日, 期货/期权的到期日(最后交易日), 可转债的赎回登记日 | √ | √ | √ | √ | √ | √ |
underlying_symbol | str | 标的资产 | 期货/期权的合约标的物 symbol,可转债的正股标的 symbol | 无 | 无 | √ | √ | √ | 无 |
option_type | str | 行权方式 | 期权行权方式,仅期权适用,E:欧式,A:美式 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio1 | float | 期权保证金计算系数 1 | 计算期权单位保证金的第 1 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
option_margin_ratio2 | float | 期权保证金计算系数 2 | 计算期权单位保证金的第 2 个系数,仅期权适用 | 无 | 无 | 无 | 无 | √ | 无 |
call_or_put | str | 合约类型 | 期权合约类型,仅期权适用,C:Call(认购或看涨), P:Put(认沽或看跌) | 无 | 无 | 无 | 无 | √ | 无 |
conversion_start_date | datetime.datetime | 可转债开始转股日期 | 可转债初始转股价的执行日期,仅可转债适用 | 无 | 无 | √ | 无 | 无 | 无 |
is_adjusted | bool | 合约调整 | 是否调整合约,True:是,False:否(调整后会产生新的新的合约名称、新的行权价格、新的合约乘数) | 无 | 无 | 无 | 无 | √ | 无 |
is_suspended | bool | 是否停牌 | 是否停牌,True:是,False:否 | √ | √ | √ | 无 | 无 | 无 |
is_st | bool | 是否 ST | 是否 ST,True: 是 ST 类(含ST, *ST, SST, S*ST ), False: 否 | √ | 无 | 无 | 无 | 无 | 无 |
position | int | 持仓量 | 当日累计持仓量(当日盘后更新) | 无 | 无 | 无 | √ | √ | 无 |
settle_price | float | 结算价 | 当日结算价(当日盘后更新) | 无 | 无 | 无 | √ | √ | 无 |
pre_settle | float | 昨结价 | 昨日结算价 | 无 | 无 | 无 | √ | √ | 无 |
pre_close | float | 昨收价 | 昨日收盘价 | √ | √ | √ | √ | √ | √ |
upper_limit | float | 涨停价 | 当日涨停价(首次公开发行上市的股票上市前 5 日无涨跌停价,返回0) | √ | √ | √ | √ | √ | 无 |
lower_limit | float | 跌停价 | 当日跌停价(首次公开发行上市的股票上市前 5 日无涨跌停价,返回0) | √ | √ | √ | √ | √ | 无 |
turn_rate | float | 换手率 | 当日换手率(%)(当日盘后更新) | √ | √ | 无 | 无 | 无 | √ |
adj_factor | float | 复权因子 | 当日累计后复权因子 | √ | √ | 无 | 无 | 无 | 无 |
margin_ratio | float | 保证金比例 | 期货在指定交易日的交易所保证金比例 | 无 | 无 | 无 | √ | 无 | 无 |
conversion_price | float | 转股价 | 可转债在指定交易日的转股价 | 无 | 无 | √ | 无 | 无 | 无 |
exercise_price | float | 行权价 | 期权在指定交易日的行权价 | 无 | 无 | 无 | 无 | √ | 无 |
multiplier | int | 合约乘数 | 期货/期权合约在指定交易日的合约乘数 | 无 | 无 | 无 | √ | √ | 无 |
示例:
get_history_symbol(symbol='SZSE.000002', start_date='2022-09-01', end_date='2022-09-30', df=True)
输出:
trade_date pre_close ... conversion_start_date
0 2022-09-01 00:00:00+08:00 16.63 ... None
1 2022-09-02 00:00:00+08:00 16.84 ... None
2 2022-09-05 00:00:00+08:00 16.80 ... None
3 2022-09-06 00:00:00+08:00 17.17 ... None
4 2022-09-07 00:00:00+08:00 17.85 ... None
5 2022-09-08 00:00:00+08:00 17.52 ... None
6 2022-09-09 00:00:00+08:00 17.58 ... None
7 2022-09-13 00:00:00+08:00 18.15 ... None
8 2022-09-14 00:00:00+08:00 18.18 ... None
9 2022-09-15 00:00:00+08:00 17.91 ... None
10 2022-09-16 00:00:00+08:00 18.50 ... None
11 2022-09-19 00:00:00+08:00 18.00 ... None
12 2022-09-20 00:00:00+08:00 18.18 ... None
13 2022-09-21 00:00:00+08:00 17.56 ... None
14 2022-09-22 00:00:00+08:00 17.56 ... None
15 2022-09-23 00:00:00+08:00 17.49 ... None
16 2022-09-26 00:00:00+08:00 17.51 ... None
17 2022-09-27 00:00:00+08:00 17.44 ... None
18 2022-09-28 00:00:00+08:00 17.60 ... None
19 2022-09-29 00:00:00+08:00 17.46 ... None
20 2022-09-30 00:00:00+08:00 17.15 ... None
[21 rows x 34 columns]
注意:
1. 若输入包含无效标的代码symbol
,则返回的list/DataFrame
只包含有效标的代码对应的数据。
2. 停牌时且股票发生除权除息,涨停价和跌停价可能有误差。
3. 对每个标的,数据根据trade_date
的升序进行排序。
4. start_date
和end_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
- 查询年度交易日历
查询一个交易所的指定年份的交易日历.
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_trading_dates_by_year(exchange, start_year, end_year)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
exchange | str | 交易所代码 | Y | 无 | 只能填写一个交易所代码 交易所代码清单: SHSE:上海证券交易所,SZSE:深圳证券交易所,CFFEX:中金所,SHFE:上期所,DCE:大商所,CZCE:郑商所,INE:上海国际能源交易中心,GFEX:广期所 |
start_year | int | 开始年份 | Y | 无 | 查询交易日历开始年份(含),yyyy 格式 |
end_year | int | 结束年份 | Y | 无 | 查询交易日历结束年份(含),yyyy 格式 |
返回值:dataframe
字段名 | 类型 | 中文名称 | 说明 |
---|---|---|---|
date | str | 自然日期 | 查询年份的自然日日期 |
trade_date | str | 交易日期 | 查询年份的交易日日期,如果所在自然日不是交易日,交易日期为空字符串'' |
next_trade_date | str | 下一交易日 | 交易日对应的下一交易日 |
pre_trade_date | str | 上一交易日 | 交易日对应的上一交易日 |
示例:
# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *
def init(context):
# 实时模式
if context.mode == 1:
context.trade_date = get_trading_dates_by_year(exchange='SHSE', start_year=int(context.now.strftime('%Y')),
end_year=int(context.now.strftime('%Y')))
context.trade_date.index = context.trade_date['date']
# 回测模式
else:
context.trade_date = get_trading_dates_by_year(exchange='SHSE', start_year=int(context.backtest_start_time[:4]),
end_year=int(context.backtest_start_time[:4]))
context.trade_date.index = context.trade_date['date']
today = context.now.strftime('%Y-%m-%d')
next_trade_date = context.trade_date.loc[today, 'next_trade_date']
pre_trade_date = context.trade_date.loc[today, 'pre_trade_date']
print('今天:{}, 上个交易日:{}, 下个交易日:{}'.format(today, pre_trade_date, next_trade_date))
# 判断当天是否为交易日
trade_date = context.trade_date['trade_date'].tolist()
if context.now.strftime('%Y-%m-%d') not in trade_date:
print(context.now,"当前为非交易日")
else:
print(context.now, "当前为交易日")
输出:
今天:2023-08-21, 上个交易日:2023-08-18, 下个交易日:2023-08-22
示例:
get_trading_dates_by_year(exchange='SHSE', start_year=2020, end_year=2023)
输出:
date next_trade_date pre_trade_date trade_date
0 2020-01-01 2020-01-02 2019-12-31
1 2020-01-02 2020-01-03 2019-12-31 2020-01-02
2 2020-01-03 2020-01-06 2020-01-02 2020-01-03
3 2020-01-04 2020-01-06 2020-01-03
4 2020-01-05 2020-01-06 2020-01-03
... ... ... ...
1456 2023-12-27 2023-12-28 2023-12-26 2023-12-27
1457 2023-12-28 2023-12-29 2023-12-27 2023-12-28
1458 2023-12-29 2024-01-02 2023-12-28 2023-12-29
1459 2023-12-30 2024-01-02 2023-12-29
1460 2023-12-31 2024-01-02 2023-12-29
[1461 rows x 4 columns]
注意:
1. exchange
参数仅支持输入单个交易所代码,若代码错误,会报错
2. 开始年份必须不晚于结束年份,否则返回空dataframe
get_previous_n_trading_dates
- 查询指定日期的前n个交易日
查询一个交易所指定日期的前n个交易日
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准, gm SDK 3.0.163 版本新增
函数原型:
get_previous_n_trading_dates(exchange, date, n=1)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
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] |
返回值:
交易日期字符串(%Y-%m-%d 格式)列表
get_previous_n_trading_dates(exchange='SHSE', date='2023-10-10', n=10)
输出:
['2023-09-18', '2023-09-19', '2023-09-20', '2023-09-21', '2023-09-22', '2023-09-25', '2023-09-26', '2023-09-27', '2023-09-28', '2023-10-09']
注意:
1. exchange参数仅支持输入单个交易所代码。
2. n必须为非零正整数,n=0时会报错,n超出最早支持的交易日时只会返回至最早交易日。
3. 获取date前N个交易日,不包括date日期。
get_next_n_trading_dates
- 查询指定日期的后n个交易日
查询一个交易所指定日期的后n个交易日
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准, gm SDK 3.0.163 版本新增
函数原型:
get_next_n_trading_dates(exchange, date, n=1)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
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] |
返回值:
交易日期字符串(%Y-%m-%d 格式)列表
get_next_n_trading_dates(exchange='SHSE', date='2023-09-27', n=10)
输出:
['2023-09-28', '2023-10-09', '2023-10-10', '2023-10-11', '2023-10-12', '2023-10-13', '2023-10-16', '2023-10-17', '2023-10-18', '2023-10-19']
注意:
1. exchange参数仅支持输入单个交易所代码。
2. n必须为非零正整数,n=0时会报错,n超出最早支持的交易日时只会返回至最早交易日。
3. 获取date前N个交易日,不包括date日期。
get_trading_session
- 查询交易时段
查询一个标的所属品种交易时间段.
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_trading_session(symbols, df=False)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
symbols | str or list | 标的代码 | Y | 无 | 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:'SHSE.600008,SZSE.000002' 采用 list 格式时,多个标的代码示例:['SHSE.600008', 'SZSE.000002'] . |
df | bool | 返回格式 | N | False | 是否返回 dataframe 格式, 默认False 返回字典格式,返回list[dict] ,列表每项的 dict 的 key 值见返回字段名 |
返回值:
字段名 | 类型 | 中文名称 | 说明 |
---|---|---|---|
symbol | str | 标的代码 | exchange.sec_id |
exchange | str | 交易所代码 | SHSE:上海证券交易所,SZSE:深圳证券交易所,CFFEX:中金所, SHFE:上期所,DCE:大商所,CZCE:郑商所,INE:上海国际能源交易中心,GFEX:广期所 |
time_trading | list[dict] | 连续竞价时段 | HH:MM 格式,按时间顺序排列,如品种存在夜盘,夜盘时段排最前。 如[{'start': '09:30','end': '11:30'}, {'start': '13:00', 'end': '14:57'}] , |
time_callaution | list[dict] | 集合竞价时段 | HH:MM 格式,按时间顺序排列,如品种存在夜盘,夜盘时段排最前。 如[{’start': '09:15', 'end': '09:25'},{'start': '14:57', 'end': '15:00'}] , |
示例:
get_trading_session(symbols='SHFE.au2306', df=False)
输出:
[{'symbol': 'SHFE.AU2306', 'exchange': 'SHFE', 'time_trading': [{'start': '21:00', 'end': '2:30'}, {'start': '9:00', 'end': '10:15'}, {'start': '10:30', 'end': '11:30'}, {'start': '13:30', 'end': '15:00'}], 'time_auction': [{'start': '20:55', 'end': '20:59'}]}]
注意:
1. 如果输入不存在的合约代码 symbol,会报错提示"该合约[symbol]不存在"。
get_contract_expire_rest_days
- 查询合约到期剩余天数
查询期货合约、期权合约、可转债的到期剩余天数。
此函数为掘金公版(体验版/专业版/机构版)函数,券商版以升级提示为准
函数原型:
get_contract_expire_rest_days(symbols, start_date=None, end_date=None, trade_flag = False, df=False)
参数:
参数名 | 类型 | 中文名称 | 必填 | 默认值 | 参数用法说明 |
---|---|---|---|---|---|
symbols | str or list | 标的代码 | Y | 无 | 输入标的代码,可输入多个. 采用 str 格式时,多个标的代码必须用英文逗号分割,如:'CFFEX.IF2212,CFFEX.IC2212' 采用 list 格式时,多个标的代码示例:['CFFEX.IF2212', CFFEX.IC2212'] . |
start_date | str or datetime | 开始日期 | N | None | %Y-%m-%d 格式,不早于合约上市日 默认None 表示最新时间. |
end_date | str or datetime | 结束日期 | N | None | %Y-%m-%d 格式,不早于指定的开始日期,否则返回报错 默认None 表示最新时间. |
trade_flag | bool | 交易日 | N | False | 是否需要按交易日计算,默认False 按自然日计算,则返回到期剩余自然日天数; 设置为True 按交易日计算,则返回到期剩余交易日天数 |
df | bool | 返回格式 | N | False | 是否返回 dataframe 格式, 默认False 返回字典格式,返回list[dict] ,列表每项的 dict 的 key 值见返回字段名 |
返回值:
字段名 | 类型 | 中文名称 | 说明 |
---|---|---|---|
date | str | 日期 | [开始日期,结束日期]内的自然日期 |
symbol | str | 合约代码 | exchange.sec_id |
days_to_expire | int | 到期剩余天数 | 合约在指定交易时间至合约到期日的剩余天数. trade_flag=False,计算方法按自然日 trade_flag=True,计算方法按交易日 |
示例:
get_contract_expire_rest_days(symbols='CFFEX.IM2212', start_date='2022-12-12', end_date='2022-12-16', trade_flag = True, df=True)
输出:
date symbol days_to_expire
0 2022-12-12 CFFEX.IM2212 4
1 2022-12-13 CFFEX.IM2212 3
2 2022-12-14 CFFEX.IM2212 2
3 2022-12-15 CFFEX.IM2212 1
4 2022-12-16 CFFEX.IM2212 0
注意:
1. 参数start_date
和end_date
必须是 pd.to_dateime()可识别的字符串 str 格式,例'yyyy-mm-dd', 'yyyy-mm-dd %H:%M:%S',或者是 datetime 对象
2. 在到期日当天,到期剩余天数为 0。正数表示距离到期日的剩余天数,0 表示到期日当天,负数表示距离到期日已经过去的天数。
3. 如果输入不存在的合约代码symbol
,会报错提示"该合约[symbol]不存在"。
4. 如果输入的合约代码symbol
在时间段内的某个日期未上市,在该日期的到期剩余天数返回 NaN。
5. 用于剩余天数计算的到期日是最后交易日。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论