一、普通年金现值
是指为在每期期末取得相等金额的款项,现在需要投入的金额。发生在每期期末(定期),等额,系列款项。关注点是现在的金额。
二、普通年金现值计算
根据上图:
三、普通年金现值计算程序
# =============================================================================
# # -*- coding: utf-8 -*-
# """
# This is python program
# Created on Tue Sep 20 15: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 pv_A(A,rate,n,when=1):
A = np.array(A)
rate = np.array(rate)
if when == 1:
n = np.arange(1,n 1)
else:
n = np.arange(0,n)
pv_A = A/(1 rate)**n
return round(pv_A.sum(),2)
pv_A(A=100,rate=0.1,n=3,when=1)
pv_A(A=100,rate=0.1,n=3,when=0)
仅供参考。
,