Trading Dev AcademyFree quant education

Free lesson · Statistics

Delta method: propagate estimator uncertainty through a smooth function

Open interactive lessonPractice calculationsExplore labs

Start with the idea

  • For a smooth calculation and small enough estimation error, multiply the input standard error by the absolute slope to estimate the output standard error.
Symbols, units & horizon
  • θ: scalar population parameter
  • θ̂: its estimator
  • g: differentiable transformation
  • g′: derivative
  • SE: sampling standard error in the units of its argument
  • example θ has rate units and g(θ)=1/θ has inverse-rate units
  • | |: absolute value
  • horizon is the fixed daily estimation horizon

When and why to use this

Use the delta method for smooth transformed estimates, model calibration outputs and approximate uncertainty propagation. For multivariate transformations, include the whole covariance matrix rather than ignoring covariance.

Start here · the same idea in everyday words

Technical termEveryday meaningConcrete example
ParameterA number describing the population or model.A population average is a parameter; a sample average estimates it.
LineariseApproximate a nearby curved relationship by a straight line.Use the current value and slope to estimate a small change.
Propagate uncertaintyCarry input estimation error through a calculation.A transformation with local slope 3 approximately triples a small input standard error.

Unpack a technical sentence

Technical wording: A first-order transformation scales sampling uncertainty by the local derivative.

Read it as: For a smooth calculation and small enough estimation error, multiply the input standard error by the absolute slope to estimate the output standard error.

A slower worked example · one step at a time

  1. Use a positive rate estimate of 2 rate units, with standard error .1 rate units. Take its reciprocal to get .5 inverse-rate units.
  2. At 2, the reciprocal’s slope is −1 divided by 2 squared, or −.25 inverse-rate units per rate unit.
  3. Multiply the absolute slope .25 by input standard error .1. The approximate output standard error is .025 inverse-rate units.
  4. An input increase from 2 to 2.1 predicts a reciprocal decrease of .025, giving .475. The exact reciprocal is about .476190.
  5. The negative slope tells us direction. Its absolute value tells us the size of uncertainty. Standard errors are never negative. This approximation becomes unreliable when the denominator can get close to zero.
Self-assessed: Why does the negative slope not give a negative standard error?

The sign describes direction of change. A standard error measures spread, so the calculation uses the magnitude of the slope.

Study loop: predict the result, work through the arithmetic, run the Python, then explain which assumption would make the result unreliable.

  • First estimate a parameter and its standard error. Linearise the transformation around the parameter; the first-order sampling variance multiplies by the square of the derivative.
  • This is an asymptotic approximation for an asymptotically normal estimator and a differentiable transformation with a nonzero first derivative for the ordinary first-order result. It can be poor near boundaries or with large uncertainty.
  • For a synthetic positive daily rate estimate θ̂=2 and standard error .1 in common rate units, transform to its reciprocal. The sensitivity has a negative sign, but a standard error uses its absolute magnitude.
Before reading the working, evaluate 0.1/2^2. Give the result in inverse-rate units of standard error.

The reciprocal estimate is .5 with first-order standard error .025. This approximation does not handle a denominator whose plausible values cross zero.

g(θ^)≈g(θ)+g′(θ)(θ^−θ),SE^(g(θ^))≈|g′(θ^)|SE^(θ^)
Asymptotic theorem with first-order Taylor approximation

Delta method: propagate estimator uncertainty through a smooth function

  1. For g(θ)=1/θ, differentiate to obtain g′(θ)=−1/θ².
  2. At θ̂=2, transformed estimate is .5 and derivative is −.25.
  3. Multiply absolute slope .25 by original SE .1: transformed SE≈.025 inverse-rate units.
Work it by hand

The reciprocal estimate is .5 with first-order standard error .025. This approximation does not handle a denominator whose plausible values cross zero.

An analogy to remember

A magnifying lens stretches small input errors by its local magnification. The derivative measures that magnification for an estimator.

How this becomes a building block

A transformed estimate can carry an approximate standard error through a smooth model interface instead of losing its uncertainty metadata.

Python · run and reuse

Architecture pseudocode

# Python 3.10+; standard library only unless NumPy is imported.
# Synthetic teaching inputs; no historical performance claim.
def reciprocal_delta(estimate, standard_error):
    # Positive rate estimate; SE in the same rate units.
    if estimate <= 0 or standard_error < 0: raise ValueError("Positive estimate and nonnegative SE required")
    return 1/estimate, standard_error/estimate**2

print(reciprocal_delta(2,.1))

# Replay the slower, synthetic example above. Units are stated in its steps.
def plain_language_example():
    from math import exp, e  # Standard library; no extra dependency.
    return {
        "estimate": 1/2,
        "se": .1/2**2,
        "prediction": .5-.25*.1,
        "actual": 1/2.1,
    }

print(plain_language_example())
Self-assessed: explain the calculation, its output units, and one condition under which it fails.

Use the delta method for smooth transformed estimates, model calibration outputs and approximate uncertainty propagation. For multivariate transformations, include the whole covariance matrix rather than ignoring covariance. Near a zero denominator or a zero first derivative, the ordinary first-order approximation can be misleading. Consider a justified higher-order method or simulation of the estimation procedure.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library only unless NumPy is imported.
# Synthetic teaching inputs; no historical performance claim.
def reciprocal_delta(estimate, standard_error):
    # Positive rate estimate; SE in the same rate units.
    if estimate <= 0 or standard_error < 0: raise ValueError("Positive estimate and nonnegative SE required")
    return 1/estimate, standard_error/estimate**2

print(reciprocal_delta(2,.1))

# Replay the slower, synthetic example above. Units are stated in its steps.
def plain_language_example():
    from math import exp, e  # Standard library; no extra dependency.
    return {
        "estimate": 1/2,
        "se": .1/2**2,
        "prediction": .5-.25*.1,
        "actual": 1/2.1,
    }

print(plain_language_example())

Continue learning

Statistics & Probability — all lessons
  1. Start with counts, probabilities and averages
  2. Random outcomes, sample averages and the limits of the bell curve
  3. Conditional probability: update a belief with evidence
  4. Prediction markets: probability, price and net expected value
  5. Expected value: measure the payoff before choosing the risk
  6. Correlation: how many strategies do you really have?
  7. Conditional probability and Bayes: where the edge actually lives
  8. The central limit theorem: sampling means under explicit assumptions
  9. Law of large numbers: what averaging can and cannot establish
  10. Central limit theorem, standard errors and confidence intervals
  11. Total expectation and total variance: within-regime and between-regime risk
  12. Markov, Chebyshev and Jensen: bounds without a full distribution
  13. Gauss–Markov theorem: what a regression hedge ratio guarantees
  14. Delta method: propagate estimator uncertainty through a smooth function
  15. Multiple testing and the union bound: account for the whole search
  16. Estimation uncertainty and Bayesian updating

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations