预付年金终值计算与什么无关(34预付年金终值)
预付年金终值计算与什么无关(34预付年金终值)
一、预付年金预付年金是指在每期期初支付的年金,又称为即付年金或期初年金。发生在每期期初。
二、预付年金终值预付年金支付形式如下图所示。其终值就是将每期期初发生的现金流A,按照复利的原理计算其终值(本利和,本 息)后再求和。
根据上图:
三、预付年金终值计算程序# =============================================================================
# # -*- coding: utf-8 -*-
# """
# This is python program
# Created on Tue Sep 21 10:02:42 2022
# @author: zgr
# """
# A代表年金。如A=100。广播为每期现金流,可以每期不一样,如可以设为cashflow=[232 190 380 120,,,]
# rate贴现率/利率。如rate=0.1。也可以每期不一样,如相应的,rate=[8% 6% 12% 10%,,,]
# n为期数
# when=1表示现金流发生在期末,即普通年金。程序设定的默认值为1。
# when=0表示现金流发生在期初,即预付年金。
# 该段程序不仅仅是用来计算年金现值,如果把A设置为对应每期的现金流cashlow,
# rate设置为对应期间的贴现率/利率,如:cashflow=[120 300 234 ]
# rate = [0.1 0.12 0.08 ]则该段程序就计算出对应的现值。
# =============================================================================
import numpy as np
def fv_A(cashflow rate n when=1):
cashflow = np.array(cashflow)
rate = np.array(rate)
if when == 1:
n = sorted(np.arange(0 n) reverse=True)
else:
n = sorted(np.arange(1 n 1) reverse=True)
fv_A = cashflow*(1 rate)**n
return round(fv_A.sum() 2)
# 测试数据
cashflow = 10000
rate = 0.1
n = 3
when = 0
when = 1
# 年金
fv_A(cashflow rate n when)
# 普通现金流,每期不一样,折现率每期也不一样
cashflow = [100 200 300]
rate = [0.1 0.2 0.3]
# 现金流有空缺
cashflow = [100 0 300]
仅供参考。