业绩归因 绩效评估 - 各种收益率计算方法

2023-11-16

收益率计算

1 定义

1.1 日收益率

收 益 率 = 收 益 额 成 本 收益率 = \frac{收益额}{成本} =

某一天,小红投入1000元买了股票A,收盘时股票市值变为1200,赚了200元, 那么收益率 = 20%

1.2 资金出入

同一天,小红追加了500元,买了个股票B ,收盘时,股票B的市值为600元

此时 , 成本 = 1000 + 500 = 1500 ,收益额 = 200 + 100 = 300

收益率 = 300/1500 = 20%

知道一天的收益率怎么算,下面介绍n天的累计收益率的计算方法。

2 时间加权法

r = ( 1 + r 1 ) ( 1 + r 2 ) ⋯ ( r + r n ) − 1 r = (1+r_1)(1+r_2)\cdots(r+r_n)-1 r=(1+r1)(1+r2)(r+rn)1

  • 例子

    时间 指标
    1.1 期初市值 100
    1.1 期末市值 2001.
    1.2 资金流入 1000
    1.2 期初市值 1200
    1.2 期末市值 700

    r = 1200 − 1000 100 × 700 1200 − 1 = 16.7 % r = \frac{1200-1000}{100} \times \frac{700}{1200}-1 = 16.7 \% r=10012001000×12007001=16.7%

    时间加权假设所有的资金都是期初投入,可以达到16.7%的收益率。 而这个例子中,客户实际是亏钱的。

    采用Simple Dietz 资金加权
    r = 700 − 100 − 1000 100 + 1000 2 = − 67.67 % r = \frac{700-100-1000}{100+\frac{1000}{2}} = -67.67\% r=100+210007001001000=67.67%

3 资金加权法

3.1 Simple Dietz

r = V E − V s − C V s + C 2 r = \frac{V_E-V_s - C}{V_s + \frac{C}{2}} r=Vs+2CVEVsC

  • V E V_E VE 期末资产, V S V_S VS期初资产 C C C 流入现金

  • 例子:

    时间 指标
    12.31 期初市值 74.2
    1.14 资金流入 37.1
    1.31 期末市值 104.4

r = 104.4 − 74.2 − 37.1 74.2 + 37.1 2 r = \frac{104.4 - 74.2 -37.1}{74.2 + \frac{37.1}{2}} r=74.2+237.1104.474.237.1

3.2 Modified Dietz

r = V E − V s − C V s + ∑ C t × W t r = \frac{V_E-V_s - C}{V_s + \sum{C_t\times W_t} } r=Vs+Ct×WtVEVsC

其中, C C C 总流入, C t C_t Ct t t t日现金流入, W t W_t Wt t t t日现金流用来计算成本的权重

W t = T D − D t T D W_t = \frac{TD-D_t}{TD} Wt=TDTDDt
W t W_t Wt可理解为剩余的投资时间与总投资时间的比例

式子中 T D TD TD 总投资周期 , D t D_t Dt 为从投资开始到 t t t日经历的时间

权重的意义在于:期初流入的钱全部当做成本( C t C_t Ct), 某个中间时间点流入的钱,经过权重修正后当做成本( C t × W t C_t\times W_t Ct×Wt)

  • 例子

    时间 指标
    12.31 期初市值 74.2
    1.14 资金流入 37.1
    1.31 期末市值 104.4

r = 104.4 − 74.2 − 37.1 74.2 + ( 31 − 14 31 ) × 37.1 r = \frac{104.4 - 74.2 - 37.1}{ 74.2 + (\frac{31-14}{31})\times 37.1} r=74.2+(313114)×37.1104.474.237.1

  • 小结

    如果没有资金的流出流入,时间加权 和 资金加权 计算出的结果是一样的

    资金选择计算可以体现择时特征,时间加权没体系择时特征。

    资金加权计算,在市场好的时候 更好,差的时候更差,即:
    在市场好的时候追加资金,用资金加权法算的收益率 大于 时间加权计算的
    在市场不好的时候追加资金,用资金加权法算的收益率 小于 时间加权计算

4 混合方法

时间 指标
12.31 期初市值 74.2
1.14 资金流入 37.1
1.14 收盘 市值 103.1
1.31 期末市值 104.4

103.1 − 37.1 74.2 × 104.4 103.1 − 1 = − 9.93 % \frac{103.1 - 37.1}{74.2} \times \frac{104.4}{103.1} -1 = -9.93\% 74.2103.137.1×103.1104.41=9.93%

