我也在银行stackexchange上发布了这篇文章,但由于它更像是一种算法,我想这里的某个人应该能够回答我的问题
我正在使用这个网站上列出的公式:
http://www.fdic.gov/regulations/laws/rules/6500-1950.html#fdic6500appendixjtopart226
(如果不能自动滚动,请参阅附录J )。
在步骤9中,他们试图找到A= (33.61 * )/ (i+1)的值
计算公式为1+ 1/(i+1) + 1/(i+1)^2 +......1/(i+1)^n
取n= 36,我发现= 28.83,
我得到的值是A=33.61x28.83/ 1.0104 = 941.3
但是,链接以某种方式到达了1004.674391的数字
有人能解释一下他们是如何得出这个数字的吗? A‘和A’是什么意思?
我正在尝试用C++编写代码,但在此之前,我需要在铅笔上弄清楚数学。
发布于 2012-09-13 11:05:48
难怪美国经济正朝着希腊的方向发展。
主啊,如果FDIC的人们使用线性插值来计算利率,那么难怪房主无法偿还贷款
线性插值需要知道两个比率,一个比率是年金的现值高于实际比率的现值,另一个比率是现值低于实际比率的现值。
一旦你有了两个速率,两个当前值,你就可以使用线性插值公式来近似实际的速率
但是,你如何知道现值与实际汇率不一致的两个汇率呢?如果你有时间消磨时间,就继续猜测吧
关于你的A‘为什么与FDIC文件上显示的不同的问题,请参见以下两个分别为12.5%和12.6%的利率下A’和A‘的计算
[Present Value Annuity Due][1] = 33.61 x (1 + 0.010416667) x { 1 - 1/(1 + 0.010416667)^36 }/0.010416667
= 33.61 x 1.010416667 x { 1 - 1/(1.010416667)^36 }/0.010416667
= 33.61 x 1.010416667 x { 1 - 1/1.45217196873 }/0.010416667
= 33.61 x 1.010416667 x { 1 - 0.688623676487 }/0.010416667
= 33.61 x 1.010416667 x { 0.311376323513/0.010416667 }
= 33.61 x 1.010416667 x 29.8921261007
= 33.61 x 30.2035024242
PVAD = 1015.14
A' = PVAD / (1+i)
A' = 1015.14 / 1.010416667
A' = $1,004.67
Present Value Annuity Due = 33.61 x (1 + 0.0105) x { 1 - 1/(1 + 0.0105)^36 }/0.0105
= 33.61 x 1.0105 x { 1 - 1/(1.0105)^36 }/0.0105
= 33.61 x 1.0105 x { 1 - 1/1.45648978356 }/0.0105
= 33.61 x 1.0105 x { 1 - 0.68658222755 }/0.0105
= 33.61 x 1.0105 x { 0.31341777245/0.0105 }
= 33.61 x 1.0105 x 29.8493116619
= 33.61 x 30.1627294344
PVAD = 1013.77
A'' = PVAD / (1+i)
A'' = 1013.77 / 1.0105
A'' = $1,003.23如果你必须用代码编程,我建议你花点时间阅读与数值方法相关的资料。请注意,这也是一个猜测游戏,但比线性插值优雅得多。
FDIC页面上列出的公式用于查找定期支付期末付款的普通年金的现值。你在这个例子中得到的利率将是一个月利率,你必须乘以12才能得到年利率。(1+i)^12 -1还发现了一种叫做年利率的东西
该示例说明了查找1,000美元贷款的年利率,其中33.61美元的月度还款在接下来的36个月的每个月末到期
我将向您展示一种名为牛顿·拉夫森技术的方法,该方法计算年金的利率,该方法使年金的付款顺序一致。
有两个不同的方程式可以使用。第一个用于计算年金的未来价值,第二个用于计算年金的现值。
Excel使用未来值方程求解其5个TVM函数,TI BA II plus使用现值方程求解其5个TVM函数
如果你有任何问题,你可以在网站上给我留言作为参考。祝你在编码方面好运。您可能会发现学习了一点微积分预科知识,特别是关于导数的知识
这笔贷款的定期利率或月利率为0.010687973564,即1.07%.
年利率为0.010687973564 x 12 = 0.128255682768或12.83%
Newton Raphson Method IRR Calculation with TVM equation = 0
TVM Eq. 1: PV(1+i)^N + PMT(1+i*type)[(1+i)^N -1]/i + FV = 0
f(i) = 0 + 33.61 * (1 + i * 0) [(1+i)^36 - 1)]/i + -1000 * (1+i)^36
f'(i) = (33.61 * ( 36 * i * (1 + i)^(35+0) - (1 + i)^36) + 1) / (i * i)) + 36 * -1000 * (1+0.1)^35
i0 = 0.1
f(i1) = -20859.0286
f'(i1) = -772196.0009
i1 = 0.1 - -20859.0286/-772196.0009 = 0.0729873910496
Error Bound = 0.0729873910496 - 0.1 = 0.027013 > 0.000001
i1 = 0.0729873910496
f(i2) = -7274.5413
f'(i2) = -301995.7711
i2 = 0.0729873910496 - -7274.5413/-301995.7711 = 0.0488991687999
Error Bound = 0.0488991687999 - 0.0729873910496 = 0.024088 > 0.000001
i2 = 0.0488991687999
f(i3) = -2431.1344
f'(i3) = -124187.6435
i3 = 0.0488991687999 - -2431.1344/-124187.6435 = 0.0293228701788
Error Bound = 0.0293228701788 - 0.0488991687999 = 0.019576 > 0.000001
i3 = 0.0293228701788
f(i4) = -732.3776
f'(i4) = -57078.0048
i4 = 0.0293228701788 - -732.3776/-57078.0048 = 0.0164917006907
Error Bound = 0.0164917006907 - 0.0293228701788 = 0.012831 > 0.000001
i4 = 0.0164917006907
f(i5) = -167.5999
f'(i5) = -32858.4347
i5 = 0.0164917006907 - -167.5999/-32858.4347 = 0.0113910349433
Error Bound = 0.0113910349433 - 0.0164917006907 = 0.005101 > 0.000001
i5 = 0.0113910349433
f(i6) = -17.997
f'(i6) = -26021.5726
i6 = 0.0113910349433 - -17.997/-26021.5726 = 0.010699415611
Error Bound = 0.010699415611 - 0.0113910349433 = 0.000692 > 0.000001
i6 = 0.010699415611
f(i7) = -0.288
f'(i7) = -25192.367
i7 = 0.010699415611 - -0.288/-25192.367 = 0.0106879831887
Error Bound = 0.0106879831887 - 0.010699415611 = 1.1E-5 > 0.000001
i7 = 0.0106879831887
f(i8) = -0.0001
f'(i8) = -25178.8435
i8 = 0.0106879831887 - -0.0001/-25178.8435 = 0.0106879801183
Error Bound = 0.0106879801183 - 0.0106879831887 = 0 < 0.000001
IRR = 1.07%
Newton Raphson Method IRR Calculation with TVM equation = 0
TVM Eq. 2: PV + PMT(1+i*type)[1-{(1+i)^-N}]/i + FV(1+i)^-N = 0
f(i) = -1000 + 33.61 * (1 + i * 0) [1 - (1+i)^-36)]/i + 0 * (1+i)^-36
f'(i) = (-33.61 * (1+i)^-36 * ((1+i)^36 - 36 * i - 1) /(i*i)) + (0 * -36 * (1+i)^(-36-1))
i0 = 0.1
f(i1) = -674.7726
f'(i1) = -2860.8622
i1 = 0.1 - -674.7726/-2860.8622 = -0.135863356364
Error Bound = -0.135863356364 - 0.1 = 0.235863 > 0.000001
i1 = -0.135863356364
f(i2) = 46220.4067
f'(i2) = -1361282.2783
i2 = -0.135863356364 - 46220.4067/-1361282.2783 = -0.101909776386
Error Bound = -0.101909776386 - -0.135863356364 = 0.033954 > 0.000001
i2 = -0.101909776386
f(i3) = 14472.9891
f'(i3) = -417070.1913
i3 = -0.101909776386 - 14472.9891/-417070.1913 = -0.0672082095036
Error Bound = -0.0672082095036 - -0.101909776386 = 0.034702 > 0.000001
i3 = -0.0672082095036
f(i4) = 4620.5467
f'(i4) = -136713.9676
i4 = -0.0672082095036 - 4620.5467/-136713.9676 = -0.0334110286059
Error Bound = -0.0334110286059 - -0.0672082095036 = 0.033797 > 0.000001
i4 = -0.0334110286059
f(i5) = 1412.836
f'(i5) = -50859.7324
i5 = -0.0334110286059 - 1412.836/-50859.7324 = -0.00563196002357
Error Bound = -0.00563196002357 - -0.0334110286059 = 0.027779 > 0.000001
i5 = -0.00563196002357
f(i6) = 345.5376
f'(i6) = -24366.4494
i6 = -0.00563196002357 - 345.5376/-24366.4494 = 0.00854891782087
Error Bound = 0.00854891782087 - -0.00563196002357 = 0.014181 > 0.000001
i6 = 0.00854891782087
f(i7) = 37.705
f'(i7) = -17208.0395
i7 = 0.00854891782087 - 37.705/-17208.0395 = 0.010740042325
Error Bound = 0.010740042325 - 0.00854891782087 = 0.002191 > 0.000001
i7 = 0.010740042325
f(i8) = -0.8934
f'(i8) = -16335.3764
i8 = 0.010740042325 - -0.8934/-16335.3764 = 0.0106853483863
Error Bound = 0.0106853483863 - 0.010740042325 = 5.5E-5 > 0.000001
i8 = 0.0106853483863
f(i9) = 0.0452
f'(i9) = -16356.5205
i9 = 0.0106853483863 - 0.0452/-16356.5205 = 0.0106881114105
Error Bound = 0.0106881114105 - 0.0106853483863 = 3.0E-6 > 0.000001
i9 = 0.0106881114105
f(i10) = -0.0023
f'(i10) = -16355.4516
i10 = 0.0106881114105 - -0.0023/-16355.4516 = 0.010687973564
Error Bound = 0.010687973564 - 0.0106881114105 = 0 < 0.000001
IRR = 1.07%参考文献
Internal rate of return IRR
用Newton Raphson method求内部收益率的TVM方程
发布于 2012-09-13 05:37:48
我不明白你从哪弄来的28.83。
sum(1/(1+.0104)**i for i in xrange(36)) == 30.2116668761916此外,为i携带更多的数字。您使用的是i=.0104,但他们使用的是i=.010416667。
https://stackoverflow.com/questions/12396422
复制相似问题