The Analyst's Path

Phase 3Corporate finance and valuationFinance trackM3.0118,511 words1 h 43 min of readingabout 20 hours of study9 concept pagesfree

Time Value of Money

Start with what time value of money is not. It is not primarily about inflation. It is not a convention finance professors imposed. It is about opportunity cost: the oldest idea in economics wearing a formula.

Phase 3 · Week 26 · ~20 hours

Where it sits. You have finished Phase 2: you can spread statements, build ROIC from a raw balance sheet, convert earnings into free cash flow, and smell manipulated numbers. Phase 3 turns to the question all of that was preparing you for, question 5 of the master map's five-questions spine: what is the price implying, and is that beatable? Every valuation you will ever build is this machinery applied to bigger cash-flow streams: the WACC, the DCF, the LBO returns still to come. Time value of money is not "chapter one you skim." It is the physics of the whole subject. The gate here is a timed computation exam, because the goal is not understanding alone. It is fluency: PV, EMI, EAR, NPV, and Fisher conversions computed quickly, correctly, and without hesitation, on paper and in a spreadsheet. Next comes risk and return, where the discount rate stops being "given" and you learn where it comes from.

Suggested hour budget. Core content: 7h · worked examples: 2h · practice set (much of it timed): 6h · mini-project: 2.5h · flashcards + timed mastery check: 2.5h.

App link. This module seeds the Corporate Finance branch: rapid-fire PV/FV/EAR drills against the clock, an amortization-schedule builder, the "spot the IRR trap" case set, and the real-vs-nominal converter the valuation sandbox enforces later (the sandbox will refuse to let you discount real cash flows at a nominal rate, and this is where you learn why).


Advertisement

Learning objectives

When you have finished, you can:

  1. Explain time value of money from first principles, as opportunity cost rather than magic or mere inflation, and move any cash flow to any date with FV = PV·(1+r)^n and PV = FV/(1+r)^n, at any compounding frequency.
  2. Convert any quoted rate into an effective annual rate (EAR) and refuse to compare loans or deposits on quoted APRs, including India's flat-rate loan trap and monthly-quoted credit-card rates.
  3. Price and build annuities both ways: PV and FV, ordinary and due. Compute an EMI from scratch, construct a full loan amortization schedule, and quantify the effect of a prepayment.
  4. Derive the perpetuity and growing-perpetuity (Gordon) formulas from the geometric series, state precisely why the formula demands g < r and uses next year's cash flow, and demonstrate how PV explodes as g approaches r.
  5. Deploy NPV as the master decision rule and articulate why it dominates every alternative: value additivity, currency units, correct opportunity-cost logic.
  6. Catch every IRR trap in the wild: multiple IRRs from sign changes (and construct such an example yourself), scale blindness, the reinvestment assumption, ranking conflicts and crossover rates. Compute MIRR, XNPV, and XIRR correctly.
  7. Convert real↔nominal exactly via Fisher (1+r_nom) = (1+r_real)(1+π), know when the approximation r_real ≈ r_nom − π is safe, and never mix real cash flows with nominal rates, with the India-vs-US inflation contrast internalized.
  8. Implement all of it in a spreadsheet: PV, FV, PMT, RATE, NPER, NPV (and its off-by-one trap), IRR, MIRR, XNPV, XIRR, EFFECT, NOMINAL, IPMT/PPMT, fast enough to pass a timed exam with a blank workbook.

Prerequisites & connections

Builds on. Module 0.04's financial-literacy bootcamp, where you met compounding informally and now formalize it. M1.08, debt mechanics: you've seen amortization from the accounting side, and now you build it from the pricing side. M2.03, ROIC, the return side of the value equation, to which you now add the time side. M2.04, free cash flow, the thing you'll be discounting from M3.04 onward.

Feeds into. Everything. M3.02–3.03 construct the discount rate r that's treated as given here. M3.04–3.05 discount forecast FCF streams. There the growing annuity is your explicit forecast period, the growing perpetuity is your terminal value, and reverse DCF is Gordon run backward. M3.06's multiples are compressed TVM. P/B ≈ (ROE−g)/(r−g) is Gordon algebra, and you'll derive it there. M3.07's key-value-driver formula is a growing perpetuity with reinvestment made explicit. M3.09's LBO returns are IRR/MOIC, with every IRR caveat above attached. M7 (macro) picks up Fisher and runs it through currencies and central banks. Even M9's hurdle rate is the same opportunity-cost logic, applied to your own portfolio.

In short. A rupee today and a rupee in 2036 are different goods with different prices. What your money could otherwise earn sets the exchange rate between them, and that exchange rate is the discount rate.


Core teaching content

Time value of money

A rupee today is worth more than a rupee next year, because today's rupee can be put to work. Every valuation technique is an application of this one sentence. Put ₹1,00,000 away at 8% and after five years you've got ₹1,46,933. Run the same arithmetic backwards and ₹1,46,933 five years away is worth ₹1,00,000 to you now. Choosing the rate is the hardest judgement in finance, because the rate does all the work.

5 min read, on its own page

Effective annual rate

EAR is the true one-year growth rate, and it's the only number you can compare two instruments on. Banks quote annual rates but compound more often, and the label understates the reality. Frequency matters, because monthly against annual opens a 0.68-point gap on the same label. A deposit quoting 11.9% compounded monthly (EAR 12.57%) beats one quoting 12.0% quarterly (EAR 12.55%), and both beat 12.1% semiannual (EAR 12.47%).

4 min read, on its own page

Annuity formula

The annuity formula gives the present value of equal payments made at regular intervals, as the payment times an annuity factor set by the rate and the number of periods. Loan EMIs and bond coupons both fit the pattern. Analysts use it to price a level stream in one step and to solve for the EMI on a loan, and its growing version prices the explicit forecast period of a DCF.

5 min read, on its own page

4.4 Perpetuities and growing perpetuities: deriving Gordon

Perpetuity formula

The perpetuity formula values a payment that repeats forever as the payment divided by the discount rate, so PV = C / r. The price is finite because distant payments shrink faster than they add up. Analysts use it to price straight preferred shares, and run it backwards to read the required return from an observed price. It prices promised cash flows only, so whether they will be paid is still the analyst's job.

4 min read, on its own page

Gordon growth model

Value equals next period's cash flow divided by the discount rate minus the growth rate. It is the algebra behind almost every terminal value in use. The numerator is always the flow one period ahead, so a flow of ₹19.08 next period at a 13% discount rate and 6% growth is worth ₹272.57 today. The formula requires growth to stay below the discount rate, permanently.

5 min read, on its own page

Net present value

The present value of a project's cash inflows minus the present value of its outflows. Positive means the project adds value at the required return. Picture an investment of ₹1,000 crore that returns ₹300, ₹400, ₹500 and ₹300 crore over four years. At a 12% discount rate its net present value is ₹133.3 crore. The rule is to take every project with a positive figure, subject to the capital available.

4 min read, on its own page

Internal rate of return

The discount rate at which a project's net present value is zero. It expresses return as a percentage, which is why it is the standard language of private equity. IRR has two known defects. It assumes interim cash flows are reinvested at the same rate, which flatters high-return projects. And it can give multiple answers, or none, where the cash flow signs change more than once. Rank by net present value. Report the internal rate as context.

7 min read, on its own page

Real interest rate

The nominal rate less inflation. A 7.2% bond yield with 5% inflation gives a real rate of 2.2%. Saving and investment behaviour is set by the real rate. Nominal comparisons across countries or across decades mislead because they ignore it. A 12% deposit rate with 11% inflation is worse than a 6% rate with 3%. Convert before you compare anything across time.

6 min read, on its own page

Excel financial functions

Excel's financial functions, from PMT to XIRR, solve the time value of money equations for you, and they work the same way in Google Sheets. They treat cash paid out as negative and cash received as positive, so a loan payment comes back as a negative number. Analysts need to know the quirks, above all that the NPV function discounts the first cell by a period, which overstates value without a warning.

