State Price Density vs Risk-Neutral Probability
A risk-neutral probability is a weight that adds to one across the outcomes. A state price is that same weight multiplied by the discount factor, so state prices add instead to the price of a rupee received for certain. Both price the same contract and both give the same answer. The only difference is whether the discounting sits inside the weights or outside them.
Pricing a contract means adding up what it pays in each outcome, weighted by what that outcome is worth today. The discounting can go in two places. Put it inside the weights and the result is state prices. Put it outside the sum and the result is probabilities followed by a separate discount factor. Both arrangements are the same multiplication with the brackets moved.
The two objects are genuinely different things rather than two names for one thing. Confusing them therefore produces a wrong number rather than a clumsy sentence.
What is a state price, before anything is compared with it?
A state priceWhat one rupee delivered in one particular outcome costs today. is the price today of one rupee delivered in one particular outcome and nothing anywhere else. The definition is complete as it stands. A state price is a price rather than a probability, and it is quoted in rupees rather than as a number between zero and one.
The contract that pays exactly that is called an Arrow securityA contract paying one rupee in exactly one outcome and nothing in any other.. The Arrow security pays one rupee if a stated outcome happens, and nothing at all otherwise. Its price today is the state price of that outcome, by definition rather than by calculation. A state price is not derived from anything; it is what a one rupee claim on one outcome costs, and every other price in this guide is built out of those.
The standard process, invented, starts at Rs 100/-, drifts at 8 per cent a year, carries a volatility of 20 per cent a year and runs for one year, with a risk-free rate of 5 per cent a year continuously compounded. Divide the year into two half year steps. Each step multiplies the level by 1.151910 upward or by 0.868123 downward, those two being reciprocals of each other. Two steps produce three possible finishing levels.
| Outcome | How it is reached | Finishing level | State price |
|---|---|---|---|
| Up then up | Rs 100/- to Rs 115.19/- to Rs 132.69/- | Rs 132.6896/- | 0.291851 |
| One up, one down | Either order, both arriving at the same place | Rs 100.0000/- | 0.470086 |
| Down then down | Rs 100/- to Rs 86.81/- to Rs 75.36/- | Rs 75.3638/- | 0.189293 |
| All three together | A rupee whatever happens | 0.951229 |
The last column reads as prices. A contract paying one rupee if the process finishes at Rs 132.69/-, and nothing otherwise, costs 0.291851 rupees today. The same claim on the middle outcome costs 0.470086, and on the lowest outcome 0.189293. Buying all three secures one rupee whatever happens. The three prices together come to 0.951229, and that is what a certain rupee a year away costs when the rate is 5 per cent.
| \(\psi_i\) | the state price of outcome \(i\), quoted in rupees today |
| \(i\) | one of the three finishing outcomes on the two step lattice |
A contract pays one rupee if the standard process finishes at Rs 132.69/-, and nothing otherwise. The contract costs 0.291851 today. Is 0.291851 a probability?
What is a risk-neutral probability, before anything is compared with it?
A risk-neutral probabilityA weight summing to one under which discounted prices balance. is a weight, one for each outcome, chosen so that the discounted weighted average of tomorrow's prices comes back to today's price. The weights are solved out of the pricing equation rather than observed, they carry no view about what is likely, and by construction they add to one across the outcomes.
On the same two step lattice the weight on an up move at each step is 0.553908. Squaring it gives the weight on two ups, doubling the product of the two gives the weight on one of each, and squaring the down weight gives the weight on two downs. The three weights add to exactly one, and adding to one is not a coincidence but the defining property of a set of probabilities.
| Outcome | Finishing level | Risk-neutral weight | State price |
|---|---|---|---|
| Up then up | Rs 132.6896/- | 0.306814 | 0.291851 |
| One up, one down | Rs 100.0000/- | 0.494188 | 0.470086 |
| Down then down | Rs 75.3638/- | 0.198998 | 0.189293 |
| Total | 1.000000 | 0.951229 |
Two columns, three rows each, and every row of the second column is smaller than the row beside it in the first. Every state price sits below the weight beside it by the same proportion, and the two totals at the bottom are where that proportion shows itself.
| \(S_0\) | today's level of the standard process, Rs 100/- |
| \(S_u, S_d\) | the two levels one step later, Rs 115.19/- and Rs 86.81/- |
| \(q\) | the risk-neutral weight on the up move, here 0.553908 |
| \(r\) | the risk-free rate, 5 per cent a year continuously compounded |
| \(\Delta t\) | the length of one step, half a year |
What single factor separates the two, and which way does it run?
Compared row by row, the two columns stand in the same ratio every time. 0.291851 divided by 0.306814 is 0.951229. 0.470086 divided by 0.494188 is 0.951229. 0.189293 divided by 0.198998 is 0.951229. One factor separates the two objects at every outcome, and that factor is the discount factor over the horizon.
The direction matters and it is easy to get backwards. A rupee a year away is worth less than a rupee today, so state prices are the weights multiplied down by the discount. Going the other way, dividing a state price by the discount factor recovers the weight. NormalisingDividing a set of numbers by their total so that they add to one. the three state prices by their own total does the same job. The total of those three prices is the discount factor.
| \(\psi_i\) | the state price of outcome \(i\) |
| \(q_i\) | the risk-neutral weight on outcome \(i\) |
| \(e^{-rT}\) | the discount factor over the whole horizon, 0.951229 here |
| \(\sum_j \psi_j\) | the total of the state prices, which is that same discount factor |
Turning risk-neutral weights into state prices: multiply or divide by the discount factor?
What does each of the two add up to, and why is that the whole distinction?
Weights add to one. Adding to one is what makes them weights: they distribute a whole across the outcomes, and nothing is created or lost in the distribution. State prices add to 0.951229. The shortfall is not a defect in the weights and not a rounding. A total of 0.951229 is the price today of a rupee received for certain at the horizon.
Think about why that has to be so. Buying one rupee in every outcome buys a rupee whatever happens. A rupee whatever happens is a certain rupee a year away. The cost of that bundle is the sum of the three state prices, so the sum of the state prices IS the price of a certain rupee. The total of a set of state prices is the discount factor, and checking that total is the fastest way to tell which of the two objects is in hand.
| \(\sum_i q_i\) | the total of the risk-neutral weights across every outcome |
| \(\sum_i \psi_i\) | the total of the state prices across every outcome |
| \(e^{-rT}\) | the price today of one rupee received for certain in one year |
A list of numbers arrives, one per outcome, said to price a contract. The numbers add to 0.951229. Which object is it?
What happens when one contract is priced both ways?
Take a contract paying the excess of the finishing level over Rs 100/-, and nothing when the finishing level is at or below it. On the two step lattice it pays Rs 32.6896/- in the top outcome, nothing in the middle one and nothing in the bottom one. The name of the contract does not matter here. The payoffWhat a contract delivers in each outcome, taken as given here. is three numbers, handed over and used as given.
Route one uses state prices. Multiply each payoff by the state price of its outcome and add. Only the top outcome pays anything. The price is Rs 32.6896/- multiplied by 0.291851, or Rs 9.540501/-.
Route two uses weights. Each payoff is multiplied by the weight of its outcome and the products added. Here that is Rs 32.6896/- multiplied by 0.306814, or Rs 10.029653/-. Nothing has been discounted yet, so Rs 10.029653/- is an average and not yet a price. Multiplying it by 0.951229 gives Rs 9.540501/-.
| Step | Route one, state prices | Route two, weights then discount |
|---|---|---|
| Payoff in the top outcome | Rs 32.6896/- | Rs 32.6896/- |
| Multiplied by | 0.291851 | 0.306814 |
| Running result | Rs 9.540501/- | Rs 10.029653/- |
| Then discounted by | already inside | 0.951229 |
| Price today | Rs 9.540501/- | Rs 9.540501/- |
The two routes are the same three numbers multiplied together in a different order, so they agree to six decimal places and could not have done anything else. Agreement here looks like a check that passed, and is really a consequence that could not have failed. The second route is still worth running once, for one reason only: it catches an input typed differently into the two columns.
| \(X_i\) | what the contract pays in outcome \(i\), taken as given |
| \(\psi_i\) | the state price of outcome \(i\) |
| \(q_i\) | the risk-neutral weight on outcome \(i\) |
| \(e^{-rT}\) | the discount factor over the horizon |
Both routes give Rs 9.540501/-. Is that a check that has passed, or a consequence that could not have failed?
Move the discounting, and watch what stays put
The lattice is held fixed here, so the three risk-neutral weights do not move at all. Only the discount factor does. Watch the state prices and their total slide while the weights and their total stand still, and watch the two pricing routes stay locked together at every setting.
The interest rate rises from 5 per cent to 10 per cent on the control above. What happens to the total of the three state prices?
Which of the two should be reached for, and when?
Neither object is more correct than the other and the choice is about what comes next. Reach for the weights when the next step is taking an average. An average under weights that add to one is an ordinary average, and every result about expectations applies to it directly. Prices add and probabilities do not, so reach for the state prices when the next step is adding up what several contracts cost together.
The discount belongs wherever it will be applied exactly once. Put it inside the weights when several contracts are going to be added together, so that each one carries its own discounting and no separate step can be forgotten or repeated. Keep it outside when a single average is being taken and one clean discounting at the end is the simplest thing to check.
The next step is adding up what four separate contracts cost together. Which object is more convenient?
What changes when the outcomes are continuous rather than three?
Three outcomes made both objects lists of three numbers. Let the standard process finish anywhere on a continuous range and a single finishing level carries no probability at all, so neither object can stay a list. Both become curves across the finishing levels, and both become rates rather than amounts. A rate across a range is what the word densityA rate per rupee of level, which becomes a quantity only after being multiplied by a width. in the title names.
The risk-neutral density is a rate per rupee of finishing level. Under the pricing rule the standard process has a density of 0.019724 per rupee at a finishing level of Rs 100/-, peaking at 0.019749 per rupee at Rs 99.01/-. The state price densityThe state prices written as a rate across a continuous set of outcomes. is that same curve multiplied by 0.951229 at every point, so it reads 0.018762 per rupee at Rs 100/- and peaks at 0.018785 per rupee at the same Rs 99.01/-.
Multiplying by a constant at every point cannot move a peak. The two curves have exactly the same shape and differ only in height. The clearest way to see that is not to stare at the two curves, which sit close together, but to look at the ratio between them: it is 0.951229 at Rs 80/-, at Rs 100/-, at Rs 120/-, and everywhere else. A perfectly flat ratio is what a uniform scaling looks like.
| Finishing level | Risk-neutral density | State price density | Ratio |
|---|---|---|---|
| Rs 80/- | 0.011192 | 0.010646 | 0.951229 |
| Rs 90/- | 0.017627 | 0.016767 | 0.951229 |
| Rs 100/- | 0.019724 | 0.018762 | 0.951229 |
| Rs 110/- | 0.017192 | 0.016354 | 0.951229 |
| Rs 120/- | 0.012438 | 0.011831 | 0.951229 |
| Area underneath | 1.000000 | 0.951229 | 0.951229 |
The last row is the same distinction the three outcome case gave, written for a continuous range: adding up became integrating, and the two totals became two areas. One area is one and the other is the price of a certain rupee, exactly as before.
| \(q(x)\) | the risk-neutral density at finishing level \(x\), a rate per rupee |
| \(\pi(x)\) | the state price density at finishing level \(x\), also a rate per rupee |
| \(e^{-rT}\) | the discount factor, 0.951229 over this horizon |
| \(\int \cdot\, dx\) | adding the rate up across every finishing level |
The risk-neutral density peaks at a finishing level of Rs 99.01/-. Where does the state price density peak?
The error that gets made, and what it costs
Adding a discount factor to a sum that already carried one. State prices have the discounting built into them, so discounting the result a second time applies it twice. On this horizon the correct price is Rs 9.540501/- and the twice discounted figure is Rs 9.075206/-, a shortfall of Rs 0.465296/- or 4.88 per cent.
Three things make it survive. The shortfall is small enough on a one year horizon to read as a rounding difference rather than as an error. The shortfall also grows with the horizon, as the repeated discount factor gets further from one, so a mistake that looks negligible on a short contract is not negligible on a long one. And the check most people run is whether the weights add to one. State prices are not supposed to add to one, so their failing that test proves nothing.
The tell is the total, and checking it takes one line. Weights add to one. State prices add to the discount factor. The two lists look identical on a screen and only their totals separate them, so adding either list up before it is used shows which of the two it is.
A price built from state prices is discounted once more. Which check catches it?
How is this used by somebody actually working with a pricing sheet?
The practical value of the distinction is not that it prices something two ways. The practical value is a one line test on any list of numbers, and the test needs no access to whatever produced them. An analyst opening somebody else's pricing sheet, or a reviewer checking a model before it is relied on, can run it in a few seconds.
- Add the list up
Take the column of per outcome numbers and total it. Nothing else is needed and no other part of the sheet has to be understood first.
If the total is 1.000000 the list is weights. If it is below one, the list is prices.
- If it is below one, work out what the total should be
Take the stated rate and horizon and compute the discount factor. At 5 per cent over one year that is 0.951229.
The total of a correct set of state prices IS the discount factor, so those two figures must match.
- Find where the discounting is applied
Search the sheet for the discount factor. It should appear once on the path from the payoffs to the price, and once only.
Twice means the price is light. Not at all, with weights, means the price is an average rather than a price.
- Reprice one contract by the other route
Take one payoff and run it the other way, weights and then discount if the sheet used prices, or prices if the sheet used weights.
The two must agree to the decimals shown. Disagreement means an input differs between the two columns.
The fourth step is the one worth insisting on even though the arithmetic already settles the agreement. The repricing does not test the mathematics, and the mathematics cannot fail. The repricing tests whether the same numbers were entered in both places, and entry fails often enough to be worth four seconds.
References
| Source | Document | Where |
|---|---|---|
| arXiv Quantitative Finance | Preprint repository for state price densities and discrete time pricing | arxiv.org |
| Social Science Research Network | Working paper repository for the same material | ssrn.com |
| Arrow, 1953 | The one outcome claim that carries his name | Review of Economic Studies, 1964 translation |
| Hull, Shreve and Wilmott | Standard texts on derivatives pricing and stochastic calculus | Pearson, Springer and Wiley |
The standard process and its four parameters are invented.
Educational material. Not advice on any investment, tax, budget or market position.
