◈ quant roadmapPart 0 · Ch 05/45
Quantitative Finance — the Mathematics of Markets · chapter 05

05Exponentials, Logs & Compounding

Chapter 4 left three seeds in the ground, and one of them was a small expansion with a note attached: ln(1+x) = x − x²/2 + …, and the note said that Chapter 5 is where nobody quotes plain returns any more. This is that chapter, and I want to give away the ending first, because the ending is the reason to walk the road. Money does not grow by adding. It grows by multiplying, one growth factor at a time, and a long chain of multiplications is a genuinely hard thing for a human being to hold in their head. The logarithm is the lens that fixes that, and it fixes it with one sentence. Take the log of a product and you get a sum. That is the whole chapter, and everything else here is that sentence pointed in a different direction. Point it forward and you get continuous compounding, where slicing a year infinitely fine gives you e^{rT} and not infinity. Point it backward and you get discounting, where a dollar promised in the future is worth e^{−rT} today. Point it at a year of prices and 252 multiplications collapse into 252 additions, which is the actual, unglamorous reason every quant on earth stores returns as logs. We'll start by losing a dollar, on purpose, to a percentage.

Before we lose that dollar, here's where this chapter sits. Chapter 4 built the machine that rebuilds any smooth function out of its own derivatives, and on the way it met . That function is the one whose derivative is itself, a strange sentence until you see what it describes. Something whose rate of growth is proportional to how much of it there already is. That is exactly what money in an account does. So stops being an example here and becomes the subject. Click any downstream node and watch the road run back to this page.

You are here — where continuous growth joins the spine
PART 0 MODEL ESTIMATE PRICE ACT e⁻ʳᵀ ch 25 GBM ch 26 μ−σ²/2 ch 26 Kelly ch 15 YOU ARE HERE what Ch 5 itself borrows — flip below Ch 2 → the limit that builds e e = lim (1+1/n)ⁿ as n→∞ n = 1 → ? n = 10 → ? n = 100 → ? n → ∞ → ? Ch 4 → the parabola tracking ln ln(1+x) ≈ x − x²/2 approx: 0.10 − 0.005 = ? true: ln(1.10) = ? gap: ? — tiny this close to 0
tap a blue node above — trace what it borrows
click a node to trace its road home
Ch 2's e · Ch 4's ln(1+x) — hidden
What you're looking at — the spine, and the two rungs under it
blue = later chapters (and the true ln curve) — the real thing
gold = Ch 5, "you are here"; the road traces back on click
violet = what Ch 5 borrows from Ch 2 and Ch 4 — reveal it

eˣ's slope equals itself — the mathematical statement of "grows in proportion to what you already have," which is exactly what an account earning interest does. That's why eˣ had to come first.

Fig. 1. The course spine, with Ch 05 lit gold as you are here. Click a blue node — e⁻ʳᵀ, GBM, μ−σ²/2, Kelly — and a gold road traces back, naming the exact thing it borrows. Below, hit reveal what Ch 5 borrows to see the two rungs underneath: Ch 2's limit that defines e, and Ch 4's ln(1+x)≈x−x²/2 — both dead-on near x=0, and both about to carry the rest of this chapter.

Now the dollar.

01The instinct that costs money

You put $100 into something, and in the first year it gains 10%. In the second year it loses 10%. Before you read another word, commit to an answer: where does the money end up? Most people say $100, and they say it instantly, without any sense of having done a calculation, because it feels like the two moves cancel. Go and commit your guess in the panel, because being wrong here is cheap and it is the single most useful mistake in the chapter.

Predict, then lose a dollar — up 10%, down 10%, not back to $100
×1.00 ×1.00 $100 × 1.00 × 1.00 = $100.00 $100.00 r²·100 = $0.00 $80 $100 $120 $140
guess first — then press RUN
What you're looking at — why the round trip loses a dollar
blue bar = your actual money, $100 walking through both moves
gold = your locked guess (the needle), the two multipliers, and the sliver you never get back
green verdict = you called it — the gut's "+10−10=0" instinct is the trap
Fig. 2. Predict first: after +10% then −10%, is $100 left with more, exactly, or less? Your guess locks as a gold needle — no take-backs. Press RUN: the bar stretches ×1.10 to $110.00, then shrinks ×0.90 to $99.00, because 0.90 is now taken off $110, not $100 — the discount lands on a bigger pile than the raise did. Drag r past the fixed 10% and the same law holds at any size: $100×(1+r)×(1−r) = 100(1−r²), a gold sliver equal to r²·$100 of missing money grows every time — $1 at r=10%, $9 at r=30%. A squared term never washes out; that's the whole reason the round trip can't break even.

You end up with $99. Not $100. And the reason is the whole reason this chapter exists. A gain of 10% does not add ten to something — it multiplies by 1.10, and a loss of 10% multiplies by 0.90. So two years of that is 100 × 1.10 × 0.90 = 99, and the operation stacking your returns was never addition. It was multiplication, hiding behind the word "percent."

Drag the slider in that panel and watch the loss grow. At 10% you lose a dollar, and at 30% you lose nine. The pattern in the readout is (1+r)(1−r) = 1 − r², and that should look familiar, because Chapter 4 spent an entire section on a term shaped exactly like that. We'll come back and formally close this loop near the end. For now, hold one sentence: growth is ×, not +.

The thing you multiply by has a name we'll use for the rest of the course. If a rate r is applied to your money, the number 1+r is the growth factor. A 10% gain is a growth factor of 1.10, a 10% loss is a growth factor of 0.90, and a flat year is 1.00. Wealth over several periods is those factors multiplied together, and nothing else.

The factor ledger — drag the years into any order
1.75× 0.55× 1.00× 1.0000× 1.0000× gap: multiply vs add Δ 0.0000× reorder tiles — the pin never moves drag to reorder · click a tile to switch it off +18% 1.18 -22% 0.78 +7% 1.07 -4% 0.96 +31% 1.31 -11% 0.89
6 of 6 years active
1.1023× no matter the order
gap Δ 0.0877×
What you’re looking at — the pin is a product, not a sum
blue tiles are six yearly returns written as growth factors (1+r) — drag to reorder, click one to switch it off.
gold pin = the true compounded total, (1+r₁)×(1+r₂)×⋮ — multiplication is commutative, so any order lands on the same pin.
red is the wrong shortcut — adding the percents instead of multiplying; it drifts further from the pin as more years switch on.
Fig. 3. Drag the six year-tiles into any order — the green curve (the running product of the growth factors) redraws into a totally different path, but its ending value snaps back to the same gold pin every time, because multiplication doesn’t care what order you do it in. The red dashed curve is what you’d get by adding the percents instead: switch tiles on and off and watch it drift further from the pin — a horrible year followed by a great one leaves you exactly where the great one followed by the horrible one would, and neither equals their sum.

Drag the factors into any order you like and the final wealth never moves, because multiplication does not care about order. That is worth noticing rather than skipping past. It means a terrible year followed by a great one leaves you in exactly the same place as the great one followed by the terrible one. Then flip the toggle to ADD THE PERCENTS and watch the wrong answer drift away from the right one, further with every factor you switch on. Adding percentages is not a rough shortcut for multiplying factors. It is a different operation that happens to live nearby.

02Slicing the year

One growth factor is solid. What happens when a year holds more than one of them? A bank quotes you 12% a year, paid monthly. That sentence is doing quiet work, and almost nobody unpacks it. It does not mean you get 12% at some point during the year. It means the year is cut into twelve slices, each slice pays 12%/12 = 1%, and each slice multiplies whatever is sitting there at the time.

12 beats — watching 12%/yr compound one month at a time
Beat 0 — the bank's quote $100 for 1 year @ 12%/yr — guess first balance, $100 → $113 $113 $100 0 6 12 $112.00 naive interest earned so far blue $0.00 · green $0.0000
guess, then click through the months
$100 for a year, 12%/yr — your guess?
beat 0 / 12
pick a guess, then step through →
What you're looking at — the extra 0.68% has a name
gold path — the real balance, credited month by month
blue bar — interest on the original $100 only: $1 every month, no more
green bar — interest earned by earlier interest: the whole extra $0.6825
Fig. 4. Guess what $100 becomes after a year at "12%/yr, paid monthly" — most guesses land on the naive $112.00. Step through all 12 months and watch why that's wrong: each month's 1% lands on last month's balance, not on the original $100, so a blue $1.00-a-month bar (interest on principal) rides beside a green sliver (interest on interest) that grows $0, $0.01, $0.0301, …, $0.6825. That green sliver, not a bonus or rounding, is the entire gap between $112.00 and $112.6825 = (1+0.12/12)¹².

Step through it and the arithmetic is honest all the way down. Month one turns $100 into $101. Month two applies 1% to $101, not to $100, so it adds $1.01, and month three then works on $102.01. By December you are holding $112.68, which is (1.01)¹² = 1.1268250 times your money. The bank said 12%. You got 12.68%. That extra 0.68% is not a rounding artefact or a gift. It is interest earned by interest, and the stepper shows you exactly which slices produced it.

So write the general form, now that you've watched the specific one happen. Take an annual rate r, cut the year into m equal slices, and each slice pays r/m, so one slice multiplies by (1 + r/m). Doing that m times in a row multiplies m of them together, which by the exponent law you've had since Chapter 1 is

(1 + r/m)^m

and that is the whole year's growth factor. Check it against the case you just walked: r = 0.12, m = 12, giving (1.01)¹². The formula is not new information — it's the thing you already did, written once instead of twelve times.

03★ Compounding hits a wall

Monthly beat yearly. So would daily beat monthly? Would every second beat daily? If chopping the year finer always pays, then chopping it infinitely fine should pay infinitely. Commit to a prediction before you touch anything: as m runs off to infinity, does (1 + 0.12/m)^m run away to infinity too, or does it stop somewhere?