4 min read, on its own page

Common mistakes & how experts think differently

Mistake 1: treating the discount rate as decoration. Beginners compute PV at whatever rate the problem hands them and never ask what the rate means. Experts read every discount rate as a claim: "my next-best alternative of equivalent risk, currency, and inflation basis earns r." Change the claim and you change the value. When two people disagree on a valuation, the disagreement is usually about r and g, and seldom about the spreadsheet. So an expert argues about the claim and leaves the arithmetic alone.

Mistake 2: comparing quoted rates. "12% vs 11.9%" isn't a comparison. "EAR 12.55% vs EAR 12.57%" is. The flat-rate loan (8% flat = 15.7% effective) and the monthly credit-card quote (3.5%/month = 51.1% EAR) are the two most expensive labeling tricks in Indian retail finance. The expert reflex is mechanical. Any rate that will be compared gets converted to EAR first.

Mistake 3: rate/period mismatch. It's an annual rate on monthly cash flows, or the other way round. It survives because small errors look plausible. An expert writes the timeline's period unit first, then converts the rate to that unit before anything else happens.

Mistake 4: CF₀ in the Gordon numerator. The growing perpetuity begins at next period's cash flow. Using this year's understates PV by the full factor of (1+g), and on a DCF terminal value that scales the largest single number in the model. Experts write CF₁ = CF₀(1+g) explicitly on paper before touching the formula.

Mistake 5: perpetual growth ≥ the discount rate, or ≥ the economy. A spreadsheet will happily emit a negative "value" for g > r. A careless analyst will just as happily present a terminal g of 8% in dollars. Experts carry the cap as an identity: perpetual g ≤ long-run nominal GDP growth of the cash flow's currency, with its risk-free rate as the proxy. They present terminal value as a sensitivity band over (r, g) and never as a point, because they carry the explosion table from the perpetuity section around in their heads.

Mistake 6: trusting IRR rankings. A higher IRR doesn't mean more value. Scale blindness, timing bias toward early-loaded projects, reinvestment fantasy, phantom or multiple roots: any of them can get in the way. The expert's protocol runs like this. Count the sign changes before quoting any IRR. Quote MOIC alongside IRR for anything shaped like private equity. Decide on NPV at the actual hurdle. And when IRR and NPV disagree, ask what the disagreement reveals about timing or scale. That matters more than which number you prefer.

Mistake 7: the Excel NPV off-by-one. =NPV(r, all_flows_including_t0) overstates every project on the sheet by one period of discounting on the outflow. Experts write =CF0 + NPV(r, later_flows) so automatically that they can't type the bug. They also test any inherited model with a known-answer stream before trusting it: −250, 90, 110, 130 at 11% should give 15.41.

Mistake 8: mixing real and nominal. Flat "today's-rupees" forecasts discounted at a nominal WACC understate value. Inflated forecasts at a real rate overstate it. Rupee cash flows at dollar rates leave a mismatch that compounds forever. At Indian inflation these errors break valuations outright, and you can't wave them off as rounding. The real-versus-nominal table showed −21% and +29% on the same project. The expert's check is one question asked of every model: "which basis is this row on, and which basis is this rate on?" If the answer takes more than five seconds, the model gets a stated-basis note at the top.

Mistake 9: annuity due treated as ordinary. Rent, insurance premiums, school fees, lease payments, most SIPs: real life pays at period-start more often than textbooks do. One factor of (1+r) separates the two, and on a 20-year stream at 7% that's a 7% mispricing. Experts ask "first payment: today or in one period?" before classifying any stream.

Mistake 10: false precision. It's reporting ₹713.31 crore when the inputs were "about 12%" and "about 5% inflation." Experts do the opposite of beginners at both ends. They use exact arithmetic in the engine: exact Fisher, exact day counts, to-the-paisa amortization. Sloppiness there compounds. And they give humble ranges in the output, because the inputs are estimates. Put the polish in the machinery and keep it out of the headline.

How the expert actually differs, compressed. A beginner sees TVM as formulas to recall. An expert sees one equation, value = cash flows moved through time at an opportunity cost, worn eight different ways. Alongside it they carry a checklist of the eight ways the world tries to make you misapply it: labels, timing, signs, bases. Fluency is knowing which disguise you're looking at within five seconds, and that's what the timed gate measures.


Worked examples

Worked example 1 (India): pricing a road-annuity concession, start to finish

India's national highway program literally sells annuities. Under NHAI's Hybrid Annuity Model (HAM), the government pays ~40% of a road's cost during construction. It repays the concessionaire's remaining investment as fixed semiannual annuity payments over 15 years of operations, plus inflation-linked O&M receipts. Listed players (IRB Infrastructure, GR Infraprojects, KNR Constructions) carry portfolios of these very streams. Here's a simplified one. Its numbers are synthetic but modeled on the real HAM structure. Real concessions add inflation indexation on part of the payments and on O&M, so pull an actual concession summary from any of those companies' annual reports to see the full machinery:

A developer's net investment at commissioning is ₹600 crore. In return it will receive ₹45 crore every six months for 15 years (30 payments). Its opportunity cost of capital is 12% EAR. Should it have bid, and what yield did it lock in?

Step 1: timeline and period. The cash flows are semiannual, so work in half-years. n = 30, C = ₹45 cr, and the outflow is ₹600 cr at t = 0.

Step 2: convert the annual hurdle to a semiannual rate. 12% is an EAR, so the semiannual equivalent has to compound to it: r_semi = 1.12^0.5 − 1 = 5.830%. Don't use 6.00%. Dividing by two mixes conventions, and over 30 periods the difference is material.

Step 3: PV of the annuity. The factor is [1 − 1.0583^(−30)]/0.0583 = 14.018, so PV = 45 × 14.018 = ₹630.8 crore.

Step 4: NPV. 630.8 − 600 = +₹30.8 crore. It's positive, so the bid beats the 12% alternative. Now try a 10% EAR hurdle, where r_semi = 1.10^0.5 − 1 = 4.881% and the factor is 15.583. PV = 701.3 and NPV = +₹101.3 crore. See how hard NPV leans on the hurdle. A two-point rate change moved value by ₹70 crore on a fixed, near-sovereign stream. That's duration risk, met in the wild.

Step 5: the locked-in yield (IRR). Solve 600 = 45 × [1 − (1+i)^(−30)]/i and you get i = 6.30% per half-year. Annualize it properly: EAR = 1.0630² − 1 = 13.0%. The "×2" convention would say 12.6%, the same labeling gap you met with APR and EAR, so know which one a counterparty is quoting.

Step 6: judge the IRR like an analyst. There's one sign change, so the IRR is unique and meaningful. The cash flows are government-backed and fixed in nominal rupees, so 13.0% is a nominal yield. At ~5% expected inflation the real lock-in is 1.13/1.05 − 1 = 7.6%. The reinvestment caveat applies too. Realizing 13.0% as a compound return means redeploying thirty ₹45-crore receipts at 13%. That's the actual business question for every listed HAM player, and it's why they recycle capital via InvITs. Six steps in, you can already read an infrastructure bid the way the bidders do.

Worked example 2 (US): a bond is an annuity plus a zero

A US corporate bond: $1,000 face, 4.5% coupon paid semiannually, 10 years to maturity. The market demands 5.0% (quoted, as bond markets do, as a semiannual-compounding yield, so 2.5% per half-year). Price it.

Decompose. The bond is two instruments stapled together. One is an ordinary annuity of coupons, $1,000 × 4.5%/2 = $22.50 per half-year for n = 20. The other is a zero-coupon repayment of $1,000 at t = 20.

Price the annuity. The factor is [1 − 1.025^(−20)]/0.025 = 15.5892, so PV = 22.50 × 15.5892 = $350.76.

Price the zero. 1,000/1.025^20 = 1,000 × 0.61027 = $610.27.

