Wolfram Computation Meets Knowledge

How do I calculate mortgages and loans using annuities?

The TimeValue expression can describe the present value of an Annuity in terms of the cost of each payment, the number of periods, the size of the intervals, and the interest rate.


TimeValue[Annuity[payments, periods, intervals], interest, 0]

To find the monthly payments on a mortgage with value, equate the present value with some value:


TimeValue[Annuity[payments, periods, intervals], interest, 0] == value

Use the function Solve to solve the equation in terms of payments:


Solve[TimeValue[Annuity[payments, periods, intervals], interest, 0] == value, payments]

This returns an algebraic answer for the value of the payments in terms of the other variables. Solve outputs the result as a list of rules.

Solve can calculate with numbers as well. For example, to calculate the payments on a $200,000 mortgage amortized over 30 years at 5.2% nominal interest, evaluate:


Solve[TimeValue[Annuity[payments, 30, 1/12], EffectiveInterest[.052, 1/12], 0] == 200000, payments]

{{payments -> 1098.22}}

We can solve for other parameters as well, such as the number of payments. To find the number of years required to pay off a $10,000 loan with payments of $200 per month at an 8% interest rate, evaluate:


Solve[TimeValue[Annuity[200,periods, 1/12], .08, 0] == 10000,periods]

{{periods -> 5.04369}}

To calculate the monthly payments needed to pay off a $5,000 loan in 3 years, evaluate:


Solve[TimeValue[Annuity[payments, 3, 1/12], .08, 0] == 5000, payments]

{{payments -> 156.039}}

A loan of $3,000 is repaid with quarterly installments at the end of each quarter for 5 years. If the interest rate is 10% compounded semiannually, the amount of each quarterly payment is found with the following code:


Solve[TimeValue[Annuity[payments, 5, 1/4], EffectiveInterest[.1, 1/2], 0] == 3000, payments]

{{payments -> 191.888}}

Solve can also solve for the relationship between two parameters. For example we can find the function relating payments to the interest rate and then plot the relationship:


relationship = First[Solve[ TimeValue[Annuity[payments, 5, 1/4], interest, 0] == 3000, payments]]

Plot[payments /. relationship, {interest, 0, 10}]

Была ли эта статья для вас полезной?
Да
Нет

Хотите оставить комментарий?

Спасибо за ваш отзыв.

Отправить

Обратиться в службу поддержки

Если у вас есть вопросы о ценах и оплате, активации или сомнения по техническим темам, мы готовы вам помочь.

1-800-WOLFRAM (+1-217-398-0700 для международных звонков)

Служба поддержки

Понедельник-пятница
с 08:00 до 17:00 по центральному времени США

  • Регистрация или активация продукта
  • Предпродажная информация и заказ
  • Помощь в установке и первом запуске

Расширенная техническая поддержка (для правомочных клиентов)

Понедельник-четверг
с 08:00 до 19:00 по центральному времени США

Пятница
с 08:30 до 10:00 и с 11:00 до 17:00 по центральному времени США

  • Приоритетная техническая поддержка
  • Поддержка по продуктам от экспертов Wolfram
  • Помощь специалистов по программированию на Wolfram Language
  • Расширенная поддержка установки