QTQuant Terminal
D1-02D1·intermediate·~19 min

White noise and random walks — the null model every strategy must beat

time-serieswhite-noiserandom-walkefficient-marketschart-patterns

▸ Pretest — guess, even if you don't know

A friend shows you a price chart with a clean uptrend, a double bottom, and a support level the price has bounced off three times. What can you conclude?

White noise: the sound of no structure

White noise is the simplest time series: ε1,ε2,\varepsilon_1, \varepsilon_2, \ldots iid with mean 0 and constant variance σ2\sigma^2. Its ACF (D1-01) is zero at every lag — a flat line inside the noise band. Why care about the most boring series imaginable? Because it is the null model: "there is no linear structure here at all." Every claim of predictability in returns is implicitly a claim that returns are not white noise, and D1-01's Fact 1 says that for the direction of returns, white noise is uncomfortably close to the truth.

Random walk: white noise, accumulated

A random walk is the running sum of white noise:

Pt=P0+i=1tεi,equivalentlyPt=Pt1+εtP_t = P_0 + \sum_{i=1}^{t} \varepsilon_i, \qquad \text{equivalently} \qquad P_t = P_{t-1} + \varepsilon_t

The two models are one differencing apart: summing white noise gives a random walk; taking first differences (np.diff) of a random walk gives back white noise. Map this onto markets and you get the working approximation of this whole track: prices behave like a random walk; returns behave like white noise. (For prices the sum is really of log returns, so the walk lives in log-price space — the compounding detail from B1.) The approximation is not exactly true — the deviations are the interesting part below — but it is shockingly close for liquid markets.

Why a random walk looks trendy

Here is the trap the pretest set. A walk is a running sum, so a lucky streak of positive shocks does not average away — it gets baked into the level and stays there until an equally lucky negative streak undoes it. Long excursions above or below the start are the norm, not the exception. Your eye reads those excursions as trends, the local extremes as support and resistance, and the pattern-hungry brain does the rest. None of it predicts the next step, because the next step is a fresh coin flip by construction.

This is the statistical backbone of chart-pattern skepticism: the burden of proof is on the pattern, and "it looks like it works on this chart" cannot meet that burden, because random walks look like that too.

Variance grows with time

Independent shocks add in variance (the A1-04 rule with zero covariance terms):

Var(PtP0)=tσ2,SD(PtP0)=σt\text{Var}(P_t - P_0) = t\,\sigma^2, \qquad \text{SD}(P_t - P_0) = \sigma\sqrt{t}

Three things fall out of this one line. First, the t\sqrt{t} is the same square-root-of-time scaling you used to annualize volatility in A2-02 — that convention silently assumes returns are uncorrelated, i.e. white noise. Second, forecast uncertainty grows without bound: a random walk has no anchor to revert to, so a 1-year-ahead price forecast is roughly 252\sqrt{252} times as uncertain as a 1-day-ahead one. Third, since PtP_t is a sum of many iid shocks, the CLT (A1-07) says its distribution is approximately normal even if individual shocks are not — though fat-tailed shocks converge slowly, so short-horizon returns stay visibly fat-tailed.

The testable implication — and where edges live

If prices were exactly a random walk, then no function of past prices — no moving average, no pattern, no indicator — could have positive expected profit before costs. That is a falsifiable claim, and researchers have tested it: Lo and MacKinlay's variance-ratio tests rejected the strict random walk for US stocks (historically, small positive autocorrelation in index returns; more structure in the cross-section). So the honest summary is: prices are approximately a random walk, and the deviations are small, unstable, and fight against costs.

That sentence is the job description of a quant. Volatility clustering (D1-01 Fact 2), weak momentum, mean reversion in spreads — every systematic edge is a specific, measured deviation from the random walk null. So the first question for any strategy pitch, including your own: which deviation from the random walk does this exploit, and what is the evidence that deviation exists? If there is no answer, the strategy is trading the patterns a coin flip makes.

Try it

Build a walk from its steps — the deterministic core of every simulation you will write in this track.

▮ EXERCISE · d1-02-ex1

Implement random_walk_from(increments): the walk that starts at 0.0 and then takes the given steps, so element t of the output is the sum of the first t increments. The output has length len(increments) + 1, and np.diff of the output recovers the increments exactly.

⧉ Review card
Define white noise and explain why it is THE null model for returns.
An iid sequence with mean 0 and constant variance — zero autocorrelation at every lag. It formalizes the claim there is no linear structure at all. Every predictability claim is a claim that returns deviate from white noise, so it is the baseline every strategy must beat.
⧉ Review card
How are white noise and a random walk related, and how do prices and returns map onto them?
A random walk is the cumulative sum of white noise; first-differencing a random walk gives back white noise. Prices behave approximately like a random walk (in log space); returns behave approximately like white noise.
⧉ Review card
How does the variance of a random walk grow with time, and what does that connect to?
Var of the change after t steps is t times sigma squared, so the standard deviation grows like root t. This is the same root-time rule used to annualize volatility, and it means price forecast uncertainty grows without bound — a random walk has no anchor.
⧉ Review card
Why does a random walk chart look trendy even though it is unpredictable?
The level is a running sum, so lucky streaks are preserved in the level rather than averaged away — long excursions, apparent trends, and support-like local extremes are typical. The eye reads structure into them, but the next step is still a fresh coin flip.
⧉ Review card
If prices were exactly a random walk, what follows for trading — and what is the honest empirical status?
No function of past prices alone could have positive expected profit. Empirically the strict random walk is rejected (variance-ratio tests), but the deviations — vol clustering, weak momentum, spread mean reversion — are small, unstable, and fight costs. Every real edge is one of these named deviations.

Explain it

Explain to a chart-reading friend, in plain words and no formulas, why the patterns on a cumulated-coin-flip chart look identical to the patterns on a stock chart — and what kind of evidence would actually distinguish a tradeable pattern from a coincidence. Say it out loud or write five sentences.

Predict before the next lesson

Next: stationarity and unit roots (D1-03). Before then, predict: you generate two independent random walks and regress one on the other with the tools from A2-06. What R-squared do you expect — and why might the answer be disturbing?

◈ Calibration check

Could you define white noise and a random walk, state how prices and returns map onto them, and derive why the variance of a walk grows linearly in time?

1 = guessing · 5 = could teach it

⏻ End of lesson

Mark it read to book its 5 review cards into your deck.

Sources & further reading