fv函數
計算未來的價值
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函數
用於根據未來計算現在的價值
def pv(rate, nper, pmt, fv=0, when='end'):
...
rate:存款/貸款每期的利率
nper:存款/貸款期數
pmt:存款/貸款每期支付的金額
fv:未來的存款/貸款金額
比如,古明地覺去博麗靈夢神社去存款,假設年利率是3%,然后每個季度都會存10元,如果五年后拿到1376.0963320407982,那么她現在要存多少錢呢?
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計算pv
npv函數
npv(net present value)定義為按照折現率計算的凈現金流之和。凈現值是指投資方案所產生的現金凈流量(流入-流出)以資金成本為貼現率,折現之后與原始投資額現值的差額
def npv(rate, values):
...
rate:存款/貸款每期的利率
values:現金
古明地覺投資100, 收益39,59,55,20,折現率為28.1%,則凈現值為:
import numpy as np
result = np.npv(0.281, [-100, 39, 59, 55, 20])
print(result) # -0.00847859163845488
pmt函數
根據本金和利率計算出每期需要支付的金額
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