2011年9月24日 星期六

11949 - Calculating IRR


Johnny是一位成功的投資者,他有眼光能辨別好的投資機會,為了評估一個商業活動獲利的可能性,Johnny會從預測的現金流來計算「內部投資報酬率(IRR)」,若IRR高於任一家銀行的貸款利率,則該項投資是可行的。

更具體地說,一項投資的IRR等於未來每一期的獲利(benefits)或損失(costs)的現值(present value)之總和等於初始投資額時的利率。例如當利率為10%時,則在第三期發生的$100元損失之現值(present value)為$75.13。

本題給定一項投資案的初始投資金額與未來數期的現金流,請你計算IRR值為多少。以一個例子來作說明:假設初始投資金額為$4,000.00,且未來五期的預測現金收支分別為:$3,852.56, -$2,954.21, $1,500.00, $2,120.86, $2,890.64,這個案子適合投資嗎?為了回答這個問題,我們需要找出使每一期收支金額的現值(present value)之總和等於初始投資金額的利率。下表為利率分別為0%(Actual), 10%, 20%, 30%, 22.294%時試算出來的投資報酬,我們可以發現,當利率為22.294%時,每一期收支的現值總和約等於初始投資金額。22.294%的投資報酬率對 Johnny來說是很吸引人的。



Actual10%20%30%22.294%
1$ 3,852.56$ 3,502.33$ 3,210.47$ 2,963.51$ 3,150.24
2-$ 2,954.21-$ 2,441.50-$ 2,051.53-$ 1,748.05-$ 1,975.29
3$ 1,500.00$ 1,126.97$ 868.06$ 682.75$ 820.12
4$ 2,120.86$ 1,448.58$ 1,022.79$ 742.57$ 948.18
5$ 2,890.64$ 1,794.86$ 1,161.68$ 778.53$ 1,056.74
Sum$ 7,409.85$ 5,431.24$ 4,211.46$ 3,419.31$ 3,999.99
Sum - Inv$ 3,409.85$ 1,431.24$ 211.46$ -580.69$ 0.01


建議你可以把本題當作是對多項式求根的問題,尤其是可用數值方法來求解,例如用「二分法」,重覆地把所有可能的利率集合分成兩半,找出利率落在哪個集合,逐步地縮小尋找範圍。本題假定IRR值會落在-100% ~ 100%的區間,把這個區間當作是一開始的利率集合空間,當每期的現值總和($7,409.85)大於初始投資金額時,選擇「正半部」,否則選擇「負半部」。

Input 

輸入資料的第一列有一個整數N( > 0),表示測試資料的組數,接下來的N列,每列的第一個數為初始投資金額,其後為每一期的現金流,正值表示收入,負值表示支出。每個數值以空白字元隔開。

Output 

請輸出每組資料的IRR值,其值介於(-100.0, 100.0)之間,請精確到小數點後三位,並顯示百分比符號 % 。
請無條件進位到小數點後三位。

Sample Input 

3 
500.00 75.60 174.40 -60.75 319.25 84.63 31.17 
100.00 42.27 35.00 -22.35 10.00 
4000.00 3852.56 -2954.21 1500.00 2120.86 2890.64

Sample Output 

6.873% 
-26.369% 
22.294% 


原文出處

沒有留言:

張貼留言