- 功能描述:获取业绩预告数据
- 返回限量:单次请求最大返回3500行
- 接口权限:2000积分:200次/分钟;5000积分:500次/分钟;
- 说明:
- 上市公司并非随意发布业绩预告,而是在经营业绩出现特定情形时必须进行预告;
- 普通版本接口只能按单支股票或单个公告日获取其历史数据,如果需要获取某一季度全部上市公司数据,则需使用forecast_vip接口;
- 业绩公告会发生更新,依据
update_flag字段进行识别;
输入参数:
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| ts_code | str | N | 股票代码(二选一) |
| ann_date | str | N | 公告日期 (二选一) |
| start_date | str | N | 公告开始日期 |
| end_date | str | N | 公告结束日期 |
| period | str | N | 报告期(每个季度最后一天的日期,比如20171231表示年报,20170630半年报,20170930三季报) |
| type | str | N | 预告类型(预增/预减/扭亏/首亏/续亏/续盈/略增/略减) |
ts_code和ann_date两个参数至少需要传入一个;- 输入参数中的
end_date是用来限定ann_date的日期范围的,与输出参数不同;
输出参数:
| 名称 | 类型 | 默认显示 | 描述 |
|---|---|---|---|
| ts_code | str | Y | TS股票代码 |
| ann_date | str | Y | 公告日期 |
| end_date | str | Y | 报告期 |
| type | str | Y | 业绩预告类型(预增/预减/扭亏/首亏/续亏/续盈/略增/略减) |
| p_change_min | float | Y | 预告净利润变动幅度下限(%) |
| p_change_max | float | Y | 预告净利润变动幅度上限(%) |
| net_profit_min | float | Y | 预告净利润下限(万元) |
| net_profit_max | float | Y | 预告净利润上限(万元) |
| last_parent_net | float | Y | 上年同期归属母公司净利润 |
| notice_times | int | N | 公布次数 |
| first_ann_date | str | Y | 首次公告日 |
| summary | str | Y | 业绩预告摘要 |
| change_reason | str | Y | 业绩变动原因 |
| update_flag | str | Y | 更新标志 |
示例:
示例1:获取某日公告的业绩预告
通过传递ann_date可指定业绩预告的公告日期,fields参数可指定返回的字段。
import tushare as ts
pro = ts.pro_api()
df = pro.forecast(ann_date='20190131', fields='ts_code,ann_date,end_date,type,p_change_min,p_change_max,net_profit_min,notice_times')
df
输出结果:
ts_code ann_date end_date type p_change_min p_change_max net_profit_min notice_times
0 605198.SH 20190131 20181231 其他 40.0000 70.0000 NaN NaN
1 300106.SZ 20190131 20181231 扭亏 104.0870 105.4493 1500.0 2.0
2 300167.SZ 20190131 20181231 续亏 -2464.1590 -2378.6870 -15000.0 1.0
3 300511.SZ 20190131 20181231 略增 10.2900 39.7000 13500.0 1.0
4 300100.SZ 20190131 20181231 预减 -90.0000 -60.0000 2995.0 2.0
... ... ... ... ... ... ... ... ...
727 000609.SZ 20190131 20181231 首亏 -163.2447 -118.6014 -8500.0 1.0
728 002686.SZ 20190131 20181231 预减 -90.0000 -50.0000 1405.0 2.0
729 600175.SH 20190131 20181231 首亏 -1222.8358 -1222.8358 -65000.0 2.0
730 600139.SH 20190131 20181231 扭亏 101.3350 103.3375 800.0 2.0
731 000662.SZ 20190131 20181231 预减 -63.2500 -44.9600 21100.0 1.0
示例2:获取某支股票某段时间公告的业绩预告
通过传递ts_code可指定特定的股票,传递start_date和end_date可指定公告日的日期范围。
通过本示例可知,上市公司并不会每个季度都会公布业绩预告;
df = pro.forecast(ts_code='000001.SZ', start_date='20100101', end_date='20260903')
df
输出结果:
ts_code ann_date end_date type p_change_min p_change_max net_profit_min net_profit_max last_parent_net first_ann_date summary change_reason update_flag
0 000001.SZ 20160121 20151231 略增 5.0 15.0 2079206.0 2277225.0 1980200.0 20160121 预计净利润2079206-2277225万 None 1
1 000001.SZ 20120130 20111231 预增 60.0 70.0 999446.0 1061912.0 628381.6 20120130 净利润约999,446万元~1,061,912万元,增长60%~70% None 1
2 000001.SZ 20111015 20110930 预增 60.0 70.0 754914.0 802096.0 473394.0 20111015 净利润754,914万元~802,096万元,增长60%~70% None 1
3 000001.SZ 20110713 20110630 预增 50.0 60.0 454968.0 485299.0 303311.9 20110713 净利润约454,968万元~485,299万元,增长50%~60% None 1
4 000001.SZ 20110414 20110331 预增 50.0 60.0 236718.0 252499.0 157811.8 20110414 净利润约236718万元~252499万元,增长50%~60% None 1
5 000001.SZ 20100127 20091231 预增 700.0 NaN 500000.0 500000.0 61403.5 20091029 净利润约50亿元,增长超过700% None 1
示例3:利用VIP版本获取某一季度全部上市公司数据
通过VIP版本的接口(forecast_vip)可实现仅传递一个period就能够获取某一季度全部上市公司数据。
通过查看2025年年报业绩预告的数据量可知并不是所有的上市公司都会公布业绩预告;
df = pro.forecast_vip(period='20251231')
df
结果输出:
ts_code ann_date end_date type p_change_min p_change_max net_profit_min net_profit_max last_parent_net first_ann_date summary change_reason update_flag
0 600187.SH 20260429 20251231 首亏 -593.1481 -593.1481 -21491.0 -21491.0 4357.9200 20260130 预计:净利润-21491 截至本公告披露之日,公司持有诸暨市文盛汇自有资金投资有限公司(简称诸暨文盛汇)36.486%... 0
1 605081.SH 20260429 20251231 续亏 1.8410 16.3831 -32833.0 -27969.0 -33448.8800 20260130 预计:净利润-32833--27969 公司部分项目因存在未批先建、施工资质不符、合规手续缺失、个别项目需按照净额法核算等问题,按照... 0
2 301636.SZ 20260429 20251231 预减 -80.9600 -73.3500 2500.0 3500.0 13131.8200 20260129 预计净利润2500-3500 公司在披露2025年年度业绩预告时,年度审计工作尚未全面展开,相关数据系基于当时已获取的信息... 0
3 603378.SH 20260429 20251231 续亏 -323.6452 -311.4976 -139500.0 -135500.0 -32928.5000 20260131 预计:净利润-139500--135500 公司2025年度审计工作在2026年1月31日时尚未全面结束,公司前次披露的《2025年年度... 0
4 603389.SH 20260428 20251231 续亏 40.1493 53.8294 -7000.0 -5400.0 -11695.7600 20260131 预计:净利润-7000--5400 公司在披露2025年年度业绩预告阶段,年度审计工作尚未全面展开。随着年度审计工作的推进及资产... 0
... ... ... ... ... ... ... ... ... ... ... ... ... ...
3174 920003.BJ 20250703 20251231 略减 -4.1409 -4.1409 10102.0 10102.0 10538.8500 20250703 预计:净利润10102 None 0
3175 301616.SZ 20250314 20251231 略增 5.4500 15.1300 9800.0 10700.0 9293.8300 20250314 预计:净利润9800-10700 None 0
3176 688235.SH 20250228 20251231 不确定 NaN NaN NaN NaN -497828.7000 20250228 不确定 收入强劲增长的预期主要受益于百悦泽?在美国的领先地位以及在欧洲和全球其他重要市场的持续扩张;... 0
3177 688082.SH 20250115 20251231 不确定 NaN NaN NaN NaN 115318.8090 20260115 不确定 None 0
3178 600157.SH 20240808 20251231 不确定 NaN NaN 280000.0 280000.0 156055.0126 20240808 预计:净利润280000 近年来,公司全面贯彻落实国家能源安全战略和“碳达峰、碳中和”决策部署,聚焦能源主业,坚持“煤... 0
3179 rows × 13 columns
说明:
说明1:业绩预告公告的说明
上市公司并非随意发布业绩预告,而是在经营业绩出现特定情形时必须进行预告。这些情形主要包括:
- 净利润为负值(亏损)。
- 净利润实现扭亏为盈。
- 净利润与上年同期相比上升或下降50%以上。
- 期末净资产为负值等。
对于年度业绩预告,上市公司最晚需要在会计年度结束后的一个月内(即次年1月31日前)进行披露。对于一季度、半年度等预告,也有相应的最晚披露时间。
说明2:本文说明
该接口返回上市公司的业绩预告数据,包括预告类型、净利润变动幅度(上下限)、净利润金额(上下限)、上年同期净利润、业绩变动原因等关键信息。业绩预告是上市公司在正式财报发布前,提前向市场披露的当期经营业绩预测,对股价有重要的影响。