中证500指数市盈率走势图

计算复合收益和复合收益率

计算复合收益和复合收益率,还是要从最基本的公式开始推,这里用年复合收益和年复合收益率来举例说明,计算方面用 python 代码来实现
 
例子1:初始资金2元,年收益率为 20%,5年后资金为多少?
 
import math
 
# 方法1,最原始的计算方法,代码多,逻辑最清晰
capital = 2
rate = 0.2
for i in range(0, 5):
capital *= 1 + rate
print(str(capital))
# result = 4.97664
 
 
# 方法2, 利用平方运算符 **
capital = 2
rate = 0.2
capital *= ((1+rate)**5)
print(str(capital))
# result = 4.976639999999999
 
 
# 方法3,利用 math.pow 函数来计算
capital = 2
rate = 0.2
capital *= math.pow(1+rate, 5)
print(str(capital))
# result = 4.976639999999999

 

 
方法1,主要是为了方便从基本上理解复合收益的计算方法,所以代码最多。
方法2,推荐这个方法,简洁,性能也是最好的。
方法3,和方法2差异不大,math.pow 使用前要 import math
 
最后,得出计算复合收益的公式为:期末资金 = 初始资金 * (1+收益率)**周期
 
 
 
例子2:初始资金2元,5 年后资金为 4.87664,年平均复合收益率是多少呢?
 
如果看明白了例子1,那么例子2 就很简单了,首先从复合收益的公式来反推收益率。
期末资金 / 初始资金 = (1+收益率)**周期
所以收益率也就是 (期末资金 / 初始资金 )开7次方根后 -1,在高数里面都学过,X开7次方根,即 X的 1/7次冥。
 
Python 代码实现:
import math
 
begin = 2
end = 4.97664
a = 5
 
# 方法1
rate = (end/begin)**(1.0/a)-1
print(str(rate))
# result = 0.19999999999999996
 
# 方法2
rate = math.pow(end/begin, 1.0/a)-1
print(str(rate))
# result = 0.19999999999999996
最后,得出计算复合收益率的公式为:(期末资金/初始资金) * * (1/周期)-1

 

本文禁止任何网站转载,严厉谴责那些蛀虫们。
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
posted @ 2017-05-12 21:52  寻自己  阅读(8245)  评论(0编辑  收藏  举报