The slicing race — cut the year into m pieces and watch the gains die out
$100 compounded m times a year, at r = 12% rungs progress → wall factor extra $ start = 1+r wall = e^r ≈ 1.12750 m=1 1.1200000 m=2 1.1236000 +$0.36 m=4 1.1255088 +$0.19 m=12 1.1268250 +$0.13 m=365 1.1274746 +$0.065 m=8760 1.1274959 +$0.0021 limit 1.1274969 +$0.0001 that's the ceiling — compounding CAN'T run away
Slice the year into m pieces — where does the multiplier end up?
tap one to lock it in
rung 1 of 7 revealed
predict first — pick one below
What you're looking at — the same 1 year, sliced m ways
blue = each rung's factor, crawling toward the wall
violet = the extra $ that rung bought over the last one
gold = the wall itself, e^r — a ceiling no m can cross
Fig. 5. Predict first, then click advance the ladder to slice the year into m pieces — 1, 2, 4, 12, 365, 8,760, and finally the limit. Each rung's factor creeps closer to the fixed wall, e^r, but the extra dollars it buys shrink fast — from 36¢ down to a hundredth of a cent by the time you're compounding hourly. Drag r and the whole ladder, wall included, rescales together: same shrinking shape, new number.

It stops. Slice the year more finely and you do earn more, but the amount you earn dies. Read the marginal-gain bars down the panel: going from yearly to twice-yearly on $100 buys you 36 cents. The rungs after that pay 19 cents, then 13, then 6.5, and daily to hourly pays 0.2 cents. Hourly to continuous, which means slicing forever, buys about a hundredth of a cent. The factors themselves march 1.1200, 1.1236, 1.1255, 1.1268, 1.1274746, 1.1274959, and they are visibly walking into a wall.

The wall is at 1.1274969, and that number is not arbitrary. It is e^{0.12}. Chapter 2 met this creature at r = 100% and found e = lim (1+1/n)ⁿ ≈ 2.71828. But knowing that fact does not make it obvious that (1 + 0.12/m)^m is the same limit wearing different clothes. The r sitting in the numerator blocks the recognition completely, and most books simply assert the answer and move on. So let's build the rung they skip.

