numpy中的金融函數(shù)一覽:
終值 fv
現(xiàn)值 pv
凈現(xiàn)值 npv
每期支付金額 pmt
內(nèi)部收益率 irr
修正內(nèi)部收益率 mirr
定期付款期數(shù) nper
利率 rate
終值:fv旨指,計算的是未來的價值赏酥。
numpy.fv(rate, nper, pmt, pv[, when='end'])
#參數(shù):
rate:每一期的利率(rate of interest)。數(shù)值或矩陣(M, )谆构。
nper:期數(shù)裸扶。
pmt:payment。
pv:present value搬素,現(xiàn)值呵晨。
when:{{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional.
每一期的開頭還是結(jié)尾付。
# 例子:年利率為5%熬尺,存100摸屠,然后每個月存100,10年后可以得到多少粱哼〖径【零存】
>>> np.fv(0.05/12, 10*12, -100, -100)
15692.928894335748
【負值代表現(xiàn)金流出,比如存到銀行后目前就不可用了揭措】柘希】
如果傳入的參數(shù)是array性質(zhì)的,那么計算結(jié)果也是array蜂筹。比如比較不同利率的終值需纳。
>>> a = np.array((0.05, 0.06, 0.07))/12
>>> np.fv(a, 10*12, -100, -100)
array([ 15692.92889434, 16569.87435405, 17509.44688102])
現(xiàn)值:pv,計算未來金額在現(xiàn)在的價值艺挪。
numpy.pv(rate, nper, pmt, fv=0.0, when='end')
#參數(shù)含義同fv
#例子:年利率5%不翩,每月投入100,需要投入多少本金才可以在10年后的15682.93麻裳。
>>> np.pv(0.05/12, 10*12, -100, 15692.93)
-100.00067131625819
每期支付金額:pmt
numpy.pmt(rate, nper, pv[, fv=0, when='end'])
參數(shù):利率口蝠,分期數(shù),現(xiàn)金值津坑。
例子:月付妙蔗,200,000,15年還清疆瑰,年利率為7.5%
>>> np.pmt(0.075/12, 12*15, 200000)
-1854.0247200054619
每期支付金額之本金:ppmt
- numpy.ppmt(rate, per, nper, pv[, fv, when]) Compute the payment against loan principal.
- per表示目前處在第幾個還款期
- 由于在等額還款方式下雖然每期償還的總金額(本金+利息)相等眉反,但是各期的本金及利息不相等昙啄,隨著時間的推移,每期償還的本金逐漸增加寸五,利息逐漸減少梳凛。
每期支付金額之利息:ipmt
numpy.ipmt(rate, per, nper, pv[, fv, when]) Compute the interest portion of a payment.
pmt = ppmt + ipmt
分期數(shù):nper
numpy.nper(rate, pmt, pv, fv=0, when='end')
參數(shù):略
例子:如果你以每月150,年利率為7%梳杏,來還清8000的貸款韧拒,需要多少期?
>>> print(round(np.nper(0.07/12, -150, 8000), 5))
64.07335
同樣也可以計算不同利率十性,做比較叛溢。
利率:rate
numpy.rate(nper, pmt, pv, fv[, when='end', guess=0.1, tol=1e-06, maxiter=100])
以上這些都是當前資金和未來資金的轉(zhuǎn)換。
凈現(xiàn)值:npv(net present value)
- 凈現(xiàn)值是指投資方案所產(chǎn)生的【現(xiàn)金凈流量】(流入-流出)以資金成本為貼現(xiàn)率折現(xiàn)之后與原始投資額現(xiàn)值的差額
- 經(jīng)濟意義
- NPV>0表示項目實施后劲适,除保證可實現(xiàn)預(yù)定的收益率外楷掉,尚可獲得更高的收益。
- NPV<0表示項目實施后霞势,未能達到預(yù)定的收益率水平靖诗,而不能確定項目已虧損。
- NPV=0表示項目實施后的投資收益率正好達到預(yù)期支示,而不是投資項目盈虧平衡。
numpy.npv(rate, values)
參數(shù):
rate: scalar數(shù)值鄙才,折現(xiàn)率颂鸿。
values: 現(xiàn)金流。正數(shù)代表‘收入’或‘取款’攒庵,負數(shù)代表‘投資’或‘存款’嘴纺。
第一個值必須是初始的投資,也就是必須是負數(shù)浓冒。
公式:
NPV=Σ(CI-CO)(1+i)^(-t)
式中:CI——現(xiàn)金流入栽渴,CO——現(xiàn)金流出,(CI-CO)——第t年凈現(xiàn)金流量稳懒,i——基準折現(xiàn)率
>>> np.npv(0.281,[-100, 39, 59, 55, 20])
-0.0084785916384548798
內(nèi)部收益率:irr
numpy.irr(values)返回Internal Rate of Return (IRR).
參數(shù):
values: array形式闲擦,每一期的現(xiàn)金流。
#用例子來解釋:
一個人投資100场梆,然后按照固定的時間間隔進行取款墅冷,[39,59,55,20]。
假設(shè)最終值是0或油,那么他投資的100寞忿,最終產(chǎn)出是173。
因為階段性取款顶岸,收益率不是簡單的做平均腔彰。而是用以下公式計算:
-100 + 39/(1+r) + 59/(1+r)^2 + 55/(1+r)^3 + 20/(1+r)^4 = 0
代碼:
>>> round(np.irr([-100, 39, 59, 55, 20]), 5)
0.28095
>>> round(np.irr([-100, 0, 0, 74]), 5)
-0.0955
>>> round(np.irr([-100, 100, 0, -7]), 5)
-0.0833
修正內(nèi)部收益率: mirr(modified internal rate of return)
numpy.mirr(values, finance_rate, reinvest_rate)
參數(shù)
values : array_like
現(xiàn)金流(必須有一個正值和一個負值)叫编,第一個值可以看做是沉沒成本。
finance_rate : scalar
Interest rate paid on the cash flows
reinvest_rate : scalar
Interest rate received on the cash flows upon reinvestment
Returns: float
Modified internal rate of return