智慧手機的普及讓世界成為了我們指尖下的方寸之地。
在各種資訊爆炸出現的同時,五花八門的理財資訊與我們的生活越貼越近。投資不再僅僅是企業行為,對於個人而言,也是很值得關注的內容。
但是落腳到很小的例子之上,假如專案A和專案B都可以投資25W,而現在的貼現率是15%(貼現率:指將來的錢折算到現在後,少掉/多出的那部分錢與將來的錢的比值),我們投哪個專案更加划算呢?
對金融知識知之甚少的你,看到這裡可能會有點慌了。
而這個問題在資料分析中,有一種專門的計算方式,用來處理這種資料,從而選擇出利益最大化的數值,它的名字叫——IRR,與之相關的另一個資料概念,NPV。
接下來我們為大家簡單介紹這兩個概念。
IRR與NPV
NPV:Net Present Value,淨現值。將未來會獲得的金額轉化成為現在獲得的金額,和利息是分相似,但是反向計算利息的過程。
假設明天你獲得15塊錢,貼現率10%,換算成現就是15/1.1=13.63(元),累加之後再減去投資成本得到累計淨現值。累計淨現值越大越好,從理論上說淨現>0,這個投資的內容就是可以獲利的。
用一張表說明這個資料內容:當A、B專案都為10w元時,貼現率為10%,兩個專案時長都是5年。
(圖片來自網路)
最後計算是雖然前幾年兩專案最後獲得總金額之和都是18.52w,但是在這個過程中,以B獲得更多回報的時間更為提前。NPV的計算結果去是除掉貨幣的貶值的部分,結果是B=3.96>A=3.02,顯然B專案更值得投資。
IRR:Internal Rate of Return,內部報酬率。這個數值指累計淨現值為0的時候的貼現率。這個數值表示了專案能承受的最大貨幣貶值比率(贏利空間,抗風險能力)。想要得到這個數值需要不斷使用不同的折現率進行計算,找到NPV等於零的或者是接近零的時候。
它是一項投資渴望達到的報酬率,該指標越大越好。
還是用剛那個例子來看看:
(圖片來自網路)
這張圖中A專案的NPV為零,此時使用的貼現率為18.45%,我們就說此時的IRR為18.45%
這個數值越大,我們的選擇抗風險的能力就會越強。在如今,股票、基金、黃金、房產、期貨等投資方式已為眾多理財者所熟悉。但是投入的效果如何,我們通常的判斷僅僅侷限在了收益的數量之上,缺少更加科學的判斷依據。這時候內部收益率(IRR)指標就是一個很有效果且直觀的判斷工具。
IRR的計算
科學計算IRR
實際使用中,我們如果想要獲取IRR數值,需要進行一定計算。
在瞭解相關內容之前,我以為是這樣的計算過程:
但其實在這個計算過程中使用到了牛頓迭代公式進行計算。
令高階未知數IRR最終值為x,令 t = 1/(1+x),我們還需要了解(xn )'= nxn-1 ,n≠0。按照牛頓迭代公式 x n+1 = xn - f(xn)/f‘(xn)
然後帶入:t n+1 = tn – [a(tn +tn2 +tn3 +tn4)+b tn5 – c]/ [a(1 +2tn +3tn2 +4tn3)+b*5tn4]
最後得到的x的數值,就是IRR。
電子表格中“千表千值”的IRR
由於這一計算過程很複雜,所以在許多資料處理工具中都可以通過公式的使用直接得到IRR的計算結果。比如Excel中可以直接實現IRR的計算,GoogleSheet等電子表格也都支援這個內容的計算。
但是由於IRR是迭代計算的結果,在電子表格中的計算結果是多值,通過設定收益率估值,來選擇接近回報率。但是不同的迭代演算法和迭代次數計算的IRR結果是不同的,即使收益率估值相同,不同的演算法也會算出不同的值,同時迭代次數也會使計算的結果精度不同,這些值都不會完全相同。
作為一名技術顧問,總需要處理客戶各種各樣的問題。而在某次技術支援時,就遇到了客戶反映SpreadJS的IRR計算數值和Excel不同。
客戶嘗試分析了一下SpreadJS計算IRR的邏輯,發現NPV由負到正的場景是正常的,但是NPV由正到負就會有問題,下面是客戶分析的思路。
對於使用者提到的這個問題,讓我們一起使用使用者提供的資料進行計算:
(客戶使用的資料內容:IRR不同GUESS值IRR計算 大家有興趣可以一起來試試)
在這個表中我們會發現-8.34%, 0.98%, 289%三個結果都是正確的。
這個問題的原因其實因為IRR本身的計算需要很多迭代,不同的演算法和取值會導致最終計算結果的不同;另一個原因是因為Excel中的演算法、策略都是未知的,目前沒有任何資料文件說明Excel的策略。SpreadJS現階段只能根據經驗推測Excel的策略,但是仍有很多場景不能理解。
比如,A1設定-100,A2:A239設定0,A240設定100,這意味著240個週期賺了200。用Excel計算IRR(A1:A240)結果是DIV/0;還有上圖中計算結果1%應該是更加合理的結果,即使在給定預估值給定0.1的情況下Excel依舊返回298%,但是很明顯這個數值過於樂觀。
這些問題現在業界內並沒有完全統一的結果,在測試過程中,我們還使用過GoogleSheet,計算結果如下:
相比較而言我們的計算結果已經是目前大家使用中與Excel計算最為接近的。而後續我們的研發也在不斷探索,力圖能為這個問題提供一個更優的解答。
總結來說,IRR本身作為預估值,就有不確定性,而且沒有標準確定那種演算法是正確的演算法,對於和Excel結果的不一致,我們也會在保證結果合理的前提下儘量和Excel保持一致。同時,在某些場景下,我們會保留自己的計算結果。
總結
看到這裡你可能想說IRR的標準在電子表格中也並沒有統一的定論,但是面對這個問題SpreadJS交出了一份自己的答卷。
在後續我們也會為大家帶來更多關於前端電子表格揭祕的相關內容,覺得不錯點個贊吧~