行业进出记录 (cn_stock_industry_change)

数据描述: 该表记录了上市公司在特定行业分类标准下(申万2014、申万2021,中信)的行业变动情况,包括公司的进入和退出。这些信息通过证券代码、行业标准、行业代码及简称来标识,同时通过进出标志(0表示退出,1表示进入)和具体的纳入或剔除日期来详细记录每次行业变动事件。

文档
数据简介

## 一、数据简介 本表记录股票所属行业的变动。某只股票在某个行业分类标准、某一级行业上的行业代码发生变化时,产生两行记录:一行是原行业(`change_flag` 为 0,表示剔除),一行是新行业(`change_flag` 为 1,表示进入)。记录由 `cn_stock_industry_component` 中相邻两条记录的行业代码比较得出,同一次变动的两行 `date` 相同。 本表不是日频表,只在发生行业变动的日期有记录。需要每个交易日的行业归属,请使用 `cn_stock_industry_component`。 - 数据起始时间:2005-05-09 - 数据结束时间:2026-10-08 - 数据更新频率:事件触发,只在有行业变动的日期产生记录,不是每个交易日都有数据 > 注:若起止时间为None,则表示当前没取到数据,请咨询客服 ## 二、主键说明 | 关键字 | 释意 | | --- | --- | | date | 行业变动日期,即新行业代码在 `cn_stock_industry_component` 中开始出现的日期。不是交易日全覆盖,只有发生变动的日期才有记录 | | instrument | 股票代码,格式为 `代码.交易所后缀`,如 `000001.SZ` | | industry | 行业分类标准,取值为 `sw2021`(申万 2021 版)、`sw2014`(申万 2014 版)、`cs`(中信) | | industry_level | 行业等级:1 为一级行业,2 为二级行业,3 为三级行业 | | industry_code | 行业代码,对应 `industry_level` 指定的那一级 | ## 三、字段说明 | 字段 | 释意 | | --- | --- | | industry_name | 行业简称,对应 `industry_code` 的名称 | | change_flag | 进出标识:1 表示进入该行业,0 表示剔除出该行业 | ## 四、注意事项 - 一级、二级、三级行业分别比较。一只股票的三级行业变了而一级行业没变时,只有 `industry_level` 为 3 的两行记录。跨一级行业的调整会同时产生一、二、三级的记录。以 603336.SH 为例,2026-09-24 在 `sw2021` 下,一级行业从 110000 变为 370000,二级行业从 110100 变为 370100,三级行业从 110103 变为 370102,共 6 行。 - 股票首次出现在 `cn_stock_industry_component` 中(如新上市)不产生进入记录,只记录行业代码前后都有值的变动。 - 各行业分类标准的记录范围不同,以当前数据为准:`cs` 从 2005-05-09 起至 2026-10-08,`sw2021` 从 2005-07-01 起至 2026-09-24,`sw2014` 从 2005-07-01 起至 2024-10-17,`sw2014` 在此之后没有新的记录。 - 极少数记录的 `industry_name` 为空,共 13 行,均为 `sw2014` 或 `sw2021` 下 2024-08 至 2024-10 的记录。 - 本表 `date` 是行业代码发生变化的日期,使用时请与自己的回测或分析日期对齐,不要把某日之后才出现的变动用到该日之前。 ## 五、示例代码 ```python import dai dai.query(""" SELECT * FROM cn_stock_industry_change WHERE industry='sw2021' AND industry_level=1 """, filters={"date": ["2025-01-01", "2026-10-01"]}).pl() ``` ## 六、示例数据 取 2025-10-28 至 2026-10-28 的变动记录,按日期、股票代码、行业分类标准、行业等级、行业代码排序,展示前 5 行和后 5 行。 | date | instrument | industry | industry_level | industry_code | industry_name | change_flag | |:--------------------|:-------------|:-----------|-----------------:|----------------:|:-----------------|--------------:| | 2025-10-30 00:00:00 | 688279.SH | cs | 1 | 270000 | 电力设备及新能源 | 0 | | 2025-10-30 00:00:00 | 688279.SH | cs | 1 | 600000 | 电子 | 1 | | 2025-10-30 00:00:00 | 688279.SH | cs | 2 | 272000 | 电气设备 | 0 | | 2025-10-30 00:00:00 | 688279.SH | cs | 2 | 601000 | 半导体 | 1 | | 2025-10-30 00:00:00 | 688279.SH | cs | 3 | 272040 | 电机 | 0 | | 2026-10-08 00:00:00 | 603336.SH | cs | 1 | 370000 | 农林牧渔 | 0 | | 2026-10-08 00:00:00 | 603336.SH | cs | 2 | 351000 | 化学制药 | 1 | | 2026-10-08 00:00:00 | 603336.SH | cs | 2 | 375000 | 农产品加工Ⅱ | 0 | | 2026-10-08 00:00:00 | 603336.SH | cs | 3 | 351020 | 化学制剂 | 1 | | 2026-10-08 00:00:00 | 603336.SH | cs | 3 | 375010 | 农产品加工Ⅲ | 0 | ## 通用文档 ## 【行业分类基础知识】一、行业分类映射表 平台已收集 申万(2021)、申万(2014)、中信、恒生 行业分类数据,对应的三级行业代码和名称可去 **cn_stock_industry** 表中查询: <https://bigquant.com/data/datasources/cn_stock_industry>。

用例
* 用例1:某个日期范围内的所有行业进出情况 ``` import dai df = dai.query(""" SELECT date, instrument, industry, industry_name, inout_flag FROM cn_stock_industry_change""", filters={"date": ["2023-01-01", "2023-12-31"]} ).df() ``` * 用例2:特定公司的历史行业变动 ``` import dai df = dai.query(""" SELECT date, industry, inout_flag, industry_name FROM cn_stock_industry_change WHERE instrument='000001.SZ'""", filters={"date": ["2021-01-01", "2023-12-31"]} ).df() ``` * 用例3:统计一个特定时间窗口内,各行业新加入和退出的公司数量 ``` import dai df = dai.query(""" SELECT industry_name, industry, SUM(CASE WHEN inout_flag = 1 THEN 1 ELSE 0 END) AS entered, SUM(CASE WHEN inout_flag = 0 THEN 1 ELSE 0 END) AS exited FROM cn_stock_industry_change GROUP BY industry_name, industry""", filters={"date": ["2022-01-01", "2022-12-31"]} ).df() ``` * 用例4:分析近两年各行业的进入和退出公司数目 ``` import dai df = dai.query(""" SELECT industry_name, industry, SUM(CASE WHEN inout_flag = 1 THEN 1 ELSE 0 END) AS entered_2022, SUM(CASE WHEN inout_flag = 0 THEN 1 ELSE 0 END) AS exited_2022, SUM(CASE WHEN inout_flag = 1 AND YEAR(date) = 2023 THEN 1 ELSE 0 END) AS entered_2023, SUM(CASE WHEN inout_flag = 0 AND YEAR(date) = 2023 THEN 1 ELSE 0 END) AS exited_2023 FROM cn_stock_industry_change GROUP BY industry_name, industry""", filters={"date": ["2022-01-01", "2023-12-31"]} ).df() ```
表结构
字段 字段类型 字段描述
industry_name string 行业简称
date timestamp[ns] 纳入或剔除日期
instrument string 证券代码
industry_level int8 行业等级:1表示一级行业; 2表示二级行业; 3表示三级行业
__PARTITION__ int64 -
industry string 行业分类标准
change_flag int8 进出标识: 1表示进入; 0表示剔除
industry_code string 行业代码

表名:cn_stock_industry_change

起始时间:

最近更新时间: