A falling dollar really does precede Bitcoin strength, in every cycle we can measure. We swept it into our model at three weights and every one of them failed the out-of-sample test — so it carries zero weight.
The three-month momentum of the Federal Reserve's Nominal Broad U.S. Dollar Index — the percentage change over 63 business days. Note this is the BROAD trade-weighted index against a basket of U.S. trading partners, not the ICE dollar futures contract most charts label DXY; the two move together but are not the same series.
Our data: FRED series DTWEXBGS, refreshed daily and appended tail-only, so a Federal Reserve revision cannot silently re-base history in the middle of an A/B run. Each historical day reads the last observation at or before D-3, because DTWEXBGS publishes with a lag and scoring a day with FX it could not have seen is the same class of error as a look-ahead bug.
| Measure | Without it | With it |
|---|---|---|
| Out-of-sample holdout GPA | 3.82 | 3.55 |
| In-sample navigator GPA | 3.41 | 3.43 |
| Walk-forward geomean edge | 1.089 | 1.087 |
| Walk-forward folds beating buy-and-hold | 7 | 8 |
| Drawdown tripwire | not tripped | not tripped |
Measured against the model as it stood on 2026-07-26. That baseline is several re-baselines old and is NOT the current published record — see the register for today's figures. Fold counts in the table are out of the 18 walk-forward folds as they stood on that date. Recorded at src/services/cycleProjection.ts:3036.
| Measure | Without it | With it |
|---|---|---|
| Out-of-sample holdout GPA | 3.82 | 3.55 |
| In-sample navigator GPA | 3.41 | 3.43 |
| Walk-forward geomean edge | 1.089 | 1.088 |
| Walk-forward folds beating buy-and-hold | 7 | 8 |
| Drawdown tripwire | not tripped | not tripped |
Same 2026-07-26 baseline. The middle of the sweep, and the weight the live-only version of this signal had always carried. Fold counts are out of the 18 walk-forward folds as they stood on that date, not our current record. Recorded at src/services/cycleProjection.ts:3037.
| Measure | Without it | With it |
|---|---|---|
| Out-of-sample holdout GPA | 3.82 | 3.55 |
| In-sample navigator GPA | 3.41 | 3.43 |
| Walk-forward geomean edge | 1.089 | 1.094 |
| Walk-forward folds beating buy-and-hold | 7 | 8 |
| Drawdown tripwire | not tripped | not tripped |
Same 2026-07-26 baseline. The top of the sweep — and the setting where the in-sample walk-forward looks best, which is the point of the whole table. Fold counts are out of the 18 walk-forward folds as they stood on that date, not our current record. Recorded at src/services/cycleProjection.ts:3038.
The underlying relationship is not in doubt, and it is unusually well behaved. Dollar momentum against Bitcoin's forward 90-day return keeps the same sign in all four cycles we can measure (correlations of -0.298, -0.413, -0.416 and -0.198), and splitting history into terciles by dollar direction gives +59.5% in falling-dollar periods against +11.2% in rising ones. Sign-stability across four cycles is rarer than it sounds; most macro candidates we test flip somewhere.
It still failed. At every weight in the sweep the out-of-sample holdout fell from 3.82 to 3.55, against a floor of 3.80 with no tolerance. That single row is what decided it.
Read the three tables together and the shape is unmistakable. The in-sample score went UP at every setting (3.41 to 3.43) while the out-of-sample score went DOWN by the same amount at every setting. That is the textbook signature of fitting the events you trained on, and the holdout exists precisely to catch it. The walk-forward barely moved at all — at best +0.005, which is inside the noise line this project already set for itself.
Notice also what a return-only reading would have concluded. Walk-forward folds beating buy-and-hold went from 7 to 8, and at weight 0.04 the walk-forward edge improved. Three of the five rows in that last table are green. If we graded on the headline we would have shipped it.
The drawdown tripwire is the one row that says nothing here, and that is worth stating plainly rather than dressing up. It did not move at any weight in either direction. We treat that check as a consistency tripwire and not as evidence of skill, because a zero-timing control run at our own average exposure passes it too. On this signal it simply had nothing to report.
The honest explanation is not that the dollar is uninformative. It is that our model already reads whatever the dollar was telling it, through other channels — so adding it bought nothing and cost generalisation. Restoring the weight to zero returns the holdout to 3.82 exactly, which is the control that makes the rest of this readable.
It stays wired at weight zero and can be re-swept with one environment variable. We did not delete it; we priced it at nothing.
Every signal we add has to survive the same gate, and most do not. Our published record is measured over 18 walk-forward folds (the year and cycle folds tile the same span, so they are not independent of each other). The figures in the table above are dated results against the model as it stood on the day of the test — the register is the only authority on where the model stands today.
Read the current call in today's briefing, or the timestamped record of every call in the call ledger.