The Law of One Price: Identical Payoffs, Identical Prices
The law of one price says that two positions paying identical amounts in every outcome must cost the same today. The law is strictly weaker than no-arbitrage. No-arbitrage additionally forbids a position that costs nothing and can only gain. Anything that follows from the law alone needs no volatility, no measure and no distribution, and that is what makes it durable.
One picture is worth keeping for the next few thousand words, and it has nothing to do with prices at all. There are two ways to find out about the weight of a sack of rice. The first is a spring scale: the sack hangs on it and the dial gives a number. The second is a two pan balance: the sack sits in one pan, the second sack in the other, and the balance tips one way or the other.
The spring scale answers a bigger question. The dial gives the weight of the sack, in kilograms, on its own, with nothing to compare against. But consider what it needed in order to do that. The scale needed a calibration, a spring whose stiffness somebody measured, an assumption that the stiffness has not drifted since, and a place to stand where the floor is level. Every one of those is an assumption, and every one of them can be wrong without the dial ever looking wrong.
The balance answers a much smaller question. The balance never gives the weight of either sack. The two pans say only that the two sacks weigh the same, or that one is heavier. But consider what it did not need: no calibration, no spring, no reference weight, no assumption about anything. The balance never measured anything, it only compared. The balance is therefore right even when every scale in the building is wrong.
The law of one price is the balance. Everything else in this subject area is the spring scale. What the balance can establish is less than people think and more valuable than they think, and the hardest case is what a disagreement between the balance and the scale means.
What does the law of one price say, precisely?
The law of one priceTwo positions with identical payoffs in every outcome must cost the same today. is one sentence with one condition and one consequence. The condition is about payoffs at some future date. The consequence is about prices today. Nothing else appears in it.
The condition has to be read strictly. Two positions have identical payoffs when they deliver the same amount in every single outcome, not on average, not usually, not in the outcomes anybody thinks are likely. In every outcome the world can reach, including the ones nobody expects, both positions hand over the same number of rupees. If there is one outcome, however remote, where they differ, the condition has not been met and the law says nothing whatsoever.
| \(\Omega\) | the set of every outcome the world can reach by the horizon |
| \(\omega\) | one single outcome drawn from that set |
| \(X_T,\;Y_T\) | the amounts two positions deliver at the horizon, one number for each outcome |
| \(\pi_0(\cdot)\) | the price today of the position written inside the brackets |
| \(T\) | the horizon, one year throughout this reading |
Read the line again and notice the three things that are missing. There is no probability attached to any outcome, so nobody has to agree on how likely anything is. There is no expectation, so nobody has to average anything. There is no model of how the process moves, so nobody has to agree on volatility. The law works entirely on the left hand side, comparing two lists of numbers outcome by outcome, and then makes one claim about prices.
Notice next what the consequence is not. The law never says what either position is worth; it says only that whatever the first one is worth, the second one is worth the same. That is exactly the balance again. Two sacks balance, so they weigh the same, and the weight of either one is still unknown. Handed a payoff and asked what it should cost, the law alone cannot answer, and it does not pretend to.
Everything in this guide runs on one invented quantity called the standard process, written S with a time subscript. The process starts at Rs 100/- and is watched over a horizon of one year. The risk-free rate is 5 per cent a year, continuously compounded, so the discount factor over the year is 0.951229. Two contracts appear as well, both at a strike of Rs 100/- and both expiring at the horizon, and they arrive already known: what either one is, and why anybody would hold it, is covered separately. Both contracts appear here only as payoffs, two lists of numbers with one entry for each outcome.
Does the law of one price say what anything is worth?
How is the law weaker than no-arbitrage, and what does the extra clause forbid?
The law of one price and no-arbitrage are run together constantly, and they are not the same assumption. One is strictly weakerImplied by the other, and not implying it back. Everything the weaker one rules out, the stronger one also rules out, and the stronger one rules out more. than the other, and the gap between them is not a technicality. The gap decides which results are safe and which are borrowed.
The law forbids exactly one thing: two positions with identical payoffs trading at different prices. No-arbitrage forbids that, and then forbids something else on top. No-arbitrage also forbids a position that costs nothing today, can never pay out a negative amount at the horizon, and pays out something strictly positive in at least one outcome. The second clause is the one doing the extra work.
| \(V\) | any position at all, however it was assembled |
| \(\pi_0(V)\) | what it costs to put on today, here set at nil |
| \(V_T\) | what it hands over at the horizon, outcome by outcome |
| \(\mathbb{P}\) | the physical measure, used here only to say that one outcome is not impossible |
Why does the law not cover it? Because that position has no partner. There is nothing to compare it with, and the law only ever speaks about a pair. A free position that can only gain is offensive to no-arbitrage all by itself, on its own, with no second position anywhere in the argument. The law has no machinery for objecting to a single position, however outrageous it looks.
The consequence is precise and worth writing down. Every equality in this subject area can be got from the law of one price, and every inequality needs the stronger assumption. An identity such as the one worked below is a statement that two numbers are equal, so the balance settles it. A statement that a price must be at least this much and at most that much is a pair of inequalities, and inequalities are exactly what the extra clause buys. Which of the two assumptions a result stands on can be read off from whether it carries an equals sign or a less than sign.
Which of the two forbids more: the law of one price, or no-arbitrage?
Before the worked instance: how many assumptions about how the process moves does the identity below need?
What can be established from the law alone, with no model at all?
Now the worked instance, and it is the whole of the argument. The two contracts on the standard process are both struck at Rs 100/-, and both run to the one year horizon. Contract one pays the excess of the process over Rs 100/- where that is positive and nil otherwise. Contract two pays the shortfall of the process below Rs 100/- where that is positive and nil otherwise. Each contract enters the argument as a list of numbers, one entry for each outcome, and as nothing else.
Build bundle one: hold contract one and write contract two. Build bundle two: hold the process itself and owe Rs 100/- at the horizon. Now check the payoffs outcome by outcome. Checking outcome by outcome is the only checking the law ever requires.
| Where the process finishes | Contract one pays | Written contract two costs | Bundle one, total | Bundle two, process less Rs 100/- |
|---|---|---|---|---|
| Rs 60/- | nil | Rs 40/- | minus Rs 40/- | minus Rs 40/- |
| Rs 80/- | nil | Rs 20/- | minus Rs 20/- | minus Rs 20/- |
| Rs 100/- | nil | nil | nil | nil |
| Rs 120/- | Rs 20/- | nil | Rs 20/- | Rs 20/- |
| Rs 140/- | Rs 40/- | nil | Rs 40/- | Rs 40/- |
The last two columns agree on every row, and they agree for a reason that has nothing to do with the five rows chosen. The reason is a fact of arithmetic about the plus function that holds at every level, including the ones not in the table.
| \(S_T\) | the standard process at the horizon, whatever it turns out to be |
| \(K\) | the strike, Rs 100/- for both contracts here |
| \((x)^{+}\) | the larger of \(x\) and nil, so it is \(x\) when \(x\) is positive and nil otherwise |
| \(T\) | the horizon, one year |
Two cases check it everywhere. If the process finishes above the strike, the first term is the gap and the second is nil. The left side is then the gap, and the gap is the process less the strike. If the process finishes below the strike, the first term is nil and the second is the gap. The left side is then minus the gap, which is again the process less the strike. There is no third case. The two case check above is the entire mathematical content of the most famous identity in derivative pricing, and nothing about randomness enters it.
So the two bundles have identical payoffs, and the law fires. Their prices today must be equal. Written out, that is the identity known as parityA model-free identity linking the two contracts, the process and a borrowing. The identity holds without any assumption about how the process moves., usually attributed to Stoll, 1969.
| \(C_t\) | the price today of contract one, held |
| \(P_t\) | the price today of contract two, written |
| \(S_t\) | the standard process today, Rs 100/- |
| \(K\) | the strike, Rs 100/- |
| \(r\) | the risk-free rate, 0.05 a year, continuously compounded |
| \(T-t\) | the time left to the horizon, one year here |
Now the numbers, and this is where the point lands. On the locked parameters of the standard process, contract one prices at Rs 10.450584/- and contract two at Rs 5.573526/-. Both prices come from the Black, Scholes and Merton solution of 1973 at a volatility of 20 per cent a year. Their difference is Rs 4.877058/-, and to be exact about it, Rs 4.8770575499/-.
The right hand side needs no model at all. The process today is Rs 100/-. The strike discounted back over one year at 5 per cent continuously compounded is Rs 100/- times 0.9512294245, or Rs 95.1229424501/-. Subtracting gives Rs 4.8770575499/-.
The two sides agree to ten decimal places, and the right hand side never once looked at a volatility, a measure, a distribution or a model. That is the sentence to keep. An analyst could be wrong about the volatility by a factor of three, wrong about the drift, wrong about whether the process is even continuous, and the right hand side would not move by a rupee.
The same check works at the other strike, and it is worth doing once so that Rs 4.877058/- does not start to look like a special number. Take the two contracts struck at Rs 110/- instead. The pair prices at Rs 6.040088/- and Rs 10.675325/-, so the first less the second is minus Rs 4.635237/-. The process less the discounted strike is Rs 100/- less Rs 104.635237/-, or minus Rs 4.635237/-. The identity holds again, to the same ten places, with the sign flipped because the discounted strike now sits above the process.
What did the identity actually use: the volatility, the measure, or neither?
Why is that particular number Rs 4.877058/-, and where else does it turn up?
Rs 4.877058/- would be easy to read as a number that fell out of an option calculation, and it is not. Both the strike and the starting value are Rs 100/- here. Look at what the right hand side becomes when the strike happens to equal the starting value of the process.
| \(S_0\) | the starting value of the standard process, Rs 100/- exactly, invented |
| \(K\) | the strike, Rs 100/-, which is the same number as \(S_0\) for this pair of contracts |
| \(e^{-rT}\) | the discount factor over the horizon, 0.9512294245 |
| \(1-e^{-rT}\) | 0.0487705755, the fraction of the starting value the gap represents |
So the number is not an option number at all. The number is an interest number wearing an option costume. The gap is the amount by which Rs 100/- today beats Rs 100/- in a year at 5 per cent continuously compounded, and it would be the same figure if the two contracts had never been mentioned.
The same expression is also why that figure appears as the lower end of the price range the fundamental theorem of asset pricing produces for contract one when a market is incomplete. The range runs from the process less the discounted strike up to the process itself, so its lower end is the same expression, Rs 100/- less Rs 95.122942/-. Two results that look unrelated share a number because they share an expression, and noticing that is the difference between memorising a figure and understanding it.
What is an Observed Market Price, and what does a gap against it mean?
Everything so far has been arithmetic. Now the awkward part, and it is what happens when a number comes from outside the arithmetic. An Observed Market PriceWhat something actually trades at, as against what a model says it should trade at. is what a position actually changes hands at. An observed price is not produced by a model, it does not have a derivation, and it does not answer to anybody. An observed price is a fact about a transaction rather than a conclusion from assumptions.
The distinction matters because the two kinds of number are usually written down in the same column of the same sheet, in the same font, to the same number of decimal places, and they are not the same kind of thing at all. A model price is a conclusion: it inherits every assumption that went into producing it, and if any of them is wrong then it is wrong, quietly and without changing its appearance. An observed price is an observation: it inherits nothing, and it can be stale, thin, wide or recorded badly, but it is not wrong in the way a conclusion can be wrong.
Suppose, purely as an illustration, that contract one is seen at Rs 10.60/-, contract two at Rs 5.55/-, and the process at Rs 100/-. All three are assumed figures, chosen to sit a little away from the identity. The left side of the identity then reads Rs 5.05/-, and the right side still reads Rs 4.877058/-. The gap is Rs 0.172942/-. The gap has a name, the basisThe gap between two prices that an identity says should match..
Here is the thing to be careful about. The gap is measured between two positions with identical payoffs, so it really does point at the prices. No volatility appears in either side, so the gap does not point at anybody's volatility. A basis measured against a model-free identity is the only kind of price gap in this subject area where the prices themselves are what is out of line.
Even then, haste is misplaced. Real quotes come with a spread between the buying price and the selling price, with a cost to borrow the process, and with the two contracts possibly recorded at different instants. Spreads, borrowing costs and timing turn the single number Rs 4.877058/- into a small band, and a gap inside the band establishes nothing. The law delivers a test with a sharp centre and soft edges, not a trigger.
Two positions with identical payoffs are seen trading at different prices. What has that established?
The volatility is about to more than double, from 20 to 60 per cent a year. Before the control below moves: what happens to the difference between the two contract prices?
Why does the identity survive every parameter change?
No volatility appears in the identity. Being told that is not the same as watching it happen. The control moves two things at once. The two contract prices in the upper panel move a great deal, and their difference in the lower panel does not move at all.
One volatility control, two prices that move, one difference that will not
Strike Rs 100/-, horizon one year, rate 5 per cent continuously compounded, process at Rs 100/-. Only the volatility moves. Every price is computed from the closed form rather than sampled, so it reads the same on every reload.
The static readings, so they survive without the control. At 5 per cent the two prices are Rs 5.283269/- and Rs 0.406211/-. At the worked default of 20 per cent they are Rs 10.450584/- and Rs 5.573526/-. At 40 per cent they are Rs 18.022951/- and Rs 13.145894/-. At 60 per cent they are Rs 25.523206/- and Rs 20.646148/-. The first contract has moved by nearly five times across that range. The difference is Rs 4.877058/- on every one of those rows.
| Volatility a year | Contract one | Contract two | The difference | Process less discounted strike |
|---|---|---|---|---|
| 5 per cent | Rs 5.283269/- | Rs 0.406211/- | Rs 4.877058/- | Rs 4.877058/- |
| 10 per cent | Rs 6.804958/- | Rs 1.927900/- | Rs 4.877058/- | Rs 4.877058/- |
| 20 per cent | Rs 10.450584/- | Rs 5.573526/- | Rs 4.877058/- | Rs 4.877058/- |
| 30 per cent | Rs 14.231255/- | Rs 9.354197/- | Rs 4.877058/- | Rs 4.877058/- |
| 40 per cent | Rs 18.022951/- | Rs 13.145894/- | Rs 4.877058/- | Rs 4.877058/- |
| 60 per cent | Rs 25.523206/- | Rs 20.646148/- | Rs 4.877058/- | Rs 4.877058/- |
The last two columns are boring, and that boredom is the most valuable property in this guide. Every other number in the table is the output of a model and would change if the model changed. The two right hand columns are what model-freeFollowing from the law alone, with no distribution, volatility or measure assumed anywhere. looks like when it is drawn: a straight flat line where everything else is a curve.
Where does the law hold and still say nothing useful?
Time to stop selling it. The law is true everywhere, always, without exception, and on most of the problems anybody actually faces it is completely silent. Silence is not failure; it is the honest output of a comparison when there is nothing to compare with.
The law needs a comparableA position with an identical payoff in every outcome, without which the law has nothing to say.: some other position, built from things whose prices are already known, that delivers the same amount in every outcome. Where one exists, the law fixes the price and needs no model. Where none exists, the law is not wrong, it is empty, and every word said about the price after that comes from a model.
The building of that comparable matters too. Static replicationBuilding the matching payoff once and holding it to the horizon, with no rebalancing along the way. is what happened above: the bundle was assembled once at the start, nothing was traded again, and it matched at the horizon. Assembling once and holding to the horizon is why no model was needed. The cost of a trading programme depends on how the process moves. So the moment a match requires continuous trading along the way, in amounts that depend on where the process goes, the law has been left behind and the world of assumptions re-entered.
Consider the queue at a counter. If two people are holding identical tokens, something firm can be said about them without knowing anything about the queue. If somebody is holding a token nobody else has, the queue says nothing about them at all, and all that is left is guessing from how the queue usually behaves. Guessing from how things usually behave is exactly what a model is.
A payoff has no comparable position anywhere, at any price. What does the law say about what it should cost?
Why are model-free results worth more than they look?
A result that gives only a difference, and never a level, looks like a poor deal next to a model that produces a price for anything at all. So it is worth being concrete about what the smaller result actually buys, in the places people actually use it.
Start with the reviewer of a pricing system. Somebody has built a library that prices both contracts, and the question is whether it works. Notice what the identity lets that reviewer do: feed the system both contracts at the same strike and horizon, subtract the two outputs, and compare against the process less the discounted strike. If those two disagree beyond rounding, the system has a defect, and that conclusion needed no market data, no view on volatility and no agreement with the person who built it. There is no assumption in the test to argue about, so the test cannot be argued with. The most useful property of a model-free identity is that it settles a disagreement without either side having to concede a model.
Then the person deciding how much to trust a number. Every price on a sheet sits somewhere on a line between two extremes. At one end sit prices fixed by an identity, and those move only if arithmetic changes. At the other sit prices produced entirely by a model, and those move whenever anybody revises an assumption. Knowing which end a given number sits at is a better guide to how hard to lean on it than any accuracy figure the model reports about itself.
And the household version, the balance again. If two shops are selling the identical sack, the same weight, the same grain, the same day, then comparing the two prices is a fair fight and the cheaper one is cheaper, full stop. If one shop is selling a sack and the other is selling a different sack, then the comparison needs a judgement about quality, and that judgement is a model. Most arguments about whether something is expensive are arguments about which of those two situations applies.
The failure: treating a gap against a model price as evidence the observed price is wrong
The mistake everything so far has been building toward is not made by careless people. Careful ones make it. Somebody prices a position properly, checks the arithmetic twice, finds the model says Rs 10.45/- while the observed price is Rs 10.60/-, and concludes that the observed price is out of line by Rs 0.15/-.
Look at what that conclusion assumed. The model price is not a fact; it is the last line of an argument. Behind it sit the volatility used, the assumption that the volatility is constant, the assumption that the process moves continuously with no jumps, the rate used for discounting, the assumption that the position can be traded without cost, and the assumption that the process pays nothing out along the way. A disagreement between the model price and the observed price is a disagreement with all of that at once, and it does not say which line of the argument is the problem.
The observed price is the only number in that comparison that did not come from an assumption, so of everything being compared it is the least likely to be wrong. The direction of the usual conclusion is therefore backwards. The cost of getting it backwards is a decision taken with confidence in the wrong direction, and it is expensive precisely because it is taken by somebody who has just done a great deal of correct arithmetic and is reasonably pleased with themselves for it.
The one comparison that does point at prices is the one the law licenses: two positions with identical payoffs, checked outcome by outcome, quoted at different prices. There the arithmetic contains no assumptions, so a gap has nowhere else to be. Everywhere else, a gap is a message about a model, and the correct next question is which assumption it is complaining about.
A model price and an observed price disagree. What has that established?
What is covered separately?
The two fundamental theorems establish what no-arbitrage buys as a statement about measures, and are set out under the fundamental theorem of asset pricing. The single object that sits behind every valuation is set out under the pricing kernel. Both contracts arrive already known here and appear only as payoffs, and the definition of each is covered separately.
The law of one price is arithmetic about two lists of numbers. The law does not depend on a rule set by anybody, a rate published by anybody or a convention observed anywhere. Where a treatment in this subject area does touch a contract or a clearing convention, the exchange and clearing sites are the places to confirm it.
Where to check this
| Source | What to look for | Site |
|---|---|---|
| arXiv, Quantitative Finance | preprints on model-free bounds, static replication and no-arbitrage relations between contract prices | arxiv.org |
| Social Science Research Network | working papers on the empirical width of the band around a parity relation once costs and spreads are allowed for | ssrn.com |
| Stoll, 1969 | the published statement of the relationship between the prices of the two contracts, named here as the origin of the identity | ssrn.com |
| Black, Scholes and Merton, 1973 | the closed form that produced the two contract prices used as illustrations, named wherever that solution appears | arxiv.org |
Structure and notation follow the standard treatments by Hull, Shreve and Wilmott, used for the shape of the argument and the choice of symbols only.
The standard process and both contracts are invented.
Educational material. Not advice on any investment, tax, budget or market position.
