python在财务中的应用-【手把手教你】Python金融财务分析

本文介绍了Python在财务分析中的应用,包括货币时间价值计算、年金处理、实际利率理解以及项目投资分析方法如净现值法和内部收益率法。通过实例展示了如何使用Python计算现值、终值和内部收益率,并对比了不同项目投资的价值。
摘要由CSDN通过智能技术生成

微信公众号:

1. 货币时间价值

实际上numpy和scipy很强大,包含了计算各种财务指标的函数,可以直接调用,终值(fv)、现值(pv)、净现值(npv)、每期支付金额(pmt)、内部收益率(irr)、修正内部收益率(mirr)、定期付款期数(nper)、利率(rate)等等。

math?formula=PV%3D%5Cfrac%7BC%7D%7B(1%2Br)%5En%7D%20%EF%BC%8CFV%3DC*(1%2Br)%5En

其中,PV为现值,FV为终值;C为现金流,r贴现率,n期限。

2. 年金计算

在n个时期内,每个时期可以获得等额现金流PMT,利率为r,以下是考试笔算时的公式:

普通年金现值:

math?formula=PV(annuity)%3D%5Cfrac%7BPMT%7D%7Br%7D%5Cleft%5B1-%5Cfrac%7B1%7D%7B(1%2Br)%5En%7D%5Cright%5D

普通年金终值:

math?formula=FV(annuity)%3D%5Cfrac%7BPMT%7D%7Br%7D%5Cleft%5B(1%2Br)%5En-1%5Cright%5D

永续债券现值:

math?formula=PV(perpetuity)%3D%5Cfrac%7Bc%7D%7Br%7D

其中,c为未来每期可以获得的现金收入,g是c的固定增长率。

math?formula=PV(perpetuity)%3D%5Cfrac%7Bc%7D%7Br-g%7D

年金计算比较简单,相当于等比数列求和。

#自定义计算一系列现金流现值(如年金)的函数

def pv_f(c,r,n,when=1):

'''

c代表每期现金流,可以每期不一样,如c=[100,90,80,120]

r贴现率,也可以每期不一样,如相应的,r=[2%,3%,2%,4%]

n为期数

when=1表示期末计数,默认,即普通年金

when=0表示期初计数,即预付年金

'''

import numpy as np #导入numpy库

c=np.array(c)

r=np.array(r)

if when==1:

n=np.arange(1,n+1)

else:

n=np.arange(0,n)

pv=c/(1+r)**n

return pv.sum()

应用实例1: 有个五年的普通年金年金,每年可获得20000元,假设贴现率为5%,现值是多少?

扩展:如果是预付年金呢?

c=20000

r=0.05

n=5

#调用前文定义的函数pv_f(c,r,n,when=1)

pv1=pv_f(c,r,n,when=1)

print("普通年金现值(年末):%.2f"% pv1)

#如果是预付年金,则when=0

pv2=pv_f(c,r,n,when=0)

print("预付年金现值(年初):%.2f" % pv2)

普通年金现值(年末):86589.53

预付年金现值(年初):90919.01

#使用上2.年金计算公式验证下我们自定义函数是否正确

pv1=20000/0.05*(1-1/(1+0.05)**5)

print("使用计算公式计算(年末):{:.2f}" .format(pv1))

pv2=20000/0.05*(1-1/(1+0.05)**5)*(1+0.05)

print("使用计算公式计算(年初):{:.2f}" .format(pv2))

#使用numpy自带函数验证

import numpy as np

print("numpy自带公式计算(年末):{:.2f}".format(np.pv(r,5,-c),when=0))

pri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值