0

金融パッケージの fvm を使用して、一連の支払いの現在価値を見積もろうとしています。

y <- tvm(pv=NA,i=2.5,n=1:10,pmt=-c(5,5,5,5,5,8,8,8,8,8))

私が得た結果は次のとおりです。

y

Time Value of Money model

    I% #N    PV FV PMT Days #Adv P/YR C/YR
1  2.5  1  4.99  0  -5   30    0   12   12
2  2.5  2  9.97  0  -5   30    0   12   12
3  2.5  3 14.94  0  -5   30    0   12   12
4  2.5  4 19.90  0  -5   30    0   12   12
5  2.5  5 24.84  0  -5   30    0   12   12
6  2.5  6 47.65  0  -8   30    0   12   12
7  2.5  7 55.54  0  -8   30    0   12   12
8  2.5  8 63.40  0  -8   30    0   12   12
9  2.5  9 71.26  0  -8   30    0   12   12
10 2.5 10 79.09  0  -8   30    0   12   12

PV が 5 から 6 (価格が 8 に変化したとき) に跳ね上がっていますが、これは正しくないようです。これは、取得したい結果である y[10,3] の結果に影響します。

Excel の NPV 数式は、支払いがストリーム全体で同じ場合は同様の結果を生成しますが、paymets のベクトルが可変の場合、tvm 数式と NPV の結果は異なります。NPV 数式が Excel で提供するのと同じ結果を取得する必要があります。

これを機能させるにはどうすればよいですか?

4

1 に答える 1

0

cf 式は役に立ちますが、常に Excel と一致するとは限りません。

次の関数を使用して問題を解決しました。

npv<-function(a,b,c) sum(a/(1+b)^c) 
于 2012-05-26T01:17:53.287 に答える