Fin Maverick
Foundations VocabularyAccounting & ReportingEconomics & MacroQuant Methods & ProgrammingBusiness & Company AnalysisCorporate Finance & ValuationBehavioural Finance
Banking & Market InfrastructureFixed Income & RatesDerivatives & Structured ProductsPublic EquitiesTransactions & DealsPortfolio ConstructionFunds & AMCs
Private Markets & AlternativesRisk, Treasury & ControlAI & Digital FinanceStochastic Calculus & PricingWealth & Personal FinanceIndian Markets & RegulationProfessional Practice
CalculatorComparison
Frameworks
Explore Bootcamps
Equity ResearchPortfolio ManagementMutual Fund MasteryFinancial LiteracyInvestment Banking Analyst
Private Equity AnalystHedge Funds AnalystBreaking Into VCBreaking Into QuantsAI For Finance
Financial Analyst ProgramRisk Management ProgramPrivate Wealth ManagementDebt Capital MarketsDerivatives Foundation
Explore Internships
Equity Research InternMutual Fund Intern
Portfolio Management InternFinancial Literacy Intern
Explore Micro Courses

Equity Research6

Writing an Investment ThesisBuilding a Discounted Cash FlowReading an Annual Report FastReading a Sector Before a CompanySpotting Quality of Earnings Red FlagsBuilding a Revenue Forecast From Drivers

Portfolio Management3

Rebalancing: When, Why and What It CostsStrategic and Tactical Asset AllocationMeasuring Risk in a Portfolio

Mutual Fund Mastery3

Comparing Funds Without Being FooledHow a NAV Is Struck and Which Day You GetReading a Fund Factsheet Properly

Derivatives Unlocked4

Hedging a Real ExposureThe Greeks, PracticallyFutures, the Basis and What Moves ItReading an Option Payoff

AI For Finance2

Retrieval and Grounding for FinanceDocument Extraction in Finance

Breaking Into Quants4

Backtesting a StrategyHypothesis TestingCleaning Financial DataRegression for Finance

Breaking Into VC3

Sizing a MarketReading a Term Sheet as a FounderHow a Venture Round Actually Works

Financial Analyst Program4

Common Size and Trend AnalysisReading a Cash Flow StatementRatio Analysis That Says SomethingBuilding a Working Capital Schedule

Risk Management Program2

Credit Exposure and How It Is ReducedValue at Risk and What It Hides

Investment Banking Analyst3

Precedent Transactions and Why They DifferReading a Term Sheet StructurallyBuilding a Comparable Companies Table

Private Wealth Management3

Tax Aware Portfolio DecisionsBuilding a Client Risk ProfileGoal Based Planning Arithmetic

Debt Capital Markets3

Analysing an Issuer's CreditDuration and What It Does Not Tell YouBond Pricing and Yield Mechanics

Private Equity Analyst2

Fund Waterfalls and CarryThe LBO in Structure

Hedge Funds Analyst2

Short Selling MechanicsLong Short Mechanics
Courses
Explore Career Roadmaps
Investment Banking AnalystEquity Research AnalystVC AnalystPrivate Equity AnalystHedge Funds Analyst
Quant AnalystAI For FinanceFinancial Analyst ProgramPrivate Wealth ManagementDebt Capital Markets
Risk Management ProgramDerivatives FoundationPortfolio ManagementMutual Fund Mastery
PartnershipsShowdown
Log inSign up
Quant Analyst · CoreTrack
1Quantitative Methods, Financial Data & Programming
iProbability
Probability in FinanceRandom VariableProbability DistributionsThe Normal DistributionNormal Distribution ProbabilityThe Lognormal DistributionRandomness vs Uncertainty
iiStatistics and Inference
Population and SampleMean, Median and ModePrecision and AccuracyVariable TypesVariance, Standard Deviation and…Dispersion MeasuresStatistical BiasEffect SizeHypothesis TestingThe Sampling DistributionSkewnessKurtosisCovarianceConfidence IntervalArithmetic Mean vs Geometric MeanStatistical Significance vs Economic…Confidence Interval vs Prediction IntervalHow to Summarise a…
iiiCorrelation and Regression
RegressionCorrelation and CausationOrdinary Least SquaresInteraction TermsRegression CoefficientsRegression vs ClassificationHow to Build a…Spurious CorrelationRegression, Correlation and FitResidualsMulticollinearityAutocorrelation and Partial Autocorrelation
ivTime Series
Time Series in FinanceSimple, Weighted and Exponential…Moving Average CalculatorPrice, Return and Level SeriesHow to Prepare Time-Series…LagFrequencySeasonalityTimestampsTrendStationarity and the Unit RootHeteroskedasticityLeadRolling WindowsDifferencing
vSimulation and Numerical Methods
SimulationMonte Carlo SimulationHow to Run a…Numerical MethodsIterationResampling and the BootstrapPseudorandom Numbers and the SeedConvergence and ToleranceNumerical Stability
viOptimisation
OptimisationLocal and Global OptimaConstraintsConvex OptimisationThe SolverLinear ProgrammingThe Objective FunctionConstraint ViolationThe Feasible SetLagrange MultipliersQuadratic Programming
viiModelling Practice
Linear, Logistic, Ridge and…Training, Validation and Test…The ModelModel ErrorDependent and Independent VariablesThe ROC Curve and AUCWhat a Model HoldsMSE, RMSE, MAE and MAPEPrecision and RecallCross Validation and RegularisationOverfitting and UnderfittingReturn Series MeasuresSimple, Compound and Log Return
viiiBacktesting and Research Integrity
BacktestingBacktest vs Live PerformanceHow to Document a…How to Prevent Backtest…Out-of-Sample TestingWalk-Forward AnalysisMultiple TestingP-HackingData Snooping
ixData Quality and Structure
Data QualityThe DatasetSelection and Survivorship BiasVersioned DatasetsData Structures in FinanceData CleaningMissing Data and Null ValuesStructured Data vs Unstructured DataMissing Data vs ZeroData Validation vs Data CleaningOutliersDuplicate Records
xProgramming for Finance
Data PipelinesAPIs for Financial DataAPI vs CSV FileDatabases in FinancePython for FinanceJoinsSQL for FinanceThe Analysis Workflow
xiQuantitative Research
Research DesignThe Data Generating ProcessReproducibilityPeer Review in Analytical WorkThe Research HypothesisRobustness and Sensitivity
2Stochastic Calculus & Derivative Pricing Theory
iProbability Foundations
The Probability SpaceRandom VectorsSigma-AlgebraExpectationSample Space and EventsDensity and Distribution FunctionsRisk-Neutral ProbabilityState Price Density vs…
iiStochastic Processes and Jumps
Properties of a Stochastic ProcessMartingaleBrownian Motion and Its PropertiesBrownian Motion vs Geometric…Stopping TimeThe Markov PropertyState VariablesTransition ProbabilityQuadratic VariationQuadratic Variation vs Ordinary…Submartingale and SupermartingaleMartingale RepresentationMarkov Process vs MartingaleOptional StoppingFiltrationJump ProcessesThe Poisson ProcessLevy ProcessesJump Diffusion
iiiIto Calculus
The Ito IntegralThe Ito Integral vs the Riemann IntegralInfinitesimals in Stochastic CalculusQuadratic CovariationIto's LemmaHow to Apply Ito's…The Infinitesimal GeneratorIto Calculus vs Ordinary Calculus
ivStochastic Differential Equations
Stochastic Differential EquationsStochastic Differential Equation vs…Drift and DiffusionStrong and Weak Solutions ComparedDiscretisationGeometric Brownian Motion
vPricing Theory and No-Arbitrage
No-ArbitrageGirsanov, Radon-Nikodym and Change…Physical and Risk-Neutral Measures…The Fundamental Theorems of…The Law of One PriceThe Pricing KernelDiscount Factors and Zero-Coupon PricesReplication vs HedgingComplete Market vs Incomplete MarketClearing Margin Architecture
viOption Pricing Theory
European and American OptionsMonte Carlo European OptionThe Black-Scholes PDEBlack Scholes and the GreeksThe Payoff FunctionThe Binomial ModelBinomial Option PricingDelta Hedging in TheoryBoundary, Initial and Terminal ConditionsThe Exercise BoundaryHow to Check Put-Call…
viiVolatility Models
Constant, Local and Stochastic…Vasicek Model vs CIR ModelThe Heston ModelThe SABR ModelThe Volatility ProcessImplied VolatilityVolatility Smile vs Skew vs Surface
viiiInterest Rate Models
Interest-Rate DerivativesMean ReversionThe Zero-Coupon BondThe Ornstein-Uhlenbeck ProcessThe Discount CurveZero RatesShort-Rate Model vs Market Model
ixNumerical Pricing
Closed Form and Numerical…Monte Carlo PricingEuler and Milstein Schemes ComparedTree MethodsFinite Difference MethodsNumerical Error and StabilityVariance Reduction
xCalibration and Model Risk
Model OverrideMarket Price and Model PriceCalibrationHow to Document a Pricing ModelThe Educational Illustration LabelMarket ConventionsModel Uncertainty and LimitationsBacktesting a Pricing ModelIdentifiabilityCalibrated ParametersThe Calibration Loss Function

The Black-Scholes PDE: How It Is Derived and What It Assumes

The Black-Scholes equation says the value of a contract on the process satisfies a relation between its sensitivity to time, its sensitivity to the level, and its curvature in the level. The equation is derived by building a position whose randomness cancels and insisting that what remains earns the risk-free rate. The drift never appears in it, and that absence is the whole point.

Every ingredient of the derivation has already been met. The chain rule for random processes was settled earlier in this subject area, and so was the pricing argument that refuses to let a position cost nothing and gain for certain. Putting the two together is all that remains. The result is one line of notation that has been rewritten, extended and argued over for half a century, and the surprising thing about the line is not what it contains but what it leaves out.

Here is the everyday version before any notation arrives, and it involves nothing more exotic than a moving staircase. A person on an escalator that is running upward, walking down it at exactly the speed it is climbing, stays level with the wall. Now a question about that arrangement: does where the walker ends up depend on how fast the escalator runs? The answer does not depend on the speed, and the reason has nothing to do with approximation. The machine was matched step for step, so the machine's speed left the answer entirely. Speed it up, slow it down, run it at any rate at all; the walker is still level with the same tile.

The derivation that follows is that escalator, and the drift of the process is the speed of the machine. A position is arranged so that it moves with the process step for step. Once it does, the rate at which the process is expected to climb drops out of the answer completely, not approximately, and everything that survives can be written down as a single relation. The surviving relation is the equation.

How is the equation derived, in a teaching setting?

The derivation has five steps, and four of them are bookkeeping. Only one of them is an idea. Most treatments race through the algebra and leave a reader unable to say afterwards which line carried the weight, so each step below is taken slowly, with what just happened and why it was allowed stated alongside it. The reasons alone, read without the notation, still carry the whole derivation.

Start with what is on the table. There is the standard process, invented for this subject area, written S with a time subscript, starting at Rs 100/- and moving by proportional increments with a drift of 8 per cent a year and a volatility of 20 per cent a year. There is cash, growing at the risk-free rate of 5 per cent a year, continuously compounded. And there is a contract on the process, whose value at any moment depends on where the process is and how much time is left. Call that value V, a function of time and of the level. Nothing about what the contract pays is being taught here; the contract arrives already known, and it is being used purely as a function whose shape the mathematics is about.

How to Derive a Black-Scholes PDE in a Teaching Setting

  1. Build a position out of the contract and the process.The position holds the contract and gives up some quantity of the process. The quantity given up is the hedge quantity. Naming it can wait one more step. The whole trick is that the quantity can be chosen afterwards.
    Why this is allowed: nothing has been priced yet. The step is bookkeeping about what is being held, and it makes no claim about what anything costs.
  2. Expand the value of the contract using the chain rule for random processes.The value is a function of two things that move, so its change has three sources: the passage of time, the movement of the level, and the curvature of the value acting on the variance of the level. The third term is the one ordinary calculus does not have, and it is there because a Brownian path accumulates squared increments that refuse to vanish.
    Why this is allowed: Ito's lemma requires the value to be twice differentiable in the level and once in time, and it is. Ito's lemma was settled earlier in this subject area and is not re-derived here.
  3. Choose the hedge quantity so that the random term cancels exactly.Both the contract and the process carry the same random driver. In the combined position that driver appears with a coefficient, and the coefficient is one equation in one unknown. Set the hedge quantity equal to the sensitivity of the value to the level, and the coefficient is nought.
    Why this is allowed: it is a choice, not an assumption. Any quantity at all may be held, and this is the quantity that makes the randomness go away.
  4. Force what is left to earn the risk-free rate.The position now carries no random term over the next instant, so its value over that instant is known. A known amount that could be had for a known outlay must grow at the risk-free rate, or a position costing nothing that never loses and sometimes gains is available.
    Why this is allowed: no-arbitrage, settled earlier in this subject area. Step four is the only step on the list that is an idea rather than an operation.
  5. Collect the terms and divide through.Two expressions for the change in the same position are now written down. Set them equal, cancel the time increment that multiplies every surviving term, and rearrange until the derivatives sit on one side.
    Why this is allowed: it is algebra. Nothing new enters, nothing is discarded, and no term is called small.
Five steps. Four are operations. One is an idea, and it is step four. 1 Build a position: hold the contract, give up a quantity of the process Allowed because nothing has been priced yet. This is bookkeeping, not a claim about cost. 2 Expand the value with the chain rule for random processes Allowed because the value is twice differentiable in the level and once in time. Ito. 3 Choose the hedge quantity so the random term cancels exactly Allowed because it is a choice. One equation, one unknown, and it has a solution. 4 What is left carries no randomness, so force it to earn the risk-free rate The only idea on the list. Allowed by no-arbitrage, which was settled earlier. 5 Collect the terms and divide through by the time increment Allowed because it is algebra. Nothing new enters and no term is called small. Remove step four and there is no equation. Remove any other step and there is more algebra.
The derivation is a sequence of five steps in which only the fourth carries an idea, because building the position, expanding it, choosing the hedge quantity and rearranging are all operations a reader can check line by line, while forcing the remainder to earn the risk-free rate is the single assumption the result rests on.

Now the same five steps in notation, one block at a time, with the prose kept between them rather than after them. The first block is only the position, and it says what is being held and nothing else.

Step one, the position, before any choice is made
$$ \Pi_t \;=\; V(t, S_t) \;-\; \Delta\, S_t $$
\(\Pi_t\)the value of the combined position at time \(t\), in rupees
\(V(t,S_t)\)the value of the contract, a function of the time and of the level of the process
\(S_t\)the standard process, invented, starting at Rs 100/- and moving by proportional increments
\(\Delta\)the hedge quantity, how much of the process is given up, still unchosen at this step
\(t\)a general time between now and the horizon
What it says in wordsThe position is worth whatever the contract is worth, less the hedge quantity multiplied by the level of the process, and at this stage the hedge quantity is a free number that has not been decided.

Nothing has been claimed. Writing the position down on its own makes the absence of a claim visible: a reader who suspects sleight of hand can see that the first line contains no assertion at all. The first line is a description of a holding.

The second block expands how the contract value changes over a small interval. The expansion is the chain rule for random processes, settled earlier in this subject area and used here rather than proved. The curvatureThe second sensitivity of a value to the level it depends on, which is what randomness acts on to produce the extra term. term is the one an ordinary chain rule would not carry.

Step two, the change in the contract value
$$ dV \;=\; \frac{\partial V}{\partial t}\,dt \;+\; \frac{\partial V}{\partial S}\,dS_t \;+\; \tfrac{1}{2}\,\frac{\partial^{2} V}{\partial S^{2}}\,\sigma^{2} S_t^{2}\,dt, \qquad dS_t = \mu S_t\,dt + \sigma S_t\,dW_t $$
\(\partial V/\partial t\)the sensitivity of the value to the passage of time
\(\partial V/\partial S\)the sensitivity of the value to the level of the process
\(\partial^2 V/\partial S^2\)the curvature of the value in the level, the second sensitivity
\(\mu\)the drift of the process under the physical measure P, 8 per cent a year here, decimal 0.08
\(\sigma\)the volatility of the process, 20 per cent a year here, decimal 0.20
\(W_t\)standard Brownian motion under the physical measure P, the random driver
What it says in wordsThe change in the value of the contract has three sources: the time that passed, the movement of the process multiplied by how sensitive the value is to it, and half the curvature multiplied by the variance rate of the process, and the third source has no counterpart in ordinary calculus.

Substituting the movement of the process into that expansion splits the change into a part that multiplies the time increment and a part that multiplies the random driver. Giving up a quantity of the process gives up a proportional share of each part, so the combined position inherits both. Written out, the coefficient of the random driver in the combined position is the sensitivity of the value to the level, less the hedge quantity, all multiplied by the volatility and the level.

Step three, the choice that makes the randomness disappear
$$ \text{coefficient of } dW_t \;=\; \sigma S_t\left(\frac{\partial V}{\partial S} - \Delta\right) \;\;\xrightarrow{\;\;\Delta \,=\, \partial V/\partial S\;\;}\;\; 0 $$
\(\Delta\)the hedge quantity, now chosen rather than free
\(\sigma S_t\)the size of the random movement of the process at the current level, in rupees a year
\(dW_t\)the increment of the random driver over the next instant
What it says in wordsThe random driver enters the combined position multiplied by the gap between the sensitivity of the value to the level and the hedge quantity, so setting the hedge quantity equal to that sensitivity makes the gap nought and removes the randomness entirely.

Cancelling the randomnessCombining holdings so that the random term in the combined position disappears exactly, leaving something whose next move is known. is the entire derivation, and everything after it is rearrangement. A number makes the word exactly mean something. At the locked parameters the sensitivity of the value to the level is 0.636831, so the random term in the contract alone carries a coefficient of 0.20 times Rs 100/- times 0.636831, and the product is Rs 12.736613/- a year. The hedge leg carries the same Rs 12.736613/- with the opposite sign. The two legs are the same expression, so the difference is nought to every decimal place worth writing.

The remainder now has no random term at the next instant, so its value an instant from now is known. Step four says what a known amount must earn.

Step four, the forced return on what is left
$$ d\Pi_t \;=\; r\,\Pi_t\,dt \qquad\text{where}\qquad \Pi_t = V - \frac{\partial V}{\partial S}\,S_t $$
\(r\)the risk-free rate, 5 per cent a year continuously compounded here, decimal 0.05
\(d\Pi_t\)the change in the value of the hedged position over the next instant
\(\Pi_t\)the hedged position, the contract less the sensitivity multiplied by the level
What it says in wordsA position that carries no randomness over the next instant must change in value at the risk-free rate multiplied by what it is currently worth, because anything else would allow a position costing nothing that never loses and sometimes gains.

The forced returnWhat a position carrying no randomness has to earn over the next instant, fixed by no-arbitrage rather than chosen. is where the assumption enters, and it is worth naming it as an assumption rather than a fact. Nobody measured that a hedged position earns the risk-free rate. The rate is imposed, on the grounds that the alternative is an arrangement the pricing argument has already ruled out. Every consequence that follows inherits that imposition.

Try it out

What makes the derivation work, in one step?

Derivatives Foundation Bootcamp — Fin Maverick

What does each term of the equation actually do?

Setting the two expressions for the change in the hedged position equal, cancelling the time increment and rearranging gives one line. The line is the Black-Scholes equationThe relation that the value of a contract on the process must satisfy at every level and every time before the horizon., named for Black, Scholes and Merton, whose 1973 papers set it out. The equation holds at every level and at every time strictly before the horizon.

The equation
$$ \frac{\partial V}{\partial t} \;+\; r S \frac{\partial V}{\partial S} \;+\; \tfrac{1}{2}\sigma^{2} S^{2}\frac{\partial^{2} V}{\partial S^{2}} \;=\; r V $$
\(V\)the value of the contract, written without its arguments once the equation is in this form
\(S\)the level of the standard process, in rupees, treated here as a variable rather than a path
\(r\)the risk-free rate, 5 per cent a year here
\(\sigma\)the volatility of the process, 20 per cent a year here
\(t\)the time now, running from nought up to but not including the horizon
What it says in wordsThe rate at which the value bleeds away with time, plus the risk-free rate multiplied by the level and by the sensitivity of the value to the level, plus half the variance rate multiplied by the squared level and by the curvature, adds up to the risk-free rate multiplied by the value itself.

Read left to right, the four terms have four jobs, and it helps to give each a plain name before any number arrives. The first term is what the value loses simply because time passed and nothing happened. The second is what the value gains because the level, under the forced return, is treated as growing at the risk-free rate. The third is what the curvature earns from variance, the same term the chain rule for random processes introduced. And the right side is what the whole holding must earn if it is to be consistent with cash. The equation is a balance sheet for an instant: three sources of change on the left, one required total on the right.

Because every one of those four terms is a number once the locked parameters are fixed, the balance can be checked rather than admired. At the at-the-money contract on the standard process, at Rs 100/- with one year left, the four readings are these, and they add up.

Term of the equationWhat it doesReading, in rupees a year
Sensitivity to timeWhat the value loses as time passes with the level unchangedminus 6.414028
Rate times level times level sensitivityWhat the forced growth of the level contributesplus 3.184153
Half variance rate times squared level times curvatureWhat the curvature earns from varianceplus 3.752403
Left side, added upThe three sources of change over an instantplus 0.522529
Right side, rate times the valueWhat the holding must earn to be consistent with cashplus 0.522529

The two sides agree to ten decimal places, and they agree because the closed form the equation admits was substituted straight back into the equation. The agreement is not a coincidence and not a check of arithmetic luck. Agreement is what solving an equation means, and having the numbers set out turns an abstract relation into something a reader can audit in an afternoon.

Three terms, in rupees a year, at Rs 100/- with one year left. They land exactly on the right hand side. 0 minus 6.414028 sensitivity to time what passing time costs plus 3.184153 rate times level times the level sensitivity plus 3.752403 half variance rate times squared level times the curvature plus 0.522529 the right hand side rate times the value, 0.05 times Rs 10.450584/- Drawn to one scale, thirty pixels a rupee. The final bar is small because the number is small.
Drawn to a single scale, the three left hand terms of the equation start from nought, fall by the cost of passing time, climb back through the rate term and the curvature term, and finish at exactly the height of the right hand side, which is the risk-free rate multiplied by the value of the contract.
The Greeks, Practically — free micro-course from Fin Maverick

What is the Underlying Price, and what does moving it do?

The Underlying PriceThe level of the process the contract is written on, at the moment the value is being read. is the level of the process at the moment the value is read, and in the equation it is the variable S. Being pedantic about one thing here pays for itself later. In the derivation, S was a process with a time subscript and a path. In the equation, S is a variable free to take any positive number at all. The equation does not know about paths. The equation is a statement about a surface: for every level and every time, one value.

The shift from a path to a variable is the reason the equation generalises where a lattice does not, and also the reason readers get confused about what they are looking at. Feeding Rs 110/- into a calculator does not say the process went to Rs 110/-. The calculator is reading a different point on the same surface.

Moving the level does two things at once, and both are visible in the equation. The level moves the value directly through the sensitivity term. The level also enters the curvature term as a square, so a higher level makes the curvature contribution larger. On the locked contract at Rs 100/- the sensitivity to the level is 0.636831. A small rise in the level therefore lifts the value by roughly sixty-four paise for each rupee. The reading is local and it does not stay put, and the curvature term exists exactly because it does not.

Level of the processValue of the at-the-money contractChange from the previous row
Rs 80/-Rs 1.859420/- 
Rs 90/-Rs 5.091222/-plus Rs 3.231802/-
Rs 100/-Rs 10.450584/-plus Rs 5.359362/-
Rs 110/-Rs 17.662954/-plus Rs 7.212370/-
Rs 120/-Rs 26.169044/-plus Rs 8.506090/-

Every step of Rs 10/- in the level buys more value than the step before it, and that widening is the curvature the equation carries as its third term. The last column shows the second sensitivity without one ever being computed: Rs 3.231802/-, then Rs 5.359362/-, then Rs 7.212370/-, then Rs 8.506090/-. A relation with no curvature term would have produced four equal numbers in that column. The last column here does not, and the failure to be equal is exactly what the third term of the equation measures.

The Greeks, Practically teaches you to read a derivatives risk report and say what each number on it is telling you about the position in front of you.

What is Time to Expiry, and why does it enter twice?

Time to ExpiryHow much time remains between now and the horizon at which the contract settles. is how much time remains between now and the horizon, and it is the one input here that enters the problem in two separate places. Readers who miss the second place end up puzzled about why an equation in time needs anything else specified.

The first place is inside the equation itself, as the sensitivity of the value to the passage of time. The first term carries it, reading minus Rs 6.414028/- a year on the locked contract, or about minus 1.76 paise a day. The reading says that if nothing else moves, tomorrow's value is lower than today's.

The second place is not in the equation at all, but in the condition attached to the equation at the horizon. A partial differential equation (PDE) on its own has an enormous number of solutions; what makes it produce one answer is being told what the value must equal at a particular time and at the edges of the level. The equation describes how a value may change; only the terminal and boundary conditions say which value it is.

The conditions that pin the solution down
$$ V(T,S) = \max(S-K,\,0), \qquad V(t,0) = 0, \qquad \frac{V(t,S)}{S} \to 1 \;\text{ as } S \to \infty $$
\(T\)the horizon, one year throughout this subject area unless stated otherwise
\(K\)the strike, Rs 100/- for the at-the-money contract and Rs 110/- for the other one
\(V(T,S)\)the value at the horizon, which is the payoff and is derived separately
\(V(t,0)\)the value at a level of nought, which is a level the process can never leave
What it says in wordsAt the horizon the value equals whatever the contract delivers, at a level of nought the value is nothing because the process can never move again, and at very high levels the value grows one for one with the level, and those three statements together select a single solution out of the many the equation permits.

The direction of time in that first condition is worth noting. The condition fixes the value at the end and asks the equation to run the answer backwards to today. An instinct trained in physics finds the arrangement unusual. A condition in physics is normally given at the start. Here the known thing is the ending, and the unknown thing is now.

The everyday version is a lift with a fixed arrival. Given that the lift must be at the ground floor at six o'clock, and given the rule governing how it may move between floors, those two facts work backwards to where it must be at five. The rule alone, with no arrival, settles nothing about five o'clock at all. The equation is the rule. The condition at the horizon is the arrival.

Try it out

At zero time remaining, with the process at Rs 100/- and the strike at Rs 100/-, what must the value equal?

What do the volatility and the rate each do?

Take them one at a time. The volatility and the rate enter the equation at different places and do different work. The volatility appears only in the third term, multiplied by the curvature. The rate appears twice, once in the second term and once on the right side, and those two appearances partly offset each other. The offset is why the rate moves the value less than a first glance suggests.

Start with volatility, the input the whole apparatus exists to handle. Raise it and the value rises, on the locked contract, from Rs 10.450584/- at 20 per cent to Rs 14.231255/- at 30 per cent. Lower it and the value falls. Take it all the way to nought and something clean happens: the third term of the equation disappears entirely, the equation stops being a diffusion, and the value collapses to the level less the discounted strike, Rs 4.877058/-. The collapse is a check that can be run, and it appears again below as the third of six.

Push the volatility the other way and a different limit appears. At 100 per cent the reading is Rs 39.840162/-, at 200 per cent it is Rs 69.057470/-, at 500 per cent it is Rs 98.788779/- and at 1,000 per cent it is Rs 99.999944/-. The value climbs toward Rs 100/-, the level itself, and never passes it. Volatility can make a contract on the process worth almost as much as the process, and never more, and any calculator that reports more than the level has failed.

Volatility, per cent a yearValue of the at-the-money contractWhat is happening
0Rs 4.877058/-Nothing random remains, so only the discounted certain gain is left
10Rs 6.804958/-Curvature starts earning from variance
20Rs 10.450584/-The locked parameters of the standard process
40Rs 18.022951/-Still climbing, still well below the level
500Rs 98.788779/-Approaching the level and never passing it

The rate is the quieter of the two. Move it from 5 per cent to 10 per cent and the value moves from Rs 10.450584/- to Rs 13.269677/-. Move it down to nought and the value falls to Rs 7.965567/-. The value rises with the rate because a higher rate discounts the strike harder, and the strike is the amount handed over rather than received. The sensitivity at the locked parameters is 0.532325 for each percentage point, a modest number beside a value of Rs 10.450584/-.

The everyday version of the rate is a deposit and a bill. If a fixed sum is owed a year from now, and the rate rises, the amount that has to be set aside today falls. The strike is that fixed sum. Nothing more exotic is happening.

Try it out

At zero volatility, what must the value of the at-the-money contract collapse to?

Move one input at a time. Four bars change length. One does not. Rs 0/- Rs 10.450584/-, the base reading The level Rs 100/- moved to Rs 110/- Rs 17.662954/- The volatility 20 per cent moved to 30 Rs 14.231255/- The rate 5 per cent moved to 10 Rs 13.269677/- The time remaining one year moved to half a year Rs 6.888729/- The drift 8 per cent moved to 20 Rs 10.450584/-, unmoved identical to ten decimal places
Each input moves the value of the at-the-money contract in a direction that can be stated in one line, with the level, the volatility and the rate lifting it and the passage of time lowering it, while the drift leaves it at exactly the same figure.

Why does the drift disappear, which is the surprising part?

