Calculators

Calcamm





Purchase & Financing Information
Sale Price of Home:
Percentage Down: %
Length of Mortgage: years
Annual Interest Rate: %
Explain Calculations: > Show me the calculations and amortization
 
Start Over
"); } ?>
Mortgage Payment Information
Down Payment:
Amount Financed:
Monthly Payment:
(Principal & Interest ONLY)
 
Since you are putting LESS than 20% down, you will need to pay PMI (Private Mortgage Insurance), which tends to be about $55 per month for every $100,000 financed (until you have paid off 20% of your loan). This could add to your monthly payment.
Monthly Payment:
(Principal & Interest, and PMI)
 
Residential (or Property) Taxes are a little harder to figure out... In Massachusetts, the average resedential tax rate seems to be around $14 per year for every $1,000 of your property's assessed value.

Let's say that your property's assessed value is 85% of what you actually paid for it - . This would mean that your yearly residential taxes will be around This could add to your monthly payment.
TOTAL Monthly Payment:
(including residential tax)


The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05)

$ = $ X ( / 100)
The interest rate = The annual interest percentage divided by 100

= % / 100
The monthly factor = The result of the following formula:
The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year)

= / 12
The month term of the loan in months = The number of years you've taken the loan out for times 12

Months = Years X 12
The montly payment is figured out using the following formula:
Monthly Payment = * ( / (1 - ((1 + )-())))

The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan.


Amortization For Monthly Payment: \$" . number_format($monthly_payment, "2", ".", "$thousands_sep") . " over " . $year_term . " years
\n"); print("\n"); // This LEGEND will get reprinted every 12 months $legend = "\t\n"; $legend .= "\t\t\n"; $legend .= "\t\t\n"; $legend .= "\t\t\n"; $legend .= "\t\t\n"; $legend .= "\t\n"; echo $legend; // Loop through and get the current month's payments for // the length of the loan while ($current_month <= $month_term) { $interest_paid = $principal * $monthly_interest_rate; $principal_paid = $monthly_payment - $interest_paid; $remaining_balance = $principal - $principal_paid; // Compute the data arrays for interest, principal and balance $interest_array[$current_month] = array( "", $current_month, $interest_paid); $principal_array[$current_month] = array( "", $current_month, $principal_paid); $balance_array[$current_month] = array( "", $current_month, $remaining_balance); $this_year_interest_paid = $this_year_interest_paid + $interest_paid; $this_year_principal_paid = $this_year_principal_paid + $principal_paid; print("\t\n"); print("\t\t\n"); print("\t\t\n"); print("\t\t\n"); print("\t\t\n"); print("\t\n"); ($current_month % 12) ? $show_legend = FALSE : $show_legend = TRUE; if ($show_legend) { print("\t\n"); print("\t\t\n"); print("\t\n"); $total_spent_this_year = $this_year_interest_paid + $this_year_principal_paid; print("\t\n"); print("\t\t\n"); print("\t\t\n"); print("\t\n"); print("\t\n"); print("\t\t\n"); print("\t\n"); $current_year++; $this_year_interest_paid = 0; $this_year_principal_paid = 0; if (($current_month + 6) < $month_term) { echo $legend; } } $principal = $remaining_balance; $current_month++; } print("
MonthInterest PaidPrincipal PaidRemaing Balance
" . $current_month . "\$" . number_format($interest_paid, "2", ".", "$thousands_sep") . "\$" . number_format($principal_paid, "2", ".", "$thousands_sep") . "\$" . number_format($remaining_balance, "2", ".", "$thousands_sep") . "
Totals for year " . $current_year . "
 \n"); print("\t\t\tYou will spend \$" . number_format($total_spent_this_year, "2", ".", "$thousands_sep") . " on your house in year " . $current_year . "
\n"); print("\t\t\t\$" . number_format($this_year_interest_paid, "2", ".", "$thousands_sep") . " will go towards INTEREST
\n"); print("\t\t\t\$" . number_format($this_year_principal_paid, "2", ".", "$thousands_sep") . " will go towards PRINCIPAL
\n"); print("\t\t
 

\n"); } //******************************* Graphics ******************************// // This part Copyright (c) 2002 Chris Karakas // http://www.karakas-online.de // // Compute the graph here include ( "./phplot.php"); if (isset($balance_array["1"])){ $graph = new PHPlot; $tmpdir = "./tmp"; $prefix = "chart"; $maxbytes = 10000000; //Create a file with random name in the temp dir, starting with $prefix $temp = tempnam($tmpdir,$prefix); //Add the .png ending and rename it, otherwise some web servers will not serve it. $temp_png = $temp . '.' . "png"; rename($temp,$temp_png); //Specify this random file to be the output file of the image $graph->SetOutputfile($temp_png); $graph->SetFileFormat("png"); // is default anyway //Don't draw the image yet $graph->SetPrintImage(0); //Don't output the file headers - we're inline! $graph->SetIsInline("1"); $graph->SetDataType( "linear-linear"); //First dataset to plot $graph->SetDataValues($balance_array); //Specify plotting area details $graph->SetImageArea(600,400); $graph->SetPlotType( "lines"); $graph->SetTitleFontSize( "2"); $graph->SetTitle( "Remaining balance"); $graph->SetPlotAreaWorld(0,0,($current_year*12*1.1),($financing_price * 1.1)); $graph->SetPlotBgColor( "white"); $graph->SetPlotBorderType( "left"); $graph->SetBackgroundColor( "white"); //Define the X axis $graph->SetXLabel( "Month"); $graph->SetHorizTickIncrement( "24"); $graph->SetXGridLabelType( "plain"); //Define the Y axis $graph->SetVertTickIncrement(($sale_price / 10)); $graph->SetPrecisionY(0); $graph->SetYGridLabelType( "data"); $graph->SetLightGridColor( "blue"); $graph->SetDataColors( array( "red"), array( "black") ); //Check size of tmp directory $tmpdirsize = dirsize($tmpdir); //If the size of the tmp dir has exceeded the maximum in bytes that we allow, //delete every file in it! We check this only once per run. if ($tmpdirsize > $maxbytes){ runlink($tmpdir); } //Draw the chart $graph->DrawGraph(); //Now, the image is ready - print it to the file! $graph->PrintImage(); //Set correct permissions chmod($temp_png,0644); //Determine the image size in order to set it correct in the img tag below. $size = getimagesize ("$temp_png"); echo "

Graphics

"; } // Compute the second image here if (isset($principal_array["1"])){ $graph = new PHPlot; //Create a file with random name in the temp dir, starting with $prefix $temp = tempnam($tmpdir,$prefix); //Add the .png ending and rename it, otherwise some web servers will not serve it. $temp_png = $temp . '.' . "png"; rename($temp,$temp_png); //Specify this random file to be the output file of the image $graph->SetOutputfile($temp_png); $graph->SetFileFormat("png"); // is default anyway //Don't draw the image yet $graph->SetPrintImage(0); //Don't output the file headers - we're inline! $graph->SetIsInline("1"); $graph->SetDataType( "linear-linear"); //First dataset to plot $graph->SetDataValues($principal_array); //Specify plotting area details $graph->SetImageArea(600,400); $graph->SetPlotType( "lines"); $graph->SetTitleFontSize( "2"); $graph->SetTitle( "Interest vs. principal (monthly)"); $graph->SetPlotAreaWorld(0,0,($current_year*12*1.1),($monthly_payment * 1.1)); $graph->SetPlotBgColor( "white"); $graph->SetPlotBorderType( "left"); $graph->SetBackgroundColor( "white"); //Define the X axis $graph->SetXLabel( "Month"); $graph->SetHorizTickIncrement( "24"); $graph->SetXGridLabelType( "plain"); //Define the Y axis $graph->SetVertTickIncrement(($monthly_payment / 10)); $graph->SetPrecisionY(0); $graph->SetYGridLabelType( "data"); $graph->SetLightGridColor( "blue"); $graph->SetDataColors( array("green"), array("black") ); //Draw the first chart $graph->DrawGraph(); //Second chart on the image //Second dataset to plot $graph->SetDataValues($interest_array); //$graph->SetDataColors( array( "blue"), array( "black") ); //We already got them in the first graph $graph->SetDrawXDataLabels(0); //Draw a legend //Define the legend texts $graph->SetLegend(array("Principal","Interest")); //Set the colors for the legend texts $graph->SetDataColors( array( "green","blue"), array( "black","black") ); //Draw the legend $graph->DrawLegend(450,175,""); //Set the correct color for the second chart $graph->SetDataColors( array( "blue"), array( "black") ); //Draw the New data over the first chart $graph->DrawLines(); //Now, the image is ready - print it to the file! $graph->PrintImage(); //Set correct permissions chmod($temp_png,0644); //Determine the image size in order to set it correct in the img tag below. $size = getimagesize ("$temp_png"); echo "

"; } function dirsize($directory){ if (!is_dir($directory)) return -1; $size = 0; if ($DIR = opendir($directory)){ while (($dirfile = readdir($DIR)) !== false){ if (is_link($directory . '/' . $dirfile) || $dirfile == '.' || $dirfile == '..') continue; if (is_file($directory . '/' . $dirfile)) $size += filesize($directory . '/' . $dirfile); else if (is_dir($directory . '/' . $dirfile)){ $dirSize = dirsize($directory . '/' . $dirfile); if ($dirSize >= 0) $size += $dirSize; else return -1; } } closedir($DIR); } return $size; } function runlink($directory){ if (!is_dir($directory)) return -1; if ($DIR = opendir($directory)){ while (($dirfile = readdir($DIR)) !== false){ if (is_link($directory . '/' . $dirfile) || $dirfile == '.' || $dirfile == '..') continue; if (is_file($directory . '/' . $dirfile)) unlink($directory . '/' . $dirfile); else if (is_dir($directory . '/' . $dirfile)){ runlink($directory . '/' . $dirfile); } } closedir($DIR); } } //******************************* End of Graphics ******************************// ?>

This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate. This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
The calculations are visualized with the aid of two diagrams at the bottom of the page, the first one displaying the remaining balance, the second showing the interplay of monthly paid interest vs. monthly paid principal, both on a month/money coordinate system.



\n"); print("\n"); } ?> «Back

© Copyright 2012 Capital Mortgage All Rights Reserved

17170 West 12 Mile Road Southfield, MI 48076

NMLS ID #371864

Capital Mortgage Funding is a division of Shore Financial Services, Inc.