Add them, with value additivity doing real work. Price = 350.76 + 610.27 = $961.03.

Read the result. The bond pays 4.5% when the market demands 5.0%, so it must sell below par. The $38.97 discount is the PV of the 0.25%-per-half-year coupon shortfall. Check it: 2.50 × 15.5892 = 38.97. That kind of cross-check should become reflex. Every bond fact you know follows from this arithmetic. Price moves inversely to yield, and a longer maturity means bigger DF swings and so more rate sensitivity. The EAR rule still applies, too. A "5.0%" semiannual-convention yield is 1.025² − 1 = 5.06% effective, and bond-market quotes (US Treasuries, Indian G-secs alike) are ×2 conventions and never EARs. When you build the cost of capital, this same calculation, run in reverse on a traded price, becomes your pre-tax cost of debt.

Worked example 3 (India): the retirement SIP, or Fisher with real stakes

An investor wants a corpus worth ₹5 crore in today's purchasing power in 25 years. Inflation is expected at 5%; her equity SIP is expected to return 12% nominal (1% monthly). What monthly SIP does she need, and what happens if she ignores the real/nominal distinction?

Step 1: restate the target in the money the future will use. ₹5 crore real, 25 years out, at π = 5%, gives a nominal target of 5,00,00,000 × 1.05^25 = 5,00,00,000 × 3.3864 = ₹16.93 crore. It's the step people skip.

Step 2: FV annuity factor. With n = 300 months and r = 1%, the factor is [(1.01)^300 − 1]/0.01 = (19.7885 − 1)/0.01 = 1,878.85.

Step 3: required SIP. 16,93,17,747 / 1,878.85 = ₹90,118 per month as an ordinary annuity. A due SIP, debited on the 1st, needs 1% less, ₹89,226.

The error, quantified. Target "₹5 crore" nominal instead, as most casual planners do, and the SIP looks like a comfortable 5,00,00,000/1,878.85 = ₹26,612. The saver hits the ₹5 crore on schedule, then finds it buys what 5,00,00,000/3.3864 = ₹1.48 crore buys today. Seventy percent of the intended purchasing power is gone. Bad markets didn't take it, and neither did bad products. A real/nominal confusion in step 1 did, compounding for 25 years at India's inflation rate. At US 2.5% inflation the same mistake loses 46%. At India's 5%, it loses 70%. That's the consistency law with a human face. The return assumption of 12% was nominal, so the target had to be nominal too, restated from the real goal and never just conjured.

Worked example 4: build your own multiple-IRR project (so you can never un-see it)

You can manufacture a two-IRR project to order, and doing it once inoculates you for life. NPV of a two-period stream is zero when CF₀(1+r)² + CF₁(1+r) + CF₂ = 0, a quadratic in x = (1+r). So pick the roots you want and expand.

Target: IRRs at 10% and 20%. Then (x − 1.1)(x − 1.2) = 0 → x² − 2.3x + 1.32 = 0. Scale by −100 to make t = 0 an outflow of 100: −100x² + 230x − 132 = 0. Read off the coefficients and you get CF₀ = −100, CF₁ = +230, CF₂ = −132. That's the mining stream from the IRR section, and now you know where it came from. Descartes' bound is tight here: two sign changes, two positive roots, both real IRRs. For the general recipe, choose n roots and expand the degree-n polynomial. Its coefficients are your cash flows, with signs alternating as the roots demand. Beyond the party trick, the drill teaches you that the IRR is just a polynomial root. It has no more economic authority than any other root of any other polynomial. NPV at your true opportunity cost is the economics, and the roots are geometry.

Worked example 5 (India): a two-stage valuation: growing annuity meets terminal perpetuity

Here's the machine you were promised back in the annuities section. It's an explicit growing annuity bolted onto a terminal growing perpetuity, then discounted home with NPV logic. Do it once by hand and every DCF you ever build is just this with more rows.

Kaveri Logistics (synthetic) is expected to throw off ₹120 crore of free cash flow next year (t = 1), growing 15% a year through year 5 as it rolls out depots, then settling to a mature 6% forever. Your discount rate is 13%. What is the business worth today?

Step 1: timeline and the two regimes. Years 1 to 5 are the explicit stage, a growing annuity. Year 6 onward is the terminal stage, a growing perpetuity. Traps cluster at the join, so label it now. The last explicit flow is FCF₅, and the first perpetuity flow is FCF₆.

Step 2: PV of the explicit stage (growing annuity). The five flows are ₹120, 138, 158.70, 182.51, 209.88 crore, each 1.15 times the last. Apply the growing-annuity formula with C₁ = 120, g = 15%, r = 13%, n = 5:

PV = [120/(0.13 − 0.15)] × [1 − (1.15/1.13)^5] = (−6,000) × (1 − 1.09169) = (−6,000) × (−0.091685) = ₹550.10 crore.

Notice what just happened. g (15%) exceeds r (13%), and the formula didn't blink. A growing annuity is a finite sum, so it converges for any g. The negative (r − g) and the greater-than-one bracket cancel into a clean positive number. Brute-force the five discounted flows and you land on ₹550.10 crore to the paisa. So fast growth belongs here, in the explicit period, and never in the perpetuity of Step 3.

Step 3: terminal value (growing perpetuity) and its date. From year 6 the stream grows at a mature 6% < 13% = r, so Gordon converges. FCF₆ = FCF₅ × 1.06 = 209.88 × 1.06 = ₹222.47 crore. Gordon values the perpetuity as of the end of year 5, one period before its first flow:

TV₅ = FCF₆/(r − g) = 222.47/(0.13 − 0.06) = ₹3,178.19 crore.

Careful. That's a year-5 lump, and it isn't in today's money yet. Discount it back five years: PV(TV) = 3,178.19/1.13^5 = 3,178.19/1.84244 = ₹1,725.00 crore. Forgetting this discount-back is the most expensive keystroke in DCF.

Step 4: assemble and read. Enterprise value = 550.10 + 1,725.00 = ₹2,275.10 crore. Now the sobering part. The terminal value is 1,725/2,275 = 75.8% of the entire answer. Three-quarters of Kaveri's value lies beyond your five-year forecast and rides on one g assumption. So the explosion table matters, and so does quoting a range, as experts do. Nudge terminal g from 6% to 7% and TV₅ jumps to ₹3,742.87 crore, PV(TV) to ₹2,031.48 crore and EV to ₹2,581.59 crore. That's +13.5% of firm value from one point of terminal growth. The explicit stage you slaved over barely moved, and the perpetuity did all the work. The terminal-value work ahead of you is mostly about defending that single number.

Worked example 6 (US): the retirement corpus: perpetuity, drawdown, and the price of inflation protection

*A retiree holds a $1,000,000 portfolio expected to earn 6% a year. Her life turns on three questions. (a) If she withdraws $72,000 a year, how long does the money last? (b) What withdrawal would last forever? (c) What would last forever and keep pace with 2.5% inflation?*

Part (a): a finite annuity, so solve for n. The corpus is the PV of her withdrawal annuity, so solve the annuity equation for the number of periods:

1,000,000 = 72,000 × [1 − 1.06^(−n)]/0.06 → annuity factor = 1,000,000/72,000 = 13.8889 → 1 − 1.06^(−n) = 0.83333 → 1.06^(−n) = 0.16667 → n = ln(6)/ln(1.06) = 30.75 years.

That's the spreadsheet's NPER, done by hand. At $72,000 she spends 7.2% of a portfolio earning 6%, so she's drawing down principal. The stream is finite, and she needs it to outlast her.

Part (b): a level perpetuity. Spend only the return and the principal is never touched. The sustainable withdrawal is C = r × corpus = 0.06 × 1,000,000 = $60,000 a year, forever. That's the level perpetuity read backward, since 60,000/0.06 = 1,000,000. The $12,000 gap between (a)'s $72,000 and this $60,000 is all that separates a stream that runs out in ~31 years from one that never does.

