Hikes and Cuts Never Share a Year

TL;DR This website runs one standard control on every finding: measure the effect across the whole sample, then measure it again inside each calendar year. Most findings die at the second step. Pointed at the Federal Reserve, across 91 scheduled FOMC decisions from 2015 to 2026 coded hike, hold or cut from the Fed's own target-range history, it returns three answers. Decision days as such are ordinary: the 30-day gap against every other day is −0.73 points pooled and −0.68 within-year. Split the decisions by what the committee did, and something survives: 30-day returns after meetings where the Fed moved the rate trailed meetings where it held by 15.3 points pooled and 15.4 points within-year, one of the few results here the control does not dent. And the obvious follow-up cannot be computed at all. In twelve years, no calendar year contains both a hike and a cut. The surviving gap rests on 29 move days across nine years and falls to 9.0 points if 2017 alone is removed. Persistent in direction, unpinned in size, and not a forecast.

On 3 March 2020 the Federal Reserve cut its policy rate by 50 basis points, half a percentage point, in an emergency move between scheduled meetings. Thirty days later bitcoin was 25.43 percent lower. On 15 March, twelve days after the first cut, the committee cut again, 100 basis points this time, twice as deep. Thirty days after that one, bitcoin was 31.52 percent higher.

Same committee, same fortnight, same direction, opposite outcomes of almost identical size. Any story that explains the first cut explains the second backwards. That is the trouble with reading a single Fed meeting: the sample is one, and one meeting tells a reader whatever the following month happened to do.

So this article does not read meetings. It counts them: 91 scheduled FOMC decisions from 2015 to 2026, each coded hike, hold or cut from the Fed's own target-range history. It covers three things. Whether decision days carry any signature at all. Whether it matters which way the committee moved. And why the question every reader arrives at next, whether a hike differs from a cut, cannot be answered from this data at any sample size. Hikes and cuts never share a year.

Four terms carry the rest, so here they are in plain language. The Fed sets a target range for the overnight rate at which banks lend to each other. A basis point is one hundredth of a percentage point, so a 75 basis point hike lifts that range by three quarters of a point. A gap in points is the distance between two average returns: a gap of 15 points means one group of days returned 15 percentage points less than the other over the same stretch. Pooled means measured across all fifteen years at once. Within-year means measured separately inside each calendar year and then averaged, and that second measurement is this site's standard control.

The control has done most of the killing here. Crude oil's high feature-importance rank turned out to be a calendar rather than a signal, and pointed at the dashboard's own indicators, the same instrument did the same thing to one of them. The logic is blunt. Bitcoin's fifteen-year price history contains a handful of enormous bull and bear regimes, so any variable that moves slowly enough will pick them out and look predictive. Hold the year constant and the illusion dies.

The Fed makes an unusually clean subject for it. Its decisions are dated to the minute and typed without ambiguity: the committee meets on a published schedule, the statement lands at 2pm Eastern on the second day, and the range went up, down, or nowhere. Nothing is estimated. Nothing is judged.

Building the Sample

Meeting dates come from the Fed's own calendar and its yearly historical archive. Decision type and size come from its published target-range history, which lists the effective date of every change, one business day after the decision that made it. A decision date with a matching change is a hike or a cut of that size. A decision date without one is a hold at the standing range. The coding is mechanical, which matters more than it sounds: no event in this sample was typed from memory or from somebody's summary.

The result is 62 holds, 20 hikes and 9 cuts. Four events a looser sample would have swept in are excluded, each for a stated reason. The October 2019 conference call and the August 2020 notation vote produced no rate action, so neither is a decision and neither is coded as a hold. The two emergency cuts that open this article were real and large, but they were not scheduled meetings, and the whole method rests on the scheduled cadence. The March 2020 meeting itself was cancelled. One more event, the decision of 28 January 2015, falls in the price series' only modern one-day hole and is dropped rather than filled, leaving 90 events with returns.

Forward returns are measured close to close at 1, 7 and 30 days. Three horizons, chosen so that nothing in the result rests on the intraday timing of a 2pm announcement.

Nothing Happens on Decision Day

Treat every decision alike and there is nothing to report. That is the correct first finding, not a disappointing one.

Over 30 days, decision days returned 5.67 percent on average against 6.40 percent for every other day in the window: a gap of −0.73 points, which the within-year control leaves alone at −0.68. At seven days the gap is −1.00 pooled and −1.03 within-year. At one day it is a positive 0.68 points pooled and 0.64 within-year, too small to notice against daily bitcoin volatility.

The useful property of those three lines is that pooled and within-year agree. When they agree, era composition is not doing the work, and the honest reading is that there is no effect to compose. A market that had learned to treat Fed decision days as special occasions would not produce this table. Anyone who expected the calendar entry itself to carry information now has an answer. It is no.

What the Committee Did

The unconditional test lumps a 75 basis point hike in with an unchanged range, which is a strange thing to do to a variable whose entire content is the decision. Split by type, at the 30-day horizon, the three groups pull apart.

Hike days averaged −5.16 percent over the following 30 days. Cut days −3.66 percent. Hold days a positive 10.59 percent, against 6.40 percent for non-decision days. Expressed as gaps against that baseline: hikes −11.56 points, cuts −10.06 points, holds a positive 4.19 points.

