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

计算复合收益和复合收益率,还是要从最基本的公式开始推,这里用年复合收益和年复合收益率来举例说明,计算方面用 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

本文禁止任何网站转载,严厉谴责那些蛀虫们。
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章

时间: 2024-12-20 01:06:42

计算复合收益和复合收益率的相关文章

凸函数复合保凸,一般复合,特殊复合(复合仿射映射),各自的保凸条件

一般复合又分为标量复合与矢量复合,它们相对于复合仿射映射来说,条件比较严格. 参考凸优化. 原文地址:https://www.cnblogs.com/CreatorKou/p/10177073.html

数值计算实验报告---复合求积公式(梯形、抛物线、龙贝格)、导数求值(三点、四点、五点公式)

----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy ··复合抛物线公式: ··龙贝格公式: 四.实验内容 ------1 实验题目1中所用到的三种算法的matlab实现代码具体如下: %复合梯形公式 function y=funct(f,n,a,b) fi=f(a)+f(b); h=(b-a)/n; d=1; for i=1:n-1 x=a+i*h; fi=fi+2*f(x); d=d+1; end f4=h/2*fi,d %

大数据架构和模式(四)——了解用于大数据解决方案的原子模式和复合模式

摘要:本文中介绍的模式有助于定义大数据解决方案的参数.本文将介绍最常见的和经常发生的大数据问题以及它们的解决方案.原子模式描述了使用.处理.访问和存储大数据的典型方法.复合模式由原子模式组成,并根据大数据解决方案的范围进行分类.由于每个复合模式都有若干个维度,所以每个模式都有许多变化.复合模式使得业务和技术用户可以应用一个结构化方法为大数据问题建立范围,并定义高级的解决方案. 简介 本系列的 第 3 部分 介绍了大数据解决方案的逻辑层.这些层定义了各种组件,并对它们进行分类,这些组件必须处理某个

HealthKit开发教程之HealthKit的复合数据

HealthKit开发教程之HealthKit的复合数据 复合数据就是复合单位和值构成的数据.所谓复合单位就是由单位进行乘法.除法等得到的单位,如m/s.lb·ft等就是复合单位.本节将针对这些复合数据进行讲解. HealthKit的相乘得到的复合数据 在物理学中我们可能接触过类似lb·ft(扭矩单位,扭矩是使物体发生转动的一种特殊的力矩.)这样的单位.这种单位我们可以看做是两个单位相乘得到的复合单位.开发者如果想要在自己的程序中使用这种复合单位,首先需要对这种单位进行创建.创建这种单位需要使用

大数据架构和模式(四)了解用于大数据解决方案的原子模式和复合模式

本文收藏于:http://kb.cnblogs.com/page/510982/ 作者: Divakar等  来源: DeveloperWorks  发布时间: 2015-01-29 18:21   推荐: 0   原文链接   [收藏] 摘要:本文中介绍的模式有助于定义大数据解决方案的参数.本文将介绍最常见的和经常发生的大数据问题以及它们的解决方案.原子模式描述了使用.处理.访问和存储大数据的典型方法.复合模式由原子模式组成,并根据大数据解决方案的范围进行分类.由于每个复合模式都有若干个维度,

Java千问:关于Java语言复合赋值运算符的两个问题,快来瞧瞧!

我们知道,在Java以及很多高级编程语言当中,都有一种运算符叫做复合赋值运算符.复合赋值运算符由两个符号组成,它所能完成的运算操作也分为两步:第一步是运算,第二步是赋值.比如说:上面的这两条语句相当于但是,如果碰到下面这样的情况,a的值该应该是多少呢?有人认为应该按以下方式来计算,因为我们都知道,在四则运算规则中,遵循"先乘除,后加减"的原则按照这样的方式来计算,得到a的值应该是7,但实际运行程序所得到的结果是8.这是为什么呢?就是因为复合赋值运算符在完成运算的时候,遵循一个规则:把&

【转载】COM 组件设计与应用(一)——起源及复合文件

原文:http://vckbase.com/index.php/wv/1201.html 一.前言 公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦.你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书籍(注2).功夫不负有心人,终于买到了我的第一本COM书<OLE2 高级编程技术>,这本800多页的大布头花费了

hadoop复合键排序使用方法

在hadoop中处理复杂业务时,需要用到复合键,复合不同于单纯的继承Writable接口,而是继承了WritableComparable<T>接口,而实际上,WritableComparable<T>接口继承了Writable和Comparable<T>接口,如果只需要使用某一个类作为传值对象而不是作为key,继承Writable接口即可. 上源码: public interface WritableComparable<T> extends Writabl

Hibernate 表映射 主键生成策略与复合主键

主要分析三点: 一.数据表和Java类的映射 : 二.单一主键映射和主键的生成策略 : 三.复合主键的表映射 : 一.数据表和Java类的映射  Hibernate封装了数据库DDL语句,只需要将数据表和类之间实现映射,即可对数据表进行操作. 示例:数据库中存在表interface_admin.ds_area,实现表和类之间映射,其中单一主键oggKeyId,使用主键自动生成策略UUID,具体第二点进行阐述 . package com.pec.model; import java.io.Seri