99.11 金融难点通俗解释:净资产收益率(ROE)VS投资资本回报率(ROIC)VS总资产收益率(ROA)

目录

    • [0. 承前](#0. 承前)
    • [1. 简述:三大收益率指标对比](#1. 简述:三大收益率指标对比)
    • [2. 比喻:三大指标对比](#2. 比喻:三大指标对比)
      • [2.1 简单对比](#2.1 简单对比)
      • [2.2 生动比喻](#2.2 生动比喻)
      • [2.3 区别要点](#2.3 区别要点)
    • [3. 实际应用](#3. 实际应用)
      • [3.1 选择建议](#3.1 选择建议)
    • [4. 总结](#4. 总结)
    • [5. 实现代码](#5. 实现代码)

0. 承前

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

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

  • 描述净资产收益率(ROE)含义 :衡量企业用股东投入资金获得的回报率。链接
  • 描述投资资本回报率(ROIC)含义 :衡量企业用所有投入资金获得的回报率。链接
  • 描述总资产收益率(ROA)含义 :衡量企业用全部资产获得的回报率。链接

2. 比喻:三大指标对比

2.1 简单对比

  • 净资产收益率(ROE)关注"自己的钱赚多少"

    小明用自己的钱养鸡:
    自己投入:1000元
    一年赚到:200元

    ROE = 赚到200元 ÷ 自己的1000元 = 20%
    含义:用自己的钱赚到20%回报

  • 投资资本回报率(ROIC)关注"所有投入赚多少"

    小明总共投入:
    自己的钱:1000元(买鸡)
    借来的钱:500元(买料)
    一年赚到:300元

    ROIC = 赚到300元 ÷ 总投入1500元 = 20%
    含义:所有投入的钱平均赚20%

  • 总资产收益率(ROA)关注"所有家当赚多少"

    小明养鸡场有:
    母鸡资产:1000元
    鸡舍设备:2000元
    饲料存货:500元
    一年赚到:350元

    ROA = 赚到350元 ÷ 总资产3500元 = 10%
    含义:所有资产平均赚10%

2.2 生动比喻

  • ROE就像问:

    "压岁钱赚了几倍?"

    • 只算自己存的钱
    • 不管借来的钱
    • 看自己本金效率
  • ROIC就像问:

    "所有花销值不值?"

    • 算上借来的钱
    • 看所有投入回报
    • 衡量整体效率
  • ROA就像问:

    "养鸡场效率如何?"

    • 算上所有家当
    • 包括设备存货
    • 看整体资产效率

2.3 区别要点

  • 主要区别

    净资产收益率(ROE):

    • 只看股东投入
    • 不管借来的钱
    • 适合看股东回报

    投资资本回报率(ROIC):

    • 看所有投入资金
    • 包括借款投入
    • 适合看经营效率

    总资产收益率(ROA):

    • 看所有资产价值
    • 包括存货设备
    • 适合看资产效率

3. 实际应用

3.1 选择建议

看股东回报用ROE:
- 像看零花钱理财
- 关注自有资金效率
- 适合投资者视角

看经营效率用ROIC:
- 像看养鸡总投入
- 关注所有资金效率
- 适合经营者视角

看资产效率用ROA:
- 像看养鸡场效率
- 关注整体资产效率
- 适合管理者视角

4. 总结

关注点:

  • ROE看"自己的钱赚多少"
  • ROIC看"所有投入赚多少"
  • ROA看"所有家当赚多少"

就像开养鸡场:

  • ROE只算自己的储蓄罐
  • ROIC算上所有花销投入
  • ROA把整个养鸡场都算进去

5. 实现代码

python 复制代码
def get_roe_data(ts_code: str, start_date: str = None, end_date: str = None) -> pd.DataFrame:
    """
    获取公司ROE(净资产收益率)数据
    
    参数:
        ts_code (str): 股票代码 (例如: '600000.SH')
        start_date (str): 开始日期 (例如: '20180101')
        end_date (str): 结束日期 (例如: '20181231')
    
    返回:
        DataFrame: 包含以下字段:
        - ts_code: 股票代码
        - ann_date: 公告日期
        - end_date: 报告期
        - roe: 净资产收益率
        - roe_waa: 加权平均净资产收益率
        - roe_dt: 净资产收益率(扣除非经常损益)
    """
    try:
        pro = ts.pro_api()
        df = pro.fina_indicator(ts_code=ts_code, 
                              start_date=start_date,
                              end_date=end_date,
                              fields='ts_code,ann_date,end_date,roe,roe_waa,roe_dt')
        return df
    except Exception as e:
        print(f"获取ROE数据时出错: {str(e)}")
        return pd.DataFrame()

def get_roa_data(ts_code: str, start_date: str = None, end_date: str = None) -> pd.DataFrame:
    """
    获取公司ROA(总资产收益率)数据
    
    参数:
        ts_code (str): 股票代码 (例如: '600000.SH')
        start_date (str): 开始日期 (例如: '20180101')
        end_date (str): 结束日期 (例如: '20181231')
    
    返回:
        DataFrame: 包含以下字段:
        - ts_code: 股票代码
        - ann_date: 公告日期
        - end_date: 报告期
        - roa: 总资产报酬率
        - roa_yearly: 年化总资产报酬率
        - roa_dp: 总资产净利率(杜邦分析)
    """
    try:
        pro = ts.pro_api()
        df = pro.fina_indicator(ts_code=ts_code,
                              start_date=start_date,
                              end_date=end_date,
                              fields='ts_code,ann_date,end_date,roa,roa_yearly,roa_dp')
        return df
    except Exception as e:
        print(f"获取ROA数据时出错: {str(e)}")
        return pd.DataFrame()

def get_roic_data(ts_code: str, start_date: str = None, end_date: str = None) -> pd.DataFrame:
    """
    获取公司ROIC(投入资本回报率)数据
    
    参数:
        ts_code (str): 股票代码 (例如: '600000.SH')
        start_date (str): 开始日期 (例如: '20180101')
        end_date (str): 结束日期 (例如: '20181231')
    
    返回:
        DataFrame: 包含以下字段:
        - ts_code: 股票代码
        - ann_date: 公告日期
        - end_date: 报告期
        - roic: 投入资本回报率
        - roic_yearly: 年化投入资本回报率
    """
    try:
        pro = ts.pro_api()
        df = pro.fina_indicator(ts_code=ts_code,
                              start_date=start_date,
                              end_date=end_date,
                              fields='ts_code,ann_date,end_date,roic,roic_yearly')
        return df
    except Exception as e:
        print(f"获取ROIC数据时出错: {str(e)}")
        return pd.DataFrame()
相关推荐
TMT星球20 分钟前
生数科技携手央视新闻《文博日历》,推动AI视频技术的创新应用
大数据·人工智能·科技
五味香28 分钟前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
天乐敲代码34 分钟前
JAVASE入门九脚-集合框架ArrayList,LinkedList,HashSet,TreeSet,迭代
java·开发语言·算法
十年一梦实验室39 分钟前
【Eigen教程】矩阵、数组和向量类(二)
线性代数·算法·矩阵
Kent_J_Truman40 分钟前
【子矩阵——优先队列】
算法
计算机徐师兄44 分钟前
Python基于Django的花卉商城系统的设计与实现(附源码,文档说明)
python·django·python django·花卉商城系统·花卉·花卉商城·python花卉商城系统
机械心1 小时前
pytorch深度学习模型推理和部署、pytorch&ONNX&tensorRT模型转换以及python和C++版本部署
pytorch·python·深度学习
ALISHENGYA1 小时前
精讲Python之turtle库(二):设置画笔颜色、回旋伞、变色回旋伞、黄色三角形、五角星,附源代码
python·turtle
drebander2 小时前
PyTorch 模型 浅读
pytorch·python·大模型
securitor2 小时前
【java】IP来源提取国家地址
java·前端·python