Then comes the step that has ended most findings on this website. This time it does not. Recomputed inside each calendar year and averaged, the hike gap is −12.29 points, the cut gap −9.33, the hold gap a positive 3.68. Each sits close to its pooled value, and the hike gap is slightly larger under the control than without it. Oil, for comparison, went from a 19.5-point edge to 0.0. Here the calendar takes nothing.

Collapsing hikes and cuts into a single category of moves gives the cleanest version of the contrast. Days the committee changed the rate returned −4.69 percent over the next 30 days, against a positive 10.59 percent on days it held: a pooled gap of 15.3 points. Within-year, across the nine years containing both a move and a hold, the same gap is 15.4 points. The control erases nothing.

A gap that size deserves a hostile question before it deserves a headline. How much of it is one year?

Enough to matter. The average is built from nine per-year numbers, two of which rest on a single move. Six of the nine are negative, three positive. Their median is −9.65 points against a −15.36 mean, which says the average is being dragged by its tail. Drop 2017, a year in which bitcoin rose by more than an order of magnitude with three hikes inside it, and the gap falls to −8.99 points. Drop 2018 instead and it climbs to −18.93.

So the defensible statement is a range and a direction, not a figure. Across estimators and leave-one-year-out variants, the 30-day move-versus-hold gap sits between roughly 9 and 19 points, negative, with six of nine years agreeing on the sign. The one-day horizon is the same shape in miniature: a gap of −0.74 points, negative in eight of nine years, the highest sign agreement anywhere in this study. The seven-day horizon is the weakest of the three, a mean of per-year median gaps of a positive 0.02 points, which is to say nothing at all.

No significance test accompanies any of this, deliberately. With 29 move days, nine years and 30-day windows that overlap heavily, the usual machinery would hand back a p-value with unearned authority. These numbers describe a sample. They do not test a hypothesis.

The two cuts that open this article make the case for restraint better than any caveat could. Twelve days apart, two cuts in the same direction, a 25.43 percent fall and a 31.52 percent rise. Whatever the sample average describes, it is not a mechanism that acts reliably on any individual meeting.

Hikes and Cuts Never Share a Year

Every reader arrives at the same next question: whether a hike differs from a cut. It is worth being precise about why this study declines to answer it.

Sort the decisions by year and they fall into blocks. From 2015 through 2018, hikes and holds. In 2019, cuts and holds. In 2020 and 2021, nothing but holds. In 2022 and 2023 the hikes return. In 2024 and 2025 the cuts do. In twelve years, not one calendar year contains both a hike and a cut.

That is not a small-sample complaint. It is a structural one, and no amount of extra history repairs it. The within-year control works by comparing things inside a period where the regime is held roughly constant. When two categories never co-occur inside any such period, the control has nothing to hold on to. Any hike-versus-cut difference computed from this data is a comparison of 2022 with 2025 wearing the costume of a comparison between two policy actions. The pooled numbers above do show hikes and cuts differing by 1.5 points at 30 days. That number should be ignored, because the design cannot separate it from the difference between the eras that produced it.

The Fed does not alternate. It turns, and stays turned for years, which makes its decisions and the macro regime close to the same variable.

Which is also why move-versus-hold was the only conditional result offered above. Moves and holds do share years, nine of them, and that overlap is the whole reason the comparison exists to be computed. The sample is not short of decisions. It is short of years in which the committee changed its mind.

What Survives

Three things came out of this, and they are worth separating.

A null. FOMC decision days, taken as a category, are ordinary days for bitcoin. Pooled and within-year numbers agree on that at all three horizons.

A survivor, stated as a range rather than a figure. From 2015 to 2026, 30-day returns after meetings where the Fed changed the rate were lower than after meetings where it held. The size depends on how the average is taken: roughly 9 to 19 points. Removing era effects does not weaken it.

That one travels with its limits attached: 29 events, a persistent sign, an unpinned magnitude, three of nine years pointing the other way. It is not a forecast, it is not a claim that the decision caused the returns, and it is not usable as timing. Rate changes cluster in periods when the committee is reacting to something, inflation in 2022, deterioration in 2019, and those periods have a character of their own for risk assets that owes little to the announcement. The finding is as consistent with moves marking turbulent stretches as with anything travelling from the statement to the price. Telling the two apart needs a measure of how far each decision surprised the market, which means a primary-sourced history of market-implied odds going into each meeting. That is the obvious extension, and it is not in hand.

A boundary, the one most likely to outlive the other two. Hikes and cuts never share a year, so the difference between them is not measurable here at any sample size. More data will not fix it, because the Fed's own behaviour is what creates it.

The scheduled decision of 29 July 2026 falls one day after this sample ends and was unresolved when it closed, so it is excluded rather than assumed. It is also the next out-of-sample test, and its terms are already fixed: whether the committee moves or holds, and what the following 30 days do, checks against the numbers above without a single further choice. The script is ml/research/fomc_event_test.py, stdlib only, one command against the committed price series. It prints every figure in this article, including the ones that argue against its own headline.