Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

How Markets Dey Price Fed Rate Odds

Fed rate odds dey come from futures wey settle on a month's average rate. See the day-count arithmetic and full worked example from the 2025 Fed meeting.

Fed rate odds dey come from prices, no be surveys. The instrument wey carry dem na the 30-day fed funds futures contract. E settle at 100 minus the average effective federal funds rate for one calendar month. One price imply one average for the whole month. So, to pull out the odds for one meeting, you split the month into the days before the new rate take effect and the days after. Then you solve for the part wey you no know. This page dey show the arithmetic for one fixed historical meeting, September 2025. E write down every assumption, so person fit calculate any number by hand years from now.

Wetin fed funds futures contract dey settle on

Fed funds future cover one calendar month. Final settlement na 100 minus the arithmetic average of the daily effective federal funds rate. Na the rate wey banks actually use to lend reserves to each other overnight. The calculation cover every calendar day for the month. Weekends and holidays carry the rate from the previous business day. Price of 95.74 correspond to average of 4.26%.

Four features of this convention na wetin make everything below work.

  • E price average for one month, never level for one date. Decision on the 17th affect only part of the contract.
  • E price the effective rate, wey dey inside the policy target range, no be the midpoint. Tracker wey anchor on the midpoint go start from different number from tracker wey anchor on the effective rate.
  • E price one expected value across all outcomes together. Probability na something you extract under an assumption, no be something wey the contract quote directly.
  • E average calendar days, no be trading days. So the day split below count weekends.

How to turn one futures price into Fed rate odds

Take the September 2025 meeting. Dem announce the decision on Wednesday, September 17, and the new target take effect the next day. September get 30 days. The 1st through the 17th settle at the old rate, while the 18th through the 30th settle at whatever the new rate be. Na that 17 and 13 day split carry the whole derivation.

Four assumptions, all illustrative, and all written down so you fit change dem:

  • the effective rate before the meeting na 4.33%
  • the September contract dey trade at 95.74
  • market dey weigh two outcomes: no change or one cut of 25 basis points
  • no unscheduled move happen inside the month

The arithmetic then run in four steps.

  1. The price imply the month average: 100 minus 95.74 na 4.26%.
  2. The first 17 days don already get known rate: 17/30 of 4.33% na 2.4537.
  3. The last 13 days supply the balance: 4.26 minus 2.4537 na 1.8063, and 1.8063 multiply by 30/13 na 4.17%. Na the expected effective rate for the back half of the month.
  4. Convert the distance into odds: under the two outcomes, the back half of the month na blend of 4.33% and 4.08%. The 4.17% dey 0.16 below the top of that blend, and 0.16 divide by the 0.25 gap na 0.64. Call am 64% chance.

If price change, the answer go change. If the assumed step size change, e go move more. Nothing for that chain proprietary, and you no need vendor probability widget.

The rest of the front end dey quote the same expectation in different units. Here be the three shortest Treasury benchmarks across the two months around that meeting.

QueryThe short end of the Treasury curve around the September 2025 FOMC meeting
The exact SQL behind every number
SELECT date,
       round(toFloat64(yield_3_month), 2) AS yield_3m_pct,
       round(toFloat64(yield_1_year), 2) AS yield_1y_pct,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct
FROM global_markets.treasury_yields
WHERE date >= toDate('2025-08-15')
  AND date <= toDate('2025-10-15')
  AND yield_3_month IS NOT NULL
  AND yield_1_year IS NOT NULL
  AND yield_2_year IS NOT NULL
ORDER BY date
Run this yourself

The 3-month bill yield 4.3% for the start of the window in mid-August 2025 and 4.03% for the end in mid-October, across 42 sessions. The 1-year note, wey average several meetings instead of one, read 3.93% and 3.61% for those same two dates, below the bill on both. When 1-year yield dey below 3-month yield, na arithmetic, no be opinion: the longer instrument dey average months wey market expect to price lower.

Why two venues quote different Fed rate odds

Event contract state the probability directly. Market on whether the target range go lower after one particular meeting dey trade between 0 and 100, and the price na the odds before costs. Event contract prices as probabilities explain that translation. Options carry the same information in another wrapper. A call delta approximate the risk-neutral probability say the underlying go finish above the strike. So one chain quote a full distribution instead of one number. Below na a chain on TLT, the long-dated Treasury ETF, observed on Monday, September 15, 2025, and expiring that Friday, September 19, across the decision.

QueryTLT call deltas read as implied probabilities: chain of Sep 15, 2025, expiring Sep 19
The exact SQL behind every number
SELECT round(toFloat64(strike_price), 0) AS strike,
       round(avg(delta) * 100, 1) AS implied_prob_above_pct,
       round(avg(implied_volatility) * 100, 1) AS implied_vol_pct,
       sum(volume) AS contract_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'TLT'
  AND date = toDate('2025-09-15')
  AND expiration_date = toDate('2025-09-19')
  AND delta > 0
  AND iv_converged = 1
  AND volume > 0
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
GROUP BY strike
ORDER BY strike
Run this yourself

Read am from left to right. At the $85 strike, average delta na 97.8%, wey be market approximate odds say price go finish above that level four days later. At $95, the same measure read 1.4%. The curve between dem, across 9 strikes, na the distribution. Average implied volatility on the chain run 28.7% at the low strike.

Four things dey stop numbers from different venues from lining up.

  • Settlement. The futures contract settle on one month of effective rates. Event contract settle on the target range announced on one date. Option settle on a price. Different questions fit get different answers.
  • The spread. Binary contract wey quote 62 bid and 66 ask dey bracket two probabilities. The 64% midpoint na convention, and the whole four-point band dey inside the cost of trading am.
  • Expected value no be probability. A 90% chance of one 25 basis point cut, and a 70% chance of 25 together with a 10% chance of 50, both average 22.5 basis points of easing. One futures price fit cover two very different worlds.
  • Fees and margin. The same view expressed on futures exchange and event venue carry different costs. Quotes dey apart by roughly that amount.

How to chain meetings into a rate path

One contract give one month average. Stack dem, and path go appear. The October contract implied average, minus the part fixed by whatever September settle at, give the expected rate after the October meeting. Then the same step repeat down the strip. Each rung inherit the assumption from the rung below am, and small errors compound as you move farther out.

The Treasury curve encode that path in its own unit. 1-year yield na approximately the average overnight rate market expect for the next year, plus premium for holding duration. The gap between 1-year and 3-month na that chained path compressed into one number.

QueryFront-end Treasury yields by month, January 2024 to June 2026
The exact SQL behind every number
SELECT toStartOfMonth(date) AS month,
       round(avg(toFloat64(yield_3_month)), 2) AS yield_3m_pct,
       round(avg(toFloat64(yield_1_year)), 2) AS yield_1y_pct,
       round(avg(toFloat64(yield_2_year)), 2) AS yield_2y_pct,
       round((avg(toFloat64(yield_1_year)) - avg(toFloat64(yield_3_month))) * 100, 0) AS path_spread_bps
FROM global_markets.treasury_yields
WHERE date >= toDate('2024-01-01')
  AND date <= toDate('2026-06-30')
  AND yield_3_month IS NOT NULL
  AND yield_1_year IS NOT NULL
  AND yield_2_year IS NOT NULL
GROUP BY month
ORDER BY month
Run this yourself

Averaged by month over the 30 months from January 2024 to June 2026, the 3-month bill run 5.45% in the first month of the panel and 3.81% in the last. The 1-year minus 3-month spread print -66 basis points at the start and 10 at the end. Negative reading there mean market dey price average overnight rate below today’s rate over the coming year. The 2-year column carry the same expectation over longer horizon. The 2s10s spread read the curve at that end, and the 2026 Treasury curve follow the whole series through the first half of this year.

Fed decision don already enter price?

That question get measurable answer. Below na the move in the two shortest benchmarks over the five sessions ending on each 2025 decision day.