The relabel — why the wall is e, and not a coincidence
r = 0.12, fixed (the race's rate). m = slices per year — drag it below. the original its value ( 1 + r m ) m = 1.1255088 ☛ tap a piece to meet it, or hit RELABEL → let n = m/r = 33.3 the relabelled form ( 1 + 1 n ) m ( 1 + 1 n ) n·r [ ( 1 + 1 n ) n ] r = 1.1255088 ↑ the very same number the bracket (1+1/n)^n 2.67851 → e = 2.71828 the outer power r 0.12 · dead still [ (1+1/n)^n ]^r = 1.1255088 → as m→∞: e^0.12 = 1.1274969 (exactly the wall)
Tap the 1, the r/m, the exponent m to meet each. Then hit RELABEL.

The bracket (1+1/n)^n heads toward…?

trace the relabel, step by step
What you're looking at — one expression, wearing two names
blue = the bracket (1+1/n)^n — Ch2's limit, climbing to e
gold = the value, and the frozen outer power r = 0.12
violet = the one relabel that unlocks it: n = m/r
Fig. 6. The race left a wall at e0.12—now watch why. Hit RELABEL and set n = m/r: the fraction r/m flips into 1/n and the exponent m splits into n·r, peeling the whole thing into [(1+1/n)n]r. Every step the value under both forms stays identical—nothing changed but the label. Drag m and the bracket climbs toward e = 2.71828 while the outer power sits frozen at 0.12. Raise one to the other and you land on e0.12 = 1.1274969: the wall was Ch2's limit all along, with r left outside as a power.

The move is a relabel, and it costs nothing. Define n = m/r, so that r/m = 1/n and m = n·r. Substitute both into the expression and it becomes (1 + 1/n)^{n·r}. Now use the exponent law from Chapter 1 to peel the outer power off: (1 + 1/n)^{n·r} = [(1 + 1/n)ⁿ]^r. Look at what's inside those brackets, because it is letter for letter Chapter 2's limit. As m grows without bound so does n, the bracket closes on e, and what's left standing outside is the power r.

So the ceiling is e^r, and it arrived as recognition rather than as a rabbit from a hat. Drag m in the panel and you can watch the bracket converge on 2.71828 while the outer exponent sits perfectly still at 0.12. Two different numbers, doing two different jobs, in one expression.

Run that for T years instead of one and the factors multiply again, giving (e^r)^T, which is

e^{rT}

This is continuous compounding, and now you know what the phrase means mechanically. It means the growth factor for time T at rate r, when interest is credited not monthly, not daily, but always. It is the ceiling of a process, not a separate model bolted on. One honesty note while we're here: no bank credits interest continuously, because that isn't how ledgers work. We use e^{rT} because it is clean under the operations we're about to do, and because the error against daily compounding is a rounding difference in the sixth decimal, as the marginal-gain bars showed you.

04★ The logarithm is the exponent

We now own two things: wealth is a product of growth factors, and a continuously-compounded factor is e^{rT}. What we do not own is any way to reason about a long product. Multiply twenty factors together and you are holding a number with no structure you can see. The fix is the pivot the whole chapter turns on.

Start somewhere with no mystery in it at all. What is 10² × 10³? You do not need a rule for this, because 10² is two tens multiplied and 10³ is three tens. Put them side by side and you are holding five tens, so the answer is 10⁵. Notice what you actually did to get the 5. You counted, and counting is adding.

A four-beat derivation: counting tens becomes the log product rule
Beat 1 of 4 — count the tens 10² × 10³ = 10^? 10² 10³ 10⁵ × 10 10 10 10 10 ln(ea) = a — ln undoes e^ e^(ln x) = x — e^ undoes ln
predict, then push the trays together
beat 1 / 4
pick a guess, then push together
What you're looking at — a log is just the exponent, counted
blue tokens — one factor of 10 (or e); push the trays together and count them
gold — the count itself: 2+3=5, exactly what log₁₀ and ln mean
Fig. 7. Push the two trays of tens together and you don't need a rule to know the answer — you count: 2 tokens plus 3 tokens is 5, so 10²×10³=10⁵. Beat 2 just gives that count a name: log₁₀ is "how many tens," so log₁₀(100×1,000)=log₁₀(100)+log₁₀(1,000) is the identical 2+3=5. Swap the token to e and the same count gives e²×e³=e⁵ (7.389×20.086≈148.413), with ln defined as e's inverse: ln(eᵃ)=a, e^(ln x)=x. Beat 4 only then writes the law — substitute x=eᵃ, y=eᵇ and ln(xy)=ln x+ln y falls out of the substitution, not out of thin air.

That count has a name, and the name is the only thing about logarithms that anybody ever needed to say. The logarithm is the exponent. When we write log₁₀(1000) = 3, we are not invoking a function with a haunted history. We are answering the question "how many tens?" and the answer is three. So when you multiply two powers of ten, the tens get counted together, and the counts add. That is what the stepper walks you through, and it never leaves the world of integers you already trust.

Now swap the base. Everything above works for any base, and for the rest of this course the base is e, because e is what continuous growth produces. Write ln for that logarithm, the natural log, and define it as the exact inverse of . That single sentence means ln(e^a) = a and e^{ln x} = x, which is all "inverse" ever means: one undoes the other.

And that is enough to prove the law outright, in one line, with no memorisation anywhere. Any positive number can be written as a power of e, so let x = e^a and y = e^b. Then xy = e^a·e^b = e^{a+b} by the exponent law. Take ln of both sides, and since ln undoes e, you get ln(xy) = a + b. But a was ln x and b was ln y. So

ln(a · b) = ln a + ln b

Multiplication in, addition out. That's the keystone. And rather than admire it, let's point it straight back at the mistake we opened the chapter with.

The keystone — multiply five factors the hard way, or ln, add, exp
① multiply the chore 1.000000 ② ln, add the trick ln(·) → signed length Σ = 0.0000 0 exp 1.226111 = exact ③ add %s the gut WRONG true 22.6111%
which ADD lands on the product?
predict, then step through
What you're looking at — three ways to combine five growth factors, only two of them right
multiply the five — the chore — grinds the gold bar to 1.226111
ln each, add the signed lengths to 0.2038, then exp — the same 1.226111, no multiplying
add the raw %s — the gut's move — gives 22%, WRONG (the truth is 22.6111%)
green lock = the two right lanes are identical: ln(a·b) = ln a + ln b, five times over
Fig. 8. The keystone. Your gut was right to want to add returns — it was just adding the wrong numbers. Pick your bet, then step the five factors 1.10, 0.95, 1.08, 0.97, 1.12 down two lanes at once. The top lane multiplies: 1.10, then 1.045, 1.1286, 1.094742, and finally 1.22611104 — a running product you have to carry every digit of. The bottom lane takes ln of each factor, turning every multiply into a plain signed length — +0.0953102, −0.0512933, +0.0769610, −0.0304592, +0.1133287 — which stack head-to-tail on the number line to 0.2038474. One exp gate at the end reprints 1.22611104, to the last digit, without a single multiplication. Meanwhile the grey lane adds the simple percents to 22% — close, but wrong, and wrong by a different amount every time you press . That gap is the whole reason logs exist: ln(a·b) = ln a + ln b is the translation that finally makes adding correct.

Five days of messy trading: growth factors of 1.10, 0.95, 1.08, 0.97, 1.12. What did the week do to your money? The honest answer is their product, and computing it is a chore: 1.22611104. Now take the other road in the panel. Take ln of each factor, which gives five clean numbers 0.0953102, −0.0512933, 0.0769610, −0.0304592, 0.1133287. Add them, and the sum is 0.2038474. Exponentiate that one number and out falls 1.22611104, exactly, without you ever having multiplied anything.

Your gut, on the very first page, wanted to add the returns. Your gut was right all along — it was just using the wrong numbers. Add the simple returns and you get 0.22, which is wrong, because the truth is 0.226111. Add the log returns and you get the exact answer, every time, forever. The logarithm is the translation that finally makes adding correct.

This is not a finance trick, and you can feel how old it is once you know where else it shows up.

drag the gold ruler to multiply — flip LOG/LINEAR and watch the trick die
drag the gold ruler, or click a number below
3 × 2 = 6
10× along the ruler = one length added.
One trick, four scales — flown to the Moon in brass
blue length = ln(chosen number) — distance along the ruler
gold length = ln 2, laid on the end — the two lengths just ADD
red = the linear ruler's lie: same slide, wrong number
Fig. 9. Drag the gold ruler until its 1 sits on a number below, then read straight down at its 2 — slide onto 3 and it lands on 6, because the two shaded lengths, ln 3 and ln 2, simply add. Flip to LINEAR and watch the same slide lie: the ruler now reads 4, not 6 — on even spacing, sliding adds instead of multiplying. Relabel the strip and the identical geometry becomes decibels, pH, or the Richter scale — one ruler, four disguises.

Slide the two rulers against each other. On a log ruler the distance from 1 to a number is ln of that number, so multiplying two numbers is nothing but laying their two lengths end to end. That's a slide rule, and engineers flew Apollo trajectories on one. It is also why decibels, pH and the Richter scale exist: each turns a quantity that spans many multiplications into a scale you can add on and draw on one page. Same keystone, four costumes.

05Run the movie backward

We have exp and ln as inverses, which means every forward statement about money has a backward twin. The continuous growth factor points forward: a dollar today becomes e^{rT} at time T. Turn it around. Somebody promises you $100 in one year, so what is that promise worth to you right now?

run the movie backward — where the minus sign is born
t = 0.00yr of 1.00yr — TODAY · $95.12 100 ÷ e^0.0500 = 0.9512294 $100 $0 $95.12 today $95.12 TODAY PAYMENT · $100
drag the cyan dot ⇆ along the line
both give $95.12 (0.9512294)
What you're looking at — the same lever, read two ways
blue dots — TODAY and the PAYMENT date, the two fixed ends
cyan handle — the moment you're viewing; drag it to run the movie
gold bar — the value AT that moment: $100 at payment, its present value today
Fig. 10. Drag the cyan dot from PAYMENT back to TODAY and watch the gold bar shrink from $100 down to its present value — flip the switch and "100 ÷ e^(r·wait)" prints the exact same seven decimals as "100 × e^(−r·wait)". The minus sign was never a convention: it fell out of moving e^{rT} from the bottom of a fraction to the top, as a negative exponent.

Do it by running the movie backward rather than by looking anything up. Call today's value PV, for present value. If you had PV in hand today, it would grow to PV · e^{rT} by the time the promise pays. For the two to be worth the same, we need PV · e^{rT} = 100. Divide, and use the fact that 1/e^{rT} = e^{−rT}:

PV = 100 · e^{−rT}

The minus sign was never a convention somebody chose — it fell out of a division. And the panel kills the wobble everyone has: multiplying by e^{−rT} and dividing by e^{rT} are the same lever, pulled from two sides, which is exactly what a negative exponent means. At r = 5% and one year, e^{−0.05} = 0.951229, so the promise is worth $95.12 today. Push T to five years and it's $77.88, and push it to thirty and it's $22.31. That number e^{−rT} has a name too: the discount factor.

Real instruments are not one promise. They are a row of them, each landing on a different date, and each one has to be shrunk by its own discount factor before any of them can be added.

The cash-flow strip — each payment shrunk by its own e^(−rT)
$100 $0 1 2 3 4 5 6 7 8 9 10 $1000 PV
drag →
PV $1000 of $1000 face (100%)
Every bar is its own dollar, shrunk by its own T
ghost = promised face value; blue fill = today's worth, e^(−rT) each
gold dashed line = T½=ln2/r, where a dollar first hits 50¢; right bar = the sum
Fig. 11. Every payment is multiplied by its own e^(−rT) before they're summed — drag the rate up and watch the far bars melt while the near ones barely move.

Drag the rate up and watch the far end of the strip collapse first, while the near payments barely move. That asymmetry is the entire intuition behind why long-dated things are so sensitive to interest rates. It also quietly answers a question people find mystical: why is money later worth less than money now? Not because of inflation, and not because of risk. Purely because money now can grow, and money later cannot grow during the time it isn't yours yet. When Chapter 25 builds no-arbitrage pricing, e^{−rT} will be the workhorse in almost every line, and you'll already own it.

06One word, two hats

Before we can log a return, we have to be honest about a piece of vocabulary that quietly wrecks people. The word return is worn by two different numbers, and every formula in finance silently switches between them.

Same price move, read two ways — the fraction R and the multiplier 1+R
one price move, drawn once 110 105 100 95 P0 = 100 P1 = 105 1+R = 1.05 R = 0.05 the same move, stacked 0 100 +5 ÷ P0 (100) = 0.05
covering base — this is R = 0.05
which hat does each formula want? hover / tap
check yourself — file each under its hat
0.05
1.05
-0.10
0.90
0.04879
1.12
score 0 / 6
What you're looking at — one price move, two honest readings
R = the fraction gained — hovers near 0, can go negative
1+R = the multiplier — hovers near 1, never negative
Fig. 12. Toggle the base and watch the bar change what it shows: cover it and only the 5-point gain remains — that's R = 0.05. Include it and the whole 105 shows — that's 1+R = 1.05. Same move, same numbers, two honest readings, and the hat that lights up tells you which one a formula is silently asking for.

One price move, two ways of naming it. A stock goes from P₀ = 100 to P₁ = 105. The simple return is the percentage change, R = (P₁ − P₀)/P₀ = 0.05. The gross return factor is the multiplier from the first section, 1 + R = P₁/P₀ = 1.05. Same event, two numbers: one is the fraction you gained, the other is the fraction with the base added back on.

There is no cleverness in this section and there isn't meant to be. It exists because 0.05 and 1.05 are about to appear in adjacent lines, and a reader who has to guess which one a formula wants will lose the thread the instant logs enter. Hover the panel's formulas and each one lights up the hat it's wearing.

Now the definition we've been building toward. We'll say why before what, because "take the log of a perfectly good 5% return" is an absurd instruction if you don't already know what it buys. Here is what it buys: the keystone. Logs turn a chain of multiplications into a chain of additions, and wealth is exactly a chain of multiplications. That is the entire reason, and there is no other one.

Five beats: earn the log return before we hand you its definition
two returns just MULTIPLIED — which operation turns that × into a +? × ? + pick below — only one operation actually adds
the next two beats build the exact rule.
1 / 5
What you're looking at — a return that stops being a division
blue — the price P, the thing you actually observe
gold — the log return r = ln P₁ − ln P₀, additive by construction
cyan — the ruler: the same gap, but only − equals it once P is logged
Fig. 13. Beat 1 asks the question before beat 2 answers it: two returns multiply — pick the operation that would make them add. Take the log, and 5% and 3% held as ln(1.05)+ln(1.03)=0.078349 land exactly on ln(1.0815), the true 8.15% combined return. Beats 3–4 rewrite that log return as ln P₁−ln P₀ and flip the price chart's axis, so a return stops looking like a ratio and starts looking like a vertical gap you can rule off. Beat 5 runs it on 100→105→103→111: divide the prices or subtract their logs — both land on the same six decimals. That's why quant code stores ln P, not P: a return becomes a subtraction, and a multi-period return becomes one endpoint minus another.

So we define the log return as the log of the gross factor:

r = ln(1 + R) = ln(P₁/P₀) = ln P₁ − ln P₀

The stepper walks all three of those faces and shows they are one object. The last one is worth pausing on. Because the log of a quotient is the difference of the logs, a log return is literally the difference of two log-prices. That's why quant code so often stores ln P instead of P: once you're in log-price space, a return is a subtraction. For our 100 to 105 move, r = ln(1.05) = 0.048790. The simple return was 0.05, and they are close, which raises exactly the right question.

07The gap that never closes

So is the log return the same as the simple return, or isn't it? You will see r ≈ R written casually everywhere, and you will also see people insist the two are different. Both are true, and Chapter 4 already gave us the tool that says exactly when each one holds. Expand ln(1+x) around zero and you get

ln(1 + x) = x − x²/2 + x³/3 − …

That expansion is not new. It came off Chapter 4's coefficient machine, in the section where we pointed one machine at three functions. This is the chapter that spends it.

Drag the move R — watch the log return r sit below it, always, by x²/2
0.4 0 −0.5 correction = −x²/2 a square · always subtracted R r −40% R — the simple move +40% R = +5.00% R simple 0.050000 r log 0.048790 true gap = R − r 0.001210 predicted x²/2 0.001250 r < R · always
jump to a quoted move ↓
Taylor terms of r — watch them close in ↓
r < R — never flips, gain or loss
What you're looking at — the log return r never catches the simple return R
R = the simple move (the 45° line y = x) — e.g. +5% means 0.05
r = ln(1+R) the log return, and the gold gap R−r — always positive
the Taylor build-up x − x²/2 + x³/3 closing onto r; the fixed −x²/2 is why r sits below
lamp r < R stays lit whichever way you drag — a squared term with a fixed minus never flips sign
Fig. 14. Drag R from −40% to +40%: the simple return is the straight line y = x, the log return r = ln(1+R) is the curve bending below it, and the gold band is the gap R − r, printed live. Near zero the gap is almost exactly x²/2 (try 1%: gap 0.000050 = 0.01²/2). Push out and it grows like the square — at −40% the true gap 0.110826 overshoots the predicted 0.08, the leftover +x³/3 term showing itself. Step the Taylor terms and the violet curve snaps onto r. The correction is −x²/2: a square (never negative) times a fixed minus, so r < R for gains and losses alike — Chapter 4's convexity, wearing a price tag.

Drag the move from a crash to a rally and watch the two readouts separate. On a 1% day, R = 0.01 and r = 0.009950. The gap is 0.00005, which is the x²/2 term, and it is five thousandths of a percent. Invisible. That is why r ≈ R is fine for ordinary days and why so much writing is sloppy about the distinction. Now drag to a −10% day, where R = −0.10 and r = −0.105361 — a gap of 0.0054, which is half a percent and no longer ignorable. At −40% the gap is 0.11, and pretending they're the same number is simply an error.

Look at the sign of that x²/2 term. It is subtracted, and is never negative, so the correction always points the same way. The log return sits below the simple return, always, for any move up or down. And a term carrying a fixed sign that never washes out is precisely what Chapter 4 named convexity. The gap between log and simple returns isn't an inconvenience of notation. It is the curvature of the logarithm, priced.

Which lets us finally close the loop we opened by losing a dollar.

Two ±r moves, two kinds of math — one balances, one refuses to
+0.100000 + (−0.100000) = 0.000000 r + (−r) = 0 — true for any r, always e^Σ = 1.0000 $100 start now $100.00 +0.100000 −0.100000
±10% on $100
±10% → Σ=0.0000, break-even
tap LOG — watch it refuse to cancel
What you're looking at — the mistake, closed with an equals sign
blue = the +r move up, left pan
violet = the −r move down, right pan — heavier every time in LOG
gold = the sum Σ and the real dollar outcome — the same number, always

In SIMPLE terms +r and −r always cancel — that's the gut's lie from page one. In LOG terms they refuse to: ln(1+r)+ln(1−r) = ln(1−r²), and that leftover sum IS, exactly, the dollar you lost.

Fig. 15. A balance beam carries two equal-and-opposite moves, +r on the left pan and −r on the right. In SIMPLE terms they're just r and −r, so the beam sits dead level and the verdict claims break-even — the gut's lie this chapter opened on. Flip to LOG: the same two moves become ln(1+r) and ln(1−r), the right pan is visibly heavier, the beam tips, and the sum locks exactly onto ln(1−r²) — never zero. Drag the slider to 50% and it slams over: Σ=−0.287682, while the coin stack — the real dollar outcome, unmoved by which math describes it — lands on exactly $75, the same 1.5×0.5=0.75 the prose uses later.

Put the +10% year and the −10% year on the see-saw as simple returns, +0.10 and −0.10, and it balances perfectly at zero. That balance is the lie your gut told you on page one. Now switch the see-saw to log returns. The up year is ln(1.1) = 0.0953102, and the down year is ln(0.9) = −0.1053605. The down side is heavier, and the beam tips. Their sum is −0.0100503, which is exactly ln(0.99). The log returns refuse to cancel, and their refusal is the missing dollar. The gut's original error is now closed, not with a warning, but with an equals sign.

08Why returns are stored as logs

Everything so far has been two or five periods. A US trading year has about 252 sessions. A year of prices is therefore 252 growth factors, and the year's total factor is all of them multiplied. Try to hold that. Try to reason about how a bad Tuesday in March interacts with a good Thursday in September, inside a 252-way product. You cannot, and neither can anybody else.

Flip PRODUCT to LOG SUM — same year, 252 multiplies vs 252 adds
day 0 = $100 day 252 = $118.00 tap STEP or RUN to begin → day 0 / 252 1.000000 0 multiplications so far ↳ the running number carries no usable structure
press STEP or RUN to start
step the days, or hit RUN to play the year
What you're looking at — 252 multiplies, translated into 252 adds
blue — the year's daily moves: the price path and its 252 tiles
red — PRODUCT mode: the running number, no readable pattern
green — LOG SUM mode: the running total, climbs clean
gold — the lock: exp(Σ) hands back the year's true factor

A 252-way product has no grip for a person or a statistic; log it and it's a SUM — averaging and scaling just work.

Fig. 16. Flip the switch: in PRODUCT mode the 252 daily gross factors chain through a multiply rail and the running value jitters — after all 251 multiplications it is still just noise, with no structure to grip. Flip to LOG SUM: the same days re-label as log returns near 0.0007 and stack head-to-tail on a number line; the running total climbs smoothly to 0.1655144, and exp(0.1655144) = 1.18 locks straight back onto the price path's 100→118. Hit MEAN and all 252 different lengths collapse to 252 copies of 0.00065680 — same total, exactly, because a sum does not care which pieces you add. That is the whole reason quants store returns as logs: a product has no structure to hold onto; a sum does.

Now take ln of the whole chain, and the shape of the problem changes completely. Since P_T/P₀ = ∏(P_t/P_{t−1}), applying the keystone turns that product into Σ ln(P_t/P_{t−1}), which is Σ rₜ. In words: the total log return over any stretch of time is the plain sum of the daily log returns.

r_total = r₁ + r₂ + … + r₂₅₂

Toggle the panel from PRODUCT to LOG SUM and watch 252 multiplications become 252 additions with the total unchanged. And now a whole vocabulary opens up that was locked before. If the year took the price from 100 to 118, the total log return is ln(1.18) = 0.1655144, so the average daily log return is that divided by 252, or 0.00065680. Multiply back by 252 and you land on the annual figure exactly, with no approximation anywhere, because summing and averaging are the same arithmetic run in two directions.

Try that with simple returns and it breaks. The average of +50% and −50% is zero, which would say you broke even. You did not, because you are holding 1.5 × 0.5 = 0.75 of your money. In log terms the two returns are 0.405465 and −0.693147, and their sum is −0.287682, which is ln(0.75). The logs told you the truth and the average of the percentages did not.

This is also the doorway to something you'll meet properly later, so I'll name it rather than pretend it isn't there. Because the total is a sum of daily terms, the statistical machinery for sums applies to it directly, and that is what makes risk scale with the square root of time. I won't derive it here, because it needs variance and we haven't built that yet. Chapter 16 builds it. Chapter 26 spends it. But the reason it works at all is the additivity you're looking at right now.

Now the honesty note that a lot of books quietly skip, and it matters in practice.

Two directions through one grid — logs add down time, but never across assets
tap a cell — then pick a direction with the buttons →
focus: Asset B, Day 3
✓ logs sum exactly down time
Two directions through one grid — logs behave differently in each
logs turn a product into a sum — a portfolio is a weighted sum of money, not a product
↓ down time → add log returns · → across assets → add weighted simple returns
Fig. 17. Tap any cell to focus an asset × day, then choose a direction. Down a column, the five daily log returns sum to exactly the column's true multi-day factor — that's the identity logs are built for. Across a row, summing logs gives a number that isn't a return at all; drag the w sliders (they always total 100%) and watch the correct weighted answer track your portfolio while the log-sum stays wrong by a wide, unmoving margin — it never even looked at your weights.

Log returns add across time. They do not add across assets. Walk down a column in that grid and you're moving through days on one stock, so the log returns sum and the arrow stays green. Walk across a row and you're moving between different holdings on the same day, and the arrow turns red. A portfolio's return on a given day is a weighted sum of simple returns, because you own fractions of each position and those fractions add. So the rule is two-directional, and it is short enough to memorise: sum logs down time, sum simple returns across assets. Using the wrong one is a real error that shows up in real code.

One last thing before we leave, and it's a decoder ring for the chapters ahead.

The decoder — where these two symbols reappear
you own now (click) reappears in → e^{rT} compounds continuously futures fair value F = S · e^{rT} e^{−rT} continuous discounting present value PV = FV · e^{−rT} r = ln(1+R) one period's log return GBM's log-price ln S_t Σ r_t sum of the log returns variance vs time Var[Σr_t] = T·σ² −x²/2 the drift correction the log-price drift μ − σ²/2
tap a row — trace it →
Ch 26 rows: named now, mechanism later
What you're looking at — five symbols you already hold, borrowed forward
blue = lands in Ch 25's no-arbitrage pricing — provable with what you own now
violet = lands in Ch 26's GBM — named here, its mechanism taught later
gold = the live wire, and every symbol in the destination you already own

Click −x²/2: the σ²/2 in the famous drift μ−σ²/2 isn't Itô magic dropped from nowhere — it's the same convexity term of ln(1+x) you measured in the gap panel, met a third time in five chapters.

Fig. 18. A decoder ring for five symbols this chapter already handed you. Click e^{rT} or e^{−rT} and a gold wire lights straight into Ch 25's no-arbitrage pricing — the destination formula lands in the box above with the piece you own picked out in gold and the pieces you don't (F, S, PV, FV) left grey, so you can literally count what's missing. Click r = ln(1+R), Σ r_t, or −x²/2 and the wire swings to Ch 26's GBM instead — named now, mechanism later, honestly flagged in the chip below. Land on −x²/2 last: the destination reads μ − σ²/2, and the σ²/2 lights up gold immediately, because it's not a new idea — it's the exact convexity term you met in this chapter's gap panel, showing up for the third time.

Two symbols from this chapter are load-bearing for the rest of the course. The first is e^{−rT}. When Chapter 25 prices a futures contract or argues that two portfolios with identical payoffs must have identical prices, that factor is what carries the argument, and you derived it yourself from a division. The second is Σ rₜ. When Chapter 26 introduces geometric Brownian motion and writes the log-price as a drift plus accumulated noise, the reason the model is built on log price is the additivity you just watched. And when a −σ²/2 appears in that drift and looks like it came from nowhere, it is Chapter 4's convexity term and this chapter's −x²/2, met for the third time.

The payoff map — one duality, read four ways: click a spoke, toggle COVERAGE
ln → ← exp forward backward R → r Σ over t × MULTIPLY + ADD e 1/e ln Σ Deferred: variance and the √t scaling — Chapter 16 deferred → σ, √t (Ch 16)
tip: spokes in the map are clickable too
tap a spoke to replay it
(1+r/m)ᵐ · e^(−rT) · ln(1+R) · Σrₜ
four results, one duality
— pick one —
What you're looking at — one duality, aimed four ways
blue = the MULTIPLY side — compounding forward, discounting back.
gold = the ADD side — the translated rate r, and Σrₜ across time.
cyan ln — turns multiplying into adding.
violet exp — turns adding back into multiplying.
the lone red pin marks what this map skips — variance & the √t scaling (Ch 16).
Fig. 19. One picture, four proofs. MULTIPLY and ADD sit on the same spine, joined by ln (multiply → add) and exp (add → multiply). Click a spoke to replay it: forward compounding climbs to e^0.12 = 1.1274969; backward discounting falls to e^(−1.5) = 0.223130; the translation ln(1.05) = 0.048790 turns a return into a rate; and the sum across time ln(1.05)+ln(1.123810) = 0.1655144 = ln(1.18) turns two years of multiplying into one line of addition. Toggle COVERAGE — nothing greys, because you can re-derive all four; only the red pin — variance and the √t scaling — is still owed, to Ch 16.

So here is the chapter as one picture. Wealth multiplies. The logarithm turns multiplying into adding. Everything else was that duality read in a different direction: forward gives e^{rT}, backward gives e^{−rT}, and across a year of prices it gives a sum you can average, scale and reason about. You did not memorise a single log law in this chapter. You watched them get built out of counting tens.

And now the ground shifts, because every number in this chapter was a scalar, describing one asset at a time. But nobody holds one asset. A portfolio is many positions moving together, and 252 daily returns for 40 stocks is not a list of numbers, it's a grid of them. To do anything with that grid you need objects that hold many numbers at once, and rules for transforming them. That's vectors and matrices, and it's Chapter 6.

iolinked.com
Written by Ajai Raj