99.19 金融难点通俗解释:营业总收入vs归母净利润vs扣非净利润

0. 承前

如果想更加全面清晰地了解金融资产组合模型进化论的体系架构,可参考:
0. 金融资产组合模型进化全图鉴

1. 简述:三大收入指标对比

  • 描述营业总收入含义:小卖部收到的所有钱,一分钱都不能少。
  • 描述归母净利润含义:小卖部付完所有支出后能带回家的钱。
  • 描述扣非净利润含义:小卖部正常卖货赚到的钱,不算意外之财。

2. 比喻:三大指标对比

2.1 简单对比

  • 营业总收入关注"收到多少钱"
小明的小卖部一天:
卖零食:100元
卖饮料:80元
卖文具:70元

营业总收入 = 250元
含义:今天店里总共收到250元
  • 归母净利润关注"能带回家多少"
小明的小卖部一天:
收到的钱:250元
减去支出:
- 进货成本:100元
- 店铺租金:30元
- 水电费:20元

归母净利润 = 100元
含义:今天能带回家100元
  • 扣非净利润关注"正常赚多少"
小明的小卖部一天:
正常收入:
- 卖货净赚:100元

特殊收入(不算在内):
- 捡到钱:20元
- 红包:50元

扣非净利润 = 100元
含义:今天正常经营赚到100元

2.2 生动比喻

  • 营业总收入就像问:
"今天收到多少钱?"
- 所有收到的钱都算
- 像数储蓄罐里的钱
- 还没减任何支出
  • 归母净利润就像问:
"今天能带回家多少?"
- 减去所有该付的钱
- 像数完账后的余额
- 这才是真正赚到的
  • 扣非净利润就像问:
"今天正常卖货赚多少?"
- 只算卖货的钱
- 不算意外之财
- 反映真实经营能力

2.3 区别要点

  • 主要区别
营业总收入:
- 收到的所有钱
- 还没减任何支出
- 像数钱罐里的钱

归母净利润:
- 减去所有支出
- 能带回家的钱
- 像数口袋里的钱

扣非净利润:
- 只算正常卖货
- 不算意外收入
- 像数柜台里的钱

3. 实际应用

3.1 选择建议

看规模用营业总收入:
- 像看店铺有多热闹
- 关注生意大小
- 适合比较店铺规模

看赚钱用归母净利润:
- 像看最后能存多少
- 关注实际收益
- 适合了解赚钱情况

看经营用扣非净利润:
- 像看做生意的本事
- 关注经营能力
- 适合评价经营水平

4. 总结

关注点:
- 营业总收入看"收到多少钱"
- 归母净利润看"能带回多少"
- 扣非净利润看"正常赚多少"

就像小卖部:
- 营业总收入是收银机的数字
- 归母净利润是储蓄罐的数字
- 扣非净利润是账本的数字

5. 有趣的对比

小明的小卖部一天:
营业总收入:300元
- 正常卖货:250元
- 捡到钱:50元

归母净利润:120元
- 减去支出:180元

扣非净利润:70元
- 不算捡到的钱
- 只算正常经营

这就说明:
- 虽然收到300元
- 但真正能带回家120元
- 而正常经营只赚到70元

6. 实现代码

def get_total_revenue(ts_code: str, start_date: str = None, end_date: str = None):
    """
    获取上市公司营业总收入数据
    
    参数:
    ts_code (str): 股票代码,如 '000001.SZ'
    start_date (str): 开始日期,如 '20200101'
    end_date (str): 结束日期,如 '20231231'
    
    返回:
    DataFrame: 包含营业总收入数据的DataFrame
    字段包括:
    - ts_code: 股票代码
    - ann_date: 公告日期
    - end_date: 报告期
    - total_revenue_ps: 每股营业总收入
    - tr_yoy: 营业总收入同比增长率(%)
    """
    try:
        # 调用tushare接口获取数据
        df = pro.fina_indicator(
            ts_code=ts_code,
            start_date=start_date,
            end_date=end_date,
            fields='ts_code,ann_date,end_date,total_revenue_ps,tr_yoy'
        )
        return df
    except Exception as e:
        print(f"获取营业总收入数据失败: {str(e)}")
        return None

def get_parent_netprofit(ts_code: str, start_date: str = None, end_date: str = None):
    """
    获取上市公司归母净利润数据
    
    参数:
    ts_code (str): 股票代码,如 '000001.SZ'
    start_date (str): 开始日期,如 '20200101'
    end_date (str): 结束日期,如 '20231231'
    
    返回:
    DataFrame: 包含归母净利润数据的DataFrame
    字段包括:
    - ts_code: 股票代码
    - ann_date: 公告日期
    - end_date: 报告期
    - netprofit_yoy: 归属母公司股东的净利润同比增长率(%)
    """
    try:
        # 调用tushare接口获取数据
        df = pro.fina_indicator(
            ts_code=ts_code,
            start_date=start_date,
            end_date=end_date,
            fields='ts_code,ann_date,end_date,netprofit_yoy'
        )
        return df
    except Exception as e:
        print(f"获取归母净利润数据失败: {str(e)}")
        return None

def get_deducted_netprofit(ts_code: str, start_date: str = None, end_date: str = None):
    """
    获取上市公司扣非净利润数据
    
    参数:
    ts_code (str): 股票代码,如 '000001.SZ'
    start_date (str): 开始日期,如 '20200101'
    end_date (str): 结束日期,如 '20231231'
    
    返回:
    DataFrame: 包含扣非净利润数据的DataFrame
    字段包括:
    - ts_code: 股票代码
    - ann_date: 公告日期
    - end_date: 报告期
    - profit_dedt: 扣除非经常性损益后的净利润
    - dt_netprofit_yoy: 归属母公司股东的净利润-扣除非经常损益同比增长率(%)
    """
    try:
        # 调用tushare接口获取数据
        df = pro.fina_indicator(
            ts_code=ts_code,
            start_date=start_date,
            end_date=end_date,
            fields='ts_code,ann_date,end_date,profit_dedt,dt_netprofit_yoy'
        )
        return df
    except Exception as e:
        print(f"获取扣非净利润数据失败: {str(e)}")
        return None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量金术师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值