計算將來的價值
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 # 能夠看到增加是很恐怖的
用於根據將來計算如今的價值
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計算pv
class
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
根據本金和利率計算出每期須要支付的金額
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元
計算出須要付款多少期
時間
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期
計算利率
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
計算內部收益率
一我的投資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