鉴于以下情况,如何计算年度百分比比率:
A-一开始借款(1000美元),
B-借款人分期支付的贷款最后费用总额(2000年美元),
C-每年复合周期的数目(52周),
K-偿还贷款的期限(60周)
所有在文献中发现的公式都使用名义利率(也是Excel Effective函数),但这里我们没有这个论点。
我的意思是:rate
我已经构建了一个电子表格,在那里我可以通过改变名义利率找到APR与Excel。难道没有更优雅的解决方案吗?
发布于 2015-01-22 08:40:05
这是APR的代码。对于优化搜索机制和分配给变量(Double,Integer)的类型,我将不胜感激。
宏观的理念是将名义利率(i)从1%提高到非常小的值(step),只要它能使我们更接近于适当计算分期支付的贷款的总成本(B)。
Function APR(A As Double, B As Double, c As Integer, k As Integer, Optional i As Double = 0.01, Optional step As Double = 0.0001) As Double
'Author Przemyslaw Remin, thanks for explanation to Chris Degnen
'
'A - Loan amount we borrow
'B - Total amount we pay back in equal installments in k periods
'c - Number of compoundings per year
'k - Number of periodic payments
'i - Nominal interest rate, here it will be used as iterator to find correct B
'step - how much we change i, the smaller the step the more precision we get
'
Dim target1 As Double
Dim target2 As Double
Do Until target1 < target2 'we do the loop until the target falls
target1 = ((i / c) / (1 - (1 + i / c) ^ (-k)) - (B / (k * A))) ^ 2
i = i + step
target2 = (((i + step) / c) / (1 - (1 + (i + step) / c) ^ (-k)) - (B / (k * A))) ^ 2
Loop
APR = (1 + i / c) ^ c - 1
End Function感谢Chris对APR计算机制所作的友好解释:43450
发布于 2015-02-10 17:23:30
下面是OP解决方案的修改:
首先,确保B>A,即有一个正利率
然后,假设利率微乎其微:比如说,0.000000000001%
将此数据与年金公式中的其他数据一起使用,以计算从这一假定利率预期的定期付款。由于实际利率高于假定利率,计算出的付款额将小于问题中指定的利率。
将假定利率提高一倍,并重复前一步。最终,计算的付款将超过给定的付款。现在假设的利率过高,而前一个利率太小。
在这两个值之间进行二进制搜索,直到太高的速率和太低的速率收敛到期望的程度为止.
发布于 2015-01-21 23:32:12
这似乎是一个非常不现实的情况,但这是有可能的。我相信有一个更简单的方法可以做到这一点,但您可以使用=PMT公式回到它。
https://www.youtube.com/watch?v=MXf0HU-JQ1Q
下载此YouTube视频中包含的文件,并使用您的值进行更新。现在使用一个虚拟的APR作为一个插头。删除60个句点后的所有行,并sum支付利息的列。您正在寻找这样一种情况,您支付了1,000.00的利息,考虑到贷款为1,000,000,而您说,您支付了2,000.00总额的同等付款。因此,您需要60期的Intest之和应该是1,000。
从这里开始,你可以开始调整APR,记下支付给你的总惰性,直到你达到你的目标。我想出了136.87%,这是不现实的,但正如我说的,你的情况似乎相当不现实,除非我读错了。

https://stackoverflow.com/questions/28050109
复制相似问题