Central Banks & Monetary Policy
the "78% chance of a hold" you see quoted before every FOMC meeting is not a survey, a forecast or an opinion. It is backed out of the price of 30-day Federal Funds futures — CME contracts that…
FX Terminal Research · 2026-08-16 · 11 min read
Short answer: the "78% chance of a hold" you see quoted before every FOMC meeting is not a survey, a forecast or an opinion. It is backed out of the price of 30-day Federal Funds futures — CME contracts that settle to the average daily effective fed funds rate over a calendar month. Take the contract price, subtract it from 100 to get the implied average rate, work out what policy rate would produce that average given the meeting date, and split the result across the two adjacent 25 basis-point target ranges. That is the whole method.
As of 14 August 2026, with the effective fed funds rate at 3.63% inside a 3.50–3.75% target range, the market prices the September FOMC meeting at:
| Outcome | Probability |
|---|---|
| Cut | 0.0% |
| Hold | 65.7% |
| Hike | 34.3% |
That is not a market waiting for easing. This article shows exactly how those numbers are derived, why the arithmetic matters, and — the part almost nobody covers — how to build an equivalent measure for the euro, the pound, the yen and every other major currency, none of which have a fed funds futures market.
The instrument is the CME 30-Day Federal Funds futures contract, ticker root ZQ. Each contract references a specific calendar month and settles to the arithmetic average of the daily effective federal funds rate (EFFR) over that month.
Price is quoted as 100 − rate. So:
implied average rate = 100 − price
Current contract strip:
| Contract | Month | Price | Implied monthly average |
|---|---|---|---|
| ZQQ2026 | Aug 2026 | 96.3675 | 3.6325% |
| ZQU2026 | Sep 2026 | 96.3300 | 3.6700% |
| ZQV2026 | Oct 2026 | 96.2800 | 3.7200% |
| ZQX2026 | Nov 2026 | 96.2350 | 3.7650% |
| ZQZ2026 | Dec 2026 | 96.1650 | 3.8350% |
| ZQF2027 | Jan 2027 | 96.1300 | 3.8700% |
Read down that column: the implied average rate rises every month. The market is not pricing cuts. It is pricing a slow grind higher.
You need to know where you are starting from, and there are two different numbers here that people mix up.
Futures settle to the EFFR, not to the midpoint of the target range, so the EFFR is the correct anchor. Both figures come from the New York Fed's public rates API, which also returns the current target range — so the range grid never needs to be hardcoded and can never go stale.
Two cases, depending on whether the month contains a meeting.
meeting-month-backout)If a meeting happens partway through a month, that month's average blends the old rate and the new one, weighted by days.
Let N be days in the month, d the number of days at the old rate (i.e. days before the decision takes effect), start the rate going in, avg the contract-implied monthly average. Then:
endRate = (N × avg − d × start) / (N − d)
Worked example — September 2026. The FOMC meets on 16 September. The ZQU2026 contract implies a monthly average of 3.6700%, and the rate going in is 3.6300%. Solving gives an end rate of 3.7157%, an expected change of +8.57 basis points.
next-month-contract)If the following month contains no meeting, its contract implies a constant rate for the whole month, which is the post-meeting rate. No arithmetic needed — read it off directly.
For the October 2026 meeting, the method used is next-month-contract: end rate 3.7650%, expected change +4.93bp on top of September's move, for a cumulative +13.50bp from today.
The FOMC moves in 25bp increments, so an expected end rate of 3.7157% is not a forecast of a 3.7157% policy rate. It is a probability-weighted blend of the two adjacent 25bp ranges.
Current range: 3.50–3.75 (midpoint of the effective rate 3.63). Next range up: 3.75–4.00.
The expected rate of 3.7157% sits between them. Linear interpolation gives:
P(hike) = (3.7157 − 3.63) / 0.25 = 0.343
P(hold) = 1 − 0.343 = 0.657
Which is exactly the 65.7% / 34.3% split quoted at the top of this article. Cut probability is zero because the expected rate is above the current rate — there is no probability mass on the range below.
For meetings further out, each meeting's end rate becomes the next meeting's start rate, and the chain runs chronologically:
| Meeting | Method | Start | End | Change | Cumulative | Hold | Hike |
|---|---|---|---|---|---|---|---|
| 16 Sep 2026 | backout | 3.6300 | 3.7157 | +8.57bp | +8.57bp | 65.7% | 34.3% |
| 28 Oct 2026 | next-month | 3.7157 | 3.7650 | +4.93bp | +13.50bp | 80.3% | 19.7% |
| 9 Dec 2026 | backout | 3.7650 | 3.8636 | +9.86bp | +23.36bp | 60.6% | 39.5% |
| 27 Jan 2027 | next-month | 3.8636 | 3.9100 | +4.64bp | +28.00bp | 81.5% | 18.6% |
| 17 Mar 2027 | backout | 3.9100 | 3.9654 | +5.54bp | +33.54bp | 77.9% | 22.1% |
| 28 Apr 2027 | next-month | 3.9654 | 3.9900 | +2.46bp | +36.00bp | 90.1% | 9.9% |
| 9 Jun 2027 | backout | 3.9900 | 4.0114 | +2.14bp | +38.14bp | 91.4% | 8.6% |
| 28 Jul 2027 | next-month | 4.0114 | 4.0100 | −0.14bp | +38.00bp | 99.4% | 0.6% |
The path: +38 basis points cumulatively over eleven months, then flat. The market expects roughly one and a half hikes and then a plateau. That is a materially different picture from "the Fed is on hold", and it is the sort of thing that only becomes visible when you look at the whole strip instead of the next meeting.
Each snapshot's cumulativeChangeBps is measured from whatever the EFFR happened to be at scrape time. Compare two snapshots taken a month apart and the baselines differ — especially if a meeting has occurred in between — so the difference in cumulative change is meaningless.
If you want to measure repricing over time, difference the endRate for a specific meeting, not the cumulative change. "The market's expected rate for the December meeting rose 7bp this week" is a well-formed statement. "Cumulative expected change rose 7bp" is not.
This is the single most common error in home-built rate-expectation trackers, and it produces plausible-looking nonsense rather than obvious errors.
Meeting dates are not derivable — they are published by the Federal Reserve, currently through early 2028. Any implementation needs them as configuration and needs to fail loudly when the list runs out, rather than silently producing garbage for meetings it does not know about.
Here is the problem: no other major currency has a liquid rate-futures market comparable to fed funds futures. There is no ECB equivalent of the ZQ contract available with the same convenience. So how do you measure market-implied policy expectations for the euro, the pound, the yen or the Aussie?
The 2-year benchmark government bond yield minus the current policy rate is a serviceable proxy for how far the market expects policy to move.
policy pulse ≈ 2Y yield − current policy rate
If the German 2-year yields 2.795% and the ECB deposit rate is 2.25%, the market is pricing roughly 55bp of tightening (or term premium — the proxy cannot separate them, which is its main weakness) over the next two years.
Weight the change more heavily than the level. A useful split is roughly 65% on the weekly change in the 2-year yield and 35% on the level. The level is a slow-moving structural fact largely priced into spot; the change is the repricing that actually moves currencies.
For the ECB, "the policy rate" is ambiguous, and the two candidates differ by around 15 basis points.
Pick the wrong one and every euro rate-gap calculation is 15bp off — enough to flip the sign on a small differential. The robust approach is to prefer the actual value from the most recent calendar rate decision, which reflects what was actually announced, and fall back to a rates database only if no decision is on file.
If the market prices a 34% chance of a hike and the Fed hikes, the move is smaller than if it prices 5% and the Fed hikes. The tradable quantity is the gap between the priced outcome and the realised one.
Our news impact by pair data quantifies this well: the Fed decision moves EUR/USD an average of 34.9 pips in its first 30 minutes — less than Non-Farm Payrolls at 48.4 — precisely because the decision itself is usually priced. The move grows to 51.4 pips at one hour as the press conference delivers the unpriced part.
The carry on a pair is the policy-rate gap, but the tradable signal is the change in expected paths. A pair where the base country's expected path is steepening while the quote's is flattening is a pair with a directional tailwind, regardless of where the current levels sit. The interest rate differentials and FedWatch screen shows both sides together.
When the 2-year yield implies a different path from what fed funds futures price, one of the two markets is about to move. These divergences are rare, short-lived and worth watching for. Cross-check the government bond yields and spreads board against the futures-implied path.
The CME's own FedWatch page is protected against automated access and returns a hard block to anything that is not a browser session. Rather than fight that, the implementation described here rebuilds the calculation from its public primary inputs:
Every input is public, every step is arithmetic, and the whole thing is reproducible. That is worth more than convenient access to somebody else's number, because it means the method can be extended to other central banks, audited when it disagrees with a headline, and pointed at historical snapshots to measure repricing over time.
How are Fed rate cut odds calculated? From 30-day Federal Funds futures. Each contract settles to the average daily effective fed funds rate for its month, and is quoted as 100 minus that rate. Given the meeting date, you solve for the post-meeting rate that would produce the contract's implied monthly average, then split that expected rate across the two adjacent 25bp target ranges by linear interpolation. The result is the probability of a hike, hold or cut.
What is the ZQ futures contract?
The CME's 30-Day Federal Funds futures contract. Each month has its own contract (September 2026 is ZQU2026), priced at 100 minus the expected average effective fed funds rate for that month. It is the instrument from which essentially all published FOMC probability estimates are derived.
Does the market currently expect the Fed to cut? No. As of 14 August 2026, with EFFR at 3.63% in a 3.50–3.75% target range, the futures strip prices zero probability of a cut at the September meeting, a 65.7% chance of a hold and a 34.3% chance of a hike. The full strip prices a cumulative +38 basis points through July 2027 and then a plateau.
Why does my probability calculation differ from the published one? Usually one of three things. First, anchoring to the target range midpoint (3.625%) rather than the effective rate (3.63%). Second, using the wrong day count in the meeting-month backout — the split is on days at the old rate versus days at the new one, not on calendar halves. Third, and most commonly, comparing cumulative change figures across snapshots taken at different times, which have different baselines and are not comparable.
How do I get market-implied rate expectations for the ECB or the Bank of England? There is no directly comparable futures market, so use the 2-year benchmark government bond yield minus the current policy rate as a proxy for expected policy movement. Weight recent changes in that yield more heavily than its level — roughly 65/35 — because the level is largely priced into spot while the change reflects live repricing.
What is the difference between the ECB's refi rate and deposit rate? The main refinancing rate is the headline lending rate; the deposit facility rate is what banks earn on reserves and is the rate the ECB actually steers policy with. They currently differ by about 15 basis points, and many data sources publish the refi rate as "the" ECB rate while the ECB's own decisions reference the deposit rate. Using the wrong one puts every euro rate-differential calculation 15bp off.
How often does this data update? The futures-derived probability board refreshes every two hours on weekdays, storing an immutable snapshot per meeting so the repricing of any single meeting can be charted over time. The FOMC calendar is maintained through early 2028.
Why does the Fed decision move markets less than NFP in the first half hour? Because the decision itself is priced in advance by exactly the futures market described in this article, while the press conference is not. Measured across 40 Fed decisions, EUR/USD's average excursion is 34.9 pips at 30 minutes versus 48.4 pips for the jobs report — but the Fed figure grows 47% by the one-hour mark as the Q&A lands.
The number everyone quotes before an FOMC meeting is not a forecast anybody made. It is a price, mechanically converted into a probability, and knowing the conversion tells you three things a headline cannot.
It tells you the current probability is only interesting relative to what it was last week — which requires differencing the right field. It tells you the whole strip is more informative than the next meeting, and right now the strip is pricing hikes rather than the cuts most commentary assumes. And it tells you that the same idea can be extended to currencies with no futures market at all, using the 2-year yield as a proxy, which is what makes rate expectations comparable across all eight majors instead of just the dollar.
The live board — probabilities, the futures strip, the implied path and the cross-currency comparison — is free at fxterminal.app/rate-differentials.