TradingCipher← This week

Methodology

Every definition behind every number on this site, in one place, so a figure on any page can be checked against the rule that produced it.

The clock

Everything starts from the release minute. For a report published at 08:30 ET, the reference price is the close of the last one-minute bar before 08:30. Every figure on the site is measured from that price, in percent, so a reading of 0.50% means the index was half a percent away from where it stood the moment the number came out.

Five marks are read after the release. One minute: the close of the first bar after the print, used on the first-sixty-seconds page. Five minutes: the first direction, used to decide whether a move reversed, held or kept going. Thirty minutes: the window the site is built around, where the swing, the net move and the up-or-down count are taken. Sixty minutes: shown on the release pages and in the first-move table. Two hours: the check on whether thirty minutes was enough. For an FOMC decision at 14:00 those marks fall at 14:01, 14:05, 14:30, 15:00 and 16:00, so the two-hour reading lands on the cash close and the thirty-minute reading lands at the exact start of the press conference. For an 08:30 report they fall at 08:31, 08:35, 09:00, 09:30 and 10:30, so the two-hour reading includes the first hour of the regular session. The trend-or-reversal block reads one more mark, the 16:00 ET close. The pages that use those marks say so, because on those rows the clock is part of the explanation.

One more window is read before the release: the sixty minutes ending at the print, used on the page about the quiet before. It is twice as long as the window after, and the ratio on that page is not adjusted for it.

The measurements

Swing is the highest price minus the lowest price from the last minute before the release through the thirtieth minute after it, in percent of the reference price. It is a range, not a distance travelled: it says how far apart the extremes were, not how much ground the price covered getting there. It is the headline figure on every release page and the basis of the ranking, and it is deliberately not the net change: a half hour that ran half a percent up and half a percent back down has a swing of a percent and a net move of nothing, and anyone holding a position through it would side with the swing.

Net move is where the price sat at a mark relative to the reference price, with its sign. Distance is the same thing without the sign, used wherever direction would only add noise, which is the two-hour comparison and the first minute. Best and worst are the furthest the price reached above and below the reference inside the window, not where it closed. A reversal is a five-minute net move and a thirty-minute net move with opposite signs, by any margin. Trend or reversal by the close asks only whether the 16:00 ET close sat on the same side of the reference price as the five-minute mark; it does not look at the path in between, and its chart flips each release so the first move points up. The gap between a print and its forecast, when both are percentages, is shown in percentage points (pp): a 0.4% print against a 0.3% forecast is 0.1 pp, not 0.1%.

Wherever a page reports a single figure for a release, it is the median across the occurrences in that page’s population, never the mean. A mean of thirty half hours is a number the widest three of them decide. With an even number of releases the median is the average of the two middle values, on every page. The largest single day is reported separately, with its date, so the median has something to sit against.

What is left out, and why

Shared minutes. When two reports on this site print in the same minute, the move belongs to both, and nothing here can split it between them. The cross-release pages (the ranking, the pattern pages and the forecast-surprise split) leave those occurrences out, because counting a shared move under each name inflates the quieter release. The release pages keep them: their tiles, tables, answers, first-move table and trend-or-reversal block count every occurrence, and the history table marks the shared ones. The page on shared minutes compares the shared days on their own with the same release’s solo days.

Small sides. A split by forecast surprise is only shown when each side has at least eight occurrences, and a release only appears in the cross-release tables once it has twelve on record. Below that, a count is an anecdote.

Exact matches. A print that equals its consensus forecast to the published precision belongs to neither the above column nor the below one and is left out of both.

Missing readings. A release whose reference minute, thirty-minute reading or swing is missing from the price record is not measured. A later mark that is missing (sixty minutes, two hours, the close) leaves that release out of the figures that need it and nowhere else. Gaps inside a window are not checked separately.

The instrument

Prices are one-minute bars on Nasdaq 100 and S&P 500 index CFDs. They trade around the clock, which is what makes the 08:30 releases measurable at all: the equity market does not open for another hour, and only the futures and the instruments that track them are moving. The CFDs follow the front-month futures closely, but they are not the CME contracts. Every figure is a percentage of the index level, never a contract point, and the basis between the contract and the index is not in these numbers. The one exception is the ordinary-day mark on the trend-or-reversal block, measured once on CME micro Nasdaq futures because the CFD record covers release days only; it says so where it appears. The Nasdaq 100 and S&P 500 records are kept separately, so a release can be on one and missing from the other, and the comparison between them uses each index’s own count. The site is measured on the Nasdaq 100 by default because the reaction is larger there by a fairly constant margin, which the page comparing the two indexes reports release by release.

Where the figures and dates come from

Release dates and times are taken from the publishing agencies' own schedules: the Bureau of Labor Statistics, the Census Bureau, the Bureau of Economic Analysis and the Federal Reserve. A calendar rule would put the jobs report on the first Friday and be wrong several times a year, and a date that is wrong by a day measures the wrong minute of the wrong session.

The printed figures are read from two independent sources, the publishing agency's own release text and an economic calendar feed, and where both carry a value for the same release the two are compared at every rebuild. A disagreement is flagged, the agency's figure is the one shown, and the flag is what gets a human to look. That check exists because the site's own parser has been wrong before: it once read the BLS phrase “changed little” as a print of zero, on three payroll reports that were not zero, and the disagreement with the second source is what caught it. The consensus forecasts come from the calendar feed alone and are not cross-checked, which is one reason the forecast splits are shown as counts with their sample sizes rather than as anything firmer.

What is not measured

Volume, so a quiet hour in price may be a busy hour in the book. Slippage, so the first-minute distance is where the index landed and not what a fill would have cost. Options, implied volatility and the futures basis. The size of a forecast surprise, which is folded into above or below. And the direction of the next print, which nothing on this site claims to know. The release pages and most tables show how many releases they stand on, so you can decide for yourself how much a pattern across a few dozen releases is worth.

How and when it updates

The record is rebuilt every Saturday, and again on the afternoon of any weekday a measured release prints, once the tick feed has published the hour: usually two to four hours after an 08:30 or 10:00 print, and the next weekday for an FOMC decision. The printed figure itself reaches the board within about ten minutes of an 08:30 or 10:00 release. The sixty-minute and two-hour readings fill in on a later rebuild if the feed had not published them yet, and the move to the 16:00 close is read only after the day has ended, on the next rebuild. Every median, ranking and pattern page is recomputed from the full record each time, and the figures quoted in the pattern pages and the essays are filled from the same rebuild, so a number in a paragraph and the number in the table beside it always come from the same run. When a definition changes, the whole record is remeasured under the new one rather than mixing two rules across time.

The data

Every release and both indexes, as one CSV: the 5, 30 and 60-minute moves, the 30-minute range and whether the first five minutes held to the close, in percent of the release price. Free to use under CC BY 4.0, with a credit to this site: GitHub and Kaggle.

Releases: Core Personal Consumption Expenditures (Core PCE) Consumer Price Index (CPI) Durable Goods Orders Fed Rate Decision (FOMC) Gross Domestic Product (GDP) Housing Starts and Building Permits Import and Export Prices Job Openings and Labor Turnover (JOLTS) New Home Sales Nonfarm Payrolls (NFP) Producer Price Index (PPI) Productivity and Unit Labor Costs Retail Sales Trade Balance (International Trade)