- 官方文档:https://tushare.pro/document/2?doc_id=81
- 功能描述:获得上市公司主营业务构成,分地区/产品/行业等方式
- 返回限量:单次请求最大返回150行
- 接口权限:2000积分:200次/分钟;5000积分:500次/分钟;
- 说明:
fina_mainbz_vip也会限定10000行返回值,因此需要搭配offset字段进行提取;
输入参数:
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| ts_code | str | Y | 股票代码 |
| period | str | N | 报告期(每个季度最后一天的日期,比如20171231表示年报) |
| type | str | N | 类型:P-按产品 D-按地区 I-按行业(请输入大写字母) |
| start_date | str | N | 报告期开始日期 |
| end_date | str | N | 报告期结束日期 |
输出参数:
| 名称 | 类型 | 默认显示 | 描述 |
|---|---|---|---|
| ts_code | str | Y | TS代码 |
| end_date | str | Y | 报告期 |
| bz_item | str | Y | 主营业务来源 |
| bz_code | str | Y | 主营业务来源类型(P-按产品 D-按地区 I-按行业) |
| bz_sales | float | Y | 主营业务收入(元) |
| bz_profit | float | Y | 主营业务利润(元) |
| bz_cost | float | Y | 主营业务成本(元) |
| curr_type | str | Y | 货币代码(CNY) |
| update_flag | str | N | 是否更新 |
示例:
示例1:获取某支股票某个报告期主营业务构成
通过传递ts_code可指定特定股票,period可指定特定报告期,fields可指定返回数据字段。
注意根据
update_flag字段来判断该记录是否是更新后的最新记录。
importtushareasts pro=ts.pro_api()df=pro.fina_mainbz(ts_code='000001.SZ',period='20260630',fields='ts_code,end_date,bz_item,bz_code,bz_sales,bz_profit,bz_cost,curr_type,update_flag')df.head()输出结果:
ts_code end_date bz_item bz_code bz_sales bz_profit bz_cost curr_type update_flag 0 000001.SZ 20260630 东区 D 1.001700e+10 7.213000e+09 2.804000e+09 CNY 0 1 000001.SZ 20260630 北区 D 7.141000e+09 4.830000e+09 2.311000e+09 CNY 0 2 000001.SZ 20260630 南区 D 1.067900e+10 7.818000e+09 2.861000e+09 CNY 0 3 000001.SZ 20260630 国外 D 7.310000e+08 6.080000e+08 1.230000e+08 CNY 0 4 000001.SZ 20260630 境外 D 7.310000e+08 6.080000e+08 1.230000e+08 CNY 0示例2:获取某支股票一段时间内按照区域划分的主营业务构成
type参数可指定主营业务构成的划分类型。目前有P-按产品、D-按地区、I-按行业。start_date和end_date可限定报告期的范围。
df=pro.fina_mainbz(ts_code='000001.SZ',type='D',start_date='20160101',end_date='20251231')df输出结果:
ts_code end_date bz_item bz_code bz_sales bz_profit bz_cost curr_type 0 000001.SZ 20251231 西区 D 5.474000e+09 3.026000e+09 2.448000e+09 CNY 1 000001.SZ 20251231 总部 D 7.151800e+10 5.377800e+10 1.774000e+10 CNY 2 000001.SZ 20251231 境外 D 1.058000e+09 7.950000e+08 2.630000e+08 CNY 3 000001.SZ 20251231 地区 D 1.314420e+11 9.197500e+10 3.946700e+10 CNY 4 000001.SZ 20251231 南区 D 2.011600e+10 1.343900e+10 6.677000e+09 CNY ... ... ... ... ... ... ... ... ... 128 000001.SZ 20160630 总行 D 2.435200e+10 1.692100e+10 7.431000e+09 CNY 129 000001.SZ 20160630 地区 D 5.476900e+10 3.615600e+10 1.861300e+10 CNY 130 000001.SZ 20160630 南区 D 1.004600e+10 6.472000e+09 3.574000e+09 CNY 131 000001.SZ 20160630 北区 D 7.084000e+09 4.452000e+09 2.632000e+09 CNY 132 000001.SZ 20160630 东区 D 9.108000e+09 5.434000e+09 3.674000e+09 CNY 133 rows × 8 columns示例3:使用VIP版本(fina_mainbz_vip)来获取某一季度全部上市公司数据
fina_mainbz_vip也会限定10000行返回值,因此需要搭配offset字段进行提取。
df=pro.fina_mainbz_vip(period='20251231',offset=90000)df输出结果:
ts_code end_date bz_item bz_code bz_sales bz_profit bz_cost curr_type 0 870355.BJ 20251231 地基基础服务 P 8.467011e+08 1.225307e+08 7.241704e+08 CNY 1 870355.BJ 20251231 总承包服务 P 9.374394e+08 1.087922e+08 8.286472e+08 CNY 2 870355.BJ 20251231 勘察设计服务 P 2.058017e+07 9.897740e+06 1.068243e+07 CNY 3 870355.BJ 20251231 城市更新服务 P 4.281743e+07 6.877851e+05 4.212964e+07 CNY 4 870355.BJ 20251231 其他服务 P 2.753467e+07 3.071461e+06 2.446321e+07 CNY ... ... ... ... ... ... ... ... ... 5883 837291.BJ 20251231 外销:保税区 D 1.481019e+08 NaN NaN CNY 5884 837291.BJ 20251231 外销:欧洲 D 1.289700e+06 NaN NaN CNY 5885 837291.BJ 20251231 外销:亚洲 D 8.977370e+07 NaN NaN CNY 5886 837291.BJ 20251231 其他业务 D 2.256000e+06 NaN NaN CNY 5887 837291.BJ 20251231 合计特别调整 D 8.480000e+00 NaN NaN CNY 5888 rows × 8 columns说明:
fina_mainbz接口返回上市公司在某一报告期内,按产品(P)、地区(D)、行业(I) 等不同维度细分的营业收入、成本和利润。这些数据能帮助投资者了解一家公司的收入来源结构,是分析其业务重心和盈利能力的基础。