我刚刚找到抵押贷款计算器功能:
function calculatePayment($price, $down, $term)
{
$loan = $price - $down;
$rate = (2.5/100) / 12;
$month = $term * 12;
$payment = floor(($loan*$rate/(1-pow(1+$rate,(-1*$month))))*100)/100;
return $payment;
}
所以,如果我这样做:
calculatePayment(200000,0,25)
它还给我897.23 $。
问题在于,如果我与BMO Bank或duproprio.com计算器进行比较,看起来我的功能与其他2个网站的工作方式不同,结果是895,93 $。
有人可以帮我弄清楚为什么它没有返还好的金额吗?
非常感谢
答案 0 :(得分:2)
我已将http://www.secureapp.com/tools/mortgage.html的余额计算部分转换为PHP函数(也是我添加了一个预付款变量)并给出了一个用法示例:
$principal = 684000; //Mortgage Amount
$interest_rate = 2.89; //Interest Rate %
$down = $principal *0.10; //10% down payment
$years = 25;
$months = 0;
$compound = 2; //compound is always set to 2
$frequency = 12; //Number of months (Monthly (12), Semi-Monthly (24), Bi-Weekly(26) and Weekly(52)
function calcPay($MORTGAGE, $AMORTYEARS, $AMORTMONTHS, $INRATE, $COMPOUND, $FREQ, $DOWN){
$MORTGAGE = $MORTGAGE - $DOWN;
$compound = $COMPOUND/12;
$monTime = ($AMORTYEARS * 12) + (1 * $AMORTMONTHS);
$RATE = ($INRATE*1.0)/100;
$yrRate = $RATE/$COMPOUND;
$rdefine = pow((1.0 + $yrRate),$compound)-1.0;
$PAYMENT = ($MORTGAGE*$rdefine * (pow((1.0 + $rdefine),$monTime))) / ((pow((1.0 + $rdefine),$monTime)) - 1.0);
if($FREQ==12){
return $PAYMENT;}
if($FREQ==26){
return $PAYMENT/2.0;}
if($FREQ==52){
return $PAYMENT/4.0;}
if($FREQ==24){
$compound2 = $COMPOUND/$FREQ;
$monTime2 = ($AMORTYEARS * $FREQ) + ($AMORTMONTHS * 2);
$rdefine2 = pow((1.0 + $yrRate),$compound2)-1.0;
$PAYMENT2 = ($MORTGAGE*$rdefine2 * (pow((1.0 + $rdefine2),$monTime2)))/ ((pow((1.0 + $rdefine2),$monTime2)) - 1.0);
return $PAYMENT2;
}
}
$payment = calcPay($principal, $years, $months, $interest_rate, $compound, $frequency, $down);
答案 1 :(得分:1)
而不是每月复合,每6个月复合抵押贷款。
加拿大抵押贷款每6个月复利一次而非每月复利。
除浮动抵押贷款外,所有抵押贷款按法律每半年复利一次。因此,如果您按揭贷款的比率为6%,则抵押贷款的实际年利率为6.09%,基于每半年3%。但是,您每月支付利息,因此您的抵押贷款人需要使用基于年利率低于6%的月费率。为什么?因为这个速度每月会复杂化。因此,我们需要找到每月复合的比率,结果有效率为6.09%。数学上,这将是:
(1 + rM)12-1 = 0.0609
rM =(1.0609)1/12
rM = 0.493862 ...%
答案 2 :(得分:0)
你的计算还可以 - 这个抵押贷款计算器:http://aprc.eu/index.php?page=APR-loan-calculator
您的结果和引用的银行计算器的差异源于不同的假设。您使用的公式是每月付款在该月末。如果付款是在该月的开始,则迭代次数较低,因此付款也可能较低。