numpy中与金融有关的函数

fv函数

计算将来的价值python

def fv(rate, nper, pmt, pv, when='end'):
    ...
参数:
rate:存款/贷款每期的利率
nper:存款/贷款期数
pmt:存款/贷款每期支付的金额
pv:当前的存款/贷款金额

好比,古明地觉去博丽灵梦神社去存款,假设年利率是3%,存款为1000,而后每一个季度都会存10元,那么五年后能拿到多少钱呢?函数

"""
年利率是百分之3,那么每一个季度显然就是0.03 / 4
每一个季度存10元,存五年,那么期数显然是5 * 4期
所以:
rate = 0.0. / 4
nper = 5 * 4
pmt = -10
pv = -1000
至于pmt和pv为何是负的,能够想象一下存款,至关因而给别人钱,因此是负的,取出来的时候,别人给你,会是正的
"""
result = np.fv(0.03 / 4, 5 * 4, -10, -1000)
print(result)  # 1376.0963320407982
# 能够看到5年后能拿这么多

# 若是咱们把年利率改大一点的话,就改为1吧
import numpy as np


result = np.fv(1 / 4, 5 * 4, -10, -1000)
print(result)  # 90165.62075079395
# 能够看到增加是很恐怖的

pv函数

用于根据将来计算如今的价值code

def pv(rate, nper, pmt, fv=0, when='end'):
    ...
rate:存款/贷款每期的利率
nper:存款/贷款期数
pmt:存款/贷款每期支付的金额
fv:将来的存款/贷款金额

好比,古明地觉去博丽灵梦神社去存款,假设年利率是3%,而后每一个季度都会存10元,若是五年后拿到1376.0963320407982,那么她如今要存多少钱呢?it

import numpy as np


result = np.pv(0.03 / 4, 5 * 4, -10, 1376.0963320407982)
# fv至关因而你拿到的钱,因此是正的
print(result)  # -1000.0
# 说明若是想在五年后拿到1376.0963320407982,如今要交出1000元

所以pv函数和fv正好是相反的。fv函数要传入pv计算fv,pv函数要传入fv计算pvclass


npv函数

npv(net present value)定义为按照折现率计算的净现金流之和。净现值是指投资方案所产生的现金净流量(流入-流出)以资金成本为贴现率,折现以后与原始投资额现值的差额import

def npv(rate, values):
    ...
rate:存款/贷款每期的利率
values:现金

古明地觉投资100, 收益39,59,55,20,折现率为28.1%,则净现值为:numpy

import numpy as np


result = np.npv(0.281, [-100, 39, 59, 55, 20])
print(result)  # -0.00847859163845488

pmt函数

根据本金和利率计算出每期须要支付的金额im

def pmt(rate, nper, pv, fv=0, when='end'):
    ...
rate:存款/贷款每期的利率
nper:存款/贷款期数
pv:存款/贷款金额

古明地觉要买房,房贷20万,准备15年还清,年利率为7.5%,则每月须要换多少钱支付

import numpy as np

"""
rate:0.075 / 12
nper:15 * 12
pv:这里是贷了200000,因此钱是到本身兜里了,因此是正的
"""
result = np.pmt(0.075 / 12, 15 * 12, 200000)
print(result)  # -1854.0247200054619
# 说明每月要支出,也就是给银行1854.0247200054619元

nper函数

计算出须要付款多少期时间

def nper(rate, pmt, pv, fv=0, when='end'):
    ...
rate:存款/贷款每期的利率
pmt:存款/贷款每期的金额
pv:存款/贷款金额

古明地觉房贷20万,年利率为7.5%,每月还2000,则须要换多少期

import numpy as np

"""
rate:0.075 / 12
pmt:每月支出两千,因此是负的,-200
pv:这里是贷了200000,因此钱是到本身兜里了,因此是正的
"""
result = np.nper(0.075 / 12, -2000, 200000)
print(result)  # 157.42258584992115
# 说明要还157.42258584992115期

rate函数

计算利率

def rate(nper, pmt, pv, fv, when='end', guess=None, tol=None, maxiter=100):
    ...
nper:期数
pmt:每期的存款/贷款金额
pv:present value
fv:future value

古明地盆存了1000元,而后每一个季度存款10元,存了5年,五年后拿到了1376.0963320407982,那么年利率是多少呢?

import numpy as np


result = np.rate(5 * 4, -10, -1000, 1376.0963320407982)
print(result * 4)  # 0.030000000000003947
# 说明年利率是0.030000000000003947

irr函数

计算内部收益率

一我的投资100,而后按照固定的时间间隔进行取款,39,59,55,20
因为是阶段性区块,收益率不是作简单的平均。而是用如下的公式计算
-100 + 39/(1+r) + 59/(1+r)^2 + 55/(1+r)^3 + 20/(1+r)^4 = 0
import numpy as np


result = np.irr([-100, 39, 59, 55, 20])
print(result)  # 0.2809484211599611
相关文章
相关标签/搜索