Skip to content
Finance Lessons

Bayesian Finance

Conjugate Priors & Sequential Updating

The Beta–Binomial conjugate prior made concrete: how a belief about a strategy's win rate updates trade-by-trade in closed form, why conjugacy is so convenient, and how a prior acts like pseudo-data.

10 min Updated Jun 6, 2026

In the last two lessons you learned the machinery of Bayes’ rule: a prior belief, a likelihood for the data, and a posterior that blends them. You also met the dirty secret of that machinery — the denominator. To normalise the posterior you must compute the marginal probability of the data, P(D)=P(Dθ)P(θ)dθP(D) = \int P(D \mid \theta)\,P(\theta)\,d\theta, and that integral is, in general, a nightmare. For most prior-likelihood pairs you reach for numerical integration or MCMC and call it a day.

But there’s a small, beautiful corner of the Bayesian world where the integral evaporates — where updating is so cheap you can do it in your head, trade by trade, as the data streams in. That corner is conjugacy, and its poster child is the question every quant secretly cares about: what is my strategy’s true win rate, and how should each new trade nudge my belief? This lesson is about answering that in closed form, with nothing harder than addition.

Before you read — take a guess

You believe your strategy wins about 60% of trades. You then watch it win 7 of its next 10. In a Bayesian update, what happens to your belief about the win rate?

The problem: estimating a probability from a stream of wins and losses

The setup. You have a strategy. Each trade is, to a first approximation, a coin flip with some unknown true win probability pp — win with probability pp, lose with probability 1p1 - p. You want to estimate pp, and you want to do it as the trades happen, updating your belief after every single one rather than waiting for a giant batch.

The naive answer is the sample frequency: 7 wins out of 10 means p^=0.70\hat{p} = 0.70. But after only 10 trades that estimate is wildly unstable — flip two losses to wins and it jumps to 0.90. A frequency throws away two things you actually have: any prior knowledge (“most edges are small, near 50%”), and any honest measure of how uncertain you still are. The Bayesian approach keeps both.

Why the integral is the obstacle. Each trade is a Bernoulli draw, and a batch of nn trades with ss wins is Binomial. The likelihood of seeing ss wins in nn trades is ps(1p)nsp^{s}(1-p)^{n-s} (times a counting constant). To turn a prior on pp into a posterior, Bayes demands you divide by 01ps(1p)nsP(p)dp\int_0^1 p^{s}(1-p)^{n-s}\,P(p)\,dp. For an arbitrary prior that’s an integral you’d rather not do by hand after every trade. Conjugacy is the trick that makes it free.

Conjugate priors: when the posterior stays in the family

Analogy. Think of a prior as a shape of clay and the data as hands that press on it. For most clays, pressing produces an unpredictable new blob you have to re-measure from scratch. A conjugate clay is special: after you press it, it’s still recognisably the same kind of shape — same family, just new dimensions. You don’t re-derive anything; you read off the new parameters.

Definition. A prior is conjugate to a likelihood if the resulting posterior belongs to the same distributional family as the prior. The family is closed under Bayesian updating. When that holds, the scary normalising integral is guaranteed to work out to whatever constant keeps the known family a valid distribution — so you never compute it explicitly. You just update the parameters.

For a Bernoulli/Binomial likelihood, the conjugate prior is the Beta distribution. Beta priors go in, Beta posteriors come out, forever. That’s the whole reason the Beta–Binomial pair is the first conjugate model everyone learns.

The Beta distribution, defined

The Beta distribution, written Beta(α,β)\text{Beta}(\alpha, \beta), is a probability distribution over probabilities: its support is the interval [0,1][0, 1], exactly the range a win rate pp can live in. It has two positive shape parameters, α\alpha and β\beta, and its mean is

E[p]=αα+β.\mathbb{E}[p] = \frac{\alpha}{\alpha + \beta}.

The intuition that makes everything click: α\alpha behaves like a count of prior successes and β\beta like a count of prior failures. More precisely α(prior wins)+1\alpha \approx (\text{prior wins}) + 1 and β(prior losses)+1\beta \approx (\text{prior losses}) + 1, but the “plus one” is a technicality — the mood is “alpha is wins, beta is losses.” A Beta whose α\alpha and β\beta are both large is a confident belief (a tall, narrow peak); one where both are small is vague (a wide, flat smear).

The flat special case is worth memorising: Beta(1,1)\text{Beta}(1, 1) is the uniform distribution on [0,1][0, 1] — every win rate from 0 to 1 equally plausible, a perfect “I know nothing” prior. Its mean is 1/(1+1)=0.51/(1+1) = 0.5, dead centre.

Info:

A distribution over a probability

Beta is meta: it doesn’t model a return or a price, it models your uncertainty about a probability itself. The x-axis is “possible values of the win rate p,” and the curve’s height says how plausible each one is. As data arrives, the curve marches toward the truth and sharpens — that motion is learning.

The update rule: just add the counts

Here is the payoff, and it is almost suspiciously simple. Start with a prior Beta(α,β)\text{Beta}(\alpha, \beta). Observe ss successes (wins) and ff failures (losses). The posterior is:

Beta(α,β)  s wins,f losses  Beta(α+s,β+f).\text{Beta}(\alpha,\beta)\xrightarrow{\;s\text{ wins},\,f\text{ losses}\;}\text{Beta}(\alpha+s,\beta+f).

That’s it. Add the wins to α\alpha, add the losses to β\beta. No integral, no normalising constant, no MCMC. The conjugacy guarantee did the calculus for you in advance, once, forever. This is why people who fit Bayesian win rates do it with a pencil while everyone else spins up a sampler.

Sequential updating — the property that makes this magic. Because the posterior is itself a Beta, you can feed it the next observation as if it were a fresh prior. Today’s posterior is tomorrow’s prior. Three consequences fall out for free:

  • One-at-a-time equals all-at-once. Updating after each of 10 trades, or once with the batch of 10, lands on the identical posterior. Adding 1 to α\alpha ten times equals adding 10 once.
  • Order doesn’t matter. WLWWL or LWWLW — same final Beta\text{Beta}, because addition is commutative. The data is just two running tallies: total wins, total losses.
  • It’s an online algorithm. You hold two numbers in memory and increment them as trades print. No re-reading history, no growing dataset. Perfect for a live strategy.
Info:

Today's posterior is tomorrow's prior

This is the slogan of sequential Bayesian updating. Each new trade transforms your belief, and that transformed belief is the starting point for the next trade. There is no “final” posterior — only the current one, which is always exactly the prior plus every win and loss you’ve seen, summed.

The chart below is the lesson in motion. It plots your current Beta\text{Beta} belief about the win rate, with a posterior-mean line and a 90% credible band. Click +Win and +Loss to feed it single trades and watch the curve sharpen and slide toward the data; hit +10 to dump a batch and feel how fast a stack of evidence narrows the peak. Then play with the prior: set a flat Beta(1,1)\text{Beta}(1,1) with the sliders and notice how quickly even a few trades take over, versus a strong informative prior that stubbornly resists. The whole intuition of “data eventually dominates the prior” is one slider-drag away.

Updating a win-rate belief, trade by tradePosterior mean: 50.0%
Posterior belief90% credible bandPosterior mean
Plausibility density00.51
Wins observed
0
Losses observed
0
Posterior mean
50.0%
90% credible interval
2.5%97.5%

The curve is your belief about the strategy's true win rate. Each Win adds 1 to alpha; each Loss adds 1 to beta. Watch the peak sharpen as observations pile up, and the 90% credible band narrow. Start from a flat Beta(1,1) prior and a few trades shift it dramatically; start from a strong prior and the same trades barely move it — that contrast is the heart of conjugate updating.

A prior is pseudo-data

Once you internalise ”α\alpha is wins, β\beta is losses,” a lovely interpretation appears: a prior is just data you pretend you already saw.

A Beta(8,2)\text{Beta}(8, 2) prior is as if you’d already watched 8 wins and 2 losses before the real trades began — an informative prior “worth” about 10 fake trades, centred on a mean of 8/10=0.88/10 = 0.8. When real data arrives, it competes with those 10 pseudo-observations on equal footing. Ten real trades will roughly match the prior’s weight; a hundred real trades will swamp it.

Contrast the flat Beta(1,1)\text{Beta}(1, 1): it’s worth almost nothing (a single pseudo-win and a single pseudo-loss). Real data overwhelms it almost immediately, which is exactly why a flat prior lets the sample frequency shine through fast. The strength of a Beta prior is literally measured by α+β\alpha + \beta — its pseudo-count or “concentration.” Big sum, stubborn prior; small sum, pushover prior.

Fill in the vocabulary of conjugate Beta–Binomial updating.

Pick the right option for each blank, then check.

A prior is to a likelihood when the stays in the same distributional family. For a Bernoulli or Binomial likelihood, that family is the distribution. Starting from Beta(alpha, beta) and observing s wins and f losses, the posterior is Beta(). The strength of the prior — how much real data it takes to overrule it — is measured by , because the prior acts like that many pieces of .

Worked example: a flat prior meets the data

Let’s grind the arithmetic. You start agnostic — flat prior Beta(1,1)\text{Beta}(1, 1) — and observe 7 wins and 3 losses over 10 trades.

The update. Add the counts: α=1+7=8\alpha = 1 + 7 = 8 and β=1+3=4\beta = 1 + 3 = 4. Posterior is Beta(8,4)\text{Beta}(8, 4).

The posterior mean.

E[p]=αα+β=88+4=8120.667.\mathbb{E}[p] = \frac{\alpha}{\alpha + \beta} = \frac{8}{8 + 4} = \frac{8}{12} \approx 0.667.

So your best point estimate of the win rate is about 66.7%. Compare that to the naive frequency, 7/10=0.707/10 = 0.70. The prior pulled the estimate down, toward its own mean of 0.5 — by a little, because a flat prior is weak (pseudo-count just 2 against 10 real trades). The compromise sits much closer to the data than to the prior, which is exactly what a weak prior should do.

Worked example: a skeptical prior updates less

Now suppose you’re a hardened skeptic who doubts edges exist — you believe win rates cluster around 50%, and you’re moderately confident about it. Encode that as Beta(5,5)\text{Beta}(5, 5): mean 5/10=0.55/10 = 0.5, with a pseudo-count of 10 (worth ten fake trades evenly split).

Feed it the same 7 wins, 3 losses:

Beta(5,5)  7 wins,3 losses  Beta(5+7,  5+3)=Beta(12,8).\text{Beta}(5, 5) \xrightarrow{\;7\text{ wins},\,3\text{ losses}\;} \text{Beta}(5 + 7,\; 5 + 3) = \text{Beta}(12, 8).

Posterior mean: 12/(12+8)=12/20=0.6012/(12+8) = 12/20 = 0.60, i.e. 60%.

The same data moved the skeptic only from 0.50 to 0.60 — a 10-point shift — whereas it moved the agnostic from 0.50 to 0.667, a 16.7-point shift. The skeptic’s prior carried 10 pseudo-trades, so the 10 real trades had to share influence fifty-fifty; the agnostic’s prior carried almost nothing, so the data ran the show. Stronger prior, smaller update. Here it is side by side:

EstimatorPriorPrior meanAfter 7W / 3LPosterior mean
Naive frequencynone7/10 = 0.700
Flat (agnostic)Beta(1, 1)0.500Beta(8, 4)8/12 ≈ 0.667
SkepticalBeta(5, 5)0.500Beta(12, 8)12/20 = 0.600

Same ten trades, three different conclusions — and the difference is entirely the prior’s pseudo-weight. The naive frequency is just the limiting case of a prior with zero weight.

You hold a prior of Beta(3, 7) on a coin's probability of heads, then flip it and see 12 heads and 8 tails. What is the posterior, and its mean?

Two analysts study the same strategy with the same data. Aïsha uses a flat Beta(1, 1) prior; Ben uses a strong Beta(40, 40) prior centred on no-edge. After 12 wins and 8 losses, whose posterior mean ends up closer to the raw frequency of 0.60, and why?

The posterior mean is a shrinkage estimator

Step back and notice what the posterior mean is: a weighted average of the prior mean and the sample frequency. Write the prior pseudo-count as α+β\alpha + \beta and the data as ss wins in n=s+fn = s + f trades. Then

α+sα+β+nposterior mean=α+βα+β+nweight on priorαα+βprior mean  +  nα+β+nweight on datasnsample frequency.\underbrace{\frac{\alpha + s}{\alpha + \beta + n}}_{\text{posterior mean}} = \underbrace{\frac{\alpha + \beta}{\alpha + \beta + n}}_{\text{weight on prior}}\cdot\underbrace{\frac{\alpha}{\alpha + \beta}}_{\text{prior mean}} \;+\; \underbrace{\frac{n}{\alpha + \beta + n}}_{\text{weight on data}}\cdot\underbrace{\frac{s}{n}}_{\text{sample frequency}}.

The posterior mean shrinks the noisy sample frequency toward the prior mean, and the weights are exactly the two pseudo-counts. When nn is tiny the prior dominates; as nn \to \infty the data wins and the posterior mean converges to the truth. This is your first taste of shrinkage — pulling a wild estimate toward a sensible anchor to reduce its variance — which lesson 5 develops in full. The prior is, quite literally, the anchor.

And the uncertainty shrinks too. The posterior’s 90% credible interval — the range that holds 90% of the belief’s probability — is wide when α+β\alpha + \beta is small and narrows as trades accumulate. After 10 trades it’s embarrassingly wide; after 1,000 it’s a sliver. (Lesson 6 makes credible intervals precise; for now, just watch the band in the chart contract as you feed it data.)

Warning:

Pitfall: a point estimate hides the uncertainty

A posterior mean of 0.667 after 10 trades is not “the win rate is 66.7%.” The posterior is still a fat curve — its 90% credible interval might run from roughly 0.4 to 0.85. Reporting only the mean throws away the very thing Bayes gave you: an honest measure of how little you actually know. Always carry the spread, especially with small samples.

Misconceptions to avoid

  • “The prior never washes out.” False. With enough data the prior’s fixed pseudo-count is overwhelmed by the growing nn, and the posterior converges to the truth regardless of where you started (as long as the prior didn’t assign zero probability to the true value). A reasonable prior is training wheels, not a permanent bias.
  • “Use the strongest prior you can to be confident.” Dangerous. A Beta(500,500)\text{Beta}(500, 500) “no-edge” prior will ignore hundreds of genuine winning trades and keep insisting the strategy is a coin flip. An over-strong prior isn’t rigour — it’s stubbornness that refuses to learn. Match the prior’s strength to how much you actually know.
  • “Ten trades pinned the win rate.” No. Small samples give wide posteriors. Treating a 10-trade mean as a settled fact is how people deploy capital on noise. The whole point of the Beta is that it shows you the remaining uncertainty — don’t discard it.
  • “Order or batching changes the answer.” It doesn’t. Sequential and batch updates, in any order, reach the identical posterior. If your two computations disagree, you made an arithmetic error.

Match each conjugate-updating term to its precise description.

Pick a term, then click its definition.

When conjugacy is the right tool

Reach for the Beta–Binomial conjugate model when the situation fits its shape:

  • Fast online updating. A live strategy printing trades, where you want to revise your win-rate belief instantly after each result without re-running anything heavy. Two counters, incremented — that’s the entire implementation.
  • Limited data. When you have few observations, the prior’s regularising pull genuinely helps: it stabilises an estimate that the raw frequency would let swing wildly. Conjugacy makes that principled and cheap.
  • A/B-style yes/no questions. Win-or-lose, click-or-no-click, convert-or-bounce, up-tick-or-down-tick — any binary outcome with an unknown rate is a textbook Beta–Binomial problem.

And know its limits. Conjugacy only buys you the closed form for matching prior-likelihood pairs, and most real questions don’t reduce to Bernoulli trials. Trade returns are continuous and roughly bell-shaped, not wins and losses — modelling their mean calls for a different conjugate pair, the Normal–Normal, which is exactly where lesson 4 goes next. When no conjugate prior fits your likelihood at all, you’re back to numerical methods (MCMC), the topic of the lessons after that. Conjugacy is a gift; it’s just not a universal one.

Putting it together

The Beta–Binomial conjugate model turns Bayesian win-rate estimation into arithmetic. A Beta(α,β)\text{Beta}(\alpha, \beta) prior — a distribution over the probability pp, with mean α/(α+β)\alpha/(\alpha+\beta) and α\alpha acting like prior wins, β\beta like prior losses — meets Bernoulli/Binomial data and produces a posterior in the same family, so the dreaded marginal integral never appears. The update is pure addition: Beta(α+s,β+f)\text{Beta}(\alpha + s, \beta + f). Updates compose — today’s posterior is tomorrow’s prior, order-free, batch-or-stream identical — which makes it a perfect online learner. The prior is pseudo-data with weight α+β\alpha + \beta: weak priors (like the flat Beta(1,1)\text{Beta}(1,1)) let data take over fast, strong priors resist. The posterior mean is a shrinkage estimator, a weighted average of prior mean and sample frequency, and its credible interval narrows as evidence piles up. Use it for fast, small-data, binary-outcome questions — and switch to Normal–Normal when the data is continuous returns rather than wins and losses.

Big picture

Conjugate priors & sequential updating — the whole picture

  • Beta–Binomial conjugacy
    • The problem
      • Estimate a win rate p from a stream of wins/losses
      • Bayes needs the marginal P(D) — an integral
      • Naive frequency throws away prior + uncertainty
    • Conjugate prior
      • Posterior stays in the prior's family
      • Beta is conjugate to Bernoulli/Binomial
      • The scary integral evaporates
    • Beta(alpha, beta)
      • A distribution over a probability, support 0 to 1
      • Mean = alpha / (alpha + beta)
      • alpha ≈ prior wins, beta ≈ prior losses
      • Beta(1, 1) = flat / uniform prior
    • The update rule
      • Beta(alpha + s, beta + f): add the counts
      • Today's posterior = tomorrow's prior
      • Order-free; batch = one-at-a-time
    • Prior as pseudo-data
      • Weight = alpha + beta (pseudo-count)
      • Beta(1, 1) weak → data dominates fast
      • Beta(5, 5) skeptic → smaller update
    • Worked numbers
      • Flat + 7W/3L → Beta(8, 4), mean 0.667
      • Skeptic + 7W/3L → Beta(12, 8), mean 0.60
      • Naive frequency = 0.70
    • Cautions & next
      • Prior washes out with enough data
      • Posterior mean = shrinkage (lesson 5)
      • Returns aren't Bernoulli → Normal–Normal (lesson 4)
Beta is conjugate to Bernoulli/Binomial, so updating a win-rate belief is just adding wins to alpha and losses to beta — composable, order-free, and interpretable as a prior made of pseudo-data.

Recap: conjugate priors & sequential updating

Question 1 of 40 correct

What does it mean for the Beta distribution to be the conjugate prior for a Binomial likelihood?

Check your answer to continue.

Next up — The Normal–Normal conjugate model — we leave the world of wins and losses and tackle the quantity you actually trade on: a continuous return. When you put a Normal prior on an unknown mean return and observe Normally-distributed data, the posterior is again Normal in closed form, and its mean turns out to be a precision-weighted blend of prior and data — the very same shrinkage idea you just met, now for the bell curve.

Mark lesson as complete