金融入门课程之-年金到期

小卡 金融 2019-11-29 19 0 金融入门课程
[~~☛关于启用赞助会员☚~~]

还有一种称为“年金到期”的东西,它与常规年金相同,只是我们一年前收到付款。因此,购买年金到期,我们会立即付款。我们仍会获得相同数量的付款,但所有金额都已转移。在图形上,它可以表示为一个周期的移位。

plt.rcParams["figure.figsize"] = [12,4]

#There is also a such thing as an annuity due, which is an annuity where you get your payment one period earlier
#So on a timeline an annuity due for 5 years would look like this
payments = []
for x in range(0,5):
    payments.append((100,x))

timelinePlot(5,payments)
#You immediately get money in period 0, but get none on period 5 since you already got your 5 payments

以前,我们的年金现值带有一个类似下面的循环。

#How does this affect TVM? Well your first payment now has exactly $100 present value since you get it immediately
#Your second value was being discounted by t=2, but now you get it a period earlier, so it is only discounted by t=1
#And so on
#Let's take the example from before which was
PV = 0
for t in range(1,6):
    PV += 100/(1.05)**t
print(PV)

如果是年金,那么我们使用t-1,因为我们一年四季都可以收到付款。

#now we have t-1 since we get them all a year early
PV = 0
for t in range(1,6):
    #Notice the t-1
    PV += 100/(1.05)**(t-1)
print(PV)

在数学上,我们可以注意到年金和到期年金之间的关系。比较n个期间(其中第一个是年金,第二个是到期年金)以下n个期间的现金流量折现流。

PV=C(1+r)1+C(1+r)2+C(1+r)3+...+C(1+r)n1+C(1+r)n" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=C1个+[R1个+C1个+[R2+C1个+[R3++C1个+[Rñ-1个+C1个+[RñPV=C(1+r)0+C(1+r)1+C(1+r)2+...+C(1+r)n2+C(1+r)n1" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=C1个+[R0+C1个+[R1个+C1个+[R2++C1个+[Rñ-2+C1个+[Rñ-1个

查看年金现金流,看看如果我们将每一项乘以(1 + r),会发生什么

PV=(1+r)[C(1+r)1+C(1+r)2+C(1+r)3+...+C(1+r)n1+C(1+r)n]" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=1个+[R[C1个+[R1个+C1个+[R2+C1个+[R3++C1个+[Rñ-1个+C1个+[Rñ]PV=C(1+r)11+C(1+r)21+C(1+r)31+...+C(1+r)n11+C(1+r)n1" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=C1个+[R1个-1个+C1个+[R2-1个+C1个+[R3-1个++C1个+[Rñ-1个-1个+C1个+[Rñ-1个PV=C(1+r)0+C(1+r)1+C(1+r)2+...+C(1+r)n2+C(1+r)n1" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=C1个+[R0+C1个+[R1个+C1个+[R2++C1个+[Rñ-2+C1个+[Rñ-1个

年金等于年金乘以(1 + r)的现值,其中r是该期间的利率,因此,如果它是半年度利率,则是6个月内应计的利率。

#(1.05)**t-1 is equal to (1.05)**t * (1.05)**-1
#So we are dividing every payment by (1.05)**-1
#Or conversely multiplying every payment by (1.05)**1
#And we can actually pull it out of the summation since everything is multiplied by it
PV = 0
for t in range(1,6):
    PV += 100/(1.05)**t
print(PV)
print(PV*1.05)

如果您更喜欢折价年金,就好像它的年期短了一样,那么还有一个年金到期日等式,然后在没有折现的情况下在前面增加了最后一个期末损失。

PV=C+C[1(1+r)(n1)r]" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV=C+C[1个-1个+[R-ñ-1个[R]<
style="box-sizing: border-box;"/>PV = Present Value of Annuity" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">PV =年金现值C = Coupon Payment" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">C =优惠券付款r = Discount Rate" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">r =贴现率n = Number of Payments" role="presentation" style="box-sizing: border-box; display: inline-block; line-height: 0; text-indent: 0px; text-align: center; text-transform: none; font-style: normal; font-weight: normal; font-size: 16.94px; letter-spacing: normal; overflow-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; margin: 0px; padding: 1px 0px; position: relative;">
#So you can multiply an annuity by (1+r) or use the following equation
def annuityDue(P,n,r):
    annuityFactor = (1-(1+r)**-(n-1))/r
    annuity = annuityFactor*P+P
    return annuity
print(annuityDue(100,5,.05))


版权免责声明

卡卡教学资源网所有资源全部来源于网络整理,本站目地只是为了提供给网友学习研究任何人以任何方式架设运营或出现任何法律问题都与本站无关,如同意观点请下载,如不同意请离开!卡卡教学资源网特此声明!

分享:

扫一扫在手机阅读、分享本文

本站资源所有内容免费,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号
×