Black Scholes and the Greeks: Five Sensitivities, Five Units
The sensitivities measure how the contract's value responds to each input separately. The number matters less than the unit: one is per rupee of level, one is per rupee squared, one is per percentage point of volatility, one is per day and one is per percentage point of rate. Quoting any of them without its unit makes it uninterpretable.
Each of the five is a partial derivativeThe response of an output to one input moving, with every other input held perfectly still. of the closed form solution. The definition is the whole of what they are, and it is also the whole of their limitation. A partial derivative answers exactly one question: what happens if this single input moves and nothing else does. Nothing in the world moves alone, so a set of five sensitivities is five answers to five questions that were each asked in isolation, and they become usable only once what each one was measured in is known precisely.
Before any of the numbers arrive. At a level far above the strike, what does the sensitivity to the level approach?
What is each of the five sensitivities, and what does each measure?
One contract, and every figure in this guide is computed on it. The standard process, an invented one, starts at Rs 100/-, carries a volatility of 20 per cent a year and a horizon of one year, and the constant rate over that horizon is 5 per cent, continuously compounded. The at-the-money contract is struck at Rs 100/- and its value under the closed form is Rs 10.450584/-.
Everything the five sensitivities need runs through two intermediate quantities. Four of the five sensitivities are built directly out of the two, so the two are worth writing down once. On the locked contract both come out exact round numbers rather than decimals that hide their construction.
| \(S_t\) | the level of the standard process at time \(t\), Rs 100/- at the start of the horizon |
| \(K\) | the strike of the contract, Rs 100/- on the at-the-money contract |
| \(r\) | the constant rate over the horizon, 0.05 continuously compounded |
| \(\sigma\) | the volatility of the standard process, 0.20 a year |
| \(T-t\) | the time left to the horizon, 1.0 at the start |
The distribution function evaluated at those two points gives 0.636831 and 0.559618, and the standard normal densityThe bell shaped curve whose area under any stretch gives the chance of landing in that stretch. Its height at a point is the density there. at the first point is 0.375240. The three readings, plus the discount factorWhat one rupee at the horizon is worth today, here 0.951229 over one year at a continuously compounded 5 per cent. of 0.951229, generate every one of the five sensitivities below. Nothing else is needed and nothing else is used.
The sensitivity to the level
The first sensitivity asks how much the value moves when the level of the process moves by one rupee and nothing else changes. Consider a hillside. The gradient gives the number of metres of rise for each metre walked forward, and that is the only question it answers: it says nothing about how the slope will behave a hundred metres further on.
| \(V\) | the value of the contract under the closed form, Rs 10.450584/- here |
| \(N(\cdot)\) | the standard normal distribution function |
| \(d_1\) | the first intermediate quantity, 0.350000 on this contract |
The curvature in the level
The second one asks how much the first one moves. The hillside serves again. The gradient answers what one step forward costs in height; the curvature answers how quickly that gradient is itself changing along the walk. On a straight ramp the curvature is zero and the gradient measured at the bottom is still right at the top. On a curved slope it is not, and the curvature says how wrong it will be.
| \(\varphi(\cdot)\) | the standard normal density, 0.375240 at the first intermediate quantity |
| \(S_t\) | the level of the standard process, Rs 100/- |
| \(\sigma\sqrt{T-t}\) | the volatility scaled by the square root of the time left, 0.20 exactly here |
The sensitivity to volatility
The third asks what one percentage point more volatility does to the value, with the level, the strike, the rate and the time left all held still. Volatility is the only one of the five inputs that cannot be read off anything. The sensitivity to volatility therefore rests on a decision rather than a reading.
| \(\mathcal{V}\) | the script V, the conventional symbol for this one, since it has no Greek letter |
| \(\varphi(d_1)\) | the normal density at the first intermediate quantity, 0.375240 |
| \(\sqrt{T-t}\) | the square root of the time left, 1.0 here |
The sensitivity to time
The fourth asks what one day of the calendar does to the value with everything else frozen. The response to time is the only one of the five that is negative on this contract, and it is the one whose unit is most often left off.
| \(\Theta\) | the response of the value to the passage of time |
| \(e^{-r(T-t)}\) | the discount factor over the time left, 0.951229 here |
| \(N(d_2)\) | the distribution function at the second intermediate quantity, 0.559618 |
The sensitivity to the rate
The fifth asks what one percentage point on the constant rate does. On this contract it is the second largest of the five as a raw number. Because the five carry five different units, size in raw numbers says nothing at all about importance.
| \(\rho\) | the response of the value to the constant rate |
| \(K\) | the strike, Rs 100/- |
| \((T-t)\) | the time left to the horizon, which enters directly rather than under a root |
The set is now complete. Written out with the arithmetic done, the five read 0.636831, 0.018762, 0.375240, minus 0.017573 and 0.532325. Every one of those numbers is a computed consequence of four invented parameters, and every one of them is meaningless until the unit beside it is written down.
Each of the five is a partial derivative. What does each of them hold still?
What units do the five carry, and why does the unit decide the meaning?
A kitchen scale reads 250. A recipe asks for 250. Neither number means anything until somebody says grams or millilitres, and if the scale is reading in grams while the recipe was written in millilitres, the arithmetic will be flawless and the dish will be wrong. A number that is a response to something always carries two halves: the size, and the pair of things it is a response between. Without the second half the first half stops being information.
The five sensitivities are exactly that kind of number. Each is a ratio of a change in rupees of value to a change in something else, and the something else is different every time. No two of the five share a unit, so the five raw numbers do not live on any common scale at all.
| Sensitivity | Reading | Unit | What one unit of the input does to the value |
|---|---|---|---|
| To the level | 0.636831 | per rupee of level | a rupee on the level adds about 63.68 paise |
| Curvature in the level | 0.018762 | per rupee squared | a rupee on the level adds 0.018762 to the reading above |
| To volatility | 0.375240 | per percentage point | a point on volatility adds about 37.52 paise |
| To time | minus 0.017573 | per day | a day of calendar takes about 1.76 paise |
| To the rate | 0.532325 | per percentage point | a point on the rate adds about 53.23 paise |
The second row is the one that needs saying slowly. The reading above it is already a per rupee quantity. A quantity describing how that reading moves per rupee is therefore a per rupee per rupee quantity, or per rupee squared. The distinction is not pedantry and it is not notation for its own sake. The difference in units is the reason the second row cannot be set beside the first: they are not two sizes of the same kind of thing, they are two different kinds of thing.
Once each unit is applied, something useful happens: every one of the five turns into an amount in rupees, and rupees are comparable. A rupee on the level is worth about 64 paise of value. A day of the calendar is worth about 1.76 paise the other way. The conversion has already been done, so the two statements can be set beside each other. The unit is not decoration on the number, it is the instruction for how to turn the number into money.
The conversion is not exact, and it is worth seeing how good it actually is. A sensitivity is a slope measured at a point, and applying it to a move of finite size assumes the slope holds all the way across the move. The table below sets what each sensitivity predicts against what a full revaluation of the contract gives. A full revaluation is a finite differenceRe-computing an output at two nearby input values and taking the difference, rather than using a formula for the slope. rather than a derivative.
The four gaps repay a moment. The prediction for one day is out by eight ten thousandths of a paise, and the prediction for one rupee on the level is out by 0.9294 paise. The second gap is close to half the curvature of 0.018762, as the next term of the expansion implies. Neither gap is an error. A slope simply describes a curve less and less well the further one walks along it. A sensitivity is a local statement and stops being reliable as soon as the move stops being small.
The sensitivity to time reads minus 0.017573 on this contract. In what unit?
The sensitivity to the level reads 0.636831 and the curvature reads 0.018762. Does the first matter about thirty four times more than the second?
Move the level, and watch the five refuse to move together
At a level of Rs 100/- the five read 0.636831 per rupee of level, 0.018762 per rupee squared, 0.375240 per percentage point of volatility, minus 0.017573 per day and 0.532325 per percentage point of rate. No two of the five are measured in the same thing, so the five raw numbers cannot be ranked against one another. Each panel below therefore carries its own scale and its own unit, and moving the level shows five completely different shapes: one climbs, one rises then falls, one peaks and falls away, one deepens then eases, and one climbs on a different curve again.
At a level of Rs 100.00/- the five read 0.636831 per rupee, 0.018762 per rupee squared, 0.375240 per point of volatility, minus 0.017573 a day and 0.532325 per point of rate. Applying the first to a one rupee rise predicts 63.6831 paise, a full revaluation gives 64.6125 paise, and the difference of 0.9294 paise is what the curvature was there to warn about.
Three things are worth stopping for. First, the sensitivity to the level climbs from 0.075875 at Rs 70/- to 0.978941 at Rs 140/-, so far above the strike the value tracks the level almost one for one. Second, the curvature does not climb at all: it rises to a peak and then collapses, reading 0.010201 at Rs 70/-, 0.018762 at Rs 100/- and only 0.001806 at Rs 140/-. Third, the sensitivity to time deepens to a trough near Rs 107/- and then eases back. If the five raw numbers could be ranked, one ordering would hold at every level of the process, and no ordering survives even a one rupee move of the level.
Which one is most often quoted without its unit, and what goes wrong?
The sensitivity to time, and it is not close. The other four have a convention that is nearly universal in practice, so leaving the unit off is survivable most of the time. The response to time does not: there are three conventions in daily use for the same derivative, and they differ by factors large enough to change every conclusion drawn from the number.
On the locked contract the response to time is minus 6.414027546 a year. Divide by 365 and it is minus 0.017573 a day. Divide instead by a count of 252 working days and it is minus 0.025452 a day. All three are the same quantity. A number quoted as minus 0.017573 and a number quoted as minus 6.414028 differ by a factor of 365, and neither of them is wrong.
The same difficulty is familiar outside finance. A speedometer reading of 100 is ordinary in kilometres an hour and impossible in metres a second, and the two differ by a factor of 3.6. Nobody makes that mistake with a car because the unit is painted on the dial. In a sensitivity report the unit is not painted on anything, and there is a strong pull toward leaving it off. Six decimal places look like precision, and precision looks like it must be self explanatory.
The response to volatility runs the same risk one step down. Written per whole unit of volatility it is 37.524035; written per percentage point it is 0.375240, a factor of a hundred apart. The response to the rate behaves identically, 53.232482 against 0.532325. The rule that resolves all of it is dull and it works: write the unit next to the number, every time, even when everybody in the room knows it.
There is one more trap, and it is the nastiest kind because the locked contract hides it. The curvature is sometimes quoted per rupee of level and sometimes per one per cent move in the level. The second convention multiplies the curvature by the level over a hundred. At a level of Rs 100/- that multiplier is exactly 1.00, so both conventions report 0.018762 and the two are indistinguishable. Move the level to Rs 120/- and they separate: 0.007500 under the first convention and 0.009000 under the second. The contract on which a unit error is invisible is exactly the contract on which people stop checking.
How do the five relate to one another?
The five sensitivities are not five independent readings. Four of them are built from the same two intermediate quantities, so they carry structure that can be used to check them, and two of the relationships are exact rather than approximate.
The first relationship is the one the names already suggest. The curvature is the rate at which the sensitivity to the level changes, so the two are a quantity and its own slope. At Rs 100/- the sensitivity to the level is 0.636831 and at Rs 101/- it is 0.655330, a rise of 0.018500, against a curvature read at Rs 100/- of 0.018762. The two do not match exactly and should not: the curvature is a slope at a point and the difference is measured across a whole rupee, over which the curvature has itself changed.
Notice that the peak sits at Rs 89.583414/- rather than exactly at the strike. The offset is not an accident of drawing. The peak of the curvature sits where the first intermediate quantity equals minus the scaled volatility, and on this contract that lands a little below Rs 100/-. The honest statement is that convexityThe property of a curve that bends upward, so the average of two equal moves either way sits above the middle point rather than on it. is concentrated near the strike and thins out on both sides, not that it peaks precisely at it.
The second relationship is exact, and it is the one worth memorising because it turns two of the five into one. The response to volatility and the curvature are built from the same density reading, so one can be written in terms of the other with nothing left over.
| \(\mathcal{V}\) | the response to volatility, per one whole unit of volatility |
| \(\Gamma\) | the curvature in the level, 0.018762 here |
| \(S_t^{2}\) | the level squared, 10,000 here |
| \(\sigma\,(T-t)\) | the volatility multiplied by the time left, 0.20 here |
The third set of relationships crosses the two contracts. The curvature and the response to volatility are identical for the call and the put struck at the same level, both 0.018762 and 0.375240. Both are built from the density, and the density does not know which contract is being valued. The responses to the level differ by exactly one, 0.636831 against minus 0.363169. The responses to the rate differ by exactly the discounted strike per point, 0.532325 against minus 0.418905, and those two sum to 0.951229 which is the discount factor. Every one of those is a check that runs on a set of numbers in ten seconds without a computer.
Where on the level axis is the curvature largest?
Where does each one come from in the equation?
The equation that this solution satisfies is derived separately and is not re-derived here. One fact about the shape of the equation matters for the sensitivities: three of the five appear in it directly, as its three terms, and the other two do not appear in it at all.
| \(\Theta\) | the response to time, quoted per year here rather than per day |
| \(\Delta\) | the response to the level, 0.636831 |
| \(\Gamma\) | the curvature, 0.018762 |
| \(V\) | the value of the contract, Rs 10.450584/- |
The absence of those two explains the split rather than merely recording it. The equation is written for a world in which the volatility and the rate are fixed numbers. A response to a fixed number cannot be a term in an equation that assumes it never moves. Both missing sensitivities measure the failure of the equation's own assumptions, and both therefore matter most when a model is being questioned.
How many of the five appear directly in the equation as one of its terms?
Where is each number actually found?
The field notes say where each input comes from. Four of the five inputs to the five sensitivities are read straight off the specification of the contract and the process. One is not read off anything at all.
Written out as field notes, and saying only where each number is found: the level is the current reading of the standard process, Rs 100/-. The strike and the horizon are written into the contract, Rs 100/- and one year. The rate is the stated constant of this world, 5 per cent continuously compounded. The time left is the horizon less the calendar time already elapsed. The volatility, 20 per cent a year, is not a reading of anything: it is set by choice or recovered by fitting the model to prices that have already been observed. Four fields have a source that can be pointed at and the fifth has a decision behind it.
Which of the five inputs is not observable?
How is a set of sensitivities checked once it has been handed over?
A set is more often handed over than computed, and a set produced by somebody else's code is worth ten seconds of arithmetic before it is worth any further attention. Every check below runs on the numbers alone. None of them needs the model that produced them and none of them needs a machine.
- Read the unit before the numberIf the sheet does not carry the unit, the sheet is not finished. Ask whether the response to time is a day or a year, and whether the responses to volatility and to the rate are per point or per whole unit. Those three questions resolve the great majority of arguments about a sensitivity report.
- Check the response to the level against its own boundsFor this contract the response to the level lives between zero and one at every level of the process, and it reads 0.636831 here. A figure outside that range is either a different convention or an error, and it is worth knowing which before anything else is discussed.
- Check the curvature is positive and sharedThe curvature is 0.018762 and it is identical for the contract struck at Rs 100/- whichever way round the payoff runs. If two sheets for the same strike carry different curvatures, at least one of them is wrong.
- Check the response to volatility against the curvatureThe curvature multiplied by the level squared, by the volatility and by the time left is 0.018762 times 10,000 times 0.20 times 1, which is 37.524035 per whole unit and 0.375240 per point. That is the response to volatility on the sheet, and if the two disagree the sheet is internally inconsistent.
- Check the three that sit in the equationThe response to time per year, plus the rate times the level times the response to the level, plus half the variance rate times the level squared times the curvature, must equal the rate times the value. Here that is minus 6.414027546 plus 3.184153256 plus 3.752403469, giving 0.522529179, against a right hand side of 0.522529179. This one check catches almost anything.
- Check the two contracts against each otherThe two responses to the level differ by exactly one, 0.636831 against minus 0.363169. The two responses to the rate sum to the discount factor, 0.532325 plus minus 0.418905 giving 0.951229 in absolute terms. The two responses to time differ by exactly the rate times the discounted strike, minus 6.414028 against minus 1.657880 a year, a gap of 4.756147.
- Re-price once and compareMove one input by one unit, re-compute the value, and set the difference against what the sensitivity predicted. A rupee on the level predicts 63.6831 paise and delivers 64.6125 paise. A gap that small is curvature. A gap of a different order of magnitude is a bug.
How does somebody reading a valuation actually use these five?
The five work as a conversion table and nothing more. Somebody is handed a value of Rs 10.450584/- and a question: what if the level had been a rupee higher, what if the horizon were a day shorter, what if the volatility assumption had been a point higher. Re-running the whole valuation for each question is possible and slow. The five sensitivities answer all of them at once, in the same way a scale factor on a map answers every distance question without re-surveying the ground.
The map analogy also carries the warning. A map scale is honest over a short distance and starts lying over a long one, and the reader of the map is the person who has to know which is which. The three questions that keep a sensitivity honest are always the same. The first is the unit. The second is how large the move being asked about is, compared with the move the sensitivity was measured over. The third is what else moves at the same time, given that a partial derivative has assumed nothing else does.
The third question is the one that gets skipped. The response to the level assumes the volatility stayed where it was while the level moved. The response to volatility assumes the level did not move while the volatility did. Anybody adding the five separate answers together and calling the total an estimate of the change in value has quietly assumed that inputs which never move alone will now do so one at a time.
The error that gets made, and what it costs
Ranking the five by their raw numbers. The response to the level reads 0.636831 and the curvature reads 0.018762, so the first is 33.942547 times the second, and it is very natural to conclude that the first matters about thirty four times more and to allocate attention accordingly. The comparison has no content whatsoever. One is measured per rupee and the other per rupee squared, and a ratio between two quantities in different units is not a number about the world, it is an artefact of the two units chosen.
The cost is a misdirected attention, and it is the expensive kind because it is invisible. Both figures are correct. Both are quoted to six decimals. Nothing in the arithmetic is wrong at any step. Yet the ranking sends the reader to watch the quantity whose behaviour they already understand and away from the one that governs how quickly the first stops being true. A ten rupee move in the level is entirely ordinary at a volatility of 20 per cent. On this contract the curvature of 0.018762 carries the response to the level from 0.636831 to 0.795754 across such a move, a shift of 0.158923 in the very quantity the ranking said to watch.
The fix costs one keystroke per number: the unit written beside every sensitivity, always. Once the sheet reads 0.636831 per rupee and 0.018762 per rupee squared, nobody divides one by the other. The incomparability is now visible on the sheet rather than held in somebody's memory.
What is the one habit that prevents the ranking error entirely?
References
| Source | Document | Where |
|---|---|---|
| arXiv Quantitative Finance | Preprint repository for work on option sensitivities and their computation | arxiv.org |
| Social Science Research Network | Working paper repository for the same material | ssrn.com |
| Hull, Shreve and Wilmott | Standard texts on options, stochastic calculus and the sensitivities of a closed form solution | Pearson, Springer and Wiley |
| Black, Scholes and Merton, 1973 | The papers giving the closed form solution and the equation whose three terms three of these five sensitivities are | Journal of Political Economy and Bell Journal of Economics and Management Science |
The standard process, its four parameters and both contracts are invented.
Educational material. Not advice on any investment, tax, budget or market position.