Part (c): a growing perpetuity, and the catch that surprises everyone. $60,000 forever is a nominal promise. At 2.5% inflation its purchasing power nearly halves in 28 years. To draw an income that grows with inflation forever, use the growing perpetuity with g = 2.5%. The sustainable initial withdrawal is C₁ = corpus × (r − g) = 1,000,000 × (0.06 − 0.025) = $35,000 a year, rising 2.5% annually after that. Protecting purchasing power forever costs her 42% of her starting income. She gets $35,000 instead of $60,000, because the (r − g) denominator now subtracts the growth she's funding. And g < r bites hard here. If her real return shrank toward zero, with returns barely beating inflation, the safe inflation-protected draw would collapse toward zero too. The famous retirement "4% rule" is a rough cousin of this calculation. The growing perpetuity explains why a safe initial withdrawal rate is so far below a portfolio's nominal return.


Practice set

Work in order, because the tiers ramp up from guided to independent to timed. On every problem, do the timeline first, the rate/period match second and the formula third. The timed tier is the dress rehearsal for the mastery check, so keep to the clock. A spreadsheet is allowed, but build the formulas yourself and don't go hunting for them.

Speed drill. Do these before the problems, at 90 seconds per item. The answers are below.

  • (a) At 9%, money doubles in about how many years?
  • (b) DF(5 years) at 10%?
  • (c) EAR of 16% compounded quarterly?
  • (d) PV of ₹12/year forever at 8%?
  • (e) Gordon: CF₁ = ₹6, r = 11%, g = 5%. PV?
  • (f) FV of ₹1,00,000 at 12% monthly after 1 year?
  • (g) Real rate if nominal 10%, inflation 4%?
  • (h) PV of ₹1/month for 12 months at 1%/month?
  • (i) Max possible IRRs for a −,+,−,+ stream?
  • (j) Fix this: =NPV(10%, B1:B5) where B1 holds the t = 0 outflow.

Answers. (a) 72/9 = 8 yrs · (b) 1/1.1⁵ = 0.6209 · (c) 1.04⁴ − 1 = 16.99% · (d) 12/0.08 = ₹150 · (e) 6/0.06 = ₹100 · (f) 1,00,000 × 1.01¹² = ₹1,12,682.50 · (g) 1.10/1.04 − 1 = 5.77% · (h) [1 − 1.01⁻¹²]/0.01 = ₹11.2551 · (i) 3 (three sign changes) · (j) =B1 + NPV(10%, B2:B5).

Tier 1: Guided

P1. Deposits, both directions. (a) A bank FD: ₹10,00,000 at 7.2% p.a. compounded quarterly, 3 years. Future value and EAR? (b) What would you pay today for a guaranteed ₹5,00,000 in 4 years if comparable alternatives earn 8% annually?

Solution. (a) The periodic rate is 0.072/4 = 1.8%, over 12 periods. FV = 10,00,000 × (1.018)^12 = ₹12,38,720.53. EAR = (1.018)^4 − 1 = 7.397%, so the quoted 7.2% understates by ~20 bp. (b) PV = 5,00,000/1.08^4 = 5,00,000/1.36049 = ₹3,67,514.93. Check it with the Rule of 72. At 8% money doubles in ~9 years, so 4 years is a bit less than half a doubling, and paying ~73.5% of face for a 4-year wait makes sense.

P2. Which deposit actually pays most? Three quotes: (i) 11.9% compounded monthly, (ii) 12.0% compounded quarterly, (iii) 12.1% compounded semiannually. Rank them.

Solution. Convert all to EAR. (i) (1 + 0.119/12)^12 − 1 = 12.571%. (ii) (1.03)^4 − 1 = 12.551%. (iii) (1.0605)^2 − 1 = 12.466%. Ranking: (i) > (ii) > (iii). The lowest quoted rate pays the most, and the highest pays the least. Quoted rates are labels. Only EAR is money.

P3. Ordinary vs due. A US structured settlement pays $30,000 per year for 25 years; comparable-risk money earns 6%. Value it (a) with payments at each year-end, (b) with payments at each year-start.

Solution. Annuity factor = [1 − 1.06^(−25)]/0.06 = 12.7834. (a) Ordinary: 30,000 × 12.7834 = $383,500.68. (b) Due: 383,500.68 × 1.06 = $406,510.73. One period's timing on the same 25 payments is worth $23,010. Always ask when the first payment lands.

P4. EMI and the first months of a schedule. ₹25,00,000 vehicle-fleet loan, 9% p.a., 5 years, monthly. Compute the EMI and build the first three schedule rows.

Solution. r = 0.0075, n = 60. EMI = 25,00,000 × 0.0075/[1 − (1.0075)^(−60)] = ₹51,895.89.

MonthOpeningInterest (0.75%)PrincipalClosing
125,00,000.0018,750.0033,145.8924,66,854.11
224,66,854.1118,501.4133,394.4824,33,459.63
324,33,459.6318,250.9533,644.9423,99,814.69

Verify the mechanics. Each principal component is the prior one × 1.0075, so 33,145.89 × 1.0075 = 33,394.48. And interest + principal = EMI in every row.

Tier 2: Independent

P5. SIP accumulation. ₹25,000/month for 15 years at an assumed 12% nominal (1% monthly). Corpus if invested at month-end? At month-start? (Then note which assumption your own SIP mandate actually matches.)

Solution. FV factor = [(1.01)^180 − 1]/0.01 = (5.9958 − 1)/0.01 = 499.58. Month-end, as an ordinary annuity: 25,000 × 499.58 = ₹1,24,89,505, or ~₹1.25 crore. Month-start, as a due: × 1.01 = ₹1,26,14,400. Of the ₹1.25 crore, your contributions are only 25,000 × 180 = ₹45 lakh. So 64% of the terminal corpus comes from compounding. The rest is what you saved. And as the retirement SIP example showed, this is a nominal crore, so deflate it before you celebrate.

P6. Growing perpetuity, and the CF₁ trap, both barrels. An infrastructure trust's units are expected to distribute ₹9 next year, growing 4% annually thereafter; r = 11%. (a) Value a unit. (b) Re-do it if ₹9 was instead this year's just-paid distribution. (c) What is the % error from confusing the two?

Solution. (a) ₹9 is already CF₁, so PV = 9/(0.11 − 0.04) = ₹128.57. (b) Now CF₁ = 9 × 1.04 = 9.36, and PV = 9.36/0.07 = ₹133.71. (c) The confusion misprices by 133.71/128.57 − 1 = 4.0%, which equals g, every time. On a unit trading near fair value, a 4% systematic error is bigger than most people's claimed edge.

P7. NPV vs IRR with unequal scale. Mutually exclusive: Project A costs 200 and returns 140 at t = 1 and 140 at t = 2. Project B costs 1,500 and returns 900 and 900. Hurdle 10%. (a) IRRs. (b) NPVs. (c) Which do you take, and reconcile the conflict with the incremental project.

Solution. (a) For A, solve 200 = 140/(1+i) + 140/(1+i)², which gives IRR ≈ 25.7%. For B, IRR ≈ 13.1%. (b) NPV_A = −200 + 140/1.1 + 140/1.21 = +42.98. NPV_B = −1,500 + 900/1.1 + 900/1.21 = +61.98. (c) Take B. It adds ₹62 of value against A's ₹43, and IRR's vote for A is scale blindness. Confirm it with the incremental stream B−A = (−1,300, +760, +760). Its incremental IRR ≈ 11.1%, above the 10% hurdle, and the NPV of the increment is +19.01. The extra 1,300 deployed in B earns more than the opportunity cost, so the bigger project is the right one. IRR per rupee is a rate, and you bank rupees.

P8. Multiple IRRs, diagnosed and dispatched. A dredging contract: receive equipment mobilization fee flows of −400 now, +1,020 at t = 1, −630 at t = 2 (demobilization/restoration). (a) How many IRRs could this have, and why? (b) Find them. (c) At a 20% hurdle, do you sign?

Solution. (a) There are two sign changes, − to + to −, so Descartes allows up to two positive IRRs. (b) −400x² + 1,020x − 630 = 0 with x = 1+r → 400x² − 1,020x + 630 = 0 → discriminant = 1,020² − 4·400·630 = 32,400; √ = 180 → x = (1,020 ± 180)/800 = 1.05 or 1.50 → IRR = 5% and 50%. Neither is "the yield." (c) Ignore both and compute NPV at the hurdle: −400 + 1,020/1.2 − 630/1.44 = −400 + 850 − 437.5 = +12.5. It's positive, so sign. NPV is positive between the roots, and a 20% hurdle falls inside the (5%, 50%) window.

Tier 3: Timed (dress rehearsal; spreadsheet allowed)

P9. (4 minutes) Fisher, both directions. (a) A Brazilian bond yields 13.25% nominal with 8% expected inflation. Exact real yield? (b) An Indian endowment needs a 3% real return with 5% expected inflation. What nominal return must its portfolio target? (c) For (a), what does the approximation give, and is the gap tolerable?

Solution. (a) 1.1325/1.08 − 1 = 4.861%. (b) 1.03 × 1.05 − 1 = 8.15%. It isn't 8.00%, because the cross-term is 15 bp, and that's real money at endowment scale. (c) The approximation gives 13.25 − 8 = 5.25% against an exact 4.861%. It's off by ~39 bp, too coarse at 8% inflation. Keep the approximation for conversation and exact Fisher for computation.

P10. (6 minutes) Price a G-sec. An Indian government security: ₹100 face, 7.26% annual coupon paid semiannually (₹3.63 per half-year), exactly 10 years left, market yield 6.8% (semiannual convention, so 3.4% per period). Price it and state premium or discount, but predict which before computing.

Solution. Predict first. The coupon (7.26%) is above the yield (6.8%), so it trades at a premium, with price > 100. Now compute. The annuity factor is [1 − 1.034^(−20)]/0.034 = 14.3419, so the coupons are worth 3.63 × 14.3419 = 52.06 and the principal 100/1.034^20 = 51.24. Price = ₹103.30, a premium as predicted. That's the arithmetic behind every price on the RBI's NDS-OM screen. Run it once by hand and the bond market stops being a black box.

P11. (8 minutes) The retirement restatement. Target: ₹3 crore in today's purchasing power in 20 years. Inflation 5%; monthly SIP earning 12% nominal (1%/month), month-end. (a) Required SIP. (b) The SIP a nominal-target planner would compute, and the purchasing-power shortfall that saver discovers in 20 years.

Solution. (a) Nominal target = 3,00,00,000 × 1.05^20 = 3,00,00,000 × 2.6533 = ₹7.96 crore. FV factor = [(1.01)^240 − 1]/0.01 = 989.255. SIP = 7,95,98,931/989.255 = **₹80,463/month**. (b) The naive SIP is 3,00,00,000/989.255 = ₹30,326/month. It reaches ₹3 crore nominal, which is worth 3,00,00,000/2.6533 = ₹1.13 crore today. That's a 62% purchasing-power shortfall from one skipped restatement. The two SIPs differ by 2.65×, which is 1.05²⁰, as they must.

P12. (6 minutes) Dated flows and honest annualization. (a) A pre-IPO placement: invest ₹2,00,000; receive ₹2,26,000 on exit 250 days later. XIRR? (b) A project: −800, +350, +350, +350 (annual). IRR, and MIRR at a 9% reinvestment (and 9% finance) rate, and which number to quote to the investment committee.

Solution. (a) The holding return is 13%, and annualized on actual days it's (1.13)^(365/250) − 1 = 19.53%. That's XIRR. In Excel, feed it the two dated flows with =XIRR(values, dates). (b) IRR ≈ 14.93%. For MIRR, the FV of inflows at 9% is 350 × (1.09² + 1.09 + 1) = 350 × 3.2781 = 1,147.34, so MIRR = (1,147.34/800)^(1/3) − 1 = 12.77%. Quote both and decide on NPV. But if 9% is what interim cash really re-earns, represent the deal as ~12.8% compound. The 14.93% embeds reinvestment at 14.93%, and nobody has offered you that.

Extension set: guided → independent → stretch

The routine is the same as in the tiers above: timeline, rate/period match, formula. These problems work five fresh muscles. There's the flat-rate loan you were promised back in the APR section. The growing annuity and the two-stage valuation carry you into DCF. Then come a reverse-Gordon price read, a perpetuity repriced, and a prepay-or-invest decision that's pure opportunity cost.

P13. (guided) The flat-rate loan, unmasked with IRR. Earlier you saw the claim that "8% flat ≈ 15.7% effective." Prove it. A ₹1,00,000 personal loan is quoted at 8% flat for 2 years, repaid in 24 equal monthly EMIs. (a) Compute the EMI. (b) Find the true monthly rate by solving the annuity (IRR) equation. (c) State the APR and EAR, and the rough "flat ≈ half" rule.

Solution. (a) Flat interest = 1,00,000 × 8% × 2 = ₹16,000, so the total repaid is ₹1,16,000 and the EMI = 1,16,000/24 = ₹4,833.33. (b) The true rate is the i solving 1,00,000 = 4,833.33 × [1 − (1+i)^(−24)]/i, which is the IRR of {−1,00,000; then +4,833.33 for 24 months}. Solving gives i = 1.2231% per month. (c) APR = 12 × 1.2231% = 14.68%, and EAR = 1.012231^12 − 1 = 15.71%. The "8%" sticker is less than half the ~15.7% you actually pay. Flat interest charges the full original principal for the whole two years, while your EMIs have already repaid most of it. That's the gap RBI's Key Facts Statement now forces lenders to disclose, and it's why you should never trust a flat quote.

P14. (guided) Value a growing royalty stream (US). Piedmont Software (synthetic) will collect a licensing royalty of $8 million next year, growing 9% a year for 7 years (the patent's life), then nothing. Your discount rate is 11%. Value the stream, and cross-check the mechanics.

Solution. A pure growing annuity: C₁ = 8, g = 9%, r = 11%, n = 7.

PV = [8/(0.11 − 0.09)] × [1 − (1.09/1.11)^7] = 400 × [1 − 0.88049] = 400 × 0.11951 = $47.80 million.

Cross-check by brute force. Discount $8m, $8.72m, …, $8 × 1.09^6 = $13.42m one by one at 11% and add them up. You land on $47.80m. Here g < r, so there's no sign gymnastics. And because the stream is finite (7 years), convergence is never in question whatever g is. That worry is a perpetuity rule.

P15. (independent) What growth is baked into a price? (reverse Gordon, India). A large-cap FMCG name trades at ₹1,800 and just paid a trailing dividend of ₹30 (illustrative; pull the live figures from screener.in and verify). Using r = 12% and the dividend-perpetuity model, (a) solve for the perpetual growth the price implies, and (b) judge it.

Solution. (a) Reverse the Gordon formula P = D₀(1+g)/(r − g): g = (r·P − D₀)/(P + D₀) = (0.12 × 1,800 − 30)/(1,800 + 30) = (216 − 30)/1,830 = 10.16%. (b) A perpetual 10.16% in rupees is just below r and far above any defensible forever-growth rate. Don't test it against India's nominal GDP growth, 8.9% in FY2025-26 and roughly 10 to 11% on the long-run average. That describes the economy of today, and a perpetuity assumes a mature state. Test it against the terminal-growth cap, the risk-free rate in your own stack. That's 4.5% on the cleaned rupee build from the cost of capital and 6.5% on a raw-G-sec build. The implied 10.16% breaches both by a wide margin. So the market is really pricing a long explicit high-growth phase, or applying a lower r, or paying up for quality, which is the premium-multiple regime at work. Watch for one trap. The lazy shortcut g ≈ r − D₀/P = 12% − 30/1,800 = 10.33% drops the (1+g) on the numerator dividend and overstates implied growth. It's the same CF₀-vs-CF₁ error you met with Gordon, in disguise.

P16. (independent) Repricing a perpetual preferred (US). A perpetual preferred share pays a fixed $5.00 annual dividend. (a) Price it when investors require 6.25%. (b) Reprice it the day required yields jump to 8%. (c) What is the percentage price move, and what general property of perpetuities does it illustrate?

Solution. (a) A fixed dividend forever is a level perpetuity: price = C/y = 5.00/0.0625 = $80.00. (b) At 8%: 5.00/0.08 = $62.50. (c) Move = (62.50 − 80.00)/80.00 = −21.9% for a 1.75-point yield rise. A perpetuity has the longest possible duration, since every cash flow runs out to infinity and no principal repayment shortens it. So it's maximally rate-sensitive, and its price is pure discount-rate exposure. So long-duration fixed claims (consols, perpetual preferreds, bank AT-1s) whipsaw hardest when rates move.

P17. (independent) Prepay the loan, or invest? (India). You have ₹5,00,000 spare and an outstanding home loan at 8.5% p.a. compounded monthly. A comparable-risk investment offers 9% pre-tax, and your marginal tax rate is 30%. (a) Convert the loan rate to an EAR. (b) Put the two options on a like-for-like basis and decide. (c) What pre-tax return would change your mind?

Solution. (a) Loan EAR = (1 + 0.085/12)^12 − 1 = 8.84%. (b) Prepaying earns a guaranteed, risk-free, tax-free 8.84%, because you extinguish interest you'd otherwise pay. The investment's comparable figure is its post-tax return: 9% × (1 − 0.30) = 6.30%. Since 8.84% tax-free beats 6.30% post-tax, prepay. (c) The breakeven pre-tax return is loan EAR/(1 − tax) = 8.84%/0.70 = 12.63%. So the investment must clear 12.63% pre-tax merely to tie a risk-free debt paydown. The trap is comparing the loan rate with the alternative's pre-tax 9%. That flatters investing and ignores that a debt paydown is untaxed. "Prepay or invest?" is a pure opportunity-cost question, and opportunity cost is what this whole topic is about.

P18. (timed, 10 minutes, stretch) A full two-stage valuation (India). Meridian Consumer (synthetic) will generate ₹200 crore of free cash flow next year, growing 12% a year for 5 years, then a mature 5% forever; r = 11.5%. (a) PV of the explicit stage. (b) The terminal value and its present value. (c) Enterprise value. (d) What fraction of value is the terminal value, and which single input would you stress-test first?

Solution. (a) Growing annuity, C₁ = 200, g = 12%, r = 11.5%, n = 5: PV = [200/(0.115 − 0.12)] × [1 − (1.12/1.115)^5] = ₹904.94 crore. Here g > r once more, and the finite sum handles it cleanly. (b) FCF₅ = 200 × 1.12^4 = ₹314.70 cr and FCF₆ = 314.70 × 1.05 = ₹330.44 cr. Then TV₅ = 330.44/(0.115 − 0.05) = ₹5,083.68 crore, dated at the end of year 5, and PV(TV) = 5,083.68/1.115^5 = 5,083.68/1.72335 = ₹2,949.88 crore. (c) EV = 904.94 + 2,949.88 = ₹3,854.82 crore. (d) TV is 2,949.88/3,854.82 = 76.5% of value, so stress-test the terminal growth rate first and the discount rate second. The five-year forecast you agonized over is only a quarter of the answer. For scoring, all four parts correct inside 10 minutes means you're ready for the mastery check's valuation items. Most people lose the time, or drop the marks, on the discount-back in (b).

P19. (independent) Reading a preferred share two ways, then a third (India). Sahyadri Cements (synthetic) has a non-convertible redeemable preference share outstanding: face value ₹100, dividend rate 8.5%, currently quoted at ₹92. (a) What required return does the market price imply, treating the share as a level perpetuity? (b) The issuer may redeem it at face value in exactly three years. What is the yield to that call? (c) Which of the two numbers belongs in a cost-of-capital build, and what does the difference between them price?

Solution. (a) The dividend is 100 × 0.085 = ₹8.50 a year, so r = D/P = 8.50/92 = **9.24%**. (b) Solve 8.50 × [1 − (1+y)^−3]/y + 100/(1+y)³ = 92 for y. The annuity plus the redemption at par gives y = 11.82%. As a check, 8.50/1.1182 + 8.50/1.1182² + 8.50/1.1182³ + 100/1.1182³ = 92.000. (c) The 11.82% is the right number for a stack that expects redemption, because it's the return the instrument actually delivers over its likely life. The 9.24% describes a perpetuity the issuer has no obligation to leave outstanding. The 2.58-point gap is the price of the call option the investor has written. A discount to par plus a fixed redemption date pulls the return forward, and the issuer will exercise just when refinancing is cheap. When you build the WACC, this number becomes the cost of preferred, with its own weight.


Applied mini-project: the rates around you, priced by hand

Task (2 to 3 hours). You only own TVM once you've run it on live numbers you pulled yourself. It takes four parts and one workbook. Use the five sheets from the spreadsheet toolkit, and write up one page of findings.

  1. The loan. Pull a current home-loan rate from any large Indian lender's website. SBI and HDFC Bank publish rate cards openly. Take a ₹60 lakh, 20-year loan at that rate. Compute the EMI from the formula, then confirm it with PMT. Build the full 240-row amortization schedule with IPMT/PPMT. Then report the total interest over the life, the month principal first exceeds interest, and the term and interest saved by a single ₹3 lakh prepayment at the end of year 4, using NPER.
  2. The two real rates. Pull today's 10-year G-sec yield (FBIL's daily rates page, the NSE, or RBI's DBIE portal) and the latest India CPI year-on-year print (MOSPI's monthly press release). Pull the 10-year US Treasury yield (treasury.gov daily curve or FRED series DGS10) and latest US CPI (BLS or FRED). Compute both exact-Fisher real rates. In ≤150 words: which country pays more for waiting in real terms right now, and what would you have wrongly concluded from nominal yields alone?
  3. What two prices imply. Pick one steady dividend payer in each market, e.g., ITC or Infosys (dividend history on screener.in) and Coca-Cola or Johnson & Johnson (stockanalysis.com). Take the current price, the trailing dividend as CF₀, and a stated r (12% for India, 8% for US). Those rates are placeholders until you build a proper cost of capital. Then solve the reverse Gordon for implied perpetual g. Judge each implied g against its currency's nominal-GDP cap, in one paragraph per company.
  4. The IRR stress test. In your NPV/IRR lab sheet, enter the −100/+230/−132 stream from the build-your-own example, show IRR() returning different answers under guesses of 5% and 25%, and MIRR(…, 12%, 12%) returning one. Screenshot or note the cells.

Data sources, all free: lender rate cards; FBIL (fbil.org.in); RBI DBIE (dbie.rbi.org.in); MOSPI CPI releases (mospi.gov.in); treasury.gov; FRED (fred.stlouisfed.org); screener.in; stockanalysis.com.

Scoring rubric (self-graded; pass ≥ 10/16):

Criterion012
EMI & schedule correctnessEMI wrongEMI right, schedule has errorsSchedule ties out to a ₹0 closing balance; crossover month identified
Prepayment analysisAbsentDirection right, numbers offTerm and interest savings computed correctly via NPER
Real-rate computationApproximation used or wrong inputsExact Fisher, one marketExact Fisher, both markets, sources cited with dates
Real-rate interpretationRestates numbersCorrect comparisonCorrect comparison + articulates the nominal-yield illusion
Implied-g analysisFormula misapplied (CF₀ trap)Correct g, no judgmentCorrect g both companies, judged vs currency-matched nominal-GDP cap
IRR stress test + workbook hygieneNot donePartially shownBoth IRR roots and single MIRR shown; named cells, no hardcodes

Reading & resources

  • Berk & DeMarzo, Corporate Finance, chapters 4 (Time Value of Money), 5 (Interest Rates), 7 (Investment Decision Rules). The cleanest formal treatment of everything here, including EAR/APR and the NPV-vs-IRR debate. [Paid] [Beginner–Intermediate]
  • Brealey, Myers & Allen, Principles of Corporate Finance, chapters 2–3 and 5 (PV mechanics; NPV vs its rivals). The classic. Chapter 5's demolition of IRR is the canonical version of the IRR traps above. [Paid] [Intermediate]
  • Aswath Damodaran, "Foundations of Finance" TVM primer and the first two sessions of his NYU Corporate Finance class (free on pages.stern.nyu.edu and YouTube; the site also hosts the intrinsic-value spreadsheets these formulas feed into). Watch for how he treats discount rates as opportunity costs, never as givens. [Free] [Beginner–Intermediate]
  • MIT OpenCourseWare 15.401 Finance Theory I, lectures 2–3 (Present Value). Rigorous, fast, free, with problem sets and solutions. [Free] [Intermediate]
  • Khan Academy: "Interest and debt" and "Present value" tracks. If anything from compounding through annuities felt shaky, drill here before the timed exam. The practice problems are unlimited. [Free] [Beginner]
  • Zerodha Varsity, Module 1 (Introduction to Stock Markets) ch. on compounding, and Module 11 (Personal Finance) chs. 2–5 (EMIs, real returns, retirement math, all in the Indian retail settings used above). [Free] [Beginner] [India]
  • CFA Institute Level I curriculum, Quantitative Methods: "The Time Value of Money" and "Discounted Cash Flow Applications" readings (older editions circulate cheaply; the end-of-reading problems are ideal timed-drill fodder). [Paid] [Intermediate]
  • Live data you will keep using forever: FBIL daily G-sec/T-bill rates and RBI DBIE (India rates); MOSPI monthly CPI press releases (India inflation); treasury.gov daily yield curve and FRED (US rates: DGS10; US CPI: CPIAUCSL); RBI's Key Facts Statement circulars (the APR-disclosure regime behind the flat-rate trap). [Free]
  • Microsoft's function documentation for XNPV, XIRR, MIRR, CUMIPMT. Read the actual day-count and sign conventions once; most "Excel bugs" are unread conventions. [Free] [Beginner]
  • Going deeper: Aswath Damodaran's valuation webcasts and terminal-value spreadsheets (pages.stern.nyu.edu → "Videos & Podcasts" and "Spreadsheets"; also free on YouTube) [Free] [Intermediate]. Here WE5's two-stage bridge (explicit growing annuity + Gordon terminal value, discounted home) becomes a full DCF. Watch specifically how he caps terminal growth at the risk-free rate and always presents value as a range over (r, g), never a point. It's the perpetuity section's rule in a practitioner's hands.
  • Going deeper: Michael Kitces on safe withdrawal rates (kitces.com, the long-running "safe withdrawal rate" article series) [Free] [Intermediate]. WE6's growing-perpetuity logic turned into the real retirement-planning debate: why a safe initial withdrawal rate is well below a portfolio's nominal return once you fund inflation growth (the r − g haircut) and sequence-of-returns risk. Pairs directly with the real-vs-nominal law.

The Modern Analyst's Addendum

Everything above teaches this skill from first principles, by hand. That is how you learn it, and the mastery check still tests it that way. This addendum shows how a working analyst amplifies the same skill today. It adds; it never replaces. (R1/R10)

AI-Augment this skill

{
  "skill": "Discounting and compounding, EAR versus APR, annuities and amortization, perpetuities and the Gordon derivation, NPV, IRR and its six traps, and the Fisher real-nominal law",
  "use": "This is a module of closed-form arithmetic, which makes it the module where a tool's confident wrong answer is hardest to spot and easiest to check. Use it for structure and derivation, never for a number you then rely on. (1) Ask it to derive rather than to compute: have it derive the growing-perpetuity formula from the infinite geometric series, or show why the approximation r_real ≈ r_nom − π drops the cross-term — a derivation you can follow is worth more than an answer you cannot. (2) Ask it to generate the awkward cases you would not think of: a stream with three sign changes, a project where NPV and IRR rank differently, an EMI schedule where a prepayment lands mid-period. Then solve them by hand and check. (3) Ask it to translate between conventions — APR to EAR to monthly, act/365 to 30/360, XIRR from dated flows — and state the convention it used, since almost every real-world discrepancy in this module is a convention mismatch rather than an error. (4) Ask it to name what would have to be true for a quoted IRR to be achievable, which is the reinvestment question of trap 4 and the one a fund deck never volunteers.",
  "tools": ["Chat assistants — Claude, ChatGPT for derivations, convention translation and adversarial cash-flow streams", "Coding assistants — Claude Code, Copilot for the numpy-financial and root-finding implementations below", "Spreadsheet AI — Excel Copilot for schedule layout, never for the sign convention, which you must own"],
  "prompt": "Derive the growing-perpetuity formula PV = CF1/(r − g) from the infinite geometric series, stating the convergence condition and what it means economically. Then construct three cash-flow streams: one with exactly two internal rates of return, one with none, and one where NPV and IRR rank two equal-outlay projects differently. For each, give the stream and the arithmetic that demonstrates the property — but do NOT give me the IRRs or the NPVs; I will solve them.",
  "verify": "Every number in this module is checkable in two lines, so check it. Re-derive any answer a tool gives you either by hand or with an independent implementation, and test the identities that must hold: nominal and real discounting of the same project agree to the paisa (₹713.3 crore both ways in §4.7), the amortization schedule's closing balance hits exactly zero, the perpetuity value equals the limit of the annuity as n grows. For IRR specifically, never accept a single root without checking the sign changes first — a solver returns whatever root is nearest its guess, and §4.6's mining stream has two. And confirm the convention: a rate is meaningless until you know its compounding frequency and day-count, which is the one thing a fluent-sounding answer is most likely to leave out (Guardrail 1-5).",
  "diy": "The gate is unaided: you compute PV, FV, EAR, EMIs and amortization schedules, derive Gordon, and apply exact Fisher on paper with a calculator. Nothing in this callout is admissible in that room."
}

Modern Data Analysis

By hand first. You derived Gordon from the geometric series, built the amortization machine, found both roots of the mining stream algebraically, and proved the nominal-and-real identity to the paisa. That's what lets you audit a spreadsheet, and the gate keeps you there. The code below is what the same arithmetic looks like when it has to run on ten thousand cash-flow streams instead of one.

Today's workflow. Three habits set a modern implementation of this arithmetic apart. First, use a root-finder on purpose, and stop leaning on a spreadsheet function by accident. The spreadsheet's IRR() returns the root nearest its guess. A bracketed solver such as scipy.optimize.brentq returns the root in that bracket, so you find both 10% and 20% on the mining stream and aren't stuck with whichever one your default guess happened to fall next to. Count the sign changes first, in code, and refuse to report a single IRR when there's more than one.

Second, keep the dated version as the default. Real cash flows have dates, so build every stream as (date, amount) pairs and compute XNPV and XIRR from day counts. The neat t = 1, 2, 3 version is a special case. Treat it as the general one and a 300-day return turns into an annual one without anyone noticing.

Third, make the Fisher law structural, so you don't have to remember it. Carry inflation as an explicit field on every forecast, so a real cash flow physically can't meet a nominal rate in the same expression. The mix-A error from the real-versus-nominal section, flat "today's rupees" discounted at a nominal 12%, cost 21% of the value of a ten-year project. A type system prevents that kind of error, and a habit doesn't.

Tools & sources (IN + US). In code, use numpy_financial for npv, irr, pmt, fv and rate, scipy.optimize.brentq for bracketed root-finding, and pandas for dated schedules. For India, get G-sec yields from FBIL and RBI's DBIE and the NSE, CPI from MOSPI, and RBI's inflation-indexed bonds for a market-implied inflation read. For the US, get Treasury par yields from treasury.gov and FRED (DGS10, DGS2) and CPI from BLS via FRED (CPIAUCSL). The TIPS breakeven series (T10YIE) is the market's own forecast of π, and it makes a better input to Fisher than last year's print.

# All figures below are the module's own worked streams — R3: recomputed in-session
from scipy.optimize import brentq
npv = lambda cf, r: sum(c / (1 + r) ** t for t, c in enumerate(cf))
mine = [-100, 230, -132]                              # two sign changes -> two IRRs
print([round(brentq(lambda r: npv(mine, r), a, b) * 100, 2)     # [10.0, 20.0]
       for a, b in ((0.05, 0.15), (0.15, 0.30))])
cf = [-1000, 500, 400, 300, 200]
irr = brentq(lambda r: npv(cf, r), 0.01, 1.0)                    # 0.1780
fv = sum(c * 1.10 ** (4 - t) for t, c in enumerate(cf[1:], 1))   # 1679.5 at a 10% reinvestment
print(round(irr * 100, 1), round((fv / 1000) ** 0.25 - 1, 4))    # 17.8  0.1384  <- MIRR
r_real = 1.12 / 1.05 - 1                                         # 0.066667 exact Fisher
print(round(sum(100 * 1.05 ** t / 1.12 ** t for t in range(1, 11)), 1),   # 713.3 nominal
      round(sum(100 / (1 + r_real) ** t for t in range(1, 11)), 1),       # 713.3 real - identical
      round(sum(100 / 1.12 ** t for t in range(1, 11)), 1))               # 565.0 the mix-A error

Verify. Reproduce the answers above before you trust an implementation: both mining roots at 10% and 20%, MIRR of 13.8% against a plain IRR of 17.8%, the crossover rate of 12.0% between projects L and S, and the nominal-equals-real identity at ₹713.3 crore. Then verify the inputs. A discount rate pulled from a yield screen carries a compounding convention and a day-count. An inflation number is either a backward-looking print or a market-implied breakeven, and those are different quantities. And a "12% expected return" is an arithmetic mean unless somebody says otherwise. As the Quantitative lens shows, that distinction is worth several years of compounding. For the preferred share, a $25 par at 6.5% pays $1.625, prices at $21.96 when investors want 7.4%, and implies 8.33% at a $19.50 market price. The rupee case pays ₹8.50, prices at ₹85.00 at a required 10%, and implies 9.24% at ₹92, against a yield to a par call three years out of 11.82%.

Quantitative lens

The first principle here is that a rupee today is not a rupee next year. Its unstated second half is that next year's rupee isn't even a known quantity. Once the return is a distribution instead of a number, compounding behaves in ways the deterministic formulas can't show you.

Volatility drags compounding, and the drag is computable. If annual returns are lognormal with an arithmetic expectation μ, the compound (geometric) rate you actually experience is approximately μ − σ²/2. Take a 12% expected return and hold it fixed while you vary only the volatility. At 0% volatility the geometric rate is 12.00%. At 10% it's 11.44%, at 18% it's 10.20%, and at 30% it's 7.07%. Nothing about the expected return changed. Over twenty years that gap is the difference between multiplying your money 9.65 times and 3.93 times. So the gap between an arithmetic and a geometric mean matters in practice. A historical average return quoted as an arithmetic mean systematically overstates the wealth it would have produced, and the overstatement grows with the square of volatility.

The single-number answer is not the median outcome. Compound ₹1,00,000 for twenty years at a 12% expected return with 18% volatility, and simulate the terminal wealth distribution. The 5th percentile is ₹1,85,116, the 25th ₹4,05,422, the median ₹6,97,218, the 75th ₹12,00,954 and the 95th ₹26,35,733. That's a fourteen-fold spread from one set of assumptions. The textbook answer, ₹1,00,000 × 1.12²⁰ = ₹9,64,629, isn't the middle of that distribution. It's at roughly the 66th percentile. So the number every TVM formula above would give you is an outcome you fall short of about two-thirds of the time. Jensen's inequality is the reason. The mean of terminal wealth is preserved at 9.65 times by construction, but a thin right tail drags it up, while the typical path lands well below it.

None of this makes the deterministic arithmetic wrong. It's the correct answer to the question it asks, and it's the only version you can compute by hand, so it's what the gate tests. The simulation adds the right sentence to put around the number. An SIP projection is a median with a range, and nobody should read it as a promise. A project NPV computed at a point is one draw from a distribution the model hasn't shown you. And a fund quoting a compound return is quoting the geometric figure, while a fund quoting an "expected return" is usually quoting the arithmetic one. The two differ by half the variance.

These limits are substantial. Lognormal independent-and-identically-distributed returns are a convenient fiction. Real returns have fat tails, serial dependence, regime changes and volatility clustering, all of which widen the low percentiles more than this simulation does. The μ − σ²/2 relation is exact only for the lognormal calibration used here and is an approximation otherwise. The figures above show the approximation drifting from the exact figure as volatility rises: 10.38% against a true 10.20% at 18% volatility. Both the 12% and the 18% are assumptions, and the simulation's precision says nothing whatever about their accuracy. The output's spread is driven almost entirely by the volatility input, which is the least reliably estimated number in the exercise. And a distribution isn't a forecast. It describes the model's behaviour, never the world's.

Do it in code: simulate the terminal-wealth distribution behind any long-horizon compounding claim, report the median and the 5th-to-95th range beside the point answer, and note where the point answer sits in the distribution. Then do the same with contributions and withdrawals, where sequence risk means the order of returns matters and the deterministic formula stops being even approximately right. See G1/QM1.01 and G1/QM1.03.

  • G1 · FI1.01 Bond Pricing & Yield Measures. Discounting applied to contractual cash flows, where IRR acquires its proper name (yield to maturity) and its conventions become law rather than preference.
  • G1 · QM1.01 Probability, Distributions & Estimation. What an "expected return" is, why arithmetic and geometric means differ by roughly half the variance, and how badly a volatility estimate is measured.
  • G1 · QM1.03 Time Series, Monte Carlo & ML. The terminal-wealth simulation above done properly, with fat tails, serial dependence and sequence risk instead of independent lognormal draws.
  • G2 · DA1.01 NumPy & Vectorized Computation. Every schedule above as an array operation, which is what makes ten thousand streams cost the same as one.

Teach it back & journal

Feynman prompt. Write a one-page explainer for a smart 15-year-old: why ₹10,000 today and ₹10,000 in five years are different amounts of money, and how the same idea tells you (a) what a loan really costs, (b) why a promise of "₹500 a year forever" has a finite price, and (c) why nobody can grow faster than the economy forever. Here are the rules. No jargon, so you may not use "discount," "NPV," or "perpetuity." Use one everyday example the teenager has personally seen (a phone EMI, a SIP ad, a credit-card bill). And include one number they can check on their own calculator. If the page needs the banned words, you don't own the idea yet.

Journal reflection. Audit your own money through this lens. Where have you compared quoted rates instead of EARs: a flat-rate loan, a credit-card statement, two FD offers? What hurdle rate do you implicitly apply when you leave money idle in savings, and is that a decision or a default? And find one place you've thought in nominal terms about a real goal (retirement, a child's education, a house). Write down what the exact-Fisher restatement changes, then note how it felt to see the shortfall number. That feeling is why analysts who compute beat analysts who assume. It's also the temperament thread (Phase 6) making its first appearance in your own ledger.

This module's flashcards and mastery quiz are wired into the app: see the node's Quiz and Reviews.

Advertisement

The gate

The module's flashcards and its quiz are in the app. The quiz is the gate: you need 85% to pass it, and the next module opens when you do.