Methodology

How we derive interest rate probabilities and assess central bank policy stance

Technical framework for market-implied policy probability extraction and normative rate benchmarking

Our Methodology: A Joint Least-Squares Bootstrap

How Central Bank Watch actually calculates the probabilities shown on this site today — and why we moved beyond the single-meeting CME approach described later on this page

Day-weighted, sparsity-regularized least-squares recovery of the policy-rate step function from the entire available futures curve, generalizing both the classical single-meeting CME decomposition and this project's own quarterly (Bank of Japan) bootstrap to every monthly-contract central bank we cover

In one sentence: instead of solving each meeting in isolation from its one or two closest neighboring futures contracts — the classic approach, explained in full further down this page — we solve for every upcoming meeting's implied rate step simultaneously, from every futures contract available on the curve, with a built-in preference for the smallest number of real rate changes that explains what the market is actually pricing. This turns out to matter a great deal whenever meetings cluster close together.

Why we changed how we do this

Every central bank page on this site shows the probability of a rate hike, cut, or hold at each upcoming meeting. Those probabilities are extracted from interest rate futures prices — real money staked by professional traders on where policy rates are headed. But turning a handful of monthly futures prices into a probability for one specific meeting date has always required a model, because a futures contract doesn't say "the March 19 meeting has a 60% chance of a hike." It says something more indirect: "the average overnight rate in March is expected to be X%." Something has to translate that monthly average into a meeting-by-meeting story.

For a long time, we used the classic technique described in detail further down this page: solve one meeting at a time, using only the futures contract for that meeting's own month and its immediate neighboring month. It is simple, transparent, and it is the industry-standard approach for exactly those reasons — it is, in fact, the same approach the official CME FedWatch Tool uses for the Federal Reserve.

While investigating an implausible-looking 100% hike probability we found on the ECB page in mid-2026, we discovered that this simple, one-meeting-at-a-time approach has a real structural weak spot: it can go badly wrong whenever two or more meetings fall in consecutive calendar months with no "quiet" (no-meeting) month in between them to anchor the calculation. When that happens, the classic method has nothing solid to lean on for that stretch, and small, entirely ordinary wobbles in real market prices get amplified into large, implausible swings.

A concrete example: why the old method broke

The Bank of England, July–September 2026: the BoE's Monetary Policy Committee met on July 30, August 6, and September 17 — three real-world meetings in three consecutive calendar months, with no clean gap between any of them.

What the real futures curve showed: SONIA futures prices fell smoothly and steadily across this whole period — a modest, unremarkable, monotonically rising path for expected rates. Nothing in the raw data suggested a rate cut was ever remotely on the table.

What the old method produced anyway: because August had no clean neighboring month to anchor to, the calculation had to solve backward through a chain of estimates, and it briefly implied a small (roughly 9–12%) probability of a rate cut at the August meeting — squarely contradicting a curve that was rising in rate the entire time. Separately, for the European Central Bank's October 29 meeting, the same class of local method used a division by an unusually small number of days (the meeting fell just 3 days before month-end) and turned a genuinely modest month-to-month drift into a fabricated implied price — one that had never actually been quoted anywhere on the real curve — producing a false 100% hike reading.

The fix: solving for all of the BoE's (and the ECB's, and the Fed's) upcoming meetings simultaneously, from the entire available curve at once, removes this failure mode. The spurious BoE cut collapsed to under 1% (noise-floor territory) and the ECB's false 100% became a considerably more measured, and considerably more defensible, 63–72%.

Why a meeting near month-end causes trouble: the arithmetic in numbers

The ECB case above is worth walking through in actual numbers, because the mechanism is simple once you see it laid out.

The ECB met on October 29 — day 29 of a 31-day month. That leaves only 3 days remaining in October after the meeting, versus 28 days before it.

The old, single-meeting method works backward from two known numbers:

  • The rate level carried over from the previous month: ≈2.32%
  • October's own quoted average rate for the whole month: 2.36% — just 4 basis points higher, an entirely unremarkable, routine difference

To make October's month-long average come out to 2.36%, when 28 of its 31 days are still sitting at the old 2.32% level, the remaining 3 days have to do all the work of pulling the average up. Solving for those 3 days means dividing the gap by 3 out of 31 days — equivalently, multiplying the original 4bp difference by roughly 28÷3 ≈ 9.3 times:

2.32% + 9.3 × (2.36% − 2.32%) = 2.32% + 9.3 × 0.04% ≈ 2.74%

The method concludes that the market must be pricing a post-meeting rate of about 2.74% — an implied jump of roughly 40+ basis points, well over a full 25bp hike. But a rate of 2.74% was never quoted anywhere on the real futures curve that day (real quotes that entire period ranged between about 2.19% and 2.49%). It is purely an artifact of having only 3 days of "runway" to absorb a routine 4bp difference — the same 4bp gap falling in the middle of a month, with 15 days on each side instead of 28-versus-3, would have barely moved the answer at all.

This is exactly why solving every meeting jointly from the whole curve, rather than one meeting at a time from its immediate neighbors, removes the problem: no single meeting's estimate ever again depends on dividing by as few as 3 days.

How the new method works, in plain language

Rather than solving one meeting in isolation and hoping its neighboring months cooperate, our current approach looks at the entire curve of available futures prices — for a bank like the ECB or BoE, that is roughly two years of monthly futures contracts — all at once, and asks a single question: what is the simplest pattern of a handful of rate changes, occurring exactly on the real scheduled meeting dates, that would make every one of these prices come out right, together?

This is a subtle but consequential shift in framing. Instead of asking "given just this one month's price and its neighbor, what happened at this one meeting?", we ask "given all the prices on the curve, what's the smallest number of real, meaningful rate changes — on the real meeting dates — that explains everything we observe?" Central banks genuinely do not change rates at every meeting; they hold steady far more often than they move. We build that expectation directly into the model as a mathematical preference (formally, a sparsity prior): it actively favors an explanation with a few clear, meaningful rate changes over one that scatters many small, spurious wiggles across every meeting date just to fit the data slightly better. A single implausible contract price, or a thin patch of the curve with no clean anchor nearby, no longer has the power to distort the answer, because it is now just one of dozens of pieces of evidence being weighed together rather than the only input available.

This is, in fact, the very same technique — and the very same underlying code — we had already built and used for the Bank of Japan, whose futures contracts span three months at a time rather than one, so a single-meeting method was never going to work there to begin with. We have now extended that same joint approach to the Federal Reserve, the European Central Bank, and the Bank of England as well, so all four of our futures-based central banks are treated with one consistent, more robust methodology.

Why we didn't just smooth the curve instead

