加载中...
AI 原生量化投研平台AI-native quantitative research platform
正在加载…Loading…
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
该表记录了中国股市中上市公司股东变化的详细信息。包括股东总户数及其按不同时间段(季度、半年、三季度、年)的变化情况,A股股东户数及其变化情况,以及户均持股数量和户均持股比例(针对总股本和流通股本)及其在不同时间段的变化。
32 个字段
本表存储上市公司股东户数及户均持股的多期变化率,每个截止日期一行。指标与 cn_stock_shareholder 相同,区别是这里直接给出和前 1 到 4 条记录相比的变化率,不含公告日期。
本表没有 date 字段,不区分交易日。需要公告日期(用于避免未来函数)时,使用 cn_stock_shareholder。
| 关键字 | 释意 |
|---|---|
| end_date | 截止日期,即股东户数统计的时点 |
| instrument | 证券代码,格式为 代码.交易所后缀,如 000001.SZ |
字段分为 6 组指标,每组包含当期值和 4 个变化率字段。
| 指标 | 当期值字段 | 变化率字段 |
|---|---|---|
| 股东总户数 | total_shareholder | total_shareholder_chg_1q 至 total_shareholder_chg_4q |
| A股股东户数 | a_shareholder | a_shareholder_chg_1q 至 a_shareholder_chg_4q |
| 户均持股数(总股本) | avg_share_per_account_total | avg_share_per_account_total_chg_1q 至 avg_share_per_account_total_chg_4q |
| 户均持股比例(总股本) | avg_share_ratio_per_account_total | avg_share_ratio_per_account_total_chg_1q 至 avg_share_ratio_per_account_total_chg_4q |
| 户均持股数(流通股本) | avg_share_per_account_float | avg_share_per_account_float_chg_1q 至 avg_share_per_account_float_chg_4q |
| 户均持股比例(流通股本) | avg_share_ratio_per_account_float | avg_share_ratio_per_account_float_chg_1q 至 avg_share_ratio_per_account_float_chg_4q |
chg_Nq 是变化率,等于本期值除以同一只证券往前第 N 条记录的值再减 1。chg_Nq 按记录条数往前数,不是按日历季度。如果某一期缺失,chg_4q 对应的就不是严格的一年前。需要严格按季度比较时请自行按 end_date 对齐。end_date 在数据披露之前并不可知,用于回测时需要和 cn_stock_shareholder 的 publish_date 对应。inf(约 500 行)。个别记录的变化率绝对值也很大,使用前需要做异常值处理。取表中近年的几行,示例只展示股东总户数、A股股东户数和户均持股数(总股本)相关字段。
| end_date | instrument | total_shareholder | total_shareholder_chg_1q | total_shareholder_chg_2q | total_shareholder_chg_3q | total_shareholder_chg_4q | a_shareholder | a_shareholder_chg_1q | avg_share_per_account_total | avg_share_per_account_total_chg_1q |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025-03-31 | 000001.SZ | 504267 | 0.0370358945251286 | -0.0259380523281082 | -0.0771321326542377 | -0.112052783754944 | 504267 | 0.0370358945251286 | 38483.4188991149 | -0.0357132233519148 |
| 2025-03-31 | 000002.SZ | 548580 | -0.0425827124554303 | -0.125462313480423 | -0.0774710416918917 | -0.0410614085688814 | 548510 | -0.0425829019071191 | 21751.1248126743 | 0.0444768554812127 |
| 2025-03-31 | 000004.SZ | 36244 | -0.172775825078742 | -0.172775825078742 | -0.169134840218239 | -0.031530568619068 | 36244 | -0.172775825078742 | 3652.47439576206 | 0.208862156494868 |
| 2025-03-31 | 000006.SZ | 74404 | 0.213491209185504 | 0.0850651149903021 | 0.235597920852915 | 0.175084494140687 | 74404 | 0.213491209185504 | 18144.1192140208 | -0.175931401537552 |
| 2025-03-31 | 000007.SZ | 13097 | 0 | -0.0185101918465228 | 0.199688559127966 | 0.597974621766715 | 13097 | 0 | 26452.4733908529 | 0 |
import daidf = dai.query(""" SELECT end_date, instrument, a_shareholder_chg_1q, total_shareholder_chg_1q FROM cn_stock_shareholder_change WHERE instrument = '000001.SZ' ORDER BY end_date""", filters={"end_date": ["2023-01-01", "2023-12-31"]}).df()import daidf = dai.query(""" SELECT end_date, instrument, avg_share_per_account_total, avg_share_per_account_total_chg_4q FROM cn_stock_shareholder_change WHERE instrument = '000002.SZ' ORDER BY end_date""", filters={"end_date": ["2023-01-01", "2023-12-31"]}).df()SELECT instrument, total_shareholder, total_shareholder_chg_1q, total_shareholder_chg_2q, total_shareholder_chg_3q, total_shareholder_chg_4q, a_shareholder FROM cn_stock_shareholder_change LIMIT 100
SELECT instrument, total_shareholder, total_shareholder_chg_1q, total_shareholder_chg_2q, total_shareholder_chg_3q, total_shareholder_chg_4q, a_shareholder FROM cn_stock_shareholder_change LIMIT 100