What the FOMC decision does to the book
35 FOMC decision days against the 1,048 other sessions in the archive, read at the same clock
Key finding. Thirty-five FOMC decision days against every other session at the same clock. The unsigned book at 13:55 is a normal book; the signed one is a fifth of normal and its walls stand three times farther from spot. The hour after 14:00 travels 3.5 times the volatility the tape was making, and the press conference is the larger half. The tape prints 44% more contracts in the first half-hour and adds a tenth of the signed gamma an ordinary afternoon adds. The 0DTE IV crush is not there to find, no sign in the book predicts the move, and the press conference does not continue the statement's direction. Two directional patterns turned up after the list was closed and are registered forward, not claimed.
Every FOMC afternoon the same three things are said about the dealer book. That it "knows" the decision, so the levels drawn from it before 14:00 mean something about the move after. That dealers are short gamma into the statement and their hedging amplifies it. And that the implied volatility priced for the event collapses the moment the statement is out. Each is a statement about numbers this archive holds minute by minute, so the study below puts all three to the same 35 decision days, compares each against every other session at the same clock, and reports every one of the 36 comparisons it listed before looking, plus one asked afterwards.
The short version. The book on an FOMC afternoon is a normal-sized book whose two sides cancel: the unsigned convexity is within 12% of an ordinary day, the tape-signed net at spot is a fifth of normal, and the walls it produces stand three times farther from spot. The hour after 14:00 travels 3.5 times the volatility the tape was making at 13:59, and the press-conference half-hour is the larger half. The tape prints 44% more contracts in that first half-hour and adds a tenth of the signed gamma an ordinary afternoon adds. There is no IV crush to find in the 0DTE ATM surface, because the event was priced from the open; there is no sign in the 13:59 book that predicts which way 14:00 goes; and the press conference does not continue the statement's direction any more often than a coin does.
The book is there. Its sign is not.
The terminal carries three views of the same chain. The unsigned book is |gamma| × open interest per strike, no side assigned: how much convexity exists and where it sits. The convention book signs every contract by its type, and the measured book signs every print by the side of the market it hit. Read all three at 13:55, five minutes before the statement.
| read at 13:55 | FOMC (35) | other (1,048) | difference ± se | t |
|---|---|---|---|---|
| unsigned near-money book, $M/pt | 743.3 | 848.4 | −105.1 ± 54.7 | −1.92 |
| measured book |net gamma| at spot, $M | 24.7 | 131.5 | −106.9 ± 7.3 | −14.6 |
| convention book |net gamma| at spot, $M | 163.5 | 309.0 | −145.5 ± 28.1 | −5.17 |
| signed ÷ unsigned book | 0.121 | 0.264 | −0.143 ± 0.009 | −15.3 |
| nearest wall, distance from spot, points | 23.6 | 7.3 | +16.2 ± 4.0 | +4.11 |
The first row is the one to read against the other four. The contracts are on the chain: the unsigned book is 12% under an ordinary afternoon and that shortfall does not clear two standard errors. What is missing is a side. The measured book's net at spot is 25 $M against 132, and the medians are further apart still, 11 against 90. The convention book, built from open interest rather than the tape, says the same thing at 164 against 309. The ratio of signed to unsigned convexity is 0.12 on a decision day and 0.26 otherwise, and that ratio is the tightest number in the study: 35 days sit so close together on it that the error bar is 0.009. A book of normal size whose sides cancel is a book nobody is net positioned in, and the levels drawn from it behave accordingly: the nearest wall stands 24 points from spot at 13:59, against 7 on an ordinary day. The walls have not stopped working. They have moved out of the way.
The balance holds through the move, too. The measured book's tilt, the sum of |gamma| within 30 points above spot minus the sum below, shifts by 17 $M/pt between 13:55 and 15:00 on a decision day and by 53 on an ordinary afternoon (−36 ± 4, t = −9.0). An ordinary afternoon leans the book to a side as price travels; the FOMC afternoon, with three times the travel, leans it less.
That is a description, not an explanation. The archive cannot say whether the two sides cancel because dealers flattened into the event or because the FOMC afternoon is a two-way market in which the tape signer, which scores about 52% per print on ordinary days (see how accurate is complex-trade signing), has even less to work with. The convention book does not use the signer and agrees with it, which argues for the first reading. The flow section below argues for the second.
14:00 is worth 3.5 of its own volatility, and the press conference is the larger half
Points are the wrong unit for an afternoon whose whole point is that the tape went quiet
first. The range after 14:00 is divided by the move the tape was already making at 13:59,
the trailing 30-minute realised move per minute projected over the window
(σ = rv30 × √minutes), the same scaler this site's
opex study and
touch surface use. It reads only
information available at 13:59.
| window | FOMC (35) | other (1,048) | difference ± se | t |
|---|---|---|---|---|
| σ at 13:59, points per minute | 1.207 | 1.391 | −0.184 ± 0.087 | −2.12 |
| range 14:00 → 15:00 ÷ σ | 5.65 | 1.62 | +4.03 ± 0.55 | +7.36 |
| range 14:00 → 15:00, points | 47.2 | 16.1 | +31.2 ± 3.8 | +8.13 |
| range 14:00 → 14:30, points (the statement) | 22.6 | 11.0 | +11.6 ± 2.0 | +5.70 |
| range 14:30 → 15:00, points (the press conference) | 41.4 | 10.6 | +30.8 ± 3.7 | +8.35 |
| |move| 13:59 → 14:30 ÷ σ | 3.13 | 0.97 | +2.16 ± 0.61 | +3.52 |
| realised ÷ implied, 30 min, read at 15:00 | 1.36 | 0.71 | +0.65 ± 0.07 | +8.84 |
Two things in that table are worth more than the obvious one. The first row says the tape is quieter going into the statement, 1.21 points a minute against 1.39, which is why the scaled range is a better statement than the point range: the afternoon travels 3.5 times the volatility it had just been making (5.65 ÷ 1.62), and the medians say the same, 4.65 against 1.41. The split by half-hour is the second: the press-conference half-hour, 14:30 to 15:00, carries a 41-point range against 23 for the statement half-hour. The statement is the smaller event. Whatever the chair says at 14:30 moves the index almost twice as far as what the committee wrote at 14:00, and it does so on the 35 days as a group, not on a few.
The last row is the one a straddle seller would want. Thirty-minute realised volatility over implied, read at 15:00, is 1.36 on a decision day and 0.71 otherwise. On an ordinary afternoon the 0DTE surface overprices the next half-hour by a wide margin; on an FOMC afternoon realised runs 36% over what the surface priced, even after pricing the event all day, which is the subject of a later section.
The tape prints more and signs less
The measured book is built from the tape, so the half-hour after the statement can be read as flow: how many contracts printed, and how much signed gamma they added.
| 14:00 → 14:30 | FOMC (35) | other (1,048) | difference ± se | t |
|---|---|---|---|---|
| contracts per minute ÷ the session's own mean | 1.44 | 0.90 | +0.54 ± 0.07 | +7.37 |
| |flow gamma| per minute ÷ the session's own mean | 0.75 | 0.91 | −0.16 ± 0.05 | −3.25 |
| net flow gamma added, $M | 2.8 | 31.8 | −28.9 ± 3.1 | −9.27 |
Forty-four percent more contracts than the session's own pace, against 10% fewer on an ordinary afternoon, and yet the signed gamma they add per minute is lower than the session's pace, 0.75 against 0.91, and the net added over the half-hour is a tenth of normal, 2.8 $M against 31.8. More prints, less sign. That is what a two-way tape looks like through a per-print signer: both sides hit both sides, the signs cancel, and the book's net barely moves while its size grows. It is the second reading of the first table. The unsigned book does grow after the statement, +7.7% from 13:55 to 15:00 against +2.3% on other days (t = +2.70), though that number is carried by 2022 and 2023 (+9.4, t = +2.66) and is a third the size and not significant since 2024 (+2.7, t = +1.24); it is printed, not claimed.
What is not there
The IV crush. The 0DTE ATM implied volatility at 13:55 is 28.6% on a decision day against 10.6% otherwise, and it was already 17.6% against 11.3% at 10:00: the event is priced from the open, not in the last hour. Thirty-five minutes after the statement the ATM IV has moved +1.2% on FOMC days and +3.3% on other days, and the straddle has lost 16.6% of its value against 14.8%. Neither difference clears one standard error. The straddle loses what an afternoon straddle loses; the surface does not visibly collapse, because after an 18-point move the at-the-money strike is a different strike and what it now prices is the press conference. Whether a broader expiry shows a crush this study cannot say. It read 0DTE.
A sign that predicts the move. The measured book's sign at 13:59 agrees with the direction of the following 30 minutes on 51% of decision days, 18 of 35, against 51% on other days. Split the 35 by that sign: 13 days with positive gamma at spot moved 17.5 points by 14:30, 22 days with negative gamma moved 18.0. Short gamma did not amplify anything the long-gamma days did not also do. This is the same null the sign-of-a-gamma-feed study found on all days, now on the 35 days where the folklore is loudest.
The press conference continuing the statement. This one was not on the list; it was asked after the first draft and is reported the same way. If the index is up from 13:59 to 14:30, is it up again from 14:30 to 15:00? On 17 of 35 decision days, 49%, against 51% of ordinary afternoons at the same clocks; the rank correlation between the two legs is −0.04, and the press-conference leg measured in the statement's direction averages −3.7 ± 5.2 points. Take the first 15 minutes instead of the first 30 and the agreement is 21 of 35, 60%, which a fair coin produces one time in three (p = 0.31). Take only the 18 larger statement moves and it is 8 of 18. The 14:30 leg is the larger one, and it does not know which way 14:00 went.
Levels breaking. The nearest wall is touched within 30 minutes of 14:00 on 49% of decision days and 61% of others, a difference of −13 ± 9 points. The move is three times larger and the wall is three times farther, and the two roughly cancel. Nothing here says the levels hold better on FOMC days; it says they are not reached more often, because they were not drawn where the move went.
The whipsaw. The first 15 minutes after 14:00 are reversed by the following 45 on 40% of decision days against 50% otherwise, t = −1.16. If anything the first move continues more often than it reverses, and 35 days cannot say even that.
The pre-decision drift. The 12:00 to 14:00 range divided by σ at 12:00 is 2.00 on decision days against 1.51, t = +3.26. In points the two ranges are equal, 23.2 against 25.0. The ratio moves because the denominator does: the tape is quiet at noon on an FOMC day and ordinary range follows. It also fades across the split, +0.89 in 2022 to 2023 and +0.23 (t = +1.20) since 2024. Read it as the quiet, not as drift.
Two things found afterwards, registered forward
After the list above was closed, fifteen more directional splits of the afternoon were run at the owner's request, every one of them printed here in the table below. Thirteen are coins. Two are not, and fifteen looks is exactly the number at which one p = 0.02 is expected by chance, so both are written as hypotheses with a forward test attached rather than as results.
The drift into the press conference reverses. Take the 15 minutes before 14:30 and ask whether the press-conference half-hour continues them. It does on 10 of 35 decision days; on 25 it goes the other way (p = 0.017). The press-conference leg, measured in the direction of the drift, averages −11.6 ± 4.9 points. The two halves of the sample agree, 4 of 14 and 6 of 21 continue, and ordinary afternoons at the same clocks continue on 50%. The weak spot is the drift itself: it averages 6 points, and on the 19 days where it was larger than the median the reversal thins to 7 of 19 continuing, which a coin does one time in three.
The last hour of a decision day sells off. From 15:00 to the close the index moves −18.2 ± 6.4 points on decision days, t = −2.85, up on 16 of 35; ordinary days move +0.1. Both halves are negative, −15.8 in 2022 to 2023 and −19.7 since 2024, and it does not depend on which way the press conference went: −15.5 after a rising one, −22.2 after a falling one. The weak spot is the median, −5, against a mean of −18: 2022-11-02 alone contributed −125, and a mean carried by four or five days is the kind that vanishes when those days are not repeated.
The second pattern is expressible in the Lab's vocabulary as it
stands, and this is what its engine prints for it: short at 15:00 on ev_fomc
days, 30-minute horizon, one point of cost, three points favourable.
| FOMC last-hour fade | all 35 decision days | holdout, last 150 sessions |
|---|---|---|
| trades | 35 | 5 |
| hit, 3 points favourable within 30 min | 74% | 80% |
| net after cost, points per trade | +7.3 ± 4.0 (t = 1.83) | +22 ± 14 (t = 1.62, flagged small) |
| probability of a loss over 20 trades | 2.5% | too few to say |
A t of 1.8 on 35 trades is not a result. It is the strongest directional number this calendar has produced, and it is registered exactly so that it can fail in public: the rule is fixed, the feature store appends every new decision day on its own, and the next eight meetings will read it forward without anyone choosing the window. The first pattern needs one column the vocabulary does not carry yet, the trailing 15-minute return, and is registered the same way once it does.
| directional split, decision days (35) | same sign | continuation ± se, points | other days |
|---|---|---|---|
| statement 13:59 → 14:30 vs press conference 14:30 → 15:00 | 17 / 35 | −3.7 ± 5.2 | 51% |
| statement vs 14:30 → close | 17 / 35 | −6.9 ± 8.4 | 52% |
| first 15 min after 14:00 vs press conference | 21 / 35 | +2.2 ± 5.3 | |
| first 1 min after 14:00 vs 14:01 → 14:30 | 18 / 35 | +2.5 ± 2.4 | |
| first 5 min after 14:00 vs 14:05 → 14:30 | 18 / 35 | +0.9 ± 1.9 | 54% |
| first 5 min after 14:30 vs 14:35 → 15:00 | 17 / 35 | −9.3 ± 5.2 | 52% |
| first 10 min after 14:30 vs 14:40 → 15:00 | 16 / 35 | −1.1 ± 4.0 | |
| press conference vs 15:00 → close | 18 / 35 | −0.4 ± 7.1 | 51% |
| 13:59 → 15:00 vs 15:00 → close | 16 / 35 | −3.5 ± 7.1 | |
| morning 09:30 → 13:59 vs 13:59 → 15:00 | 21 / 35 | −2.5 ± 6.0 | |
| morning 09:30 → 13:59 vs 13:59 → close | 18 / 35 | −0.5 ± 9.7 | 52% |
| above VWAP at 14:30 vs press conference up | 19 / 35 | −0.7 | |
| above the flip at 14:30 vs press conference up | 14 / 26 | +2.1 | |
| drift 14:15 → 14:30 vs press conference 14:30 → 15:00 | 10 / 35 | −11.6 ± 4.9 | 50% |
| 15:00 → close, unconditional (share up, mean) | 16 / 35 up | −18.2 ± 6.4 | 50%, +0.1 |
Every comparison
Thirty-six comparisons were listed before the numbers were seen and one was added afterwards; all are here, decision days against every other session at the same clock, Welch differences of the day means, no selection. Rows read at 13:55 and 15:00 use the last minute at or before that clock.
| metric | FOMC | other | difference ± se | t | n |
|---|---|---|---|---|---|
| signed ÷ unsigned book at 13:55 | 0.121 | 0.264 | −0.143 ± 0.009 | −15.3 | 35 / 1,048 |
| measured |net gamma| at spot 13:55, $M | 24.7 | 131.5 | −106.9 ± 7.3 | −14.6 | 35 / 1,048 |
| measured |net gamma| at spot 15:00, $M | 43.0 | 203.9 | −160.9 ± 11.4 | −14.1 | 35 / 1,048 |
| signed ÷ unsigned book at 15:00 | 0.162 | 0.341 | −0.180 ± 0.013 | −13.8 | 35 / 1,048 |
| net flow gamma 14:00 → 14:30, $M | 2.8 | 31.8 | −28.9 ± 3.1 | −9.27 | 35 / 1,048 |
| side shift |Δ(above − below)| 13:55 → 15:00, $M/pt | 17.0 | 53.3 | −36.4 ± 4.0 | −8.99 | 35 / 1,048 |
| realised ÷ implied 30 min, at 15:00 | 1.361 | 0.707 | +0.654 ± 0.074 | +8.84 | 35 / 1,048 |
| range 14:30 → 15:00, points | 41.4 | 10.6 | +30.8 ± 3.7 | +8.35 | 35 / 1,048 |
| range 14:00 → 15:00, points | 47.2 | 16.1 | +31.2 ± 3.8 | +8.13 | 35 / 1,048 |
| contracts 14:00 → 14:30 ÷ session mean | 1.444 | 0.903 | +0.541 ± 0.073 | +7.37 | 35 / 1,048 |
| range 14:00 → 15:00 ÷ σ(13:59) | 5.651 | 1.623 | +4.028 ± 0.547 | +7.36 | 35 / 1,048 |
| ATM IV at 13:55, % | 28.59 | 10.61 | +17.98 ± 2.52 | +7.14 | 35 / 1,048 |
| range 14:00 → 14:30, points | 22.6 | 11.0 | +11.6 ± 2.0 | +5.70 | 35 / 1,048 |
| convention |net gamma| at spot 13:55, $M | 163.5 | 309.0 | −145.5 ± 28.1 | −5.17 | 35 / 1,048 |
| ATM IV at 10:00, % | 17.63 | 11.32 | +6.31 ± 1.40 | +4.50 | 35 / 1,048 |
| flip migration 13:55 → 15:00, points | 70.4 | 11.8 | +58.6 ± 13.1 | +4.48 | 21 / 975 |
| nearest wall distance at 13:59, points | 23.6 | 7.3 | +16.2 ± 4.0 | +4.11 | 35 / 1,048 |
| |move| 13:59 → 14:30, points | 17.8 | 6.9 | +10.9 ± 2.9 | +3.80 | 35 / 1,048 |
| |forward 30 min| at 14:00 ÷ σ(13:59) | 3.017 | 0.950 | +2.067 ± 0.580 | +3.57 | 35 / 1,048 |
| |move| 13:59 → 14:30 ÷ σ(13:59) | 3.127 | 0.972 | +2.155 ± 0.612 | +3.52 | 35 / 1,048 |
| range 12:00 → 14:00 ÷ σ(12:00) | 2.000 | 1.511 | +0.489 ± 0.150 | +3.26 | 35 / 1,048 |
| |flow gamma| per min 14:00 → 14:30 ÷ session mean | 0.751 | 0.912 | −0.160 ± 0.049 | −3.25 | 35 / 1,048 |
| unsigned book change 13:55 → 15:00, % | 7.7 | 2.3 | +5.4 ± 2.0 | +2.70 | 35 / 1,048 |
| σ at 13:59, points per minute | 1.207 | 1.391 | −0.184 ± 0.087 | −2.12 | 35 / 1,048 |
| concentration change 13:55 → 15:00 | 0.015 | 0.024 | −0.009 ± 0.005 | −1.93 | 35 / 1,048 |
| unsigned near-money book at 13:55, $M/pt | 743.3 | 848.4 | −105.1 ± 54.7 | −1.92 | 35 / 1,048 |
| hold-band width change 13:55 → 15:00, % | 15.9 | −7.7 | +23.6 ± 14.2 | +1.66 | 10 / 870 |
| convention |net gamma| change 13:55 → 15:00, % (median) | 36.9 | 8.1 | +258 ± 164 (means) | +1.57 | 35 / 1,048 |
| nearest wall touched within 30 min of 14:00, share | 0.486 | 0.612 | −0.126 ± 0.087 | −1.45 | 35 / 1,048 |
| measured |net gamma| change 13:55 → 15:00, % (median) | 53.6 | 54.5 | +281 ± 240 (means) | +1.17 | 35 / 1,048 |
| whipsaw: 14:15 → 15:00 reverses 13:59 → 14:15, share | 0.400 | 0.500 | −0.100 ± 0.085 | −1.16 | 35 / 1,047 |
| straddle change 13:55 → 14:35, % | −16.61 | −14.81 | −1.79 ± 1.67 | −1.07 | 35 / 1,048 |
| ATM IV change 13:55 → 14:35, % | 1.22 | 3.31 | −2.09 ± 2.05 | −1.02 | 35 / 1,048 |
| range 12:00 → 14:00, points | 23.2 | 25.0 | −1.8 ± 2.3 | −0.79 | 35 / 1,048 |
| ATM IV change 13:55 → 14:35, IV points | −0.13 | +0.26 | −0.39 ± 0.51 | −0.77 | 35 / 1,048 |
| 13:59 measured sign predicts 14:00 → 14:30, share | 0.514 | 0.506 | +0.009 ± 0.087 | +0.10 | 35 / 1,046 |
| press conference continues the statement, share (asked afterwards) | 0.486 | 0.509 | −0.023 ± 0.086 | −0.27 | 35 / 1,048 |
The two percentage-change rows for the signed books are shown as medians because their means are ruled by days on which the 13:55 net was a few dollars from zero; the mean differences and their t are printed beside them so nothing is hidden. Flip migration uses only days with a flip at both clocks, 21 of 35 decision days and 975 of 1,048 others; 14 decision days had no flip at one of the two, which is itself a fact about a book whose sides cancel. The hold band exists at both clocks on only 10 decision days, too few to read.
Does it hold across the sample?
Thirty-five days is one regime-spanning stretch, so the six rows that carry the argument were re-run on the two halves: 14 decision days in 2022 to 2023 and 21 since 2024.
| difference, FOMC − other | 2022–2023 (14 / 408) | t | 2024–2026 (21 / 640) | t |
|---|---|---|---|---|
| range 14:00 → 15:00 ÷ σ | +5.35 ± 0.79 | +6.74 | +3.14 ± 0.68 | +4.65 |
| |flow gamma| per min ÷ session mean | −0.147 ± 0.064 | −2.29 | −0.168 ± 0.071 | −2.36 |
| unsigned book change 13:55 → 15:00, % | +9.4 ± 3.5 | +2.66 | +2.7 ± 2.2 | +1.24 |
| range 12:00 → 14:00 ÷ σ | +0.89 ± 0.21 | +4.32 | +0.23 ± 0.19 | +1.20 |
| ATM IV change 13:55 → 14:35, % | −4.2 ± 1.7 | −2.41 | −0.7 ± 3.2 | −0.22 |
| measured |net gamma| change 13:55 → 15:00, % (means) | −82 ± 168 | −0.49 | +520 ± 385 | +1.35 |
The afternoon range survives both halves at a smaller size in the second, 3.1 σ of excess against 5.4, which is the 2022 bear market leaving the sample. The flow-gamma shortfall is the same number in both halves. The book rebuild and the noon quiet are 2022 to 2023 results that have faded, and are written above as such. The IV rows are null in both.
What counts as a decision day, and what was thrown out
A decision day is the second day of a scheduled FOMC meeting from the Federal Reserve's own calendar, with the statement at 14:00 ET and the press conference at 14:30, the same list the terminal's calendar draws from. Thirty-five of them fall inside the archive, 2022-05-04 to 2026-07-29; the March 2020 unscheduled actions predate it, and the August 2025 notation vote on the framework statement is not a meeting and is not counted. Every other session is the control, including CPI and payroll days, whose releases come before the open and do not touch a 14:00 window.
Of 1,093 archived sessions, 1,083 are usable. The ten exclusions are half-days, which close at 13:00 and have no afternoon to read: the day after Thanksgiving and Christmas Eve each year, and July 3 when it trades. No session was dropped for bad prices, and no decision day was dropped at all. The unsigned book is read over the near-money window the terminal's GROSS lane uses; both signed books are their net gamma value at spot in $M.
What it does not say
Thirty-five days is a small sample, and the strong numbers here are strong because the event is large, not because the sample is. A t of 8 on the afternoon range says the FOMC afternoon is volatile, which nobody disputes; what the study adds is the size relative to the tape's own volatility, the split between the statement and the press conference, and the shape of the book around it. The book results rest on the same 35 days, and every one of them is a description of state, not a rule that was traded. The four rules the folklore implies were tested and are null: the sign does not predict, the walls are not reached more often, the first move does not reverse, and the press conference does not continue the statement. The two directional patterns found afterwards are labelled as found afterwards, with the number of looks that produced them, and are registered to be read forward; a t of 1.8 on 35 trades is a hypothesis with a date on it. Nothing here says what to do at 14:00. It says what the book looks like while you decide.
The cancelling-sides result is not resolved between its two readings, flattening before the event or a two-way tape defeating the signer, and the study says so twice. The IV result is a 0DTE result and says nothing about the weekly or the monthly surface. The window is one stretch, 2022's bear market through 2026, and every number is a statement about these 35 afternoons. Nothing on this page is investment advice; see the Terms.
Reproduce it
The spine of this post needs no licensed data. The decision days are in the public
calendar at https://firmtape.com/snapshots/events.json, keyed by date, with
"n": "FOMC decision" at "t": "14:00". Every finished session's
JSON at https://firmtape.com/snapshots/YYYY-MM-DD.json carries the one-minute
minutes and spot series for the range and the scaler,
ngv_meas and ngv_conv for the two signed books' net at spot, and
flip. The headline range statistic, in full:
import json, numpy as np, pandas as pd, urllib.request as u ev = json.load(u.urlopen("https://firmtape.com/snapshots/events.json"))["days"] fomc = sorted(d for d, rows in ev.items() if any(r["n"] == "FOMC decision" for r in rows)) d = json.load(open("2026-07-29.json")) # https://firmtape.com/snapshots/YYYY-MM-DD.json s = np.array(d["spot"], float) # one-minute prints, 09:30..15:59 ET m = d["minutes"] i = m.index("13:59"); j = m.index("15:00") rv30 = pd.Series(s).diff().rolling(30).std().values # points per minute sig = rv30[i] * np.sqrt(j - i) # projected over 14:00..15:00 range_scaled = (s[i:j + 1].max() - s[i:j + 1].min()) / sig # mean over the 35 decision days: 5.65; over the other 1,048 sessions: 1.62. # The unsigned book (the `ga` per-strike frames in the same JSON) and the contract # counts behind the flow rows are the terminal's own; the flow rows need the tape.
The unsigned book and the contract counts come from the build's own per-strike frames and the per-print tape. Rebuilding those from scratch needs licensed data, the SPXW trade and NBBO feed from ThetaData. Reproducible does not mean free in those rows. It does for the range, the scaler, both signed books at spot, the flip and the calendar, which is most of this page.
Part of FirmTape research. Measured on the free session archive; every session is free to replay.