Showing posts with label simple interest. Show all posts
Showing posts with label simple interest. Show all posts

Saturday, May 23, 2026

HP 12C Platinum: Present Value of a Fractional Year

 HP 12C Platinum: Present Value of a Fractional Year



This blog features the HP 12C Platinum, HP 10BII+, and HP 22S calculators.



Short Term Transactions


Here is the scenario: A bank offers a short term bond, which last less than one year, which pays $100.00 at maturity date. The interest rate stated is an annual interest rate. While determining a pricing schedule, one banker uses an HP 12C Platinum calculator while another uses the HP 10BII+ calculator. They both use the TVM (time value of money) keys. A 365-day year is used.


FV = -100, I% (see table), N (see table), PMT = 0, Solve for PV, P/Y = 1


Term (days)

N = term ÷ 365

(to five decimal places) (for reference)

I%

HP 12C Platinum (to 5 decimal places)

HP 10BII+ (to 5 decimal places)

89

0.24384

5

98.79551

98.81737

141

0.38630

5

97.99973

98.02800

181

0.49589

5

97.58054

97.60958

365

1

5

95.23810

95.23810

89

0.24384

8

98.08664

98.14091

141

0.38630

8

96.83753

96.90714

181

0.49589

8

96.18425

96.25548

365

1

8

92.59259

92.59259


As you can see, the results are different! Why?


According to HP-12C Solutions Handbook (see the Source section), when it comes to fractional periods, simple interest is used instead of compound interest in the TVM solver. Most financial calculators, such as HP 10BII+ always uses compound interest.


Cash flow convention states that:

1. Cash inflows, such as deposits, are positive.

2. Cash outflows, such as payments, are negative.

3. In most problems, the present value and future value have opposite signs.


Respecting cash flow convention, the formulas for present value are:


Simple Interest:

P = -F ÷ (1 + D ÷ 365 × I ÷ 100)


Compound Interest:

P = -F ÷ (1 + I ÷ 100) ^ (D ÷ 365)


where:

P = present value (PV)

F = future value (FV)

I = annual interest rate

D = number of days


If leap years, substitute 366 for 365. If we are working with 30/360 day years, substitute 360 for 365.


These formulas are set up to be entered in calculators with equation solvers such as the HP 22S. I have used the HP 22S to verify each of the results above.


Now why is the results the say when the term exactly 365? It’s pretty simple to prove:


Simple Interest:

P_simple = -F ÷ (1 + 365 ÷ 365 × I ÷ 100) = -F ÷ (1 + I ÷ 100)

Compound Interest:

P_compound = -F ÷ (1 + I ÷ 100) ^ (365 ÷ 365) = -F ÷ (1 + I ÷ 100) = P_simple



When the Term Exceeds One Year


Let’s say the $100.00 bond lasts for 545 days, about one year and a half. This time the interest rate is 7%.


On the HP 12C, any fractional period is treated with simple interest. The HP 12C’s TVM solver (and the HP 12C Platinum) treats the timeline as such.


365 days: full period, compound interest

180 days: partial year, simple interest

PV

FV = -$100.00




To break it down, the HP 12C starts determining the value after 365 days.

N = 180 ÷ 365

I = 7

FV = -100

PV ≈ 96.66314

P = -(-100) ÷ (1 + 180 ÷ 365 × 7 ÷ 100) ≈ 96.66314


365 days: full period, compound interest

180 days: partial year, simple interest

PV

FV = -$100.00


96.66314


From here, the HP 12C uses that value to calculate final present value. Since we are now working with a full period (one year in this case), compound interest is used with n = 1:

N = 1

I = 7

FV ≈ -96.66314 (treated as an outflow and becoming the acting future value)