两个阶段的累计收益率用时间加权,单个阶段的收益率用资金加权计算

5 指数替换法

时间 指标
12.31 期初市值 74.2
1.14 资金流入 37.1
1.14 收盘 市值 103.1
1.31 期末市值 104.4

资金流入按照指数的收益折现成 期初的投入,当成是成本。这样处理,对所有者来说流入资金的时间成本都是公平的。

假设12.23 -1.14时,指数的涨幅为 -10.68%

根据指数替换法

  • 采用时间加权计算

r = 74.2 × ( 1 − 10.68 % ) 74.2 × 104.4 74.2 × ( 1 − 10.68 % ) + 37.1 = − 9.79 % r = \frac{74.2 \times (1-10.68\%)}{74.2}\times\frac{104.4}{74.2 \times(1-10.68\%)+37.1}=-9.79\% r=74.274.2×(110.68%)×74.2×(110.68%)+37.1104.4=9.79%

  • 采用资金加权计算

    期初成本: $74.2 + \frac{37.1}{1-10.68%} $

r = 104.4 − ( 74.2 + 37.1 1 − 10.68 % ) 74.2 + 37.1 1 − 10.68 % = − 9.79 % r = \frac{104.4 - (74.2 + \frac{37.1}{1-10.68\% } )}{74.2 + \frac{37.1}{1-10.68\%}} = -9.79\% r=74.2+110.68%37.1104.4(74.2+110.68%37.1)=9.79%
可以看出采用指数替换法,用时间加权和资金加权计算出的结果是一样的

6 β \beta β方法

β \beta β为投资组合的系统风险,波动率,假设 β = 1.05 \beta=1.05 β=1.05

  • 采用时间加权计算

r = 74.2 × ( 1 − 10.68 % × β ) 74.2 × 104.4 74.2 × ( 1 − 10.68 % × β ) + 37.1 = − 9.99 % r = \frac{74.2 \times (1-10.68\%\times\beta)}{74.2}\times\frac{104.4}{74.2 \times (1-10.68\% \times \beta)+37.1}=-9.99\% r=74.274.2×(110.68%×β)×74.2×(110.68%×β)+37.1104.4=9.99%

  • 采用资金加权计算

r = 104.4 − ( 74.2 + 37.1 1 − 10.68 % × β ) 74.2 + 37.1 1 − 10.68 % × β = − 9.99 % r = \frac{104.4 - (74.2 + \frac{37.1}{1-10.68\% \times \beta)}}{74.2 + \frac{37.1}{1-10.68\% \times \beta}}=-9.99\% r=74.2+110.68%×β37.1104.4(74.2+110.68%×β)37.1=9.99%

7 Analyst 方法

Analyst方法有下面特点:

  • 对资金的流入用权重修正下( C t × W t C_t\times W_t Ct×Wt)后作为期初成本的一部分
  • 收益率是 基于指数的几何超额收益率
时间 指标
12.31 期初市值 74.2
1.14 资金流入 37.1
1.14 收盘 市值 103.1
1.31 期末市值 104.4
12.31 - 1.14 指数收益 -10.68%
1.14 - 1.31 指数收益 3.09%
12.31 - 1.31 指数收益 -7.92%

V N = ( 74.2 × ( 1 − 0.1068 ) + 37.1 ) × 1.0309 ) = 106.547 V_N=(74.2 \times (1-0.1068) + 37.1) \times 1.0309) = 106.547 VN=(74.2×(10.1068)+37.1)×1.0309)=106.547

C T = 37.1 C_T=37.1 CT=37.1

C w = C t × W t = 7.1 × 31 − 14 31 = 20.35 C_w=C_t \times W_t = 7.1 \times \frac{31-14}{31} = 20.35 Cw=Ct×Wt=7.1×313114=20.35

  • 时间加权计算

r = 104.4 − ( 37.1 − 20.35 ) 106.57 − ( 37.1 − 20.35 ) × ( 1 − 0.0792 % ) − 1 = − 10.14 % r = \frac{104.4 - (37.1 - 20.35)}{106.57 - (37.1 - 20.35) } \times (1-0.0792\%) -1 =-10.14\% r=106.57(37.120.35)104.4(37.120.35)×(10.0792%)1=10.14%

8 年化收益

算术平均

r A = f n × ∑ i = 1 i = n r i r_A = \frac{f}{n} \times \sum_{i=1}^{i=n}r_i rA=nf×i=1i=nri

几何平均

r G = ( ∏ i = 1 n ( 1 + r i ) f n − 1 r_G= (\prod_{i=1}^{n}(1+r_i)^\frac{f}{n}-1 rG=(i=1n(1+ri)nf1

f n \frac{f}{n} nf 一年有多少个投资(分析)周期,每个分析周期的收益率为 r i r_i ri

9 总结

基于上述介绍的方法如何计算收益率,如果有数据可以验证下。

实际计算一个普通投资者的收益率中,会遇到很多问题,目前的实盘比赛中计算收益率的方法多采用时间加权,其实对于衡量普通投资者来说,这个计算公式并不能很好的衡量投资者的投资能力。

上海证券

3.2本次大赛名次以收益率排名计算,收益率的计算方法:

​ 当日收益额=sum(当日所有A股及封闭式基金卖出收入+当日分红收入)+sum(当日所有A股及封闭式基金持仓市值)-sum(当日所有A股及封闭式基金买入支出)-sum(所有昨日A股及封闭式基金持仓市值)

​ 入金情况:

​ 当日收益率=当日收益额/(前日账户总资产+今日入金)

​ 出金情况:

​ 当日收益率=当日收益额/(前日账户总资产)

​ 总收益率=(1+(t-n)日收益率)×……×(1+(t-2)日收益率)×(1+(t-1)日收益率)×(1+(t0)日收益率)-1

东方财富证券

选手单日的收益率计算方法采用业界通用的“Modified Dietz算法”,比赛期间总收益率为单日收益率连乘,公式如下:

当日收益率=当日收益额÷(当日期初资产+当日入金),当日所有时段入金都记为盘前入金

当日入金=MAX(当日累计入金-当日累计出金,0)

当日收益额=当日期末持仓市值-当日期初持仓市值+当日所有卖出收入-当日所有买入支出

净值=1×(1+第1日当日收益率)×(1+第2日当日收益率)×(1+第3日当日收益率)×……×(1+第N日当日收益率)

总收益率=[1×(1+第1日当日收益率)×(1+第2日当日收益率)×(1+第3日当日收益率)×……×(1+第N日当日收益率)-1] ×100 %,总收益率即为“预赛个人收益率”

比赛期间的盘后资金清算业务,如红利、利息等的收入或支出,不纳入收益率计算,但相应的资金增减计入“预赛个人总资产”。

​ 例:选手A预赛期间的一日,期初资产为50000元(30000元持仓市值和20000元资金),上午买入10000元A股,下午卖出5000元A股,又银证入金10000元,收市后资产为63500元(38500元持仓市值和25000元资金)。

​ 当日收益额:38500-30000+5000-10000=3500

​ 当日收益率:3500÷(50000+10000)=5.83%

​ 接下去3日,选手A的当日收益率分别为5%,8%,10%,则总收益率为:[1×(1+5.83%)×(1+5%)×(1+8%)×(1+10%)-1] ×100 %=32.01%

10 参考文献

Practical Portfolio Performance Measurement and Attribution

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

业绩归因 绩效评估 - 各种收益率计算方法 的相关文章

  • 数据仓库介绍与实时数仓案例

    案例与解决方案汇总页 阿里云实时计算产品案例 解决方案汇总 PPT见附件 1 数据仓库简介 数据仓库是一个面向主题的 Subject Oriented 集成的 Integrate 相对稳定的 Non Volatile 反映历史变化 Time

随机推荐

  • laravel框架中实现代码追踪(PHPstorm IDE)

    1 在phpstorm file settings plugins 搜索Laravel Plugin 安装 2 安装ide helper插件 1 composer require barryvdh laravel ide helper 如果
  • 多线程之守护线程

    一 守护线程介绍 线程分为用户线程和守护线程 而守护线程就是为用户线程服务的一种线程 一般具有较低的优先级 用户线程停止 守护线程也就停止了 举个例子 你在看电视 那么你在看电视可以作为一个用户线程 而电视机运行则就是守护线程 而你不看电视
  • Java Web学习笔记

    命令行生成最简单的Java Web项目 1 进入合适的目录 使用maven命令来生成web项目 mvn archetype generate DgroupId com litb aims DartifactId web app Darche
  • C++ map::begin()、end()

    在C 中 std map是一个关联容器 它提供了一种键 值对的存储方式 并按照键的排序顺序进行自动排序 map类提供了一系列的成员函数 其中包括begin 和end 函数 用于获取指向map容器中第一个元素和最后一个元素之后位置的迭代器 下
  • RPC与Netty简介

    RPC 一 Socket介绍 Socket概述 Socket 套接字就是两台主机之间逻辑连接的端点 TCP IP协议是传输层协议 主要解决数据如何在网络中传输 而HTTP是应用层协议 主要解决如何包装数据 Socket是通信的基石 是支持T
  • JsRPC技术介绍及服务搭建

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 前言 Js Rpc意思就是远程调用js代码 全称 Remote
  • 13.1 二次型Quadratic Form

    文章目录 曲面 定义 举例 曲面 曲面是非常值得研究的 在制造业中 曲面尤其重要 所以我们先从曲面开始 比如以下曲面 它的方程是 z 3 x 2
  • Linux上Redis的启动、使用和停止

    0 安装Redis参考06003 redis在Linux上的安装 1 Redis的启动 1 前端模式启动 直接运行bin redis server将以前端模式启动 切换到 usr local redis redis bin目录下 然后 re
  • C/C++

    文章目录 VSCode中C编译环境配置 MinGW gcc 操作系统 win10专业版 64位 待安装的软件及工具 1 安装VSCode 2 安装C C 插件 执行代码 停止代码运行 Code Runner配置方法 3 下载及安装MinGW
  • 构造函数和工厂函数学习笔记

    之前对构造函数和工厂函数有一定的困扰 究竟什么是工厂函数什么才算是构造函数 在网上查了他两的区别后发现大多数讲的都不尽人意 可以说是越看越懵 后来被我们老大看到了 很有意思的说 这个他们说的都不是那么一回事 算了我来和你讲吧 我问你 工厂主
  • 【猿人学WEB题目专解】猿人学第1题

    据说 看我文章时 关注 点赞 收藏 的 帅哥美女们 心情都会不自觉的好起来 前言 作者简介 大家好我是 user from future 意思是 来自未来的用户 寓意着未来的自己一定很棒 个人主页 点我直达 在这里肯定能找到你想要的 专栏介
  • Openerp权限设置总结

    主要对模块下的security 目录下的文件 xxx security xml ir model access csv进行讲解 xxx security xml 1 建立组
  • python3通过pymysql连接MySQL数据库操作

    python连接MySQL数据库 所需要的工具 PyCharm pymysql插件 MySQL数据库 安装pymysql插件 在PyCharm中依次点击file gt setting gt project xxx gt project in
  • 一个简单的会先客户端/服务器应用

    不管服务器从客户端收到什么输入 都会将其回显出来 在命令行中指定TCP接口 几个注意的地方 要使用socket error要记得提前导入 from socket import error 用docopt从命令行中取得端口号 这是字符串类型的
  • 【Qt】运行py加载ui文件,顶层窗口的背景、布局等样式失效(与预览不同),或特定对象和布局无法显示(包括代码生成)

    目录 一 问题 情况 二 一些解决方法 0 分辨率 屏幕适配问题 1 运行环境问题 三 通用解决方法 更新 方法更高效耶 一 问题 情况 遇到的问题 1 运行py文件 代码中通过加载ui文件 设置为顶层窗口 运行结果与预览不同 窗口样式失效
  • 使用python读取和保存为excel、csv、txt文件以及对DataFrame文件的基本操作

    文章目录 一 对excel文件的处理 1 读取excel文件并将其内容转化DataFrame和矩阵形式 2 将数据写入xlsx文件 3 将数据保存为xlsx文件 4 使用excel对数据进行处理的缺点 二 对csv文件的处理 1 读取csv
  • adb shell 小米手机_小米手机ADB删除系统应用去广告。

    小米手机ADB删除系统应用去广告 前言 1 准备 2 进入开发者模式 3 连接手机与电脑 4 使用ADB命令删除系统应用 本文要介绍的方法可以免 root 卸载预置应用 仅删除当前用户下的 APP 不是彻底删除 APP 恢复出厂设置后 删除
  • mysql 子查询(七)之子查询排序

    大多数子查询不需要排序 没有意义 因为子查询大多数是作为一个结果或参数给主查询使用 但top n问题除外 举个例子 查询员工表中 行政部 的员工 select from emp where empdetno select empdetno
  • 一种为polar code简化的sc译码

  • 业绩归因 绩效评估 - 各种收益率计算方法

    收益率计算 1 定义 1 1 日收益率 收 益 率 收 益 额