日期:2008-01-29
在『報酬率的深入探討』一文當中,談到利用Excel的IRR函數可以計算定時定額基金的年化報酬率。IRR函數非常適用於固定期間現金流量的報酬率計算,可是對於非固定期間現金流量的報酬率並不適用。還好Excel提供了另一個非常好用的XIRR函數,供投資者來計算年報酬率。為了讓讀者更明瞭,以奇摩知識+回答的題目當例子,解釋如何使用XIRR計算基金的報酬率,以及代表的意義。
現金流量是所有計算報酬率的基礎,例如拿100元去銀行存款,一年後拿回105元,可以解釋為期初從投資者流出現金100元,一年後流入投資者105元。從現金之流入及流出情形,以及相對的時間,便可計算投資報酬率了。方法是將未來所有的現金流入以利率 r 折現回來,所有折現之總和等於現金流出,所求得的利率 r 就是報酬率了。下面等式左邊是現金流出100元,右邊是現金流入105元以利率 r 折現,兩者相等的利率 r 就是報酬率。
100 = 105 / (1+ r)
所以 r = 0.05 = 5%
只有一個期間的現金流量的報酬率很容易就可算出,可是當期數很多時,尤其是每期的金額都不相等時就不是很容易了。例如投資債券基金$200,000,之後每個月配息分別如下:$730,$
643, $741, $700。到最後一期時該基金淨值$205,000。那麼現金流量公式變成:
200,000 = 730/(1+r) + 643/(1+r)2
+ 741/(1+r)3 + (700+205,000)/(1+r)4
等式左邊是現金流出,右邊是現金流入。只要將這公式裡的 r 求出來,就是該現金流量的內部報酬率了。看起來簡單,可是要求得 r 的解並不容易。還好可以利用Excel所提供的IRR函數,只要將現金流量輸入,就可以求得 r了。IRR函數要求現金流出及現金流入參差使用,每一期只能有一個淨值,淨流出或淨流入。現金流出用負值,現金流入用正值,然後將每期之現值之加總應該等於零。
上面公式可以改寫成
0 = -200,000 + 730/(1+r) +
643/(1+r)2
+ 741/(1+r)3 + (700+205,000)/(1+r)4
上式裡200,000是期初債券投入,所以是現金流出。其他都是現金流入,每期金額以(1+r)^n折現回現值,n為期數。簡單說,所有現金流入的現值總額,加上所有現金流出的現值總額,應該等於
0。而所折現的利率 r 稱為內部報酬率 Internal Return Rate (IRR)。
債券基金的例子只要將每期的現金流量表輸入IRR,就會計算內部報酬率了。
=IRR({-200000,
730, 643, 741, 205700})
= 0.968%
因為每一期為一個月,所以這是月報酬率,年報酬率必須乘以12 等於11.6%。
上述範例是每月都有現金流入及流出,可是實務上常常並不是那樣,通常投入除了定時定額外,投入的時機及金額都不會一樣。下面是一個典型的例子,這是奇摩知識+的一個問題:
我在960101基金帳戶價值為47,632
1/10 投入10,000元
2/9 增額投入3,000,000元
2/12 投入6,600元
3/12 投入50,000元
4/10 投入50,000元
5/10 投入50,000元
6/9 贖回-274,539元
6/12 投入30,000元
7/10 投入30,000元
8/10 投入30,000元
9/11 投入30,000元
10/11投入30,000元
11/9 投入70,800元
12/10投入30,000元
12/31帳戶總資產為3,208,253元
請問內部報酬率要如何計算(IRR)?
這當中每期的時間不是很固定,有些是大約一個月,也有些只是幾天,而且每次金額都不等。所以如果真要用IRR算的話,只能用每日為一期,這樣是很沒效率的作法。所幸Excel提供了XIRR的函數,只要輸入現金流量及日期,Excel會算出年報酬率。下圖就是該例的excel工作表。C11:C26是現金流量,A11:A26是相對現金流量發生日期,所算出來的XIRR已經是年報酬率。
用IRR或XIRR所算出來的內部報酬率代表的意義又是什麼呢?上面的例子裡,XIRR算出來是年利率0.642%,意思是這樣的投資和放銀行定存年利率0.642%是一樣,也就是說比目前放定存2.5%還差。
為了說明XIRR的利率相當於定存利率,我們可以模擬銀行的作業,假設銀行提供0.642%的利率,每當投資基金時就把相同金額存入銀行,贖回基金時就將對等金額提出。銀行以0.6425%來計息,這樣到了到最後一天提領出3,208,253餘額剛好會等於零。
下圖淡藍色的儲存格是銀行存款餘額。 XIRR算出來的是年化報酬率,並不是累積報酬率。這兩者可是差別很大,以15%的年報酬率,利用72法則很容易就算出大約五年,等同於100%的累積報酬率,因為獲利剛好是投入的一倍。
values (金額) 是一個陣列或儲存格的參照,而這些儲存格包含您想要計算其內部報酬率的數值。
guess 是您猜測近於 IRR
結果的數值。常有很多投資者,雖然看了IRR的函數說明,可是還是不知道guess該填入多少才合適。IRR函數的做法其實就是解上述方程式的 r
值,然而excel用的是目標蒐尋法,就是先隨便找一個 r 值(guess)代進去試看看,然後增加一點 r 值以及減少一些 r
值,然後看看增加或減少的結果那一個會較為趨近答案,當找到增減方向之後,再以同樣方式再試一次,試愈多次就愈接近答案了,一直試到誤差小於 0.00001%
為止。如果試了20次之後,IRR 依舊無法求得結果,將會傳回錯誤值 #NUM!。
所以說如果guess所輸入的值和真正的解相去太遠的話,是無法於20次找到答案的,必須更改guess的值再試看看。guess參數並不一定得輸入,如果不填這參數,IRR會認定guess
= 10%。這值對年報酬率是合理的猜測,可是對月報酬率就太大了些。所以如果IRR現金流量是以一個月為一期,算出來的利率就是月報酬率,如果出現錯誤值
#NUM!,可以更改guess = 1%試看看。
Values(金額) 一系列與付款日程相對應的現金流動記錄。
Dates(日期) 與現金流動相對應的付款日程。
Guess 您所猜測接近 XIRR 結果的數字。(同IRR的guess參數)