HP 12C Programming III: Refinancing, Advance Payments in a Lease, NPV, NFV, NUS
HP 12C Programming Part I:  Modulus, GCD,
PITI 
HP 12C Programming Part
II:  Weekday Number, Gross Up Calculation
HP 12C Refinancing:  When refinancing “resets” the clock.
Sometimes when a long
term mortgage is refinanced, the original length of term is reset.  We will assume payments are made monthly. 
Input:  
Store the following amounts
in the registers:
Clear the TVM variables
by pressing [ f ] [x<>y] (CLEAR FIN)
Original number of
payments,  [ n ]
Annual rate, [ 12÷ ] [ I
]
Loan Amount, [ PV ]
Number of payments that
have been made prior to refinance, [STO] [ 0 ] 
(R0)
New annual rate,
[ENTER], 12, [ ÷ ], [STO] [ 1 ]  (R1)
Run the program by
pressing [R/S].  The original payment is
calculated.  Press [R/S] again to get the
balance.  Enter any additional monies
(can be $0.00) received due to the refinance. 
Finally, press [R/S] again, and the new payment is calculated.
Program:
| 
STEP | 
CODE | 
KEY | 
| 
01 | 
45, 11 | 
RCL n | 
| 
02 | 
44, 2 | 
STO 2 | 
| 
03 | 
14 | 
PMT | 
| 
04 | 
14 | 
PMT \\ calculate payment | 
| 
05 | 
31 | 
R/S | 
| 
06 | 
45, 0 | 
RCL 0 | 
| 
07 | 
11 | 
n | 
| 
08 | 
15 | 
FV | 
| 
09 | 
31 | 
R/S  \\ calculate balance, ask for amount of
  withdrawn | 
| 
10 | 
30 | 
- | 
| 
11 | 
16 | 
CHS | 
| 
12 | 
13 | 
PV | 
| 
13 | 
0 | 
0 | 
| 
14 | 
15 | 
FV | 
| 
15 | 
45, 1 | 
RCL 1 | 
| 
16 | 
12 | 
i | 
| 
17 | 
45, 2 | 
RCL 2 | 
| 
18 | 
11 | 
n | 
| 
19 | 
14 | 
PMT | 
| 
20 | 
43, 33, 00 | 
GTO 00 | 
Example:  
A couple purchased a
house for $185,000.  The mortgage lasts
for 30 years (360 months) with a 4.8% interest rate (0.4% periodic rate).   180 payments have passed, and the couple is
able to refinance the mortgage (but pay that amount in 30 years) at a rate of
3.84%.  $15,000 is also cashed out.
Input:
360 [ n ]
0.4 [ i ]
185000 [PV]
180 [STO] [ 0 ]
0.32 [STO] [ 1 ]
Results:
[R/S]    -970.63 
(The original payment is $970.63)
[R/S]    -124,373.78   (Balance of $124,373.78) 
Enter 15000, press
[R/S] -652.60   (New payment is $652.60)
HP 12C:  Advance
Payments in a Lease
The program calculates
the payment where you pay number of payments in advance.
Formula:
PMT = (-PV – FV*(SPPV(I%/12:N)))
÷ (UPSV(I%/12:N-ADV)+ADV)
Where:
SPPV:  present value of $1, where FV is equal to 1
USPV:  present value of $1, where PMT is equal to 1
Input:
Number of payments, [
STO ] [ 0 ]
Number of payments made
in advance, [ STO ] [ 1 ]
Periodic Rate, [STO] [
2 ]
Price of the Lease,
[STO] [ 3 ]
Salvage Value, [ STO ]
[ 4 ]
Calculate lease payment
by pressing [R/S].
| 
STEP | 
CODE | 
KEY | 
| 
01 | 
42, 34 | 
Clear FIN  ([ f ] [x<>y]) | 
| 
02 | 
1 | 
1 | 
| 
03 | 
16 | 
CHS | 
| 
04 | 
15 | 
FV | 
| 
05 | 
45, 2 | 
RCL 2 | 
| 
06 | 
12 | 
i | 
| 
07 | 
45, 0 | 
RCL 0 | 
| 
08 | 
11 | 
n | 
| 
09 | 
13 | 
PV | 
| 
10 | 
45, 4 | 
RCL 4 | 
| 
11 | 
20 | 
* | 
| 
12 | 
16 | 
CHS | 
| 
13 | 
45, 3 | 
RCL 3 | 
| 
14 | 
30 | 
- | 
| 
15 | 
45, 11 | 
RCL n | 
| 
16 | 
45, 1 | 
RCL 1 | 
| 
17 | 
30 | 
- | 
| 
18 | 
11 | 
n | 
| 
19 | 
45, 15 | 
RCL FV | 
| 
20 | 
14 | 
PMT | 
| 
21 | 
0 | 
0 | 
| 
22 | 
15 | 
FV | 
| 
23 | 
13 | 
PV | 
| 
24 | 
45, 1 | 
RCL 1 | 
| 
25 | 
40 | 
+ | 
| 
26 | 
10 | 
÷ | 
| 
27 | 
43, 33, 00 | 
GTO 00 | 
Example:
A machine with a cost
of $40,000.00 is leased for 48 months. 
Two advanced payments are required. 
Interest rate is 10% (monthly periodic rate is 10%/12).  The residual value is estimated to be $15,000.
Input:
48 [STO] [ 0 ]   \\ term
2 [STO] [ 1 ]   \\ 2 advanced payments
10 [ENTER] 12 [ ÷ ]
[STO] [ 2 ]  \\ interest rate
40000 [STO] [ 3 ]  \\ cost
15000 [STO] [ 4 ] \\
salvage value
Result:
[R/S]  -1249.30   
(Each payment is $1,249.30.  Two
advanced payments are $2,498.60).
Source:  HP 17bII+ Financial Calculator User’s
Guide.  Hewlett Packard.  Edition 3: 
2007
HP 12C: Net Present Value, Net Future Value, Net
Utility Stream
Input:
Clear the registers/finance
registers
Press [ g ] (GTO) 00 to
get the pointer to line 00.  (000 for the
HP 12C Platinum editions.  Remember, the
Platinum editions have up to 400 steps and line numbers are in triple digits)
Store -1 in [ n ] (don’t
worry, n is incremented in the main loop)
Store periodic interest
rate in [ i ].
Store 0 in register
0  (0 [STO] [ 0 ]).  Register 0 is use for calculating NPV
Enter each cash flow
one at a time, and press [R/S].
Ready to calculate:
Press [ g ] (GTO)
10  (or 010) to get the pointer to line
10.  
Press [R/S] to get NPV
(net present value)
Press [R/S] to get NFV
(net future value)
Press [R/S] to get NUS
(net utility stream)
Program:
| 
STEP | 
CODE | 
KEY | 
| 
01 | 
16 | 
CHS  // main loop: input data | 
| 
02 | 
15 | 
FV | 
| 
03 | 
45, 11 | 
RCL n | 
| 
04 | 
1 | 
1 | 
| 
05 | 
40 | 
+ | 
| 
06 | 
11 | 
n | 
| 
07 | 
13 | 
PV | 
| 
08 | 
44, 40, 0 | 
STO+ 0 | 
| 
09 | 
43, 33, 0 | 
GTO 00  // finish main loop | 
| 
10 | 
45, 0 | 
RCL 0 // calculation part | 
| 
11 | 
31 | 
R/S  // net present value | 
| 
12 | 
1 | 
1 | 
| 
13 | 
16 | 
CHS | 
| 
14 | 
13 | 
PV | 
| 
15 | 
0 | 
0 | 
| 
16 | 
14 | 
PMT | 
| 
17 | 
15 | 
FV | 
| 
18 | 
45, 0 | 
RCL 0 | 
| 
19 | 
20 | 
* | 
| 
20 | 
31 | 
R/S  // net future value | 
| 
21 | 
45, 0 | 
RCL 0 | 
| 
22 | 
1 | 
1 | 
| 
23 | 
16 | 
CHS | 
| 
24 | 
14 | 
PMT | 
| 
25 | 
0 | 
0 | 
| 
26 | 
15 | 
FV | 
| 
27 | 
13 | 
PV | 
| 
28 | 
10 | 
÷ | 
| 
29 | 
31 | 
R/S  // net utility stream | 
Example:
Rate:  15%
| 
Cash Flow # | 
Flow | 
| 
0 | 
-10,000.00 | 
| 
1 | 
2500.00 | 
| 
2 | 
3500.00 | 
| 
3 | 
5000.00 | 
| 
4 | 
5000.00 | 
Input:
[ f ] CLEAR FIN, [ f ]
CLEAR PRGM
-1 [ n ]  // do this on each new problem
0 [STO] [ 0 ]   // do this on each new problem
15 [ i ]
10000 [CHS] [R/S]
2500 [R/S]
3500 [R/S]
5000 [R/S]
5000 [R/S]
Results: 
[GTO] 10  [R/S]:  
NPV = 966.76
[R/S]:   NFV = 1690.88
[R/S]:   NUS = 338.62
Input slowly and
carefully.
This blog entry is
property of Edward Shore, 2016.
