11 Time Value of Money, Loans, and Savings
Time value of money calculations relate an amount now, an amount later, and equal payments between them. Supply the known quantities and solve for the missing one: a loan payment, an affordable principal, a savings balance, an interest rate, or a number of periods. The financial registers retain the inputs, so you can change one assumption and calculate again.
These operations are available in both entry modes. Show the Financial panel by swiping left across the top two keyboard rows in portrait; both panels are visible in a wide landscape layout. The register meanings, cash signs, period units, payment timing, and formulas below apply in both modes. RPN readers should follow section 11.4 and the worked key sequences. ALG readers should start with section 11.12 for explicit stores, CPT, and the amortization worksheet, then use the problem sections for their assumptions and interpretation.
In the RPN sequences, X means the current stack position labeled S0 in the full-stack view; Y means S1. Last X and Last Y hold separate saved operands. The financial registers and ALG worksheet fields are separate from these stack positions; see chapter 6.
11.2 Cash signs, periods, and interest rates
The two annual-to-monthly shortcuts
11.3 END and BEGIN payment timing
11.4 When an RPN financial key stores and when it solves
Explicit storage and recall
11.5 Clearing and preparing a financial problem
The prepared TVM start used below
11.6 Loan payments and a final balloon
11.7 Present value and a payment budget
11.8 Future value and regular savings
11.9 Solving for the periodic interest rate
11.10 Solving n and interpreting fractional periods
Manually entered fractional n
11.11 Amortization: interest, principal, and balance
Continuing or restarting amortization
11.12 TVM and amortization in ALG
11.13 Money rounding, precision, and practical limits
Numerical limits and failed solves
Arriving from an HP financial calculator
11.1 The five financial registers
The main keys n, i, PMT, PV, and FV identify five persistent financial registers. They are separate from the RPN stack and ordinary memories. An input stays in its register when you clear the stack, perform unrelated arithmetic, switch entry modes, or close and reopen the application.
| Register | Meaning |
| n | Number of payment or compounding periods. |
| i | Interest percentage per period; enter 0.5 for half a percent per period. |
| PV | Present value: the lump sum at time zero. |
| PMT | Equal payment each period. Use zero when there are no periodic payments. |
| FV | Future value: the final lump sum or residual at time \(n\). Use zero for a loan fully paid by its regular payments. |
A solve uses all four other registers. For example, solving PMT uses n, i, PV, and FV, even when the final balance was stored much earlier than the other inputs. The old value of the register being solved is irrelevant and is replaced by the answer. The order or age of the input stores does not choose which terms participate.
A cleared or never-written TVM register supplies zero. You need not have explicitly stored four entries for a solve to run, but each of the four quantities must have the intended value. Explicitly setting a zero payment or zero final balance makes a reusable sequence easier to check. Old nonzero values remain active until replaced or cleared.
The FIN flag announces at least one occupied financial register, including a stored zero. It does not certify complete or valid TVM data. An unset register recalls as zero without becoming occupied. The registers are also used by cash-flow and other financial commands: for example, cash-flow entry changes n. Re-establish the intended TVM inputs after using those tools; see chapter 12 and chapter 13.
All participating values and results must be finite. The periodic rate must be greater than \(-100\) percent. Entered n must be nonnegative; solving i or PMT requires positive n, while PV and FV permit n = 0. A solved n cannot be negative. At zero interest the simpler balance equation applies, but some inputs still do not determine a unique result. For example, with zero PMT and exactly opposite PV and FV, every n balances at zero interest; there is no unique period count to return.
11.2 Cash signs, periods, and interest rates
Choose one viewpoint and use it consistently. Money received is positive; money paid is negative. A borrower normally enters a positive PV for the loan received, negative PMT for repayments, and a negative FV if an additional balloon payment remains. A saver enters a negative initial deposit and negative regular deposits, with a positive future withdrawal. Reversing every cash amount’s sign reverses the monetary results without changing the rate or number of periods.
Use +/\(-\) to enter a negative amount. The subtraction key is an arithmetic operation, not a sign-entry key. Currency symbols and units are not entered or stored; express every cash amount in the same currency and scale. These calculations contain no separate fees, taxes, or changing-rate schedule unless you include their effects in a model appropriate to the problem.
The rate in i is a percentage per payment period, and n counts those same periods. Monthly payments require a monthly rate and a count of months. Annual payments require an annual rate and a count of years. The calculator has no separate payments-per-year setting that silently converts either input.
Schedule |
n | i |
5 years, annual periods at 6% annually |
5 | 6 |
5 years, monthly periods at nominal 6%, compounded monthly |
60 | 0.5 |
5 years, quarterly periods at nominal 6%, compounded quarterly |
20 | 1.5 |
The two annual-to-monthly shortcuts
Orange n carries 12\(\times \). Enter years, then press f n; the calculator multiplies X by 12, replaces X with the product, and stores it in n. Orange i carries 12\(\div \). Enter a nominal annual percentage, then press f i; the quotient by 12 replaces X and is stored in i. Neither shortcut changes deeper stack positions or either Last register. Each prepares the next bare TVM key to solve.
These are exactly multiplication and division by 12. They do not choose a calendar or recognize a quoted rate’s convention. An effective annual percentage \(j\), for example, is not converted to an equivalent monthly percentage by simply dividing by 12. For \(m\) equal periods per year, the equivalent periodic percentage is
Conversely, a periodic percentage \(i\) has effective annual percentage \(100[(1+i/100)^m-1]\). Identify the rate convention before choosing the arithmetic. The shortcuts suit the nominal monthly rate convention used by the loan examples below.
11.3 END and BEGIN payment timing
In END mode, the equal payments occur at the end of each period: at times 1 through n for an integer n. In BEGIN mode they occur at times 0 through \(n-1\). PV is at time zero and FV is at time n in either case. BEGIN therefore moves every payment one period earlier; it does not move either lump sum.
BGN visible means BEGIN; its absence means END. Check the flag before toggling, because the same sequence can select either state. To toggle payment timing, press g n, the blue BGN function. There is no separate END key. The choice survives clearing the financial registers and survives relaunch.
For a positive rate, an earlier savings deposit earns an extra period of interest. An earlier loan payment likewise needs a smaller magnitude to have the same present value. With zero payments, timing has no effect; with zero interest, the distinction also disappears.
Let \(r=i/100\), \(q=1+r\), and let \(b=0\) for END or \(b=1\) for BEGIN. The relationship being solved is
At zero interest its continuous limit is \(PV+n\,PMT+FV=0\). This explains why both the periodic payment and final balance can participate in the same calculation. For fractional n, see section 11.10 before interpreting the result as a payment schedule.
In RPN, changing BEGIN/END preserves whether the next TVM key is ready to store or solve. After a successful PMT calculation, for example, you may toggle timing and press PMT again to recompute from the retained inputs. You do not need to re-enter them merely to compare the two timings. In ALG, use CPT followed by PMT for each new calculation; its bare PMT key always stores.
11.4 When an RPN financial key stores and when it solves
A bare TVM key means its unshifted main function, without STO or RCL before it. After number entry, ordinary arithmetic, or a recall, the next bare TVM key stores the current X in that register. After a financial-register store or a TVM solve, the next bare TVM key solves for its variable. The two monthly shortcuts also leave the calculator ready to solve.
This makes a typical sequence read naturally: enter each known number and press its financial key, then press the unknown’s key without entering another number. Each fresh numeric entry selects storage for the following key. The final store selects calculation for the bare unknown key that follows it.
Preceding action | Next bare n, i, PV, PMT, or FV |
Type a number; perform ordinary arithmetic; recall a value |
Store X in the selected register. |
Store in a financial register, including explicit or arithmetic STO |
Solve the selected variable. |
Complete a TVM solve or use 12\(\times \)/12\(\div \) |
Solve the selected variable. |
Press ENTER, CLx, CLEAR, or an ordinary stack command |
Store X in the selected register. |
Toggle BEGIN/END |
Keep the preceding store/solve readiness. |
Use AMORT, RND, cash-flow, date, bond, or depreciation commands |
Store X in the selected register. |
Do not insert ENTER between the final known-value store and the unknown key. ENTER is an ordinary stack action; the following financial key would store instead of solve. Likewise, a recall used to inspect the inputs changes the next bare key to storage. There is no separate store/solve readiness annunciator: FIN reports bank occupancy, not the meaning of the next key.
Explicit storage and recall
STO PV always copies X to PV; RCL PV always recalls PV. The other four main keys work the same way as targets. These prefixes override the bare key’s store/solve choice. Financial STO finishes any active numeric entry and preserves the committed stack and both Last registers. RCL finishes an entry, lifts the recalled value into X, and preserves both Last registers. The source register is unchanged.
Arithmetic storage is available too. For example, STO + PV adds X to the existing PV; STO \(-\) PV subtracts X from PV. The current X stays in place, and the next bare TVM key solves. See section 6.3 for all four modifiers and operand order.
If you have inspected inputs and want an unambiguous solve, first check the four actual inputs. Recall and explicitly restore any known input, then press the target key. For example, RCL n STO n PMT retains the known n and solves PMT. This avoids depending on the action that happened before the sequence.
A successful solve both stores its answer in the target register and lifts that answer into X (display S0). The previous X moves to Y (display S1); deeper values move as for an ordinary lift. Both Last registers are preserved. The next bare TVM key can solve again immediately. By contrast, a financial store leaves X in place rather than lifting a second copy.
11.5 Clearing and preparing a financial problem
f CLEAR, the orange function of \(1/x\), clears the RPN stack and unfinished entry while preserving financial inputs. Orange FV, labeled \(\mathrm {CL}_{fin}\), removes the five financial-register entries but leaves cash flows and payment timing intact. Use the financial MCLR group if both banks should be discarded; section 6.10 gives its sequence and explains how each clear handles an unfinished entry.
The prepared TVM start used below
Use RPN, real mode (COMPLEX absent), a fixed stack of 5, 600 working digits, and FIX 4. Set these by the procedures in section 3.1 and section 5.2. Select the Financial panel. These examples deliberately replace the TVM inputs; preserve any financial values you still need before starting them. With no open tool, active shift, or pending command, press f CLEAR, then f FV for CLfin. Check that BGN is absent; if present, press g n once to select END.
Each independent worked example below repeats the stack and financial clears and states any change from these settings. Ordinary memories, statistical data, and the cash-flow list need not be empty. These examples are unaffected by angle units and date order.
11.6 Loan payments and a final balloon
For a level-payment loan, store the number of payments in n, periodic percentage in i, amount received in PV, and desired final payoff in FV. Then solve PMT. Use FV equal to zero when the regular payments should pay off the entire balance. A negative FV instead describes an additional amount the borrower pays at the final date.
Solve the monthly payment on a loan
Use the prepared TVM settings: RPN, real mode, fixed depth 5, 600 working digits, FIX 4, END, and no pending prefix. A loan of 100 000 is repaid monthly over 30 years at nominal annual 6 percent, compounded monthly, with no balloon. Press these rows in order:
Keys |
Meaning or display |
f CLEAR f FV |
Clear stack and TVM bank. |
30 f n |
Store n = 360. |
6 f i |
Store i = 0.5. |
100000 PV |
Store the amount received. |
0 FV |
No final balloon. |
PMT |
-599.5505 |
The negative result is a monthly payment by the borrower. Its retained value begins \(-599.550525152752\ldots \); FIX 4 has not rounded the stored PMT to cents. There is no ENTER before the final PMT key.
After this result, changing a known value and solving again requires only that new input and the target key. For example, with the same loan still stored and END selected, 15 f n stores 180 months; PMT then recalculates the payment. Re-enter the complete preparation when you want an independent problem.
Leave a balloon balance at the final date
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending command. A borrower receives 18 000, makes 36 monthly payments at 0.625 percent per month, and pays an additional 4 500 at the end. Enter:
f CLEAR f FV
36 n .625 i 18000 PV
4500 +/\(-\) FV PMT
The result is -448.0589. The final date contains both the last regular payment and the balloon. The FV input is negative because that final lump sum also leaves the borrower.
To find the residual for a chosen payment instead, set n, i, PV, and PMT, then solve FV. The sign describes the final cash flow required to balance the model. A nonzero final result does not disappear because the chosen payment was displayed to two decimal places.
11.7 Present value and a payment budget
Solving PV discounts the periodic payments and final amount to time zero. It can answer how much principal a payment budget supports, or the present value of an annuity. Keep the same sign convention for payments and any terminal amount; the calculator supplies the balancing present-value sign.
Find the principal supported by a monthly budget
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending prefix. A monthly payment of 750 is available for 60 months at 0.5 percent per month, with no final balance. Press:
f CLEAR f FV
60 n .5 i
750 +/\(-\) PMT 0 FV PV
The result is 38,794.1706. The positive PV is the amount received now in exchange for the specified outgoing payments. It excludes any separate costs not represented by those cash flows.
For an annuity that pays you 750 each month, enter PMT as positive instead. With the other inputs unchanged, the balancing PV is negative: an amount paid now to receive that stream. BEGIN timing would value the same number of payments one period earlier.
11.8 Future value and regular savings
To accumulate an initial deposit and regular additions, enter the initial deposit as negative PV and each addition as negative PMT. Solve FV for the final positive withdrawal. Both deposits participate; setting PMT does not replace or suppress PV. For compound growth without additions, explicitly set PMT to zero.
BEGIN savings includes the first PMT at time zero in addition to PV. Do not include the same deposit in both quantities unless two separate deposits actually occur then. For unequal deposits or irregular amounts at equally spaced periods, use the cash-flow procedures in chapter 12 rather than a single PMT.
Accumulate an initial deposit and monthly additions
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending prefix. Deposit 1 000 now and 200 at the end of each of 60 months, at 0.5 percent per month. Press:
f CLEAR f FV
60 n .5 i
1000 +/\(-\) PV 200 +/\(-\) PMT FV
The result is 15,302.8563. Now compare deposits at the beginning of each month, keeping the same initial deposit:
g n FV
The BGN flag appears, and the new result is 15,372.6263. Each periodic deposit earns one extra month of interest; the initial 1 000 is unchanged. Press g n again to return to END before another example.
11.9 Solving for the periodic interest rate
With periodic payments, i generally requires a numerical solve. The solver searches for a rate greater than \(-100\) percent per period; negative rates within that domain are permitted. It uses all of PV, PMT, and FV, so an old final balance can change the answer. The old i is not an input or an initial guess for its own TVM solve.
A valid rate requires a positive n and cash flows that can balance. All nonzero amounts with the same sign cannot do so. Some opposite-sign combinations are still impossible or indeterminate. Unusual combinations can also lack a uniquely meaningful rate; the command returns one solution when its search succeeds, not a catalog of every possible root. The bounded IRR tool belongs to cash-flow calculations, not this TVM i key.
To solve i, set n and all three cash quantities, then press i directly after the final financial store. The answer is a percentage for the period represented by n. A five-year calculation with annual periods returns an annual percentage; a calculation counted in months returns a monthly percentage. No annualization is applied automatically.
Find the annual rate for a lump sum’s growth
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending command. An initial payment of 1 000 grows to a receipt of 1 500 after five annual periods, with no intervening payments. Enter:
f CLEAR f FV
5 n 1000 +/\(-\) PV
0 PMT 1500 FV i
The result is 8.4472 percent per year. Independently, \(100[(1500/1000)^{1/5}-1]=8.447177\ldots \). Timing is immaterial here because PMT is zero.
11.10 Solving n and interpreting fractional periods
To solve n, set i, PV, PMT, and FV. The calculator first obtains the period count implied by those inputs, then stores and displays a whole number. The nominal cutoff is 0.005: a smaller fractional part rounds down to the integer part, while a part at or above the cutoff rounds up. A small numerical guard also rounds values just below the cutoff upward; the exact rule is in section C.6. This special TVM rule is independent of FIX and differs from ordinary nearest-integer rounding.
Count whole periods needed for a lump sum to double
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending command. Find the period count for 1 000 to become 2 000 at 5 percent per period, without regular payments:
f CLEAR f FV
5 i 1000 +/\(-\) PV
0 PMT 2000 FV n
The result is 15.0000, and n stores 15. The unrounded mathematical count is \(\ln 2/\ln 1.05=14.206699\ldots \), whose fractional part requires rounding up. If a period is a year, the result means 15 whole years.
The rounded n does not promise that every other quantity balances exactly at that integer. After solving n, you can solve PMT again for equal payments over that whole number of periods, or solve FV to inspect the resulting residual. Do not interpret a rounded-up loan count as instructions to pay the full regular amount once more without checking the final balance.
To check the cutoff directly, use the prepared TVM settings with no pending prefix. For each row in table 11.4, press:
f CLEAR f FV 0 i listed PV PV
100 +/\(-\) PMT 0 FV n
The last column shows the stored whole count, without FIX 4’s trailing decimal zeros.
| PV | Mathematical \(-PV/PMT\) | Solved n |
| 200.49 | 2.0049 | 2 |
| 200.50 | 2.0050 | 3 |
| 250.00 | 2.5000 | 3 |
Manually entered fractional n
Typing a fractional n and storing it does not apply this rounding rule. Other TVM solves retain that value and evaluate the continuous compound-annuity formula in equation (11.1). This does not schedule a literal fraction of an equal payment. It is a mathematical convention that you must match to the intended transaction.
For example, with the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings and no pending prefix, press:
f CLEAR f FV 2.5 n 5 i
1000 +/\(-\) PV 0 PMT FV
The display is 1,129.7263, from \(1000(1.05)^{2.5}\), and the stored n remains 2.5. SpicyRPN does not implement the HP initial odd-period simple-interest convention or its optional compound-interest C setting. Do not use a fractional n as an assumed substitute for those conventions or for date-based accrual.
11.11 Amortization: interest, principal, and balance
AMORT, the orange function of PMT, follows a balance through a specified number of equal payments. It returns the total interest and principal portions for that block and updates the balance. Its use of n differs from a TVM payment solve: here n counts payments already processed, not the original contractual term.
AMORT requires nonzero PV and PMT with opposite signs, a finite rate greater than \(-100\) percent, and a nonnegative integer stored n. The requested count must be from 0 through 100 000. Both the requested count and the elapsed count must be whole numbers. Count zero returns zero interest and principal and leaves the balance and elapsed count numerically unchanged; all input validation still applies. An unlimited stack must contain at least X and Y because the command saves both operands, although Y is not a financial input.
There is no automatic stop at a contractual term, at a specified FV, or at payoff. A large count can carry a balance past zero, and an insufficient payment can increase its magnitude. Choose the block deliberately and check the updated balance before interpreting another full payment as appropriate.
Before the first block, store the starting signed balance in PV, the periodic percentage in i, the signed payment in PMT, and zero in n. In RPN, all four registers must actually contain entries for AMORT; unlike a TVM solve, this command does not supply missing required registers as zero. FV is not used. Set BEGIN or END as intended. Enter the number of additional payments in X, then press f PMT.
For an ordinary borrower in END mode, PV is positive and PMT is negative. For each payment the calculation is
The principal portion is added to PV to get the next signed balance, and n increases by one. In BEGIN mode, interest is zero only for the first payment when the starting n is zero. Later payments accrue interest normally, including the first payment of a later block whose starting n is already positive.
Location | Meaning |
Input X (S0) |
Additional whole payments to process, from 0 through 100 000. |
Output X (S0) |
Total signed interest portion for this block. |
Output Y (S1) |
Total signed principal portion for this block. |
Output S2 |
The value that was in Y before AMORT, if the stack has room for this third position. |
Financial PV |
Updated signed balance after the block. |
Financial n |
Previous elapsed count plus the requested count. |
Last X, Last Y |
The requested count and the previous Y, respectively. |
AMORT consumes the count in X and inserts two results, so the old Y moves to S2 when that position exists. A two-register fixed stack retains only the two results; its previous Y is available in Last Y. Interest is the main result, not the remaining balance. Use the full-stack inspector to read principal without disturbing the outputs, or use \(x\leftrightarrow y\) to bring it into X. Recall PV for the balance and n for the cumulative count. These recalls lift values, so they change the positions of the earlier interest and principal outputs.
Separate two payments, then continue for one more
Use the prepared RPN, real, depth-5, 600-digit, FIX 4, END settings, with no pending prefix. Explicitly initialize the four AMORT registers:
f CLEAR f FV
0 STO n 1 STO i 1000 STO PV
100 +/\(-\) STO PMT
Clear only the stack, put a marker in Y, and process two payments:
f CLEAR 77 ENTER 2 f PMT
The outputs are X = -19.1000 interest and Y = -180.9000 principal; S2 still contains 77. The financial registers now hold n = 2 and PV = 819.1. The two payments total \(-200\), equal to the sum of the two output portions.
Continue without clearing the financial bank:
1 f PMT
This processes only the next payment. X is -8.1910, Y is -91.8090, and the registers become n = 3 and PV = 727.291. To verify them, press RCL PV, then RCL n; the respective readouts are 727.2910 and 3.0000.
The arithmetic of the first block can be checked directly:
| Payment | Opening balance | Interest | Principal | Closing balance |
| 1 | 1000 | \(-10\) | \(-90\) | 910 |
| 2 | 910 | \(-9.1\) | \(-90.9\) | 819.1 |
For a BEGIN comparison, repeat the example from the initial clears, including explicit n = 0 and the other three stores. Before processing the count 2, press g n to show BGN. The two-payment totals are interest \(-9\), principal \(-191\), and balance 809; n becomes 2. A following count 1 gives interest \(-8.09\), principal \(-91.91\), balance 717.09, and n = 3. The first payment of that second block does not receive another zero-interest exemption. Toggle BGN off afterward if you want END again.
Continuing or restarting amortization
For successive blocks, retain the updated PV and n and enter only the next block’s count. For a repeat from the beginning, restore the original PV and n = 0. Do not leave the original loan term in n after solving PMT: AMORT would treat it as payments already processed. Clearing the stack between blocks is harmless; clearing the financial bank removes the inputs needed to continue.
11.12 TVM and amortization in ALG
Enter a financial input, then press its unshifted register key to store it. A bare key always stores, regardless of preceding financial work. For example, 360 n stores 360 periods. RCL n recalls that input; CPT n solves for it. Explicit STO and arithmetic STO also accept financial register targets. A store uses the displayed operand and preserves a pending expression: \(200+50\), followed by PV, stores 50. Evaluate with equals first when you intend to store the total.
CPT requires an unshifted target. CANCEL dismisses it without changing inputs. A pending compound expression produces Finish the expression first; complete it with equals or clear it before solving. A lone entered scalar is allowed. A saved CPT prefix resumes as a prompt after relaunch, not as a computation. The orange \(12\times \) and \(12\div \) shortcuts and blue RND are direct calculations and also require the main expression to be finished. The shortcuts store their result in n or i respectively; RND changes the working result only. All three display a completed result and update ANS. BEGIN/END and the financial clear commands retain their usual shared-bank meanings while preserving the ALG expression.
To solve a loan payment in ALG, clear or complete the main expression, set END, then store each input: n = 360, i = 0.5, PV = 200000, and FV = 0. Press CPT followed by PMT. The result is approximately \(-1199.1010503\) per month. It is stored in PMT and displayed as a completed result; ANS receives the same value. Starting a number begins new work; an operator continues from the payment. This example uses a 6 percent nominal annual rate divided by 12, and its cash-flow signs follow the convention in section 11.2.
Orange PMT opens the Amortization worksheet. Its inputs are Payments to apply, Payments already applied (n), Interest per period % (i), Current balance (PV), and Payment (PMT). This is a count of additional payments applied to the current balance, not arbitrary first/last payment-number bounds. Mapped fields initially read the shared financial registers; an unset register appears as zero. Review those values explicitly. This differs from RPN AMORT, which requires all four financial inputs to have stored entries. ENTER on a mapped field stores its financial register. After accepting all edits, COMPUTE returns Interest, Principal, Balance, and the new count already applied. It updates PV and n together and makes Interest the primary ANS result. BEGIN/END controls timing as in RPN. After a successful computation, the worksheet refreshes n and PV from the updated bank. Pressing COMPUTE again therefore applies the same payment count to the next block, rather than repeating the original block.
Accepting a financial field is a deliberate bank change. Canceling later edits does not undo accepted registers or completed amortization. After computation, check the updated n and PV before applying another payment count. The worksheet keeps the main expression unchanged; Use value transfers one selected output when you want it in that expression. See section 4.12 for field entry, cancellation, and relaunch behavior.
11.13 Money rounding, precision, and practical limits
TVM solves use the retained input values, not the digits visible under FIX. AMORT also retains its intermediate precision: it does not round each interest portion, principal portion, or running balance to the display count. Changing FIX from four places to two therefore changes the readout without converting a computed payment or schedule to cents. This distinction matters when comparing results with a schedule that rounds individual postings.
To deliberately round a payment, recall it into X, select the desired display count, apply RND, and store the rounded result back in PMT. RND is blue PMT. It rounds X to that many decimal places with exact halfway cases away from zero, saves the previous X in Last X, and leaves deeper stack positions and Last Y unchanged. It does not automatically change the source financial register. SCI and ENG use the same count of decimal places for RND, not the number’s displayed significant-digit scale; FIX makes the intended money rounding easier to see. See section 5.6.
Use a cent-rounded payment for one year’s amortization
Repeat the complete first loan example in section 11.6: RPN, real mode, fixed depth 5, 600 working digits, END, no pending prefix, n = 360, i = 0.5, PV = 100 000, FV = 0, and a freshly solved PMT. Its retained value is \(-599.550525\ldots \). Now press:
2 f 7 RCL PMT g PMT STO PMT
The orange 7 selects FIX 2 and consumes the count. RND then rounds the recalled payment, and STO saves the working-precision representation of \(-599.55\) in financial PMT. Reset elapsed n and process twelve payments:
0 STO n 12 f PMT
X displays interest -5,966.59; Y displays principal -1,228.01. RCL PV shows the balance 98,771.99, and RCL n shows 12.00. The internal balance begins 98771.9947657778: AMORT rounded neither its monthly portions nor that retained balance to cents. The two-place displays are rounded presentations of the totals.
Rounding only the payment is not the same as rounding every monthly posting. A transaction whose rules round interest and balance at each step requires those rules to be applied explicitly; AMORT has no per-payment rounding setting. Retain the original unrounded TVM payment separately if you need to compare the ideal equal-payment model with the rounded payment actually used.
Numerical limits and failed solves
The iterative interest calculation uses a default numerical stopping tolerance of \(10^{-30}\), with bounded search and iteration. Selecting 600 working digits does not promise 600 correct digits in a solved interest rate. Extreme scales, cancellation, or a poorly determined cash-flow pattern also affect reliability. See section C.9 for the stopping rule and chapter 5 for recomputing at higher precision.
A failed TVM solve leaves the target register and the already committed stack values unchanged. An active number can have been committed before the error is detected, so inspect the entry state before deleting digits. Correct the actual input, store it explicitly, then press the target key. Read messages about invalid periods, interest, missing finite solutions, or indeterminate results as reasons to check the model and signs, not simply to increase display digits.
Financial calculations use real components, including when complex mode is active. A participating nonzero imaginary component produces a real-only warning; the imaginary component is not a financial input. Financial storage and recall copy complete pairs with CMPLX on and only real components with CMPLX off. A real-mode recall leaves the stored financial value intact, but puts no hidden imaginary component in X. These examples explicitly select real mode and enter their own inputs; see section 6.5.
Arriving from an HP financial calculator
SpicyRPN’s RPN mode follows the HP-style TVM store/solve sequence described here, uses all four other financial quantities, lifts TVM results and financial recalls while preserving Last X and Last Y, and applies the special 0.005 cutoff to a solved n. Its five-register default, first-digit stack lift, and ENTER behavior are the SpicyRPN rules in chapter 2.
It is not a complete HP emulator. BGN is a single toggle, the monthly shortcuts are on orange n and i, and financial clear is on orange FV. Entered fractional n uses the continuous formula instead of HP’s initial odd-period conventions. AMORT follows the retained-precision recurrence above; explicit RND and the actual transaction’s rounding rules remain separate. ALG offers the same formulas through explicit CPT and labeled worksheets; it does not introduce a different period-rate convention. Use this chapter’s complete sequences and flag checks rather than assuming that a familiar key label implies every behavior of another calculator.