Skip to content

基本数据

获取单个标的信息

get_security_info-获取单个标的信息

获取单个标的的基础信息,支持股票、指数、债券、基金、期货等各类标的查询。

函数原型

python
get_security_info(security, date=None)

参数详情

参数名类型必选含义与取值说明
securitystr证券代码,不同交易所标的代码前缀规则:上海证券交易所:sh*、深圳证券交易所:sz*、北京证券交易所:bj*、中国金融期货交易所:zj*、郑州商品交易所:zs*、大连商品交易所:ds*、上海期货交易所:sq*、广州期货交易所:gq*、上海黄金交易所:sj*、渤海商品交易所:bs*
date多种类型查询日期,支持datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh: mm: ss'/时间戳,会自动截取到日期维度;默认使用当前回测时间

返回值说明

  • 默认(正常情况下)返回一个securityinfo对象,包含以下属性:
    • security:股票代码,字符串类型
    • display_name:股票名称,字符串类型
    • start_date:上市日期,datetime.date类型
    • end_date:退市日期,datetime.date类型,若未退市则返回None
    • type:标的证券类型,整数类型,类型对应关系如下:
  • 指定日期未上市或已退市的证券,返回None;
序号种类
13上海主板
14深证主板
18科创板
19创业板
20b股
32债券
48基金
64指数
80期货
224其他

完整示例

python
# 获取浦发银行的标的信息
data = get_security_info('sh600000')
log.info(data)  # 输出:SecurityInfo(security='sh600000',display_name='浦发银行',start_date='1999-11-10',end_date=None,type=13)
# 单独获取标的上市日期
log.info(data.start_date)  # 输出:1999-11-10
# 单独获取标的类型
log.info(data.type)  # 输出:13

查询多个标的基础信息

get_all_securities-查询多个标的基础信息

获取平台支持的所有标的基础信息,可按类型过滤,支持股票、指数、债券、基金、期货等标的查询。

函数原型

python
get_all_securities(type=[], date=None)

参数详情

参数名类型必选含义与取值说明
typelist[int]标的类型过滤列表,列表为空时返回所有股票(不包括北证和b股),列表元素可选整数类型如下:
date多种类型获取指定日期处于上市状态的证券信息,支持datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh: mm: ss'/时间戳,会自动截取到日期维度;默认使用当前回测时间
序号种类
13上海主板
14深证主板
16大陆股票(含b股)
18科创板
19创业板
20b股
48基金
49lof
50etf
64指数
80期货

返回值说明

返回一个DataFrame,索引为证券代码,包含以下列名:

  • display_name:中文名称(仅返回最新名称),字符串类型
  • start_date:上市日期,datetime.date类型
  • end_date:退市日期,datetime.date类型,若未退市则为None
  • type:标的类型,整数类型

完整示例

python
# 获取所有指数类型的标的信息
data = get_all_securities(type=[64])
log.info(data)  # 输出:         display_name  start_date end_date  type
             # sz399001         深证成指  1995-01-23     None    64
             # sz399002         深成指R  1995-01-23     None    64
             # sz399003         成份B指  1995-01-23     None    64
# 获取2025-01-01当天所有上海主板的标的信息
data = get_all_securities(type=[13], date='2025-01-01')
log.info(data.head())  # 输出前5条上海主板标的信息

⚠️ 判断板块类型的正确方式

判断科创板、创业板等板块类型时,必须使用 type 字段,不能用代码数字开头(如688、300等)。我们的证券代码以 shszbj 等字母开头,例如 sh688xxx 是科创板,sz300xxx 是创业板。请通过以下方式判断:

方式说明
推荐使用 get_security_infoget_all_securities 返回的 type 字段(18=科创板,19=创业板)
错误security.startswith('688') 或代码数字范围判断,因为我们的代码格式是 sh688xxx 而非 688xxx

💡 筛选或排除科创板、创业板

type 参数中,科创板对应 18,创业板对应 19

  • 仅获取科创板或创业板:在 type 中传入对应值,通过 .index.tolist() 获取股票列表:

    python
    # 仅获取科创板股票列表
    kcb_list = get_all_securities(type=[18]).index.tolist()
    # 仅获取创业板股票列表
    cyb_list = get_all_securities(type=[19]).index.tolist()
    # 同时获取科创板和创业板股票列表
    kcb_cyb_list = get_all_securities(type=[18, 19]).index.tolist()
  • 排除科创板和创业板:先获取目标范围的标的,再用 type 列过滤,最后通过 .index.tolist() 获取股票列表:

    python
    # 从所有股票中排除科创板和创业板,获取股票列表
    all_stocks = get_all_securities(type=[13, 14, 18, 19])
    filtered_list = all_stocks[~all_stocks['type'].isin([18, 19])].index.tolist()

获取多个标的证券类型

get_sectype-获取多个标的证券类型

批量获取标的的证券类型,支持股票、指数、债券、基金、期货等各类标的,可传入单个代码或代码列表。

函数原型

python
get_sectype(security)

参数详情

参数名类型必选含义与取值说明
securitystr / list[str]证券代码,可传入单个字符串类型代码,或多个字符串类型代码组成的列表

返回值说明

返回一个DataFrame,索引为证券代码,仅包含一列:

  • type:标的类型,整数类型,类型对应关系如下:
序号种类
13上海主板
14深证主板
18科创板
19创业板
20b股
32债券
48基金
64指数
80期货
224其他
225未知

完整示例

python
# 批量获取浦发银行、平安银行的标的类型
data = get_sectype(['sh600000','sz000001'])
log.info(data)  # 输出:             type
             # sh600000     13
             # sz000001     14
# 获取单个标的创业板ETF的类型
data = get_sectype('sz159915')
log.info(data)  # 输出:             type
             # sz159915     50