PV ≈ -(-96.6314 ÷ (1 + 7 ÷ 100) ^ (1) ≈ 90.33938


The final present value (and price) of this bond is 90.33938.


If we enter following the HP 12C Platinum:

N: 545 [ ENTER ] 365 [ ÷ ] [ N ] (≈ 1.49315)

I: 7 [ i ]

FV: 100 [ CHS ] [ FV ]

PMT: 0 [ PMT ]

[ PV ] → PV ≈ 90.33938


Enter the same problem on most other financial calculators, like the HP 10BII+, will result in a final present value of 90.39108. (P/Y = 1) This is because compounding interest is used for the entire time:


P = -(-100) ÷ (1 + 7 ÷ 100) ^ (545 ÷ 365) ≈ 90.39108


HP 12C Program: Present Value Using Compounding Interest Including Fractional Periods


The program calculates present value given the future value, interest, and the number of days using compounding interest for the entire period. A 365 day year is assumed.



Code: Key; Key Code

ENTER; 36

3; 3

6; 6

5; 5

÷; 10

1; 1

RCL i; 45, 12

%; 25

+; 40

x<>y; 34

y^x; 21

RCL FV; 45, 15

x<>y; 34

÷; 10

CHS; 16

GTO 000; 43,33,000 (GTO 00; 43, 33,00 for HP 12C Classic)


Future value is stored in FV and interest rate is stored in i. The number of days is on the X stack.



Source


Hewlett Packard. HP-12C Solutions Handbook. 2004. pg. 45 https://literature.hpcalc.org/official/hp12c-sh-en.pdf




Eddie


All original content copyright, © 2011-2026. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


Saturday, September 6, 2025

HP 71B Programs: September 2025

HP 71B Programs: September 2025


One of my favorite calculators/pocket calculators of all time is the HP 71B.



ADDMOD: (a + b) mod n = a mod n + b mod n


10 DESTROY A, B, N

20 DISP “(A+B) MOD N” @ WAIT .5

30 INPUT “A? “; A

40 INPUT “B? “; B

50 INPUT “C? “; C

60 S = MOD(A, N) + MOD(B, N)

70 S = MOD(S, N)

80 DISP “SUM = “; S


MULTMOD: (a * b) mod n = a mod n * b mod n


10 DESTROY A, B, N

20 DISP “(A*B) MOD N” @ WAIT .5

30 INPUT “A? “; A

40 INPUT “B? “; B

50 INPUT “N? “; N

60 P = MOD(A, N) * MOD(B, N)

70 P = MOD(P, N)

80 DISP “PRODUCT = “; P


Examples:

A

630

48

15

B

320

99

47

N

700

15

7

SUM:

250

12

6

PRODUCT:

0

12

5



GABLE: Area of a Gable Roof


10 DESTROY P, S, L

20 DEGREES

30 INPUT “PITCH (IN.)? “; P

40 INPUT “SPAN (FT.)? “; S

50 INPUT “LENGTH (FT.)? “; L

60 A = 2 * S * L / COS(ATAN(P/12))

70 DISP “AREA = “; A; “ FT^2”


Input: Pitch (P)

6”

3”

4”

Input: Span (S)

110” (110/12 ft)

5’ 8” (5 + 8/12 ft)

15 ft

Input: Length (L)

100” (100/12 ft)

10’

10 ft

Output: Area (A)

170.81074828 ft^2

116.821326059 ft^2

316.227766017 ft^2



INTENSE: Light Intensity of a Spherical or a Cylindrical Light Source


intensity = power / surface area

intensity (W/m^2), power (W), surface area (m^2)

Surface area: sphere = 4 * π * r^2, cylinder = 2 * π * (r * h + r^2)


10 DESTROY P, K$, R, H

20 DISP “INTENSITY OF LIGHT!” @ WAIT .5

30 INPUT “POWER (W)? “; P


40 DISP “1. SPHERE 2. CYLINDER”

50 DELAY 0,0

60 K$ = KEY$

70 IF K$ = “1” OR K$ = “S” THEN GOTO 100

80 IF K$ = “2” OR K$ = “C” THEN GOTO 200

90 GOTO 40


100 INPUT “RADIUS (M)? “; R

110 A = 4 * PI * R^2

120 GOTO 300


200 INPUT “RADIUS (M)? “; R

210 INPUT “HEIGHT (M)? “; H

220 A = 2 * PI * (R * H + R^2)

230 GOTO 300


300 I = P / A

310 DISP I; “W/M^2”


Examples:


Sphere: r = 4 m, Power = 60 W: Intensity = .298415518297 W/M^2


Cylinder: r = 1.25 m, h = 0.75 m, Power = 70 W; Intensity = 4.45633840656 W/M^2



SIMPLE: Simple Interest – Banker’s Rule


interest = amount * rate% / 100 * #days / 360

final = principal + interest (final, maturity value)


10 DESTROY P, R, I, M

20 DISP “SIMPLE INTEREST” @ WAIT .5

30 INPUT “AMT? “; P

40 INPUT “RATE%? “; R

50 INPUT “# DAYS? “; D

60 I = P * R * D / 360 / 100

70 M = P + I

80 IMAGE K, M10D.2D

90 DISP USING 80; “INT.=”, I @ PAUSE

100 DISP USING 80; “FINAL=”, M


Notes:


* When the HP 71B is in pause, press [ f ] [ + ] to continue (CONT).

* To stop execution, press [ ON ] (ATTN).

* IMAGE K, M10D.2D: display “prompt string”, number rounded to 2 decimal places. The number is right-justified, make the prompt string 7 characters or less to fit both the string and number on the screen.


Examples


Input: Amount

1500

2000

2800

Input: Rate %

4.00%

8.00%

6.65%

Input: # Days

180

90

60

Output: Interest

30

40

31.03

Output: Final

1530

2040

2831.03



AIRSOUND: Speed of Sound in Air


S = 331.5 + .606 * T

S = speed of sound in air, m/s

T = temperature in °C


10 DESTROY K$, S, T

20 DISP “SPEED OF SOUND IN AIR” @ WAIT .5

30 DISP “SOLVE FOR…” @ WAIT .5

40 DISP “1. SPEED 2. TEMP”

60 K$ = KEY$

70 IF K$=”1” OR K$=”S” THEN GOTO 100

80 IF K$=”2” OR K$=”T” THEN GOTO 200

90 GOTO 40


100 INPUT “TEMP (°C)? “; T

110 S = 331.5 + .606 * T

120 DISP “S=”; S; “ M/S”

130 END


200 INPUT “SPEED (M/S)? “; S

210 T = (S- 331.5) / .606

220 DISP “T=”; T ; “°C”

230 END



Examples:


Input: T = 74 °F = (32 + 1/3) °C

Output: S = 345.64 m/s

Input: S = 350 m/s

Output: T = 30.5280528053 °C

Input: T = -8.5 °C

Output: S = 326.349 m/s

Input: S = 382 m/s

Output: T = 83.3333333333 °C



Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

The author does not use AI engines and never will.

Sunday, July 13, 2025

fx-3900PV Programs: Finance Factors

fx-3900PV Programs: Finance Factors


I’m revisiting the fx-3900Pv, which seems to be a hit. The last set of programs from May 3 of this year: https://edspi31415.blogspot.com/2025/05/casio-fx-3900pv-linear-system-poisson.html


Remember: When using the ENT (enter/input) command, we must enter a valid number and then the next step. The number that precedes ENT is not counted as a step and is not recorded.


Example: x + 9


In LRN (learn) mode (Mode EXP):

ENT (enter any number)

+

9

=


Casio fx-3900Pv: Simple Interest


maturity amount = principal amount * (1 + 0.01 * I%) * N ÷ 360

interest accrued = maturity amount – principal amount


I% = annual interest rate

N = number of days


The Act/360 method is used.


Code (23 steps):

ENT # enter principal amount (PV)

Kin 1

×

(

1

+

.

0

1

×

ENT # enter interest rate

×

ENT # enter number of days

÷

3

6

0

)

=

HLT # pause, display maturity amount

-

Kout 1

= # display interest accrued, end program


Example 1:


Inputs:

Principal Amount: 1,000.00

Rate: 5%

Number of Days: 30


Output (rounded to 2 decimal places)

Maturity Amount: 1,004.17

Interest Accrued: 4.17


Example 2:


Inputs:

Principal Amount: 360.00

Rate: 8%

Number of Days: 90


Output (rounded to 2 decimal places)

Maturity Amount: 367.20

Interest Accrued: 7.20



Casio fx-3900Pv: Compound Interest Factor with Compounding Periods


The following program calculates the compound interest factor:


factor = (1 + I% ÷ PYR) ^ (YRS × PVR)


where

I% = annual interest rate

PYR = payments per year (compounding periods)

YRS = number of years (N)


The factor is used in simple compound interest problems:


FV = PV × factor


where:

FV = future value

PV = present value


Code (19 steps):

(

1

+

.

0

1

×

ENT # enter interest rate

÷

ENT # enter payments per year

Kin 1

)

x^y

(

ENT # enter number of years

×

Kout 1

)

=


Example:

Find the compound interest interest factor for: I% = 5%, 12 payments a year, 4 years


Factor: 1.220895351


If an investor expects a $5,000.00 payoff, what should the investor pay?

PV = FV ÷ X

Keys: (with the answer from program displayed: [ 1/x ] [ × ] 5000 [ = ])

PV (rounded): 4,0953.36



Casio fx-3900Pv: Loan Annuity Factor


The following program calculates the loan annuity factor:


factor = ( ( 1 - ( 1 + I% ÷ PYR ) ^ (-YRS × PYR) ) ÷ ( I% ÷ PYR )


where

I% = annual interest rate

PYR = payments per year (compounding periods)

YRS = number of years (N)


The factor is used in loan problems without balloon payments, and assume that the payments occur at the end of each period (ordinary annuity):


PV = PMT × factor


where:

PV = present value

PMT = periodical payments


Code (30 steps):

ENT # enter interest rate

÷

ENT # enter payments per year

Kin 2

×

.

0

1

=

Kin 1 # K1 = I% ÷ PYR

ENT # enter number of years

×

Kout 2

=

Kin 2 # K2 = YRS × PYR = N

(

1

-

(

1

+

Kout 1

)

x^y

Kout 2

+/-

)

÷

Kout 1

=


Example:

A student buys a car at $35,619 (after taxes and fees). The student gets a six year loan at 5.7% and pays at the end of each month. What is the payment?


PMT = PV ÷ factor

where PV = 35619, I% = 5.7, PYR = 12 (monthly payments), YRS = 6


Running the program with inputs 5.7, 12, 6: 60.85819003

Payment: [ 1/x ] [ × ] 35619 [ = ]: 585.28 (rounded)



Casio fx-3900Pv: Sinking Fund Factor (Savings Account)


The following program calculates the sinking factor (used for savings accounts):


factor = ( (1 + I% ÷ PYR) ^ (YRS × PYR) – 1 ) ÷ (I% ÷ PYR)


The factor is used in determining the future value of savings plans with regular deposits made at the end of each period:


FV = PMT × factor


Code (29 steps):

ENT # enter interest rate

÷

ENT # enter payments per year

Kin 2

×

.

0

1

=

Kin 1 # K1 = I% ÷ PYR

ENT # enter the number years

×

Kout 2

=

Kin 2 # K2 = YRS × PYR

(

(

1

+

Kout 1

)

x^y

Kout 2

-

1

)

÷

Kout 1

=


Example:


A child’s parents opens up an account on the child’s first birthday. The parents contribute $200.00 per month for the next 18 years. The account pays a fixed rate of 3% per month. What is the value of the fund when the child turns 18?


Note: The account is opened on the child’s first birthday, hence 17 years pass.


FV = PMT × factor

where PMT = 100, I% = 3, PYR = 12, YRS = 17


Running the program with inputs 3, 12, 17: 265.69267

Future Value: [ × ] 200 [ = ]: 53,138.54 (rounded)



Until next time, stay safe and sane,


Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


The content on this blog is 100% generated by humans. The author does not use AI engines and never will.



Python: Drawing a Ring of Circles

Python: Drawing a Ring of Circles The goal: Draw a number of circles that revolve around the origin (0,0). The center of each circle i...