Appearance
基本数据
获取单个标的信息
get_security_info-获取单个标的信息
获取单个标的的基础信息,支持股票、指数、债券、基金、期货等各类标的查询。
函数原型
python
get_security_info(security, date=None)参数详情
| 参数名 | 类型 | 必选 | 含义与取值说明 |
|---|---|---|---|
| security | str | 是 | 证券代码,不同交易所标的代码前缀规则:上海证券交易所: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 | 创业板 |
| 20 | b股 |
| 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)参数详情
| 参数名 | 类型 | 必选 | 含义与取值说明 |
|---|---|---|---|
| type | list[int] | 否 | 标的类型过滤列表,列表为空时返回所有股票(不包括北证和b股),列表元素可选整数类型如下: |
| date | 多种类型 | 否 | 获取指定日期处于上市状态的证券信息,支持datetime.date/datetime.datetime/'yyyy-mm-dd'/'yyyy-mm-dd hh: mm: ss'/时间戳,会自动截取到日期维度;默认使用当前回测时间 |
| 序号 | 种类 |
|---|---|
| 13 | 上海主板 |
| 14 | 深证主板 |
| 16 | 大陆股票(含b股) |
| 18 | 科创板 |
| 19 | 创业板 |
| 20 | b股 |
| 48 | 基金 |
| 49 | lof |
| 50 | etf |
| 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等)。我们的证券代码以 sh、sz、bj 等字母开头,例如 sh688xxx 是科创板,sz300xxx 是创业板。请通过以下方式判断:
| 方式 | 说明 |
|---|---|
| 推荐 | 使用 get_security_info 或 get_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)参数详情
| 参数名 | 类型 | 必选 | 含义与取值说明 |
|---|---|---|---|
| security | str / list[str] | 是 | 证券代码,可传入单个字符串类型代码,或多个字符串类型代码组成的列表 |
返回值说明
返回一个DataFrame,索引为证券代码,仅包含一列:
- type:标的类型,整数类型,类型对应关系如下:
| 序号 | 种类 |
|---|---|
| 13 | 上海主板 |
| 14 | 深证主板 |
| 18 | 科创板 |
| 19 | 创业板 |
| 20 | b股 |
| 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