Look back at the equation and hunt for the driftThe growth rate of the process under the physical measure P, which does not appear in the equation at all.. The drift is not there. The parameter that says how fast the process is expected to climb, the single number most people would guess matters most, does not appear in the relation that fixes the value. The absence is not a simplification and not an omission for tidiness. The absence is a result.

Here is where it went. In step two the drift entered the expansion multiplied by the sensitivity of the value to the level. In step one the position gave up a quantity of the process, and that leg carried the drift multiplied by the hedge quantity. In step three the hedge quantity was set equal to that same sensitivity. So the two drift terms were made identical and opposite by the choice, and they cancelled with the random term, in the same stroke, for the same reason.

Where the drift went, written out
$$ \underbrace{\mu S \frac{\partial V}{\partial S}}_{\text{from the contract}} \;-\; \underbrace{\Delta\,\mu S}_{\text{from the hedge leg}} \;=\; \mu S \left(\frac{\partial V}{\partial S} - \Delta\right) \;=\; 0 \quad \text{whenever} \quad \Delta = \frac{\partial V}{\partial S} $$
\(\mu\)the drift under the physical measure P, 8 per cent a year on the standard process
\(\Delta\)the hedge quantity, 0.636831 units at the locked parameters
\(\mu S\)the expected rupee movement of the process a year at the current level, Rs 8/- here
What it says in wordsThe drift arrives twice, once through the contract and once through the hedge leg, and the choice of hedge quantity makes the two arrivals identical in size and opposite in sign, so their sum is nought for every value of the drift rather than merely for small ones.

Put the numbers in. At the locked drift of 8 per cent the contract leg carries Rs 5.094645/- a year and the hedge leg carries the same Rs 5.094645/- with the opposite sign. At a drift of 20 per cent both legs read Rs 12.736613/-. At a drift of 50 per cent both read Rs 31.841533/-. At a drift of nought both read nothing. The two legs are the same expression written twice, so their difference is nought at every drift, not small at plausible ones.

The drift term, before the choice and after it. The move is to nought, not toward it. BEFORE THE HEDGE IS CHOSEN Rs 5.094645/- a year, at a drift of 8 per cent Rs 12.736613/- at a drift of 20 per cent Rs 31.841533/- at a drift of 50 per cent it grows without limit with the drift set the hedge quantity to 0.636831 AFTER THE HEDGE IS CHOSEN 0.0000000000 a year, at a drift of 8 per cent 0.0000000000 at a drift of 20 per cent 0.0000000000 at a drift of 50 per cent the same expression, subtracted from itself Cancelled, not approximated. There is no error term behind the zero. A first order approximation would leave a residual that shrinks. This leaves nothing at any drift at all.
Before the hedge quantity is chosen the drift term carries Rs 5.094645/- a year at the locked drift and grows without limit as the drift rises, and after the choice it reads nought at every drift, because the two legs are the same expression subtracted from itself.
Try it out

Was the drift approximated away, or cancelled?

Try it out

The drift is about to move from 8 per cent to 20. Before the control below moves: what happens to the value?

Play with it

Move the drift from nought to 20 per cent and watch one line refuse to move

The level stays at Rs 100/-, the strike at Rs 100/-, the rate at 5 per cent, the volatility at 20 per cent and the horizon at one year. Only the drift moves. At the default of 8 per cent the value reads Rs 10.450584/-, which is the figure worked above, and the model's own average finish reads Rs 108.328707/-. At a drift of nought the average finish is Rs 100.000000/- and at 20 per cent it is Rs 122.140276/-. The value reads Rs 10.450584/- at all three.

One drift. Two readings. The upper one climbs, the lower one is welded down. THE MODEL'S OWN AVERAGE FINISH, IN RUPEES 95 105 115 125 THE VALUE THE EQUATION RETURNS, IN RUPEES 0 20 Rs 108.328707/- Rs 10.450584/- 0 5 10 15 20 the drift, per cent a year At the locked drift of 8 per cent. The lower line reads Rs 10.450584/-, the worked figure.
058, the locked drift1520
The drift
8.0 per cent
The value the equation returns
Rs 10.450584/-
Average finish, model's own
Rs 108.328707/-
Median finish, model's own
Rs 106.183655/-
Chance of finishing above Rs 100/- under P
0.617911
The same chance under Q
0.559618
At a drift of 8.0 per cent a year the model's own average finish is Rs 108.328707/-, its median finish is Rs 106.183655/-, and the chance of finishing above Rs 100/- under the physical measure P is 0.617911. The value the equation returns is Rs 10.450584/-, exactly as it is at every other drift on the scale.
Educational illustration. Every reading is computed from the formulas above rather than sampled, so the default at 8 per cent reproduces Rs 10.450584/- on every reload. The average finish is the level multiplied by the exponential of the drift and the median finish is the level multiplied by the exponential of the drift less half the variance rate, which is a gap of Rs 2.145052/- at the locked drift. The chance under the physical measure P moves from 0.460172 at a drift of nought to 0.815940 at a drift of 20 per cent, while the chance under the risk-neutral measure Q stays at 0.559618 throughout because it never contained the drift either. The standard process and its parameters are constructed for this subject area, so every reading is a consequence of those parameters and of nothing observed.

The control has just shown the whole point of the derivation. The chance of the contract finishing above Rs 100/- under the physical measure P moved from 0.460172 to 0.815940 as the control travelled. The odds nearly doubled. The value did not move by a paisa. The two facts are not in tension: the value was never a statement about the odds. The value was a statement about what building the payoff costs, and the cost was fixed by an argument that discarded the odds in step three.

What does the equation assume, listed rather than implied?

Assumptions that stay implied cannot be argued with, and an assumption nobody can argue with is not doing any honest work. So here they are as a list of five statements, each of which is a claim about the world rather than a piece of mathematics, and each of which somebody could reasonably dispute.

Five statements about the world, not five pieces of mathematics. Each one is arguable. WHAT IS ASSUMED WHAT WOULD BREAK IT The hedge can be adjusted continuously the hedge quantity is reset at every instant Any real adjustment happens at moments, and between them the randomness returns. Adjusting the hedge costs nothing no cost to move the quantity held A cost per adjustment turns continuous rebalancing into an unbounded expense. One rate, constant, for both directions borrowing and lending at the same 5 per cent Two different rates leave a band of values rather than one number. The volatility is a constant, known number 20 per cent a year, at every level and every time A volatility that moves needs its own process, which is a separate subject. The process pays nothing out no income over the horizon of one year An income stream changes what the hedge leg earns and adds a term.
The assumptions behind the equation are five separate statements about the world, each one arguable on its own terms, and listing them beside what would break them is what turns an atmosphere of caveats into something a reader can actually examine.

A sixth assumption sits further back, in the description of the process rather than in the derivation, and it is the one most often forgotten. The process moves by proportional increments driven by Brownian motion, and a process that moves that way never jumps. The cancellation was built on the level moving through every intermediate point. If the level can gap from Rs 100/- to Rs 80/- with no intervening values, the hedge quantity chosen an instant earlier cancels nothing. The whole argument depends on the process being continuous, and a jump defeats it not by making the answer inaccurate but by removing the step that produced the answer.

None of these six is a defect. The six are the price of getting one number instead of a range, and every one of them is a place where a later model in this subject area begins its work. What matters is that the six are statements, that they are listed, and that a disagreement with the equation can be traced to one of them rather than left as a vague unease.

Try it out

Which of these is an assumption of the equation that a reader could actually argue with?

What solution does the equation admit once it is pinned down?

Deriving an equation and solving it are two different jobs, and the solving is covered separately. The six checks below all lean on what that second job produces, so the closed form is worth setting out here. With the terminal condition at the horizon and the two boundary conditions in the level, the equation admits a single closed form, and Black, Scholes and Merton set it out in 1973.

The solution the conditions select
$$ V(t,S) = S\,N(d_1) - K e^{-r(T-t)} N(d_2), \qquad d_1 = \frac{\ln(S/K) + \left(r + \tfrac{1}{2}\sigma^{2}\right)(T-t)}{\sigma\sqrt{T-t}}, \qquad d_2 = d_1 - \sigma\sqrt{T-t} $$
\(N(\cdot)\)the standard normal distribution function, which returns a number between nought and one
\(d_1,\; d_2\)the two intermediate quantities, 0.350000 and 0.150000 exactly at the locked parameters
\(K\)the strike, Rs 100/- for the at-the-money contract
\(T-t\)the time to expiry, one year at the locked parameters
What it says in wordsThe value equals the level multiplied by one probability-like weight, less the discounted strike multiplied by a second weight, where the two weights are read off the standard normal distribution function at two points that differ by the volatility multiplied by the square root of the time remaining.

Two things about that expression are worth pointing at. First, the drift is absent from the expression, as it must be: the drift was absent from the equation the expression solves. Second, the parameters of the standard process were chosen so that the rate plus half the variance rate is 0.07 exactly and the volatility multiplied by the square root of the horizon is 0.20 exactly, and the two intermediate quantities therefore land on 0.350000 and 0.150000 exactly at the locked parameters. The landing is a construction, not a coincidence, and it exists so that a reader can check the arithmetic without a calculator.

Try it out

Before the six checks below: how many numbers does it take to condemn a calculator?

How is a calculator built from this equation checked?

Checking a calculator is the part a reader is most likely to use, and it works because the mathematics supplies a set of readings that are forced rather than chosen. A validation checkA reproducible number a calculator must return, so that a single disagreement condemns it. is a number the calculator has no freedom about. If it returns something else, the calculator is wrong, and no amount of plausibility in its other output rescues it.

How to Validate a Black-Scholes Calculator

  1. Feed it the locked parameters and read the value.Level Rs 100/-, strike Rs 100/-, rate 5 per cent, volatility 20 per cent, one year. The value must be Rs 10.450584/-, and the two intermediate quantities must read 0.350000 and 0.150000 exactly.
    If the intermediates are right and the value is wrong, the fault is in the distribution function. If the intermediates are wrong, the fault is upstream of it.
  2. Check that parity holds between the two contracts.The at-the-money contract less its counterpart must equal Rs 4.877058/-, and the level less the discounted strike must equal the same Rs 4.877058/-. The two figures must agree to six decimal places.
    The parity check catches a wrong discount factor faster than anything else. The discount factor appears on both sides and cancels only if it is right.
  3. Set the volatility to nought.The value must collapse to the level less the discounted strike, Rs 4.877058/-. Nothing random remains, so nothing uncertain is being valued.
    Many implementations divide by the volatility and fall over here rather than returning the limit. A calculator that returns an error at zero volatility has failed the check.
  4. Set the volatility very large.The value must climb toward the level and never pass it. At 500 per cent the reading is Rs 98.788779/- and at 1,000 per cent it is Rs 99.999944/-.
    A value above Rs 100/- means the contract is worth more than the process it is written on, and the boundary condition forbids that outright.
  5. Set the time remaining to nought.The value must equal the payoff. At this strike and this level the payoff is nothing, so the calculator must return nothing rather than an error or a residual.
    The terminal condition is the one input that fixes which solution is in view, so a calculator that does not honour it is solving a different problem.
  6. Read the sensitivity to the level.The sensitivity must sit between nought and one, and at the locked parameters it must read 0.636831. Anything outside that interval condemns the calculator.
    The interval is forced by the boundary conditions: the value goes to nothing at a level of nought and grows one for one at very high levels, so the slope between cannot leave that range.
Six inputs. Six forced readings. Any one of them failing is enough. WHAT GOES IN WHAT MUST COME BACK 1. The locked parameters, all five of them Rs 10.450584/- 2. The two contracts, differenced, against the level Rs 4.877058/- both ways 3. Volatility set to nought Rs 4.877058/- 4. Volatility set to 1,000 per cent Rs 99.999944/-, never above Rs 100/- 5. Time remaining set to nought The payoff, which here is nothing 6. The sensitivity to the level, at the locked parameters 0.636831, and inside nought to one Failing any single row condemns the calculator. Passing five and failing one is failing. The plausibility of the other output is not evidence.
Six inputs each force a single reading out of the calculator, so a run through the checklist that disagrees on even one row condemns the implementation regardless of how reasonable the rest of its output happens to look.
Try it out

A calculator returns a value that looks entirely reasonable, but its sensitivity to the level reads 1.4. Is the calculator sound?

Who reaches for this equation, and what do they do with it?

Almost nobody who uses this result is deriving it. People use it to check things, and the checking splits into three jobs that look different but are the same job underneath.

The first is somebody handed a number and asked whether it can be trusted. A value arrives from a spreadsheet or a script, and the question is not whether the number is attractive but whether the instrument that produced it is sound. The six checks above are exactly the tool for that, and they take about ten minutes. The person running them does not need to understand the derivation at all; they need to know which readings are forced.

The second is somebody who has to explain a disagreement. Two implementations return different values for the same inputs, and somebody has to say which is wrong and where. Because the equation is a balance between four terms, the disagreement can be localised: compute each term separately and see which one differs. On the locked contract those four readings are minus Rs 6.414028/-, plus Rs 3.184153/-, plus Rs 3.752403/- and plus Rs 0.522529/-, and a discrepancy will sit in one of them rather than being spread evenly across all four.

The third is somebody choosing which assumption to relax. Every extension of this result in the rest of this subject area begins by taking one of the six listed statements and replacing it. A volatility that moves rather than staying constant leads to one class of model. A process that can jump leads to another. A second rate for borrowing leads to a band rather than a number. Knowing the list of assumptions is what lets a reader place any later model on a map rather than meeting it as a new invention.

The household version of all three is a kitchen scale, and it is worth stating plainly because it stops a reader treating the output as more than it is. A scale reports a reading. The reading is not the weight of the object; it is what the object weighs according to this scale with this zero setting. Checking that the scale reads nothing with an empty pan, and reads a known amount with a known weight on it, is precisely what the six checks do. Neither exercise says anything about the object. Both say whether the instrument can be believed.

The error that gets made, and what it costs

Believing that the drift was left out of the equation by an approximation. It was not. The drift was cancelled, exactly, by the construction of the position, and an approximation and a cancellation are entirely different things. An approximation leaves a residual that shrinks as some quantity gets small; a cancellation leaves nothing at all, at every value of the quantity.

A reader who takes the missing drift as an approximation will go looking for the error term, and there is none to find. The search is not merely wasted effort. The search produces three downstream mistakes. The reader treats the equation as a first order description rather than an exact statement about the hedged position, and so discounts it in situations where it holds perfectly well. The reader reads any disagreement between the value and an observed figure as the missing drift showing through, and so misattributes a difference that came from an input. And the reader carries a quiet confidence that a better model would eventually restore the drift. No model will: any model built by cancelling the randomness removes the drift the same way, for the same reason.

The tell is arithmetic and it is quick. If the drift had been approximated away, the residual would depend on the drift and would shrink as the drift shrank. It does not. At a drift of nought, 8 per cent, 20 per cent and 50 per cent the residual after hedging reads 0.0000000000 every time. The residual is the same expression subtracted from itself.

A worksheet hunting the missing drift term. The right hand column never changes. THE DRIFT SET TO THE DRIFT LEG BEFORE HEDGING THE RESIDUAL AFTER HEDGING nought Rs 0.000000/- a year 0.0000000000 8 per cent, the locked drift Rs 5.094645/- a year 0.0000000000 20 per cent Rs 12.736613/- a year 0.0000000000 50 per cent Rs 31.841533/- a year 0.0000000000 An approximation leaves a residual that shrinks. This leaves nothing, at every drift. There is no correction term to hunt for, and no better model will restore one: any argument built by cancelling the randomness removes the drift in the same stroke.
Running the drift from nothing to fifty per cent a year grows the drift leg before hedging without limit while the residual after hedging reads nought to ten decimal places on every row, which is the signature of a cancellation rather than an approximation.
Breaking Into Quants Bootcamp — Fin Maverick

What is covered separately?

The equation is derived here rather than solved: the solution is quoted only so that the six checks have something to check, and the work of solving belongs elsewhere in this subject area. The payoff of the contract is set out under the payoff function and arrives here already known. The sensitivities of the value are set out under Black-Scholes and the Greeks. The lattice reaches the same figure by adding up discrete steps and is set out under the binomial model. Every figure in this walkthrough is a computed consequence of the invented parameters of the standard process rather than a reading from any market.

References

SourceDocumentWhere
arXiv Quantitative FinancePreprint repository for derivations of the pricing equation, hedging arguments and boundary conditionsarxiv.org
Social Science Research NetworkWorking paper repository for the same materialssrn.com
Black, Scholes and Merton, 1973The two 1973 papers that set out the equation and the hedging argument that produces itJournal of Political Economy and the Bell Journal of Economics and Management Science
ItoIto's lemma, the chain rule for random processes used at step twoStandard stochastic calculus texts
Hull, Shreve and WilmottTextbook treatments of the derivation, its boundary conditions and its assumptionsPearson, Springer and Wiley

The standard process, its parameters and both contracts worked here are invented.
Educational material. Not advice on any investment, tax, budget or market position.

Covered in this topic

Subtopics

Underlying PriceTime to ExpiryHow to Derive a Black-Scholes PDE in a Teaching SettingHow to Validate a Black-Scholes Calculator
← PreviousNext →
Fin Maverick Micro CoursesExplore Micro Courses
Fin Maverick BootcampsExplore Bootcamps
Fin Maverick

Finance education that ends in a job, not a certificate that gathers dust. Built for young India.

LEARN
CalculatorsFrameworksComparisonsCareersShowdown
RESOURCES
All CoursesMicro CoursesBootcampsInternships
COMPANY
AboutJob openingPartnership
LEGAL
Privacy PolicyTerms & ConditionsContent LicenseReturn & Refund Policy
© 2026 FIN MAVERICK / BUILT FOR INDIA.DO FINANCE, DO NOT JUST READ ABOUT IT.