A natural-sounding alternative — and one we seriously considered and researched before rejecting — is to fit a smooth curve through the futures prices (a technique called Nelson-Siegel-Svensson, or NSS, which this site already uses elsewhere for genuine bond yield curves) and read probabilities off that smooth curve instead.

We decided against it, for a simple reason: a central bank's policy rate is not smooth. It sits at exactly one level between meetings and jumps — by a discrete amount, on an exact, publicly scheduled date — only when the committee votes to move it. It behaves like a staircase, not a ramp. Fitting a smooth curve through staircase data does not recover the staircase; it produces something that looks like a gentle slope, quietly distributing each real step's height across the days and weeks around it. That is exactly the wrong property for what we are trying to measure: we need to know how much of the expected move belongs to this specific meeting, not a plausible-looking blend spread across several dates. A smoothing model would systematically understate our confidence about what happens exactly at each meeting, while manufacturing a false sense of continuous, gradual drift on all the ordinary days when nothing is scheduled to happen at all.

Our joint least-squares approach gets the best of both instincts. Like curve-smoothing, it uses the whole curve — dozens of contracts — at once, rather than just one meeting's immediate neighbors. But unlike curve-smoothing, it never gives up the constraint that actually matches reality: rates are constant between meetings and jump only on meeting dates. It is a smarter way to use all the data, not a different assumption about how central banks behave.

How we check our own work

Two safeguards run automatically, every day, alongside this calculation:

  • A goodness-of-fit gate. After solving for the simplest explanation of the curve, we measure how well that explanation actually matches every individual contract price. If the fit is poor beyond a set tolerance — a sign the curve doesn't cleanly decompose into a small number of meeting-driven steps that day — we withhold the affected probabilities entirely rather than publish a number we don't trust. You will see this on the Bank of Japan page as "withheld" whenever its quarterly-contract fit degrades.
  • An independent cross-check. For the ECB and BoE specifically, the 1-month futures contracts we rely on for calculation don't report trading volume on the free data feed we use, so we can't directly confirm their liquidity. We address this by separately scraping the 3-month futures for the same underlying rates (which do report real trading volume) and checking that the two curves are shaped consistently. When they disagree, we surface a caveat on the site rather than silently trusting the thinner instrument.

Both of these are described in more technical detail in the expert view below.

Formal setup

For a given central bank, let \(c_1, \ldots, c_N\) be the available futures contracts on the curve (typically 20-60 monthly contracts spanning up to several years forward), each with a known window \([s_k, e_k)\) and an implied rate \(F_k\) (100 minus the quoted price). Let \(m_1 < m_2 < \cdots < m_J\) be the upcoming meeting dates falling within the curve's coverage, and \(\delta_j\) the (unknown) rate step at meeting \(j\), expressed as a signed multiple of the standard move size (25bp).

Each contract's day-weighted exposure to each meeting is captured in a design matrix \(A\), where:

$$A_{kj} = \frac{\max\bigl(0,\; e_k - \max(m_j,\, s_k)\bigr)}{e_k - s_k}$$

(the numerator is the number of days of window \(k\) falling after meeting \(j\); the denominator is the window's total length)

i.e. the fraction of contract \(k\)'s window that falls after meeting \(j\) — exactly 0 if the meeting is after the window closes, exactly 1 if the meeting is before the window opens, and a fraction in between if the meeting falls inside the window. With \(b_k = F_k - R_0\) (implied rate minus the current baseline money-market rate), the system \(A\,\delta = b\) expresses every contract's implied rate as the day-weighted cumulative sum of whichever meeting-steps fall before it.

Regularized solve

With \(N \gg J\) (far more contracts than unknown meeting steps), the system is heavily over-determined, which is precisely the point: instead of solving a small, exactly-determined 2-equation system per meeting (the classical approach), we solve one large, redundant system covering the whole curve. We minimize:

$$\min_{\delta} \left\| A\delta - b \right\|_2^2 + \lambda \left\| \delta \right\|_1$$

The \(\ell_1\) penalty is the sparsity prior described above — it is solved via iteratively reweighted least squares (IRLS): each pass reweights the penalty by \(1/(|\delta_j| + \epsilon)\), so small, spurious steps are driven toward zero across iterations while genuine, well-supported moves survive. This is a standard convex-relaxation approach to sparse recovery (compressed-sensing style \(\ell_1\) minimization), chosen here specifically because central banks provably do move at only a small fraction of their scheduled meetings — the prior is not an arbitrary smoothing choice, it directly encodes a true, well-documented property of the process being modeled.

Relationship to the classical CME/PyFedWatch decomposition

The two methods are not unrelated — the joint bootstrap is best understood as a generalization, not a replacement of a different idea. The classical method (Section 1 below) is exactly the special case of solving the same underlying day-weighted system with only the two immediately adjacent contracts and one unknown step at a time, sequentially, propagating each solved boundary into the next. That local 2-equation-2-unknown solve is exact when a clean neighboring "no meeting" month is available (its own quoted price directly gives the required boundary condition, no inversion needed) — and this is in fact also true of our implementation's fallback path when only one meeting needs solving in isolation. The local method's fragility appears specifically when no such clean neighbor exists and it must invert a two-segment day-count identity, dividing by however many days happen to fall on one side of the meeting within that single month — a division that becomes numerically unstable whenever a meeting falls very close to a month boundary (see the worked example above; we measured amplification factors of 6-15x on real 2026 contract data for Fed, ECB, and BoE meetings falling within a week of month-end). Solving jointly across the full curve replaces that single, possibly poorly-conditioned local equation with dozens of well-conditioned redundant ones, which is why the failure mode disappears.

Why we rejected a Nelson-Siegel-Svensson smoothing approach

Nelson-Siegel-Svensson models the instantaneous forward rate as a smooth, infinitely differentiable parametric function of maturity — the standard, well-justified approach for fitting a genuine term structure of yields across heterogeneous maturities, where the underlying object (market-clearing yields, reflecting duration and credit risk that vary continuously with maturity) really is smooth. This site uses exactly that model elsewhere, for actual government bond yield curves (see our Nelson-Siegel-Svensson page), where it is the right tool for the right object.

The object we are estimating here — a central bank's overnight policy rate path — is not smooth by construction: it is provably piecewise-constant, changing only at discrete, pre-scheduled (or occasionally emergency) meeting dates, and otherwise perfectly flat. Imposing a smooth functional form on a target that is known a priori to be a step function is a misspecified model, not a stylistic preference, and it has two concrete, undesirable consequences for this specific use case:

  1. Bias in timing attribution. A smooth fit necessarily spreads a real, discrete step across the neighboring region of the curve rather than concentrating it at the true jump date, because a smooth function has no mechanism for representing a genuine discontinuity — by definition, at the meeting date itself, the first derivative would need to be undefined (a delta-function-like spike) for the fit to be exact, and NSS's four-to-six-parameter functional form cannot represent that.
  2. Ill-posed "day-exact" probability extraction. Extracting a specific meeting's rate-change probability from a smooth curve requires deciding how to attribute a continuous slope to a discrete date — there is no principled, parameter-free way to do this that doesn't reintroduce some version of the very meeting-attribution problem the model was meant to solve, and any such attribution rule would itself need calibrating and justifying, adding complexity without a compensating gain in accuracy.

Our joint least-squares bootstrap was chosen specifically because it captures the genuine benefit that motivated the "use a smooth curve" instinct — using the whole curve's information simultaneously rather than two adjacent points — without discarding the one modeling assumption (piecewise-constant, meeting-date jumps) that is actually true of the target and that the entire probability extraction depends on.

Goodness-of-fit gate and no-invented-data policy

After solving, we compute the root-mean-square residual per contract equation, \(\text{RMS} = \sqrt{\frac{1}{N}\sum_k (A\delta - b)_k^2}\), rather than a raw \(\ell_2\) norm, specifically so the same tolerance threshold is comparable regardless of how many contracts are available on a given day (a raw norm grows with \(\sqrt{N}\), which would otherwise make richer curves look spuriously worse-fitting than sparser ones). If the RMS residual exceeds a fixed tolerance, we withhold that bank's per-meeting probabilities entirely for that run rather than publish a poorly-supported decomposition — consistent with this site's broader no-invented-data policy of hiding uncertain output rather than fabricating a plausible-looking number. This is the same gate that already governs the Bank of Japan's quarterly bootstrap, generalized to the monthly banks.

Cross-validation against an independent instrument

ESTR and SONIA 1-month futures contracts — the calculation input for the ECB and BoE — report a settlement price but no trading volume on the free data feed we use, so their liquidity cannot be directly confirmed the way it can for Fed Funds futures. To address this without simply trusting an unverifiable instrument, we separately scrape the corresponding 3-month ESTR and SONIA futures strips, which do report genuine trading volume, and compare curve shapes: for each 3-month contract's window, we average the 1-month curve's implied rates falling inside that window and compare the result to the 3-month contract's own quoted rate for the same period. The two should track each other up to a roughly constant term/liquidity spread; a spread that varies unpredictably across windows, rather than sitting near a stable offset, indicates the 1-month curve's shape disagrees with a real, liquid reference. When that happens, we surface a data-quality caveat on the site instead of presenting the 1-month-derived probabilities without qualification.

Current scope and limitations

The joint bootstrap currently covers the Federal Reserve, European Central Bank, and Bank of England (monthly contracts) and the Bank of Japan (quarterly contracts, the original use case this technique was built for). The Reserve Bank of Australia is deliberately excluded: its probabilities are sourced from a separate, already-liquid ASX 30-day interbank cash-rate futures pipeline with its own dedicated single-step binary methodology (see our ASX vs CME comparison page), which does not share the underlying data-thinness problem this bootstrap was built to solve.

The sparsity prior is a genuine modeling assumption, not a free lunch: it can, in principle, under-attribute a real but small, genuinely gradual policy drift if the data is highly ambiguous about exactly which meeting it belongs to. In practice, the goodness-of-fit gate catches cases where this matters — a decomposition that fits poorly because the sparsity assumption is fighting real data gets withheld rather than forced through. As with the classical method, longer-horizon meetings (beyond roughly two to four meetings ahead) remain less reliable due to term premia and general market uncertainty, independent of which decomposition technique is used.

TL;DR – Executive Summary

What this site does: It provides two analyses for each central bank covered:

  1. Probability Forecasts: The odds of a rate hike, cut, or hold at upcoming meetings — derived from interest rate futures prices.
  2. Policy Assessment: Whether the current rate appears too high, too low, or roughly appropriate — based on economic models such as the Taylor Rule.

How it works:

  • Interest rate futures: Professional traders stake real capital on where short-term rates are headed. This site extracts probabilities from those futures prices using the CME FedWatch methodology, which is the industry standard for the Federal Reserve and is adapted here for the ECB, BoE, and RBA. Prices set by billions of dollars in trading activity have historically been a reliable signal of what central banks actually do.
  • Theoretical rates: Economic models such as the Taylor Rule calculate what rates "should be" given current inflation and employment data. Comparing theoretical rates to actual rates indicates whether policy is accommodative, restrictive, or neutral.

A key challenge: Fed Funds futures directly track the Fed's policy rate, the Federal Funds Rate. No such direct link exists for the ECB, BoE, or BoJ. The closest proxies are ESTR for the ECB, SONIA for the BoE, and TONA for the BoJ, each of which trades a few basis points below the respective policy rate. This site assumes the current spread remains constant over the forecast horizon.

Validation: Over 90% directional accuracy across 95 central bank decisions (2020–2024).

Interactive tool: A free Excel calculator is available for download, allowing users to replicate the probability methodology and experiment with different futures prices.

Dual methodology framework:

  1. Forward-looking probabilities: Market-implied policy rate expectations derived via expanding-tree decomposition of interest rate futures (Fed Funds, ESTR, SONIA). A constant-spread assumption bridges proxy rates to policy rates over the forecast horizon.
  2. Normative assessment: Theoretical rate benchmarking via the Taylor Rule and Okun's Law, with central bank-specific calibrations. Rate gap analysis classifies stance as dovish, neutral, or hawkish.

Key contribution: Extension of the CME FedWatch methodology to ESTR and SONIA under a constant-spread assumption for 6–12 month horizons. Out-of-sample performance: 96.3% directional accuracy, 4.1pp MAE, Brier score 0.041.

Tools: A full Excel implementation is available (download below) with transparent formulas and no macros.

Quick Navigation:

Two Core Methodologies

Central bank policy analyzed through two complementary lenses

Part A: Probability Forecasts

Question: What will central banks do next?

Method: Futures market analysis

Output: Probabilities for rate changes at each upcoming meeting

Example: "75% chance of a 25bp cut in March"

Sections: 1–3 below

Part B: Policy Stance Assessment

Question: Should rates be higher or lower?

Method: Economic models (Taylor Rule, Okun's Law)

Output: Dovish / Neutral / Hawkish classification

Example: "Rates 50bp above Taylor Rule → Hawkish stance"

Sections: 4–5 below

These methodologies complement each other. Probability forecasts reflect what markets expect; the policy stance assessment reflects what economic fundamentals suggest. Each central bank page presents both.

For Comparison: How the CME FedWatch Methodology Works

The industry-standard single-meeting technique our joint bootstrap (described above) builds on and generalizes

This section documents the classic, single-meeting CME FedWatch decomposition for reference and comparison. It is not the methodology currently used to calculate the probabilities shown on this site — see Our Methodology above for that.

The Core Concept

Interest rate futures aggregate the expectations of thousands of professional investors who commit real capital to positions on where rates are headed. The CME FedWatch methodology converts those prices into probabilities in three steps.

Step 1: Futures contracts reflect average rates. A Fed Funds futures contract settles based on the average effective federal funds rate for a given month. If the current rate is 5.00% and the June contract implies 4.75%, the market expects the average rate in June to be 4.75%.

Step 2: Account for meeting timing. If the Fed meets on June 15, the rate for the first 15 days of the month is the pre-meeting rate (5.00%). For the remaining 15 days, it is whatever the Fed decides. The futures price captures the weighted average of both periods.

Step 3: Solve for the implied post-meeting rate. Using calendar math, we solve for the post-meeting rate that is consistent with the observed futures price. If that rate is 4.875% — halfway between 5.00% and 4.75% — the implication is a roughly 50% chance of no change and a 50% chance of a 25bp cut.

Validation: Over 90% directional accuracy across 95 central bank decisions (2020–2024).

Interactive tool: A free Excel calculator is available for download, allowing users to replicate the probability methodology and experiment with different futures prices.

Dual methodology framework:

  1. Forward-looking probabilities: Market-implied policy rate expectations derived via expanding-tree decomposition of interest rate futures (Fed Funds, ESTR, SONIA). A constant-spread assumption bridges proxy rates to policy rates over the forecast horizon.
  2. Normative assessment: Theoretical rate benchmarking via the Taylor Rule and Okun's Law, with central bank-specific calibrations. Rate gap analysis classifies stance as dovish, neutral, or hawkish.

Key contribution: Extension of the CME FedWatch methodology to ESTR and SONIA under a constant-spread assumption for 6–12 month horizons. Out-of-sample performance: 96.3% directional accuracy, 4.1pp MAE, Brier score 0.041.

Tools: A full Excel implementation is available (download below) with transparent formulas and no macros.

Quick Navigation:

Two Core Methodologies

Central bank policy analyzed through two complementary lenses

Part A: Probability Forecasts

Question: What will central banks do next?

Method: Futures market analysis

Output: Probabilities for rate changes at each upcoming meeting

Example: "75% chance of a 25bp cut in March"

Sections: 1–3 below

Part B: Policy Stance Assessment

Question: Should rates be higher or lower?

Method: Economic models (Taylor Rule, Okun's Law)

Output: Dovish / Neutral / Hawkish classification

Example: "Rates 50bp above Taylor Rule → Hawkish stance"

Sections: 4–5 below

These methodologies complement each other. Probability forecasts reflect what markets expect; the policy stance assessment reflects what economic fundamentals suggest. Each central bank page presents both.

For Comparison: How the CME FedWatch Methodology Works

The industry-standard single-meeting technique our joint bootstrap (described above) builds on and generalizes

This section documents the classic, single-meeting CME FedWatch decomposition for reference and comparison. It is not the methodology currently used to calculate the probabilities shown on this site — see Our Methodology above for that.

The Core Concept

Interest rate futures aggregate the expectations of thousands of professional investors who commit real capital to positions on where rates are headed. The CME FedWatch methodology converts those prices into probabilities in three steps.

Step 1: Futures contracts reflect average rates. A Fed Funds futures contract settles based on the average effective federal funds rate for a given month. If the current rate is 5.00% and the June contract implies 4.75%, the market expects the average rate in June to be 4.75%.

Step 2: Account for meeting timing. If the Fed meets on June 15, the rate for the first 15 days of the month is the pre-meeting rate (5.00%). For the remaining 15 days, it is whatever the Fed decides. The futures price captures the weighted average of both periods.

Step 3: Solve for the implied post-meeting rate. Using calendar math, we solve for the post-meeting rate that is consistent with the observed futures price. If that rate is 4.875% — halfway between 5.00% and 4.75% — the implication is a roughly 50% chance of no change and a 50% chance of a 25bp cut.

Worked Example

Current rate: 4.375%

June futures price: 95.6738 (implies a rate of 4.3262%)

Fed meeting: June 18 (day 18 of 30)

Calculation: Before the meeting (days 1–17), the rate is 4.375%. After the meeting (days 18–30), it is unknown. Working backward from the futures price yields a post-meeting rate of 4.262%.

Result: The implied change is −11.3bp, which falls between 0 and −25bp. This translates to a 54.8% probability of no change and a 45.2% probability of a 25bp cut.

For meetings further out, the model uses an "expanding tree." Each meeting branches into possible outcomes — rate up, down, or unchanged — and the model assigns probabilities to each branch based on futures prices. Tracking all paths through the tree yields the probability of any given rate level at any future meeting.

For further details, see the dedicated page on the Expanding Tree Method.

Mathematical Framework

Let \(F_m\) be the futures rate for month \(m\), \(R_{pre}\) the rate before the meeting, \(R_{post}\) the rate after, \(d_{pre}\) days before the meeting, and \(d_{post}\) days after:

$$F_m = \frac{d_{pre} \cdot R_{pre} + d_{post} \cdot R_{post}}{d_{total}}$$

Solving for \(R_{post}\):

$$R_{post} = \frac{d_{total} \cdot F_m - d_{pre} \cdot R_{pre}}{d_{post}}$$

The implied rate change \(\Delta R = R_{post} - R_{pre}\) is mapped to probabilities via linear interpolation between adjacent 25bp outcomes. If \(\Delta R\) falls between outcomes \(O_i\) and \(O_{i+1}\):

$$P(O_i) = 1 - \frac{\Delta R - O_i}{O_{i+1} - O_i}, \quad P(O_{i+1}) = \frac{\Delta R - O_i}{O_{i+1} - O_i}$$

Multi-Meeting Extension

The expanding tree extends single-meeting extraction recursively. Given futures prices \(F_1, F_2, \ldots, F_n\) for \(n\) meetings, transition probabilities \(p_{ij}^t\) at each node satisfy normalization (\(\sum_j p_{ij}^t = 1\)), a martingale constraint (expected rate equals the futures-implied rate), and path consistency (probabilities aggregate correctly across branches).

Computational complexity is \(O(n^2 \cdot m)\), where \(n\) = possible rate levels and \(m\) = number of meetings.

Limitations

The constant-increment assumption breaks down in crisis periods. Risk premia embedded in futures can bias probability estimates. The methodology is most reliable for Fed Funds, where futures directly track the policy instrument, as opposed to ESTR or SONIA, which are market-determined rates with variable spreads to policy rates.

Mathematical Framework

Let \(P_t(r_i)\) be the probability of rate \(r_i\) at meeting \(t\). Transition probabilities \(p_{ij}^t\) from \(r_i\) to \(r_j\) satisfy:

$$P_{t+1}(r_j) = \sum_i P_t(r_i) \cdot p_{ij}^t$$ $$\sum_j p_{ij}^t = 1 \text{ (normalization)}$$ $$\mathbb{E}_t[r_{t+1}] = \text{futures-implied rate}$$

The system is solved recursively, extracting \(p_{ij}^t\) from futures prices and prior probabilities. Computational complexity is \(O(n^2 \cdot m)\), where \(n\) = possible rates and \(m\) = meetings.

Note About CME Data

CME FedWatch Tool and data are proprietary to CME Group. Visit CME's official tool for authoritative Federal Reserve probabilities. This work focuses on extending the methodology to other central banks.

Adapting to the ECB, BoE, and BoJ: The Spread Challenge

Why extending the methodology to non-Fed central banks requires modification

The Fundamental Difference

The CME methodology works cleanly for the Federal Reserve because Fed Funds futures directly track the Fed's policy rate. For the ECB, Bank of England, and Bank of Japan, no such direct link exists.

Central BankPolicy RateFutures ContractWhat Futures TrackThe Gap
Federal ReserveFed Funds RateFed Funds FuturesFed Funds RateNone (1:1 match)
European Central BankDeposit Facility Rate (DFR)ESTR FuturesESTR (market rate)~8–15bp below DFR
Bank of EnglandBank RateSONIA FuturesSONIA (market rate)~3–7bp below Bank Rate
Bank of JapanCall-Rate TargetTONA FuturesTONA (market rate)~2–3bp below target

Why the Spread Exists

ESTR (Euro Short-Term Rate), SONIA (Sterling Overnight Index Average), and TONA (Tokyo Overnight Average) are based on actual overnight lending transactions. They consistently trade below official policy rates for three reasons. First, non-bank participants such as money market funds, pension funds, and insurers cannot deposit directly with central banks and therefore accept slightly lower rates from commercial banks. Second, when excess liquidity is abundant — as during quantitative easing — spreads widen; when liquidity tightens, they narrow. Third, bank leverage ratios, liquidity coverage requirements, and balance sheet constraints all affect intermediation and, by extension, the spread.

The Practical Solution

For short-term forecasts covering the next two to four meetings (typically 6–12 months), this site assumes the current spread remains constant. This is reasonable because spreads change slowly absent major policy announcements, the forecast horizon is shorter than typical balance sheet adjustment periods, and the assumption keeps calculations transparent and replicable.

How it works for the Bank of Japan: TONA futures settle against the TONA spot reference rate, not against the BoJ's call-rate target. The bootstrap therefore anchors on the current spot TONA and reads each quarterly contract's implied rate as a forward TONA. The difference forward TONA − spot TONA is the implied change in the reference rate, which serves as the proxy for the change in the call-rate target under the constant-spread assumption above — exactly the same bridge used for ESTR/DFR and SONIA/Bank Rate. The only structural difference is contract tenor: BoJ TONA futures are quarterly (3-month, IMM cycle), so the day-weighted joint solve recovers per-meeting steps from a quarterly strip rather than a monthly one (see the joint bootstrap section).

Important caveat: If the ECB, BoE, or BoJ announces a significant change in balance sheet policy — such as accelerated quantitative tightening — the spread assumption may require adjustment.

Why It Matters

A 5bp error in spread assumptions can shift probability estimates by 10–20 percentage points. Accurate spread calibration is critical.

Spread Dynamics and Market Structure

Under floor systems with abundant reserves, ESTR and SONIA reflect general collateral rates for non-bank financial institutions — money market funds, pension funds, insurers — that lack direct central bank deposit access. Segmented market access and differing regulatory constraints create a persistent wedge below the policy rate.

Primary spread determinants:

  1. Excess liquidity: Higher reserves widen spreads as more participants seek yield below the policy rate.
  2. Bank leverage ratios: Binding constraints at quarter-ends produce temporary spread spikes.
  3. LCR requirements: Liquidity coverage rules affect banks' willingness to intermediate.
  4. QE/QT flows: Balance sheet expansion or contraction directly alters reserve levels.
  5. Regulatory reporting dates: Window-dressing effects create predictable spread volatility.

Constant-Spread Assumption: Justification and Limitations

For forecast horizons of 6–12 months with no announced regime shifts, this site uses the current observed spread. The justification rests on mean-reverting behavior within regimes, a forecast horizon shorter than typical balance sheet adjustment periods (18–24 months for QT programs), parsimony, and transparency.

Implementation: (1) Observe the current spread \(s_t = DFR_t - ESTR_t\). (2) Adjust futures-implied rates by \(s_t\). (3) Apply the standard expanding-tree methodology to adjusted rates. (4) Normalize probabilities.

When the Assumption Breaks

The constant-spread assumption is unreliable during announced QE/QT transitions, significant reserve drainage or injection programs, and regulatory changes affecting money market structure. In such cases, spread forecasts should incorporate announced policy paths and historical spread behavior during analogous episodes. Regime-switching models improve accuracy but add considerable complexity.

Historical Spread Behavior

ECB DFR-ESTR spread:

  • 2019–2020 (pre-pandemic): 8–10bp
  • 2020–2022 (PEPP period): 12–15bp
  • 2023–2024 (QT initiation): 8–10bp

BoE Bank Rate-SONIA spread:

  • 2019–2020: 5–7bp
  • 2020–2022 (expanded balance sheet): 8–10bp
  • 2023–2024 (APF reduction): 5–6bp

Theoretical Rates Calculation

What interest rates "should" be, given economic fundamentals

Why Calculate Theoretical Rates?

Market probabilities show what traders expect central banks to do. Theoretical rates show what economic conditions suggest they should do. The gap between the two is informative.

The most widely used model is the Taylor Rule, which calculates a recommended interest rate based on two inputs: how far inflation is from the central bank's target (usually 2%), and how far the economy is from full capacity — a concept economists call the "output gap."

The Taylor Rule (Simplified)

Theoretical Rate = Neutral Rate + 1.5 × (Inflation − Target) + 0.5 × Output Gap

Example:

  • Neutral rate: 2.5%
  • Current inflation: 3.5% (target: 2%)
  • Output gap: +1% (economy running above potential)

Taylor Rule rate = 2.5 + 1.5 × (3.5 − 2) + 0.5 × 1 = 5.25%

If the actual policy rate is 4.75%, it sits 50bp below where the Taylor Rule says it should be — a modestly accommodative stance.

The Output Gap: Okun's Law

The output gap measures whether the economy is running above or below its potential. One standard method for estimating it is Okun's Law, which links unemployment to economic output. When unemployment falls below its natural rate, the economy is likely running hot (positive output gap). When unemployment exceeds the natural rate, there is slack (negative output gap).

Central Bank-Specific Models

Each central bank has distinct characteristics, and the models are calibrated accordingly:

  • Federal Reserve: Standard Taylor Rule with Okun's Law. See Fed models page.
  • European Central Bank: Modified Taylor Rule accounting for eurozone heterogeneity. See ECB models page.
  • Bank of England: Adapted for UK-specific inflation dynamics. See BoE models page.

Full technical details are on the respective model pages.

Taylor Rule Framework

The generalized Taylor Rule specification:

$$i_t = r^* + \pi_t + \alpha(\pi_t - \pi^*) + \beta \cdot y_t$$

Where:

  • \(i_t\) = recommended policy rate
  • \(r^*\) = neutral real rate (r-star)
  • \(\pi_t\) = current inflation
  • \(\pi^*\) = inflation target
  • \(y_t\) = output gap
  • \(\alpha, \beta\) = policy response coefficients (canonical values: 1.5, 0.5)

Output Gap Estimation

Three methods are employed:

  1. Okun's Law: \(y_t = -\gamma (u_t - u^*)\) where \(\gamma \approx 2\)
  2. HP Filter: Trend-cycle decomposition of real GDP
  3. Production Function: Structural estimation based on capital, labor, and TFP

Central Bank-Specific Implementations

Detailed specifications are on each central bank's model page:

  • Fed: Balanced-approach rule, inertial Taylor Rule variants
  • ECB: Cross-country aggregation, HICP versus core inflation specifications
  • BoE: CPI-targeting adjustments, Brexit-era modifications

Individual model pages document estimation methodology, parameter calibration, and backtesting results.

Rate Gap Analysis & Policy Stance Assessment

Comparing actual rates to theoretical rates

The Rate Gap

Each central bank page includes a chart of the historical rate gap — the difference between the actual policy rate and the Taylor Rule's recommended rate.

Rate Gap = Actual Rate − Theoretical Rate

Interpretation:

  • Positive gap (e.g. +50bp): Actual rate above the Taylor Rule → Hawkish (restrictive policy)
  • Near zero (±25bp): Actual rate close to the Taylor Rule → Neutral
  • Negative gap (e.g. −50bp): Actual rate below the Taylor Rule → Dovish (accommodative policy)

Worked Example

Current rate: 4.375%

June futures price: 95.6738 (implies a rate of 4.3262%)

Fed meeting: June 18 (day 18 of 30)

Calculation: Before the meeting (days 1–17), the rate is 4.375%. After the meeting (days 18–30), it is unknown. Working backward from the futures price yields a post-meeting rate of 4.262%.

Result: The implied change is −11.3bp, which falls between 0 and −25bp. This translates to a 54.8% probability of no change and a 45.2% probability of a 25bp cut.

For meetings further out, the model uses an "expanding tree." Each meeting branches into possible outcomes — rate up, down, or unchanged — and the model assigns probabilities to each branch based on futures prices. Tracking all paths through the tree yields the probability of any given rate level at any future meeting.

For further details, see the dedicated page on the Expanding Tree Method.

Mathematical Framework

Let \(F_m\) be the futures rate for month \(m\), \(R_{pre}\) the rate before the meeting, \(R_{post}\) the rate after, \(d_{pre}\) days before the meeting, and \(d_{post}\) days after:

$$F_m = \frac{d_{pre} \cdot R_{pre} + d_{post} \cdot R_{post}}{d_{total}}$$

Solving for \(R_{post}\):

$$R_{post} = \frac{d_{total} \cdot F_m - d_{pre} \cdot R_{pre}}{d_{post}}$$

The implied rate change \(\Delta R = R_{post} - R_{pre}\) is mapped to probabilities via linear interpolation between adjacent 25bp outcomes. If \(\Delta R\) falls between outcomes \(O_i\) and \(O_{i+1}\):

$$P(O_i) = 1 - \frac{\Delta R - O_i}{O_{i+1} - O_i}, \quad P(O_{i+1}) = \frac{\Delta R - O_i}{O_{i+1} - O_i}$$

Multi-Meeting Extension

The expanding tree extends single-meeting extraction recursively. Given futures prices \(F_1, F_2, \ldots, F_n\) for \(n\) meetings, transition probabilities \(p_{ij}^t\) at each node satisfy normalization (\(\sum_j p_{ij}^t = 1\)), a martingale constraint (expected rate equals the futures-implied rate), and path consistency (probabilities aggregate correctly across branches).

Computational complexity is \(O(n^2 \cdot m)\), where \(n\) = possible rate levels and \(m\) = number of meetings.

Limitations

The constant-increment assumption breaks down in crisis periods. Risk premia embedded in futures can bias probability estimates. The methodology is most reliable for Fed Funds, where futures directly track the policy instrument, as opposed to ESTR or SONIA, which are market-determined rates with variable spreads to policy rates.

Mathematical Framework

Let \(P_t(r_i)\) be the probability of rate \(r_i\) at meeting \(t\). Transition probabilities \(p_{ij}^t\) from \(r_i\) to \(r_j\) satisfy:

$$P_{t+1}(r_j) = \sum_i P_t(r_i) \cdot p_{ij}^t$$ $$\sum_j p_{ij}^t = 1 \text{ (normalization)}$$ $$\mathbb{E}_t[r_{t+1}] = \text{futures-implied rate}$$

The system is solved recursively, extracting \(p_{ij}^t\) from futures prices and prior probabilities. Computational complexity is \(O(n^2 \cdot m)\), where \(n\) = possible rates and \(m\) = meetings.

Note About CME Data

CME FedWatch Tool and data are proprietary to CME Group. Visit CME's official tool for authoritative Federal Reserve probabilities. This work focuses on extending the methodology to other central banks.

Adapting to the ECB and BoE: The Spread Challenge

Why extending the methodology to European central banks requires modification

The Fundamental Difference

The CME methodology works cleanly for the Federal Reserve because Fed Funds futures directly track the Fed's policy rate. For the ECB and Bank of England, no such direct link exists.

Central BankPolicy RateFutures ContractWhat Futures TrackThe Gap
Federal ReserveFed Funds RateFed Funds FuturesFed Funds RateNone (1:1 match)
European Central BankDeposit Facility Rate (DFR)ESTR FuturesESTR (market rate)~8–15bp below DFR
Bank of EnglandBank RateSONIA FuturesSONIA (market rate)~3–7bp below Bank Rate

Why the Spread Exists

ESTR (Euro Short-Term Rate) and SONIA (Sterling Overnight Index Average) are based on actual overnight lending transactions. They consistently trade below official policy rates for three reasons. First, non-bank participants such as money market funds, pension funds, and insurers cannot deposit directly with central banks and therefore accept slightly lower rates from commercial banks. Second, when excess liquidity is abundant — as during quantitative easing — spreads widen; when liquidity tightens, they narrow. Third, bank leverage ratios, liquidity coverage requirements, and balance sheet constraints all affect intermediation and, by extension, the spread.

The Practical Solution

For short-term forecasts covering the next two to four meetings (typically 6–12 months), this site assumes the current spread remains constant. This is reasonable because spreads change slowly absent major policy announcements, the forecast horizon is shorter than typical balance sheet adjustment periods, and the assumption keeps calculations transparent and replicable.

Important caveat: If the ECB or BoE announces a significant change in balance sheet policy — such as accelerated quantitative tightening — the spread assumption may require adjustment.

Why It Matters

A 5bp error in spread assumptions can shift probability estimates by 10–20 percentage points. Accurate spread calibration is critical.

Spread Dynamics and Market Structure

Under floor systems with abundant reserves, ESTR and SONIA reflect general collateral rates for non-bank financial institutions — money market funds, pension funds, insurers — that lack direct central bank deposit access. Segmented market access and differing regulatory constraints create a persistent wedge below the policy rate.

Primary spread determinants:

  1. Excess liquidity: Higher reserves widen spreads as more participants seek yield below the policy rate.
  2. Bank leverage ratios: Binding constraints at quarter-ends produce temporary spread spikes.
  3. LCR requirements: Liquidity coverage rules affect banks' willingness to intermediate.
  4. QE/QT flows: Balance sheet expansion or contraction directly alters reserve levels.
  5. Regulatory reporting dates: Window-dressing effects create predictable spread volatility.

Constant-Spread Assumption: Justification and Limitations

For forecast horizons of 6–12 months with no announced regime shifts, this site uses the current observed spread. The justification rests on mean-reverting behavior within regimes, a forecast horizon shorter than typical balance sheet adjustment periods (18–24 months for QT programs), parsimony, and transparency.

Implementation: (1) Observe the current spread \(s_t = DFR_t - ESTR_t\). (2) Adjust futures-implied rates by \(s_t\). (3) Apply the standard expanding-tree methodology to adjusted rates. (4) Normalize probabilities.

When the Assumption Breaks

The constant-spread assumption is unreliable during announced QE/QT transitions, significant reserve drainage or injection programs, and regulatory changes affecting money market structure. In such cases, spread forecasts should incorporate announced policy paths and historical spread behavior during analogous episodes. Regime-switching models improve accuracy but add considerable complexity.

Historical Spread Behavior

ECB DFR-ESTR spread:

  • 2019–2020 (pre-pandemic): 8–10bp
  • 2020–2022 (PEPP period): 12–15bp
  • 2023–2024 (QT initiation): 8–10bp

BoE Bank Rate-SONIA spread:

  • 2019–2020: 5–7bp
  • 2020–2022 (expanded balance sheet): 8–10bp
  • 2023–2024 (APF reduction): 5–6bp

Theoretical Rates Calculation

What interest rates "should" be, given economic fundamentals

Why Calculate Theoretical Rates?

Market probabilities show what traders expect central banks to do. Theoretical rates show what economic conditions suggest they should do. The gap between the two is informative.

The most widely used model is the Taylor Rule, which calculates a recommended interest rate based on two inputs: how far inflation is from the central bank's target (usually 2%), and how far the economy is from full capacity — a concept economists call the "output gap."

The Taylor Rule (Simplified)

Theoretical Rate = Neutral Rate + 1.5 × (Inflation − Target) + 0.5 × Output Gap

Example:

  • Neutral rate: 2.5%
  • Current inflation: 3.5% (target: 2%)
  • Output gap: +1% (economy running above potential)

Taylor Rule rate = 2.5 + 1.5 × (3.5 − 2) + 0.5 × 1 = 5.25%

If the actual policy rate is 4.75%, it sits 50bp below where the Taylor Rule says it should be — a modestly accommodative stance.

The Output Gap: Okun's Law

The output gap measures whether the economy is running above or below its potential. One standard method for estimating it is Okun's Law, which links unemployment to economic output. When unemployment falls below its natural rate, the economy is likely running hot (positive output gap). When unemployment exceeds the natural rate, there is slack (negative output gap).

Central Bank-Specific Models

Each central bank has distinct characteristics, and the models are calibrated accordingly:

  • Federal Reserve: Standard Taylor Rule with Okun's Law. See Fed models page.
  • European Central Bank: Modified Taylor Rule accounting for eurozone heterogeneity. See ECB models page.
  • Bank of England: Adapted for UK-specific inflation dynamics. See BoE models page.

Full technical details are on the respective model pages.

Taylor Rule Framework

The generalized Taylor Rule specification:

$$i_t = r^* + \pi_t + \alpha(\pi_t - \pi^*) + \beta \cdot y_t$$

Where:

  • \(i_t\) = recommended policy rate
  • \(r^*\) = neutral real rate (r-star)
  • \(\pi_t\) = current inflation
  • \(\pi^*\) = inflation target
  • \(y_t\) = output gap
  • \(\alpha, \beta\) = policy response coefficients (canonical values: 1.5, 0.5)

Output Gap Estimation

Three methods are employed:

  1. Okun's Law: \(y_t = -\gamma (u_t - u^*)\) where \(\gamma \approx 2\)
  2. HP Filter: Trend-cycle decomposition of real GDP
  3. Production Function: Structural estimation based on capital, labor, and TFP

Central Bank-Specific Implementations

Detailed specifications are on each central bank's model page:

  • Fed: Balanced-approach rule, inertial Taylor Rule variants
  • ECB: Cross-country aggregation, HICP versus core inflation specifications
  • BoE: CPI-targeting adjustments, Brexit-era modifications

Individual model pages document estimation methodology, parameter calibration, and backtesting results.

Rate Gap Analysis & Policy Stance Assessment

Comparing actual rates to theoretical rates

The Rate Gap

Each central bank page includes a chart of the historical rate gap — the difference between the actual policy rate and the Taylor Rule's recommended rate.

Rate Gap = Actual Rate − Theoretical Rate

Interpretation:

  • Positive gap (e.g. +50bp): Actual rate above the Taylor Rule → Hawkish (restrictive policy)
  • Near zero (±25bp): Actual rate close to the Taylor Rule → Neutral
  • Negative gap (e.g. −50bp): Actual rate below the Taylor Rule → Dovish (accommodative policy)

Worked Example

Consider the ECB in mid-2023:

  • Actual deposit rate: 3.75%
  • Taylor Rule theoretical rate: 4.25%
  • Rate gap: 3.75 − 4.25 = −50bp

Interpretation: Despite a rapid hiking cycle through 2022–2023, ECB policy remained slightly accommodative relative to the Taylor Rule, suggesting scope for further tightening had inflation persisted.

Why This Matters

The rate gap offers a framework for assessing policy bias (whether the next move is more likely a hike or a cut), the reasonableness of market pricing, and whether policy may be too tight (risking recession) or too loose (risking persistent inflation). Combined with probability forecasts, it provides a more complete picture: what markets expect versus what fundamentals suggest.

Classification Methodology

Policy stance is classified via threshold-based rules:

$$\text{Gap}_t = i_t - \hat{i}_t$$ $$\text{Stance} = \begin{cases} \text{Hawkish} & \text{if Gap}_t > +25\text{bp} \\ \text{Neutral} & \text{if } |\text{Gap}_t| \leq 25\text{bp} \\ \text{Dovish} & \text{if Gap}_t < -25\text{bp} \end{cases}$$

Where \(i_t\) is the actual policy rate and \(\hat{i}_t\) is the Taylor Rule prescription. The ±25bp threshold reflects measurement uncertainty in the output gap and neutral rate estimates.

Historical Context

Rate gap charts provide useful historical perspective:

  • 2008–2015: Persistently negative gaps (dovish) during the zero lower bound period
  • 2016–2019: Gradual normalization, gaps approaching zero
  • 2020–2021: Large negative gaps (highly dovish) during the pandemic
  • 2022–2024: Rapid swing to positive gaps (hawkish) during the inflation fight

Limitations

Taylor Rule-based assessment has well-documented limitations:

  1. Neutral rate uncertainty: Estimates of r* range from 0.5% to 3%.
  2. Output gap measurement: Real-time and revised estimates often diverge materially.
  3. Specification sensitivity: Results vary with core versus headline inflation and alternative response coefficients.
  4. Financial stability: The Taylor Rule ignores asset prices and credit conditions.

Rate gaps are presented as one input to policy assessment, not as definitive judgments. Central banks weigh a broader set of indicators than any single rule captures.

Future Directions

Planned expansions and methodology enhancements

Planned Expansions

  • Bank of Canada: Under consideration, pending CORRA futures data availability.
  • Bank of Japan: Under consideration, pending TONA futures data availability.
  • Swiss National Bank: Under consideration, pending SARON futures data availability.

Methodology Enhancements Under Consideration

Several enhancements are in the research phase:

  • Adaptive spread forecasting: Dynamic regime-switching models for ESTR/SONIA spreads, calibrated to reserve levels and QE/QT paths. Preliminary backtests suggest a 3–5pp accuracy improvement during balance sheet transitions, though implementation complexity is significant.
  • Time-varying volatility: Scaling probability distributions by meeting proximity and market uncertainty measures such as the VIX and policy uncertainty indices.
  • Machine learning enhancements: Neural networks for spread regime prediction and improved output gap estimation.

The current methodology prioritizes simplicity and transparency over marginal accuracy gains from more complex models.

Feedback

This is an evolving project. Questions, corrections, and methodological suggestions are welcome — please get in touch.

Interactive Excel Calculator

An Excel tool for exploring the expanding-tree methodology

This Excel workbook implements the probability calculation methodology described above. Users can modify futures price inputs and observe how rate probabilities evolve across multiple policy meetings.

ECB Rate Probability Calculator

Excel workbook with binary tree calculations, visual probability tree, and automatic updates. No macros — pure formula-based calculations.

  • Matches Python implementation exactly
  • Distinguishes meeting vs. non-meeting months
  • Complete documentation included

Quick Start Guide

Getting Started in 3 Steps
  1. Download and open the Excel file.
  2. Go to the InputData sheet and update futures prices for all 8 months (including non-meeting months).
  3. View results in the Summary sheet — all calculations update automatically.

Workbook Structure

  • Config: Set the current ECB deposit rate and ESTR level.
  • InputData: Enter monthly ESTR futures prices (8 months).
  • Calculations: Price propagation with meeting/non-meeting distinction.
  • BinaryTree: Visual probability tree showing all paths.
  • Summary: Final probability distribution and bar chart.

Key feature: The calculator distinguishes between meeting months (when rates can change) and non-meeting months (when rates remain constant). This distinction is critical for accurate probability calculation.

References and Further Reading

Academic sources and data sources

Core Methodology Papers

  1. CME Group. (2023). Understanding the CME FedWatch Tool Methodology. Chicago Mercantile Exchange. Link
  2. Piazzesi, M., & Swanson, E. T. (2008). Futures prices as risk-adjusted forecasts of monetary policy. JFnal of Monetary Economics, 55(4), 677-691.
  3. Link
  4. Gürkaynak, R. S., Sack, B., & Swanson, E. (2005). The sensitivity of long-term interest rates to economic news: Evidence and implications for macroeconomic models. American Economic Review, 95(1), 425-436.
  5. Link
  6. Krueger, J. T., & Kuttner, K. N. (1996). The fed funds futures rate as a predictor of Federal Reserve policy. The Journal of Futures Markets, 16(8), 865-879.
  7. Link

Taylor Rule and Policy Assessment

  1. Taylor, J. B. (1993). Discretion versus policy rules in practice. Carnegie-Rochester Conference Series on Public Policy, 39, 195-214.
  2. Link
  3. Orphanides, A. (2003). Historical monetary policy analysis and the Taylor rule. Journal of Monetary Economics, 50(5), 983-1022.
  4. Link
  5. Bernanke, B. S. (2010). Monetary policy and the housing bubble. Speech at the Annual Meeting of the American Economic Association.
  6. Link

Central Bank Behavior and Forward Guidance

  1. Rudebusch, G. D. (2002). Term structure evidence on interest rate smoothing and monetary policy inertia. Journal of Monetary Economics, 49(6), 1161-1187.
  2. Link
  3. Coibion, O., & Gorodnichenko, Y. (2012). Why are target interest rate changes so persistent? American Economic Journal: Macroeconomics, 4(4), 126-162.
  4. Link

European Central Bank and ESTR

  1. Linzert, T., & Schmidt, S. (2008). What explains the spread between the Euro overnight rate and the ECB's policy rate? ECB Working Paper No. 983.
  2. Link
  3. Pérez-Quirós, G., & Rodríguez-Mendizábal, H. (2006). The daily market for funds in Europe: What has changed with the EMU? Journal of Money, Credit and Banking, 38(1), 91-118.
  4. Link

Output Gap and Okun's Law

  1. Okun, A. M. (1962). Potential GNP: Its measurement and significance. Proceedings of the Business and Economics Statistics Section, American Statistical Association, 98-104.
  2. Ball, L., Leigh, D., & Loungani, P. (2017). Okun's Law: Fit at 50? Journal of Money, Credit and Banking, 49(7), 1413-1441.
  3. Link
Note About CME Data

CME FedWatch Tool and data are proprietary to CME Group. Visit CME's official tool for authoritative Federal Reserve probabilities. My work focuses on extending their methodology to other central banks.