分红信息 (cn_stock_dividend)

数据描述: 该表提供了中国股市中上市公司的详细分红信息,包括证券代码、报告期、公告日期、每股送股比例、每股转增比例、每股派现(税前)、每股派现(税后)、股权登记日、除权除息日以及日期等。分红信息是评估公司长期投资价值和股东回报的重要指标之一。

文档
数据简介

## 一、数据简介 本表记录 A 股上市公司的分红送转信息,包含每股送股比例、每股转增比例、每股派现(税前、税后)、预案公告日、股权登记日和除权除息日。同一股票同一除权除息日只有一行。 - 数据起始时间:2005-09-09 - 数据结束时间:2026-12-11 - 数据更新频率:每个交易日更新,按除权除息日落表,只有存在分红实施信息的股票才有记录 配股见 `cn_stock_allotment`。 ## 二、主键说明 | 关键字 | 释意 | | --- | --- | | date | 除权除息日,与 `ex_date` 取值相同,不是公告日也不是报告期。平台字段列表里 `date` 的描述是“日期”,以本文档为准 | | instrument | 股票代码,格式为 `代码.交易所后缀`,如 `000001.SZ` | ## 三、字段口径 | 字段 | 口径 | | --- | --- | | report_date | 分红所属的报告期,如 2025-12-31 表示 2025 年度分红,2026-06-30 表示 2026 年中期分红 | | publish_date | 分红预案公告日 | | bonus_rate | 每股送股比例。0.3 表示每 10 股送 3 股 | | conversed_rate | 每股转增比例。0.5 表示每 10 股转增 5 股 | | cash_before_tax | 每股派现(税前) | | cash_after_tax | 每股派现(税后),全表没有税后大于税前的行 | | register_date | 股权登记日 | | ex_date | 除权除息日 | 同一股票在同一除权除息日如果对应多个报告期,构建时合并为一行:`bonus_rate`、`conversed_rate`、`cash_before_tax`、`cash_after_tax` 求和,`publish_date`、`register_date`、`report_date` 取最晚的日期。 ## 四、时间语义 `date` 是除权除息日。`publish_date` 是分红预案公告日,早于 `date`,全表没有 `publish_date` 晚于 `date` 的行。表里没有分红实施公告日字段,除权除息日和股权登记日在预案公告时不一定已经确定,做回测时不能把 `date` 当作信息可知的时间。 `report_date` 绝大多数是年度(12-31)和半年度(06-30),少量为 09-30 和 03-31。 ## 五、已知限制 - 表里包含除权除息日晚于当前日期的行,数据结束时间可能是未来日期。只需要已实施的分红时,按 `date` 小于等于当前日期过滤。 - `bonus_rate`、`conversed_rate`、`cash_before_tax`、`cash_after_tax` 四个字段不会同时为空。`bonus_rate` 和 `conversed_rate` 大部分行为空,字段为空与字段为 0 是两种不同的取值,两种情况在表里都存在。 - 空值的具体业务含义(该项没有分配,还是数据源没有提供)未核实。 - 有 2 行的 `report_date` 晚于 `date`(000738.SZ,除权除息日 2013-06-14;600299.SH,除权除息日 2016-06-08),使用报告期做过滤时需要注意。 ## 六、示例数据 示例取 2026-10-16 至 2026-11-15 的数据,按 `date`、`instrument` 排序,展示前 5 行和后 5 行。除权除息日晚于 2026-11-15 的行不在示例内。示例中的 nan 表示该字段为空。 | date | instrument | report_date | publish_date | bonus_rate | conversed_rate | cash_before_tax | cash_after_tax | register_date | ex_date | |:--------------------|:-------------|:--------------------|:--------------------|-------------:|-----------------:|------------------:|-----------------:|:--------------------|:--------------------| | 2026-10-16 00:00:00 | 000655.SZ | 2026-06-30 00:00:00 | 2026-08-22 00:00:00 | nan | nan | 0.03 | 0.03 | 2026-10-15 00:00:00 | 2026-10-16 00:00:00 | | 2026-10-16 00:00:00 | 000726.SZ | 2026-06-30 00:00:00 | 2026-08-29 00:00:00 | nan | nan | 0.1 | 0.1 | 2026-10-15 00:00:00 | 2026-10-16 00:00:00 | | 2026-10-16 00:00:00 | 000779.SZ | 2026-06-30 00:00:00 | 2026-08-22 00:00:00 | nan | nan | 0.02 | 0.02 | 2026-10-15 00:00:00 | 2026-10-16 00:00:00 | | 2026-10-16 00:00:00 | 000999.SZ | 2026-06-30 00:00:00 | 2026-08-22 00:00:00 | nan | nan | 0.415 | 0.415 | 2026-10-15 00:00:00 | 2026-10-16 00:00:00 | | 2026-10-16 00:00:00 | 001237.SZ | 2026-06-30 00:00:00 | 2026-08-28 00:00:00 | nan | nan | 0.5 | 0.5 | 2026-10-15 00:00:00 | 2026-10-16 00:00:00 | | 2026-11-13 00:00:00 | 300972.SZ | 2026-09-30 00:00:00 | 2026-10-28 00:00:00 | nan | nan | 0.3 | 0.3 | 2026-11-12 00:00:00 | 2026-11-13 00:00:00 | | 2026-11-13 00:00:00 | 600392.SH | 2026-06-30 00:00:00 | 2026-08-29 00:00:00 | nan | nan | 0.05 | 0.05 | 2026-11-12 00:00:00 | 2026-11-13 00:00:00 | | 2026-11-13 00:00:00 | 600894.SH | 2026-06-30 00:00:00 | 2026-08-25 00:00:00 | nan | nan | 0.1 | 0.1 | 2026-11-12 00:00:00 | 2026-11-13 00:00:00 | | 2026-11-13 00:00:00 | 601128.SH | 2026-06-30 00:00:00 | 2026-09-30 00:00:00 | nan | nan | 0.13 | 0.13 | 2026-11-12 00:00:00 | 2026-11-13 00:00:00 | | 2026-11-13 00:00:00 | 603444.SH | 2026-09-30 00:00:00 | 2026-10-23 00:00:00 | nan | nan | 6 | 6 | 2026-11-12 00:00:00 | 2026-11-13 00:00:00 |

用例
* 用例1:查询特定证券代码在特定日期之后的分红信息 ``` import dai df = dai.query(""" SELECT * FROM cn_stock_dividend WHERE instrument = '000002.SZ'""", filters={"date": ["2020-01-01", "2023-12-31"]} ).df() ``` * 用例2:查询最新一期的分红信息 ``` import dai df = dai.query(""" SELECT * FROM cn_stock_dividend WHERE report_date = ( SELECT MAX(report_date) FROM cn_stock_dividend) """).df() ``` * 用例3:计算股息收益率 ``` import dai df = dai.query(""" SELECT instrument, date, cash_after_tax / close AS dividend_yield FROM cn_stock_dividend JOIN cn_stock_bar1d USING (instrument, date) ORDER BY date""", filters={"date": ["2020-01-01", "2023-12-31"]} ).df() ``` * 用例4:分析某只股票特定时间段的分红变化 ``` import dai df = dai.query(""" SELECT * FROM cn_stock_dividend WHERE instrument='000002.SZ' ORDER BY date""", filters={"date": ["2020-01-01", "2023-12-31"]} ).df() ``` * 如何通过SQL语句查询并如何计算某个证券的年度股息率: ``` import dai dai.query(""" SELECT cn_stock_dividend.instrument, YEAR(cn_stock_dividend.date) as year, SUM(cash_before_tax)/SUM(close) * 100 as dividend_yield FROM cn_stock_dividend JOIN cn_stock_bar1d ON cn_stock_dividend.instrument = cn_stock_bar1d.instrument AND YEAR(cn_stock_dividend.date) = YEAR(cn_stock_bar1d.date) WHERE cn_stock_dividend.instrument='000002.SZ' GROUP BY cn_stock_dividend.instrument, year; """, full_db_scan=True).df() ```
表结构
字段 字段类型 字段描述
conversed_rate double 每股转增比例
cash_before_tax double 每股派现(税前)
date timestamp[ns] -
report_date timestamp[ns] 报告期
register_date timestamp[ns] 股权登记日
instrument string 证券代码
ex_date timestamp[ns] 除权除息日
bonus_rate double 每股送股比例
publish_date timestamp[ns] 公告日期
cash_after_tax double 每股派现(税后)

表名:cn_stock_dividend

起始时间:

最近更新时间: