貸款

上月利息支付和余額公式 - 反向攤銷

  • April 13, 2019

我正在嘗試解決我遇到的一個問題,即係統在幾個月內計算了不正確的貸款額外付款,導致新的目前餘額不正確。我想修復餘額,但我需要找到一種方法來確定原始起始餘額是多少,因為它沒有記錄在任何地方。

我知道正常攤銷的公式,但我需要能夠通過以下資訊找出相反的情況:

  • 目前餘額
  • 利率
  • 每月支付
  • 額外的本金支付(如果使用)。
  • 沒有已知的付款次數或貸款期限。

所以知道了這一點,如果你要創建一個攤銷電子表格,你將如何獲得前幾個月的資訊?

目前的定期攤銷公式。

利率 = (X.XX/100)/12

新余額 = 目前餘額 + ((最低還款額 - (目前餘額 * 利率)) + 額外還款額)

我需要上面的相反。我嘗試從目前餘額中減去這些值並循環幾次 - 我接近原始餘額可能是什麼,但它偏離了幾個小數點。

更新: 下面是一組使用正常攤銷時間表的範例數字,以及用於確定原始餘額的新數字集。但是,正如您所見,我離開了。以下範例中無需額外付款。

每月正常方向:

起始餘額:$ 5000

利率:5%

每月付款:300 美元

3 次自動付款後,總金額為:4,159.01 美元(此數字正確且已在電子表格中驗證)。

$Int = (5.0/100)/12;
$Months = 1;
$NewBalance = 5000;
while($autoMonths <= 3){
   $NewBalance = $NewBalance - ((300 - ($NewBalance * $Int)));
   $Months++;
}

現在反轉:

起始餘額:4,159.01 美元

利率:5%

每月付款:300 美元

3 Auto Payments BACK,總額為:$5,003.49

$prevBalance = 4159.01;
$prevMonths = 1;
while($prevMonths <= 3){
   $prevBalance = $prevBalance + ((300 - ($prevBalance * $Int)));
   $prevMonths++;
}

給定

s = principal
r = periodic rate
d = periodic payment

b當月餘額x

b = (d + (1 + r)^x (r s - d))/r

應用你的數字

s = 5000
r = 5.0/100/12
d = 300

x = 3
b = (d + (1 + r)^x (r s - d))/r = 4159.01

三個月前的起始值

x = 0
b = (d + (1 + r)^x (r s - d))/r = 5000

或者,在您的程式碼中

$Int = (5.0/100)/12;
$Months = 1;
$NewBalance = 5000;
while($Months <= 3){
   $NewBalance = ($NewBalance * (1 + $Int)) - 300;
   $Months++;
}

$prevBalance = 4159.01;
$prevMonths = 1;
while($prevMonths <= 3){
   $prevBalance = ($prevBalance + 300) / (1 + $Int);
   $prevMonths++;
}

引用自:https://money.stackexchange.com/questions/107739