计算可调利率抵押贷款的财务公式?

发布于 2024-08-20 01:15:47 字数 41 浏览 10 评论 0原文

如何根据贷款的开放时间计算具有两种不同利率的贷款期限的固定付款金额?

How can I calculate a fixed payment amount for a loan term that has two different interest rates based on how long the loan has been open?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

但可醉心 2024-08-27 01:15:47

这有点难看,所以请耐心等待。

定义:

  • g1 = 初始月利率(对于 3%,g=0.03/12。)
  • g2 = 第二个月利率。
  • T1 = 初始利率期限(T1 = 3 为 3 个月)。
  • T2 = 后续利率的期限。
  • u1 = 1 / (1 + g1)
  • u2 = 1 / (1 + g2)

那么:

  • 付款 = g1 * g2 / (g1 * u1^T1 * (1 - u2^T2) + g2 * (1 - u1^T1) )

当然,我可能犯了一个错误,但看起来是对的。

This gets a little ugly, so please bear with me.

Define:

  • g1 = Initial monthly rate (For 3%, g=0.03/12.)
  • g2 = Second monthly rate.
  • T1 = Term for the initial rate (T1 = 3 for 3 months).
  • T2 = Term for the subsequent rate.
  • u1 = 1 / (1 + g1)
  • u2 = 1 / (1 + g2)

Then:

  • payment = g1 * g2 / (g1 * u1^T1 * (1 - u2^T2) + g2 * (1 - u1^T1))

Of course, I may have made a mistake, but that seems right.

2024-08-27 01:15:47

这是一个相当复杂的计算,通常是公司知识产权的一部分。所以我怀疑有人会发布代码。我一直在这条路上走下去,它需要大量的测试,具体取决于你决定走多远。

在代码中执行计算时,使用 Decimal 等数据类型而不是 double 等浮点类型至关重要。小数是为这些类型的货币计算而明确创建的。浮点类型会导致许多舍入误差,使计算值偏离不可接受的量。

其次,您在网上找到的抵押贷款计算器的质量参差不齐。在测试您的方法时,查看在线计算器得出的结果会很有用,但绝不认为它们比您的更准确。一般来说,他们很乐意了解您的情况是否正确,但贷款期限每年可能会有高达 0.1% 的偏差。

最后说明
考虑从 Math Corp 这样的公司购买库,而不是自己开发库。我很确定它会是准确的,并且比开发/质量保证时间便宜得多。

This is a pretty complicated calculation that is usually part of a company's intellectual property. So I doubt anyone is going to post code. I've been down this road and it requires huge amounts of testing depending on how far you decide to go with it.

When performing the calculations in code it is critical that you use a data type such as Decimal instead of the floating point types like double. Decimal was explicitly created for these types of money calculations. Floating point types will cause many rounding errors, making the calculated values be off by unacceptable amounts.

Next, mortgage calculators that you find online are of highly varying quality. When testing your method it will be useful to see what the online calculators come up with, but by no means consider them more accurate than yours. Generally they are good to see if you are in the right ballpark, but they could be off by as much as .1% per year of the loan term.

Final note
Consider purchasing a library from a company like Math Corp instead of rolling your own. I'm pretty sure it'll be accurate AND much cheaper than the dev / qa time to get yours right.

撑一把青伞 2024-08-27 01:15:47

贷款合同非常复杂。如果您不想深入研究复杂性,则必须做出一些简化的假设。以下是您需要考虑的一些变量:

  1. 基本费率是多少?贷款是否会在 Prime 上浮动?伦敦银行同业拆借利率? CMT?
  2. 高于基本利率的差额是多少?
  3. 基本利率多久重置一次?
  4. 如果重置日期恰逢节假日,会发生什么情况?周末?
  5. 基本费率有上限或下限吗?
  6. 在第一次重置之前是否有固定基本利率的初始时期?这个时期有多长?
  7. 保证金是否有初始折扣并随后调整(预告利率)?
  8. 抵押贷款的期限是多少?
  9. 它是负摊销抵押贷款吗?负摊销付款的停止期限是多少?
  10. 是全额摊销抵押贷款吗?
  11. 这是气球抵押贷款吗?
  12. 利息是单利还是复利?如果是后者,复利频率是多少?

正如您所看到的,如果您还没有足够详细地说明您要解决的问题,甚至无法开始提出解决方案。

如果您不是 ARM 或一般金融产品领域的专家,我强烈建议您寻找专家。

Loan contracts are very complex. If you don't want to dive into the complexity you have to make some simplifying assumptions. Here are some of the variables you need to consider:

  1. What is the base rate? Does the loan float over Prime? Libor? CMT?
  2. What is the margin above the base rate?
  3. How often does the base rate reset?
  4. What happens if the reset date falls on a holiday? A weekend?
  5. Are there ceilings or floors on the base rate?
  6. Is there an initial period at which the base rate is fixed before the first reset? How long is that period?
  7. Is there an initial discount on the margin that is later adjusted (a teaser rate)?
  8. What's the term of the mortgage?
  9. Is it a negative-amortization mortgate? What's the stop period on the negative-amortizing payments?
  10. Is it a fully-amortizing mortgage?
  11. Is it a balloon mortgage?
  12. Is the interest simple interest or compounded interest? If the latter, what's the compounding frequency?

As you can see, if you haven't specified enough about the problem that you are trying to solve to even begin to come up with a solution.

If you're not a domain expert on ARMs or financial products in general I strongly encourage you to find someone who is.

往昔成烟 2024-08-27 01:15:47

pmt 函数基于以下数学:
还款额 = 当前贷款金额 / ( 1 - ( 1 / ( 1+ 当前利率)^剩余期数 ) )

计算出当前贷款金额(即以不同利率还款五年后)困难的部分。

The pmt function is based on this math:
Payment = Loan Amount at current time / ( 1 - ( 1 / ( 1+ current rate)^numperiods remaining ) )

Figuring out the loan amount at the current time (i.e. after five years of making a payment at a different rate) is the tough part.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文