QueryFive-session move in short Treasury yields into each 2025 FOMC decision day
The exact SQL behind every number
WITH d AS (
    SELECT date,
           toFloat64(yield_3_month) AS m3,
           toFloat64(yield_1_year) AS y1,
           lagInFrame(toFloat64(yield_3_month), 5) OVER (ORDER BY date ROWS BETWEEN 5 PRECEDING AND CURRENT ROW) AS m3_five_before,
           lagInFrame(toFloat64(yield_1_year), 5) OVER (ORDER BY date ROWS BETWEEN 5 PRECEDING AND CURRENT ROW) AS y1_five_before
    FROM global_markets.treasury_yields
    WHERE date >= toDate('2024-11-01')
      AND date <= toDate('2025-12-31')
      AND yield_3_month IS NOT NULL
      AND yield_1_year IS NOT NULL
)
SELECT concat(formatDateTime(date, '%b'), ' ', toString(toDayOfMonth(date))) AS meeting,
       round((m3 - m3_five_before) * 100, 1) AS m3_change_bps,
       round((y1 - y1_five_before) * 100, 1) AS y1_change_bps
FROM d
WHERE date IN (toDate('2025-01-29'), toDate('2025-03-19'), toDate('2025-05-07'),
               toDate('2025-06-18'), toDate('2025-07-30'), toDate('2025-09-17'),
               toDate('2025-10-29'), toDate('2025-12-10'))
ORDER BY date
Run this yourself

Into Jan 29, the 1-year note move -3 basis points during that week. Into Dec 10, e move 1 across the 8 decision days in the panel. Compare each figure with the 25 basis point size of one policy step. If one week move na small fraction of one step, market don price the outcome before the week start. If e be large share of one step, that week carry something wey the strip never average in before. The macro picture entering the second half of 2026 track the same front end at the current edge.

Where the arithmetic dey break down

  • Some months no get meeting at all, and those contracts price only the rate carried over. Others get two meetings, and that turn the split into three-way weighting.
  • The derivation assume say rate change only on scheduled dates. Unscheduled moves dey happen. The March 2020 crash carry two of dem inside three weeks.
  • The probability step divide by assumed 25 basis points. Once 50 basis point outcome get real weight inside the distribution, one number no fit describe the shape.
  • Liquidity dey thin along the strip. Contracts one year or more out quote wider, so the far end of the implied path softer than the near end.
  • The Treasury version mix in term premium wey nobody observe directly. That leave the curve path as estimate with one unobservable term inside am. That same front end also work as place to hold cash: where to park idle cash look am from the saver side.

Fed rate odds FAQ

How fed funds futures dey imply odds of rate cut?

100 minus the price give the average effective rate wey the contract imply for its month. Weight the days before the new rate take effect at the current rate. Solve for the rate wey the remaining days need carry. Then divide the distance from the current rate by the size of one policy step. The September 2025 walk-through above reach 64% from assumed price of 95.74.

Why Fed probability trackers dey disagree with each other?

Dem start from different conventions. One anchor on effective rate, another on target midpoint. Binary event market quote probability net of bid-ask spread, while options chain answer question about prices instead of target range.

Futures price fit give odds of 50 basis point move?

No, not by itself. Futures price na one expected value, and many distributions fit share one expected value. A 90% chance of 25 basis point cut, and a 70% chance of 25 together with a 10% chance of 50, both average 22.5 basis points. To separate dem, you need second instrument.

How far out person fit read market-implied Fed path?

Fed funds futures list months well beyond one year, though quotes dey thin as you move farther out. That make the far end of the strip a wider estimate. Treasury curve carry the long horizon more reliably, but term premium dey mixed into the yield.

High implied probability mean say the move go happen?

No. Na price, an expected value under assumption about the outcomes wey dey on the table, and e dey revise as data arrive. E describe wetin market dey pay for today, no be wetin the committee go decide.


Every panel above na stored query over the same historical records. Open the SQL under any of dem and run the derivation for another meeting on the Strasmore terminal.

#fed#fed funds futures#rate odds#macro#prediction markets