Free lesson · Stochastic calc
Before Itô: random walks, Brownian motion and information
Open interactive lessonPractice calculationsExplore labs
Start with the idea
- For standard Brownian motion, uncertainty grows with the length of the interval. Variance grows in proportion to time; standard deviation grows with its square root.
Symbols, units & horizon
- W_t: standard Brownian value at time t
- h: time-step duration
- ΔW_k: Brownian increment over step k
- Z_k: independent standard normal draw
- N(0,1): normal distribution with zero mean and unit variance
- n: number of steps
- T=nh: elapsed time
- Var: variance
- SD: standard deviation, the square root of variance
- W has square-root-time units and Z is dimensionless
- 𝓕_t: information available through t
- ∼: distributed according to
When and why to use this
Use increment scaling and information timing before interpreting any diffusion simulation. This prepares the GBM, Itô and stochastic-volatility lessons that follow.
Start here · the same idea in everyday words
| Technical term | Everyday meaning | Concrete example |
|---|---|---|
| Stochastic | Containing randomness. | A random-walk update includes a newly sampled shock. |
| Increment | A change over one interval. | The difference between a process at the start and end of a quarter-year interval is its increment. |
| Non-anticipating | Using only information available before the next unknown outcome. | Choose an exposure before seeing the next price shock. |
Unpack a technical sentence
Technical wording: Brownian increments have variance proportional to elapsed time.
Read it as: For standard Brownian motion, uncertainty grows with the length of the interval. Variance grows in proportion to time; standard deviation grows with its square root.
A slower worked example · one step at a time
- Measure time in years. Standard Brownian motion has increments with mean zero and variance equal to the elapsed years. Its increment unit is the square root of a year.
- Over a quarter year, the increment variance is .25 years, and its standard deviation is the square root of .25, or .5 square-root-years.
- A standard normal draw comes from a bell-shaped distribution with mean zero and standard deviation one. Multiply that draw by .5 to simulate an increment over this interval. A draw of −1 gives −.5; a draw of +1 gives +.5. These two selected draws illustrate scaling, not the whole normal distribution.
- Two independent quarter-year increments have total variance .25+.25=.5 years. The total standard deviation is the square root of .5, about .707107, not .5+.5=1.
- A Brownian increment is not itself a dollar price move. A price model must specify how it scales and uses that shock.
Self-assessed: Why does doubling elapsed time not double Brownian standard deviation?
Variance doubles for independent increments. Standard deviation is the square root of variance, so it increases by the square root of two.
Suggested preparation: ordinary derivatives, integrals, partial derivatives, and probability.
- Standard Brownian motion starts at zero, has independent Gaussian increments, and an increment over length h has mean zero and variance h.
- Its typical scale is therefore √h, not h.
- The paths are almost surely nowhere differentiable; ordinary velocity intuition fails.
- A filtration is the information available through time.
- An adapted process uses current and past information, and an Itô trading integrand must satisfy the relevant non-anticipation and integrability requirements.
- This is a mathematical version of not trading on future shocks.
Before Itô: random walks, Brownian motion and information
- Multiplying a unit-variance Z by √h gives variance h, since variance scales by the square of the multiplier.
- Independent increments have additive variances. Summing n increments therefore gives variance nh=T and mean zero.
- If you used hZ instead, the total variance would be nh²=Th, which tends to zero as the grid is refined. That scaling would remove the intended randomness.
With T=1 and n=100, each increment has SD .1 and variance .01. The sum has variance 1 and SD 1, not SD 10.
Architecture pseudocode
from random import Random
from math import sqrt
def brownian_path(horizon,steps,seed=7):
if horizon<0 or not isinstance(steps,int) or steps<1: raise ValueError("Valid horizon and positive steps required")
rng=Random(seed)
h=horizon/steps
path=[0.0]
for _ in range(steps): path.append(path[-1]+sqrt(h)*rng.gauss(0,1))
return path
print(brownian_path(1,4))
# 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 {
"sd_quarter": .25**.5,
"negative_draw": (.25**.5)*(-1),
"combined_variance": .25+.25,
"combined_sd": (.25+.25)**.5,
}
print(plain_language_example())An analogy to remember
Many tiny, independent pushes can accumulate into a persistent random displacement even as each individual push gets smaller. Their variances add; their signed values do not all push in the same direction.
How this becomes a building block
Brownian increments are a noise component inside a diffusion model. Adding a drift and state-dependent scale produces an SDE. A random walk is not itself a complete market model; jumps, microstructure and changing volatility may require other assumptions.
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.
from random import Random
from math import sqrt
def brownian_path(horizon,steps,seed=7):
if horizon<0 or not isinstance(steps,int) or steps<1: raise ValueError("Valid horizon and positive steps required")
rng=Random(seed)
h=horizon/steps
path=[0.0]
for _ in range(steps): path.append(path[-1]+sqrt(h)*rng.gauss(0,1))
return path
print(brownian_path(1,4))
# 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 {
"sd_quarter": .25**.5,
"negative_draw": (.25**.5)*(-1),
"combined_variance": .25+.25,
"combined_sd": (.25+.25)**.5,
}
print(plain_language_example())Continue learning
Stochastic Calculus — all lessons- Start with one random step before continuous noise
- Before Itô: random walks, Brownian motion and information
- Itô integration and quadratic variation
- SDEs, Euler–Maruyama and an Ornstein–Uhlenbeck example
- Geometric Brownian motion: the model under Black–Scholes
- Itô's lemma: why gamma exists
- Black–Scholes and delta hedging in production
- Put–call parity and a full Greek P&L budget
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations