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

4

如何计算贷款期内的固定还款金额,而这个贷款期有两种不同的利率,取决于贷款已经开放了多长时间?


2
你可能需要用一个例子来更详细地解释一下。 - David
一笔1000美元的12个月贷款的利率将在前3个月为每月2%,其余月份为每月1%。每月还款金额是多少? - mdvaldosta
4个回答

5

这可能会有些复杂,请耐心看完。

定义:

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

那么:

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

当然,我可能犯了错误,但这似乎是正确的。


约翰,你引起了我的注意,但在这个方程中原始贷款金额在哪里? - mdvaldosta
啊,抱歉。那不太清楚。"支付"是以原始贷款金额的一部分表示的,所以只需将该值乘以贷款金额即可。(如果你想知道,我是通过将T1后剩余的余额(给定pmt)代入通常的摊销付款公式(对于r2/T2)并解决付款问题得到这个表达式的。) - Johann Hibschman
太棒了 Johann,搞定了。唯一的问题是 g1 和 g2 应该是 0.03 而不是 0.03/12。我欠你一杯啤酒。 - mdvaldosta
很高兴能帮上忙。是的,我第一次阅读时错过了你的费率是“每月1%”。只有当费率为每年X%时才需要除以12。 - Johann Hibschman
我可以确认这是正确的 - 参考此处 - Chris Degnen

3
这是一项相当复杂的计算,通常是公司知识产权的一部分。因此,我怀疑没有人会发布代码。我已经走过这条路,根据你决定走多远,它需要大量的测试。
在代码中执行计算时,使用Decimal等数据类型而不是像double这样的浮点类型至关重要。Decimal专门为这些类型的货币计算而创建。浮点类型将导致许多舍入误差,使计算出的值偏离可接受的范围。
接下来,在线找到的抵押贷款计算器质量差异很大。在测试您的方法时,查看在线计算器得出的结果将非常有用,但绝不能认为它们比您的结果更准确。通常,它们可以用来确定您是否在正确的范围内,但它们可能会偏差高达贷款期限每年的0.1%。
最后说明:考虑从像Math Corp这样的公司购买库,而不是自己开发。我非常确定它会准确无误,并且比获得正确答案所需的开发/测试时间便宜得多。

+1 建议使用现有服务,并谈论购买成本与开发成本之间的差异。 - Pierre-Alain Vigeant
使用十进制而不是双精度或浮点数是个好主意,作为一个业余程序员,任何建议都非常感激。 - mdvaldosta

0

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

  1. 什么是基准利率?贷款是否浮动在Prime、Libor或CMT之上?
  2. 基准利率上面的利差是多少?
  3. 基准利率多久重置一次?
  4. 如果重置日期落在假日或周末会发生什么?
  5. 基准利率是否有上限或下限?
  6. 在第一次重置之前是否有一个初始期,在此期间基准利率是固定的?这段时间有多长?
  7. 是否有初始折扣,以后会调整(即引人入胜的利率)?
  8. 抵押贷款的期限是多长?
  9. 它是负摊还抵押贷款吗?负摊还付款的停止期是多长?
  10. 它是全额摊还抵押贷款吗?
  11. 它是气球型抵押贷款吗?
  12. 利息是简单利息还是复利?如果是后者,复利频率是多少?

正如您所看到的,如果您甚至没有足够地指定要解决的问题,就无法开始提出解决方案。

如果你不是ARM或金融产品方面的领域专家,我强烈建议你找一个专家来帮助。


我不是金融产品方面的专家,但这只是一个简单的计算器,用于找到偿还贷款所需的付款金额,利率在一定时间后会下降。我想找到可修改以适应此特定需求的ARM公式。我在评论回复中发布了问题的具体信息。 - mdvaldosta
@mdvaldosta:我看到了你的评论。首先,那不是ARM,因为ARMS会定期重置。其次,你仍然没有提供足够的信息来解决你的问题。这些是固定利率还是浮动利率?利息计算方式是简单计息还是复利计息(如果是后者,复利频率是多少)? - jason
这是一个固定利率,也是一个非常简单的贷款方案。这是一种基本的、简单的固定利率贷款,就像汽车贷款一样。唯一的区别是,在前三个月内利率较高。因此,有两个利率,一个是前三个月的利率,另一个是之后所有月份的利率。 - mdvaldosta
然后只需以一个速率对前三个月进行计算,然后更改速率并在剩余期间运行它... - NotMe
我只希望这件事情像你说的那么简单,Chris。如果我已经知道了付款金额并想要计算需要多少次付款,那么你提出的方案很容易实现。但是,基于固定次数的付款来计算付款金额并不那么容易。 - mdvaldosta

0

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

计算出当前时间的贷款金额(即在以不同利率支付五年后)是困难的部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接