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 股上市公司的分红送转信息,包含每股送股比例、每股转增比例、每股派现(税前、税后)、预案公告日、股权登记日和除权除息日。同一股票同一除权除息日只有一行。
配股见 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 是两种不同的取值,两种情况在表里都存在。report_date 晚于 date(000738.SZ,除权除息日 2013-06-14;600299.SH,除权除息日 2016-06-08),使用报告期做过滤时需要注意。示例取 2026-10-05 至 2026-11-04 的数据,按 date、instrument 排序,展示前 5 行和后 5 行。除权除息日晚于 2026-11-04 的行不在示例内。示例中的 nan 表示该字段为空。
| date | instrument | report_date | publish_date | bonus_rate | conversed_rate | cash_before_tax | cash_after_tax | register_date | ex_date |
|---|---|---|---|---|---|---|---|---|---|
| 2026-10-08 00:00:00 | 000739.SZ | 2026-06-30 00:00:00 | 2026-08-20 00:00:00 | nan | nan | 0.139 | 0.139 | 2026-09-30 00:00:00 | 2026-10-08 00:00:00 |
| 2026-10-08 00:00:00 | 002023.SZ | 2026-06-30 00:00:00 | 2026-08-21 00:00:00 | nan | nan | 0.065 | 0.065 | 2026-09-30 00:00:00 | 2026-10-08 00:00:00 |
| 2026-10-08 00:00:00 | 003027.SZ | 2026-06-30 00:00:00 | 2026-08-24 00:00:00 | nan | nan | 0.1 | 0.1 | 2026-09-30 00:00:00 | 2026-10-08 00:00:00 |
| 2026-10-08 00:00:00 | 601390.SH | 2026-06-30 00:00:00 | 2026-08-29 00:00:00 | nan | nan | 0.06374 | nan | 2026-09-30 00:00:00 | 2026-10-08 00:00:00 |
| 2026-10-08 00:00:00 | 605337.SH | 2026-06-30 00:00:00 | 2026-08-21 00:00:00 | nan | nan | 0.13 | 0.13 | 2026-09-30 00:00:00 | 2026-10-08 00:00:00 |
| 2026-11-04 00:00:00 | 002669.SZ | 2026-06-30 00:00:00 | 2026-10-10 00:00:00 | nan | nan | 0.035 | 0.035 | 2026-11-03 00:00:00 | 2026-11-04 00:00:00 |
| 2026-11-04 00:00:00 | 301458.SZ | 2026-09-30 00:00:00 | 2026-10-26 00:00:00 | nan | nan | 0.15 | 0.15 | 2026-11-03 00:00:00 | 2026-11-04 00:00:00 |
| 2026-11-04 00:00:00 | 600186.SH | 2026-06-30 00:00:00 | 2026-08-29 00:00:00 | nan | nan | 0.00849 | 0.00849 | 2026-11-03 00:00:00 | 2026-11-04 00:00:00 |
| 2026-11-04 00:00:00 | 688151.SH | 2026-06-30 00:00:00 | 2026-08-21 00:00:00 | nan | nan | 0.0125 | 0.0125 | 2026-11-03 00:00:00 | 2026-11-04 00:00:00 |
| 2026-11-04 00:00:00 | 920726.BJ | 2026-09-30 00:00:00 | 2026-10-22 00:00:00 | nan | nan | 0.4 | 0.4 | 2026-11-03 00:00:00 | 2026-11-04 00:00:00 |
import daidf = dai.query(""" SELECT * FROM cn_stock_dividend WHERE instrument = '000002.SZ'""", filters={"date": ["2020-01-01", "2023-12-31"]}).df()import daidf = dai.query(""" SELECT * FROM cn_stock_dividend WHERE report_date = ( SELECT MAX(report_date) FROM cn_stock_dividend)""").df()import daidf = 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()import daidf = dai.query(""" SELECT * FROM cn_stock_dividend WHERE instrument='000002.SZ' ORDER BY date""", filters={"date": ["2020-01-01", "2023-12-31"]}).df()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()SELECT instrument, report_date, publish_date, bonus_rate, conversed_rate, cash_before_tax, cash_after_tax FROM cn_stock_dividend WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT instrument, report_date, publish_date, bonus_rate, conversed_rate, cash_before_tax, cash_after_tax FROM cn_stock_dividend WHERE date >= '2026-10-06' ORDER BY date LIMIT 100