14
ITEC 2600 Introduction to Analytical Programming Instructor: Prof. Z. Yang Office: DB3049

ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

ITEC 2600

Introduction to Analytical Programming

Instructor: Prof. Z. Yang

Office: DB3049

Page 2: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Lecture Ten

Mortgage Payment

Page 3: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Mortgage

• Mortgage generally involves two parties, borrower

and lender.

• Borrower borrows money to finance ‘big’ purchase,

such as a house.

• Lender obtains payback of loan principal and agreed

interests.

• The loan amount is usually big so that the borrower

has to make multiple payments with agreed terms

(e.g., monthly, etc.)

• Lender’s right is secured by ownership (title) of the

property (purchased).

3

Page 4: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

An Example

• A borrower borrows money (a large amount)

from a bank (lender) to buy a house

• The borrower agrees to pay a fixed amount of

money to the bank every month.

• The monthly payments include two parts:

1. Interests owed

2. Portion of the loan principle

• The borrower agrees to pay back the entire loan

in X years (e.g., 25 years)

4

Page 5: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Notation in the Example

The following terms and notation will be used in

formula derivation and mortgage payment

calculation:

• O – Original loan principle

• B – Loan principal (remaining balance)

• P – Monthly payment

• n – Total number of payments

• r – Interest rate (per month)

5

Page 6: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Loan Principal

• After the first payment,

𝐵1 = 𝐵0 − (𝑃 − 𝐵0 ∗ 𝑟)

• After the second payment,

𝐵2 = 𝐵1 − (𝑃 − 𝐵1 ∗ 𝑟)

• In general after the ith payment, we have,

𝐵𝑖 = 𝐵𝑖−1 − (𝑃 − 𝐵𝑖−1 ∗ 𝑟)

𝐵𝑖 = 𝐵𝑖−1 ∗ (1 + 𝑟) − 𝑃

6

Page 7: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

New Principal Balance

𝑩 = 𝑩 ∗ 𝟏 + 𝒓 − 𝑷

• New balance is the remaining balance.

• Using mathematical induction, the

remaining balance is below:

𝐵 = 𝑂 ∗ (1 + 𝑟)𝑛−𝑃 ∗(1 + 𝑟)𝑛−1

(1 + 𝑟) − 1

7

New month balance Previous month balance

previous month payment

Page 8: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Script for Payment

Calculation

Simple mortgage payment calculation

O - original loan amount

B - loan balance after n payments

n - total number of payments

P - monthly payment

r - monthly interest rate = annual_rate/12

Hint: let B=0 to obtain P. P becomes zero after total

number of payments and P is constant;

8

Page 9: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Script for Payment

Calculation (cont’d)

O=150,000; % original loan amount $150K

y=30; % Amortization period is 30 years.

annual_rate=0.10; % annual interest rate

n=y*12; % total number of payments

r=annual_rate/12;

u=r/((1+r)^n-1);

% how to calulate P

disp(P)

9

Page 10: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Script for Payment

Calculation (cont’d)

disp('Rate Monthly Payment ($)');

O=150000; % original loan amount $150K

y=30; % Amortization period is 30 years.

annual_rate=0;

for i=1:9; % annual interest rate

annual_rate=i/100;

n=y*12; % total number of payments

r=annual_rate/12;

u=r/((1+r)^n-1);

P=(O*(1+r)^n)*u;

disp([num2str(annual_rate*100),'%

',num2str(round(P,2))]);

end10

Page 11: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Function Script

1. Create a function script to calculate

monthly mortgage payment:

2. The inputs of the function are:

original loan amount;

amortization period;

annual interest rate.

3. The output of the function is monthly

payment amount.

11

Page 12: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Function Script for Payment

function P = m_payment(Orig, years,

annual_rate)

N = years*12; % total number of

payments

r = annual_rate/12;

u = r/((1+r)^N-1);

P = (Orig*(1+r)^N)*u;

12

Page 13: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

Function Script (Cont’d)

Write a script to do the following:

1. Input original loan amount,

amortization period, and annual

interest rate.

2. Call the function to calculate the

monthly payment.

3. Display the accurate and adequate

payment information.

13

Page 14: ITEC 2600 Introduction to Analytical Programming ...zyang/2600m/Lecture 10Post.pdf · Function Script (Cont’d) Write a script to do the following: 1. Input original loan amount,

More Example

The prices, in dollar, of a certain stock over a 10-day

period are given below:

price = [19, 18, 22, 21, 25, 19, 17, 21, 27, 29]

You had 1000 shares at the beginning of Day One. You

bought 100 shares on the days when the price was below

$20 and sold 100 shares on the days when the price was

above $25. Use MATLAB to compute

a. The amount of money that you spent on buying shares

during the 10-day period;

b. The amount of money you received from the sale of

the shares during the 10-day period.

14