Options and Derivatives · Lesson 7
Testing an options idea honestly
In the made-up world below, selling a put every month wins about nine months in ten. Test that rule on many simulated histories of a made-up world with rare crashes: how often three years show no crash at all, what the win rate hides, the worst year, and how it compares with cash and just holding, after costs.
Know the basics? Read the lesson notesSelling a put
A put is the right, but not the duty, to sell a share at a fixed price, the strike, on one last day. On that day it pays the strike minus the share's price, if that is above zero, and nothing otherwise. This lesson tests a rule that sells them. Every number in it is made up.
The rule: each month, sell a put on a made-up share, with a strike 5% below today's price and a month to go. The seller receives the put's price today and, on the last day, pays whatever the put pays. With the share at €100, the strike is €95 and the price is €0.35 a share.
The share ends the month at €90. What is the seller's result per share, in euros (a loss is negative)?
Hint: the put pays 95 − 90. The seller already has the €0.35.
The seller's result per share, by the share's price on the last day (made-up, share at €100 today)
Orange: the result. Dashed: the strike, €95.
Above €95 the put pays nothing and the seller keeps the €0.35. Below it, the seller loses a euro for every euro the share ends under €95. A small fee most months and a large bill now and then: selling a put works like selling insurance.
A fair price, and a cost
The share lives in the crash world of the lesson "Implied volatility and the smile", now month by month. Its usual moves have a volatility, the typical size of a year's swing, of 15.5% a year. Now and then a month brings a crash, rarely enough that about 1 year in 10 is a crash year: the price falls 22% on top of the usual move. On average the share grows at the interest rate (what cash earns), 5% a year.
Here the €0.35 is the put's fair price: the price at which neither seller nor buyer gains on average (what the put pays out on average, divided by a month's interest). That price is higher than the usual moves alone would justify. Does that extra pay for the crashes, or is it free money for the seller?
The extra is what the rare crash costs on average, not a gift. So, before costs, a seller has nothing to find in this world, by design: the lesson asks what testing the rule on past prices shows anyway.
For the precise: how the fair price and its volatility are worked out
In k months the number of crashes j follows a binomial count with chance 8.74 in 1,000 a month; given j, the log of the end price lands on a bell with standard deviation 15.46% × √(k ÷ 12). The fair price is the chance-weighted sum, over j, of the bell-curve price of the put, divided by 1.05k/12: €0.3471 for this put. The script checks it against the average payout over 2,000,000 simulated end prices of its own. Quoted as a volatility, the price is about 17.6%, against the usual moves' 15.5%. That is its implied volatility: the volatility at which the Black–Scholes pricing formula gives the price, 17.62% to two decimals, found by halving as in the lesson "Implied volatility and the smile" and checked by a second method. The usual moves' volatility to two decimals is 15.46%.
Three years of selling
A backtest runs a rule over past prices to see what it would have made; here the past is simulated. The account starts with €10,000 in cash, set aside so the puts can never cost more than it holds: each month it sells puts on as many shares as the cash covers at the strike. The cash earns 5% a year.
Selling costs money. A dealer (a made-up firm that quotes prices) buys options a little below the fair price and sells them a little above; the gap is the bid–ask spread. Here a seller gets €0.05 a share less than the fair price: €0.30, not €0.35, about a seventh of the price, every month. The rule is shown after these costs, and against two others: cash alone, and just holding, €10,000 put into the share once, paying 0.1% for the buy.
One simulated history, three years: the account after costs (made-up world)
The first 20 of the 1,000 simulated histories, one at a time. Orange: selling puts. Grey: just holding. Dotted: cash alone. Dark ticks along the bottom: crash months.
Crash years are independent: whether one year has a crash doesn't change the chance for the next. Of 1,000 such three-year histories, how many have no crash at all?
This simulation counted 739 of 1,000. History 1, the first drawn, had none: the seller ended at €11,359 after costs, just holding at €6,710 and cash at €11,576.
So most three-year backtests of this rule never meet the event that sets its long-run result. In the 739 without a crash, the seller ended ahead of cash in 549, but ahead of just holding in only 362; in the 261 with a crash, ahead of cash in 0.
Nine wins in ten
Across the 1,000 backtests the rule sold 36,000 puts. Each put's result is measured as if the share started its month at €100. A put is a win when the price received after costs beat what it paid out. The win rate, the share of puts that won, was 90.0%: 32,410 wins.
What did one put make on average, after costs?
36,000 simulated puts by result, and what they added up to (after costs, per share at €100)
Top: how many puts ended with each result. Bottom: the euros all the wins made and all the losses cost.
The wins made €0.295 on average; the 3,590 losses cost €3.192, and the worst lost €25.49. Added up, the wins made €9,560 and the losses cost €11,460. Only 298 losses came in crash months, but they cost €16.19 on average against €2.02 for the rest (ordinary falls of more than about 5%): those few months are where the extra in the price is paid back. The average, about −€0.05, is what the fair price predicts: the spread is the loss.
For the precise: the exact average
A put sold for the fair price P minus the spread pays out on average P × 1.051/12, its price grown by a month's interest. Its average result is −0.05 − 0.3471 × 0.0041 = −€0.0514. The 36,000 simulated puts averaged −€0.0528, with a standard error (the typical distance of such an average from the exact one) of €0.0091.
Win rate is not the average
How often a rule wins says little on its own. Its average result per trade, its expectancy, weighs each outcome by its size. Results with many small gains and a few large losses have negative skew: a long tail on the losing side. A sold option is the usual example: a high win rate, and an average that can be below zero.
- E
- the expectancy: the average result per trade
- p
- the win rate, as a decimal
- W
- the average win
- L
- the average loss, as a positive number
p = 32,410 ÷ 36,000 = 0.9003, W = €0.295, L = €3.192. E = 0.9003 × 0.295 − 0.0997 × 3.192 = 0.2656 − 0.3182 = −€0.053: about −€0.05 a put, after costs.
- every trade is counted, wins and losses, each with its size;
- the trades are measured on the same scale (here, per share at €100).
A test run that misses the rare large loss: then L and 1 − p come out too small and E too high: a later theory card counts how often that happens.
A seller wins 90% of months, €0.40 on average, and loses €4.00 on average in the rest. What is the expectancy per month, in euros?
Hint: 0.9 × 0.40, minus 0.1 × 4.00.
The worst year
Each backtest has three years: 3,000 in all, 283 of them with a crash. After costs, how bad was the seller's worst year?
Backtest years by result, after costs (simulated)
Orange: selling puts. Grey: just holding. Each pair of bars counts the years whose result fell in the range, in %, written under it.
The seller's worst year was −36.8%, just holding's −48.7%. That year had 2 crash months and ordinary falls in others; within a year the losses add up. The seller's crash years averaged −12.9%, its other years +6.1%, and its best year was +9.0%: a year of puts earns at most their prices plus interest.
Switch to the backtests with no crash. Of those 739, 608 show no losing year at all, and the worst year in any of them is −8.7%. A backtest's worst year is only the worst year it happened to contain.
Against cash and just holding
Over three years, after costs, the seller beat just holding in 528 backtests of 1,000, about half: it falls less than the share in a crash and gains less in a rise. In the 739 without a crash it averaged +19.6%, against cash's +15.8% and just holding's +25.0%.
For the precise: the three-year averages, split
The seller beat just holding in 362 of the 739 backtests without a crash and 166 of the 261 with one. With a crash, the seller averaged −3.6% and just holding −9.4%. All after costs.
That average depends on which backtests had a crash; a long run gets its share. By how much does the seller's account grow on average a year over a long run, in this world?
Each month the account grows on average by a month's interest, times 1 − 0.05 ÷ 95 for the spread. Over a year: 1.05 × (1 − 0.05 ÷ 95)12 − 1 = 4.34%. Just holding averages 5% a year, less its one 0.1% buy, because in this world the share grows on average at the interest rate.
Over a long run both cash and just holding (about 5% a year) beat the seller's 4.34%. So a three-year backtest that shows the seller ahead of cash is usually showing a stretch without a crash, not the rule's average.
For the precise: the long-run figures by simulation
Run over all six years of every history, the average account grew by the equivalent of 4.23% a year for the seller and 4.76% for just holding. Six years of 1,000 histories hold about 600 crash years, too few to pin a long-run average closely; the exact figures come from the fair price, not from the draws.
A short sample can miss the rare event
If a rare event comes in any one year with chance q, the same each year and independently of the other years, then a sample of n years misses it entirely with chance (1 − q)n. A rule whose result depends on that event then looks better in most samples than over a long run. Averages from a sample in which a rare, large event never happened are the peso problem, a name from the study of currency prices.
- q
- the chance that a year has the event, as a decimal
- n
- the number of years in the sample
q = 0.1, n = 3: 0.9 × 0.9 × 0.9 = 0.729. So about 729 of 1,000 three-year backtests should show no crash; this simulation counted 739.
- the years are independent of each other;
- the chance is the same every year.
Crashes come in clusters or their chance changes. And in a real market q is not known: a sample that missed the event can't measure it.
Crash years come 1 in 20. In what share of five-year backtests is there no crash, in percent?
Hint: 1 − 1/20 = 0.95. Multiply 0.95 by itself five times.
Every strike and length is a version
The rule fixed two settings: a strike 5% below the price, and a month to go. Each other choice is a version: strikes 0%, 2.5%, 5%, 7.5% or 10% below, and 1, 2, 3 or 6 months to go, 20 versions, each with the same €0.05 spread and the same cash set aside. Picking the best backtest of many is the trap of the lesson "The best of many": the best is partly luck.
Below are history 1's first three years for all 20, after costs. Pick the version you would keep. It then runs on the next three years, held out: years never used to choose.
History 1: each version's three-year result after costs (simulated)
Columns: how far below the price the strike is. Rows: months to go. After your pick, the second line in each cell is the held-out result; outlined: the best there.
History 1's held-out years had 2 crash months, and every version lost, from −9.3% to −43.2%.
Across the 1,000 histories, the best version on the first three years was also best on the held-out three in 70. A blind draw, one version taken at random, would be best there in about 1,000 ÷ 20 = 50.
Most three-year stretches have no crash, so the same kind of version tends to lead in both periods (a strike at the price without a crash, one 10% below with one): the common weather, not skill. 70 against 50 is above a blind draw, because most stretches share the same weather, but the held-out result shows no gain. Over the three held-out years, after costs, the picks made +13.8% on average, the average version +13.9%, cash +15.8% and just holding +13.5%.
For the precise: which versions were picked
The most common pick, a strike at today's price with a month to go (155 of 1,000), brings in the most in years without a crash. Its long-run average after costs, 4.37% a year, is among the lowest of the 20 (4.30% to 4.90%), because it pays the spread twelve times a year.
What this simulation can't show
This made-up world has fair prices and a known crash size and chance, by design. Three things a real test would face are missing. Real option prices may sit above or below what the real chances justify, and the real chance of a crash is not known. Liquidity, how easily you can trade without moving the price, was perfect: the spread stayed €0.05 through every crash, where real quotes can widen in a fall. And every put was covered by cash. A seller who sets aside less trades on margin, money borrowed from a broker (the firm that holds the account and makes its trades). The broker can make a margin call: a demand for more cash after a loss, or else the position is closed at whatever price is on offer.
A friend backtests the rule on ten years of real recorded option prices, one crash among them. What can that backtest still not tell?
How long a backtest?
What is the fewest whole years that does it?
Hint: find the first n for which 0.9n, the chance of no crash, is below 0.5.
A seller's record
By this lesson, what does that record show?
Lesson done
A rule that sells puts wins most months and loses now and then, sometimes a lot. In this lesson's made-up world, where every option price is fair and 1 year in 10 has a crash, the rule won 90.0% of 36,000 simulated puts and still lost about €0.05 a put on average after costs: the bid–ask spread. 739 of 1,000 three-year backtests had no crash. In those the rule usually looked steady and ahead of cash, though just holding averaged more (+25.0% against +19.6% over three years); over a long run both cash and just holding (about 5% a year) beat the rule's 4.34%. The best of 20 versions stayed best on held-out years in 70 of 1,000, against a blind draw's 50, and on average did no better there than any version. These counts belong to this simulation; it can't show real option prices, real liquidity or margin calls.
Key ideas
- Selling a put
- receiving the put's price today and paying, on its last day, the strike minus the share's price if that is above zero: small likely gains, rare large losses
- Bid–ask spread
- the gap between the price a dealer pays for an option and the price it charges; a seller receives less than the middle price, a cost on every trade
- Win rate
- the share of trades that made money; on its own it says nothing about the average result
- Expectancy
- the average result per trade, each outcome weighed by its size: E = p × W − (1 − p) × L
- Negative skew
- results made of many small gains and a few large losses: a long tail on the losing side, as a sold option has
- Peso problem
- averages from a sample in which a rare, large event never happened; with a yearly chance q, the same each year and independent across years, n years miss it with chance (1 − q)n
- Margin call
- a broker's demand for more cash after a loss on a position bought or sold with borrowed money; if it isn't met, the position is closed
E = p × W − (1 − p) × L
chance of no event in n years = (1 − q)n (independent years, same chance each year)