Vantage
Next major event
Events analyzed
Live pairs
← All insights
Statistics9 August 2026· 7 min read

Statistics for Traders #9: Sortino ratio via the CAD Unemployment × USDCAD big-beat bucket — a Sortino of 4.79 vs a Sharpe of 0.98, and why the gap tells you the loss distribution is asymmetric

The 26 big-beat CAD Unemployment prints on USDCAD produce a per-trade Sharpe ratio of 0.98 for a short-USDCAD strategy — respectable but not extraordinary. The Sortino ratio on the same 26 trades is 4.79. That’s not a computational quirk. 22 of the 26 trades won, and 3 of the 4 losers were tiny (-3.2, -3.5, -9.0 pips). Only one trade — 2017-08-04 at -35.1p — was a meaningful loss. Sortino divides mean return by the RMS of downside returns and finds almost nothing to divide by. That’s the point.

Today’s slot-1 post established that CAD Unemployment on USDCAD walks monotonically across the five surprise buckets. The big_beat bucket — n=26, median 15-minute move −39.3p, pct-up 15% — is the sample this installment works through. Yesterday’s Stats for Traders #8 introduced Sharpe as “mean over standard deviation” and flagged that a symmetric denominator under-weights strategies with asymmetric loss distributions. Sortino is that correction, and the CAD Unemployment × USDCAD big_beat bucket is a beautifully clean worked example of when Sortino and Sharpe diverge.

The formula

Sortino = mean return / downside deviation. Four steps:

step 1 mean = sum(returns) / n step 2 for each return r_i, compute downside_i = max(0, MAR - r_i) MAR ("minimum acceptable return") is usually 0. When MAR = 0, downside_i = max(0, -r_i) — the loss magnitude for losing trades, 0 for winning trades. step 3 downside_dev = sqrt( sum(downside_i²) / n ) ↑ divide by full n, not loser count step 4 Sortino = mean / downside_dev

The one thing to know about the denominator: divide the sum of squared downside returns by the full sample size n, NOT by the count of losing trades. This is the convention in Bacon’s Practical Portfolio Performance Measurement and Attribution (2013) and in most institutional performance software. Winning trades contribute 0 to the sum but still count toward n, so the denominator gets diluted by winners. The alternative (divide by loser count) inflates Sortino to implausible values on high-win-rate strategies.

Worked example: CAD Unemployment × USDCAD big_beat, all 26 prints

The strategy: short USDCAD 15 minutes before a big_beat CAD Unemployment print, cover 15 minutes after. Per-trade PnL = -move_pips. A big_beat print for unemployment is a print where the unemployment rate came in LOWER than consensus (a favourable surprise for CAD), so the base rate is CAD strong → USDCAD down → our short wins.

n = 26 sum(PnL) = +892.5 pips mean = +34.33 pips sample variance (n-1 denom) = 1229.6 sample sd = 35.07 pips Sharpe (per-trade, r_f=0) = 34.33 / 35.07 = 0.979 Losing trades (move_pips > 0): 4 of 26 2017-08-04 cons=6.5 act=6.3 move=+35.10 → PnL = -35.10p 2010-12-03 cons=7.9 act=7.6 move= +9.00 → PnL = -9.00p 2020-05-08 cons=18.0 act=13.0 move= +3.50 → PnL = -3.50p 2026-02-06 cons=6.8 act=6.5 move= +3.20 → PnL = -3.20p Sum of squared losses = 35.1² + 9² + 3.5² + 3.2² = 1232.01 + 81 + 12.25 + 10.24 = 1335.50 Downside dev (Bacon, n=26) = sqrt(1335.50 / 26) = sqrt(51.365) = 7.167 pips Sortino (per-trade, MAR=0) = 34.33 / 7.17 = 4.790

Sharpe 0.98, Sortino 4.79. Sortino is 4.9× the Sharpe.

A grouped bar chart titled 'Sharpe vs Sortino per trade' comparing two buckets from CAD Unemployment × USDCAD at the 15-minute window. Left group labeled 'big_beat n=26 (short USDCAD)': green bar for Sharpe at 0.98, coral bar for Sortino at 4.79 — a very wide gap. Right group labeled 'big_miss n=10 (long USDCAD)': green bar for Sharpe at 0.48, coral bar for Sortino at 1.23 — a narrower gap. Y-axis runs 0 to 5.5 with grid lines every 1.0. Data value labels above each bar.
Sharpe vs Sortino on the two tail buckets. When most trades win and the losers are small, Sortino towers over Sharpe.

Why the ratio Sortino/Sharpe is diagnostic

For a perfectly symmetric distribution — the normal or any distribution where upside and downside contribute equally to total variance — Sortino equals Sharpe × sqrt(2). That’s a mathematical identity, not an empirical rule. sqrt(2) ≈ 1.414. So the ratio Sortino/Sharpe = 1.414 is the symmetric baseline. Any observed ratio above that means the empirical loss distribution is smaller or rarer than a symmetric distribution would predict.

On the big_beat bucket: Sortino/Sharpe = 4.79 / 0.98 = 4.89. That’s 3.5× the symmetric baseline. Very asymmetric — the strategy loses infrequently, and when it loses, loses small. On the big_miss bucket (long-USDCAD, n=10 with 3 losers): Sortino/Sharpe = 1.23 / 0.48 = 2.56, about 1.8× the baseline — noticeably asymmetric but nowhere near as extreme.

In practical terms: the big_beat bucket has a much better risk-reward tail shape than the big_miss bucket does, even though the Sharpes are only 2× apart. The Sortino gap widens that comparison substantially — 4.79 vs 1.23 is a 4× ratio.

Where Sortino misleads

Sortino is brittle when losers are rare. The big_beat bucket has 4 losing trades in a sample of 26. Adding one more losing trade — say, at -50 pips (larger than any historical loser) — would recompute as:

new sum of squared losses = 1335.50 + 50² = 3835.50 new downside dev = sqrt(3835.50 / 27) = 11.92p new mean (approx) = (892.5 - 50) / 27 = 31.2p new Sortino = 31.2 / 11.92 = 2.62

A single new loser at -50 pips would drop the Sortino from 4.79 to 2.62 — almost half. Same distribution, one more data point, wildly different summary statistic. This is the identical fat-tail problem Stats #6 (kurtosis) established for raw return distributions, applied to the Sortino estimator itself. Rule of thumb: if the loser count is below 20, treat the Sortino as informative-but-noisy. Below 10 — big_miss with 3 losers is well below — treat it as directional only.

Sortino is not annualized here. The 4.79 is per-trade, not annualized. Both CAD Unemployment big-beat prints and big-miss prints fire only a few times per year (roughly 2-3 big_beat and 1-2 big_miss annually on this event×instrument), so annualized Sortino for either strategy = per-trade Sortino × sqrt(2 or 3). For big_beat: sqrt(2.5) × 4.79 ≈ 7.6 annualized. Still very high. Still driven by 4 losing trades in the historical record. Still brittle to the next big loser.

What’s next in the series

Sortino is the first genuine risk-adjusted-return metric this series has introduced that isn’t symmetric in its treatment of upside and downside. Two natural follow-ups from the ledger’s queue: the information ratio(Sharpe against a benchmark instead of the risk-free rate — a fair-comparison metric when you’re trying to say your strategy beats a passive long-USDCAD baseline, rather than just beats zero) and bootstrap resamplingfor tail-bucket confidence intervals (flagged as the tool of choice back in Stats #7 for the same small-n problem that makes Sortino brittle here). Also on deck: correlation vs causation (a worked FX example) and autocorrelation (why 20 back-to-back candles don’t count as 20 observations, and how that inflates the effective variance in the Sortino denominator).

Open the tool → Free forever. No signup. No email required.

Keep reading
UK CPI y/y on EURGBP: 12 of 13 big-miss prints sent the pair up (92.3%), the whole 5-bucket walk is monotonic on both median AND pct-up — and unlike its GBPUSD mirror, this edge doesn't fade196 non-contaminated UK CPI y/y releases on EURGBP at 15 minutes. Medians walk +15.20 / +10.50 / −0.75 / −3.40 / −5.30 pips across big_miss → big_beat — clean monotonic. Pct-up walks 92.3 / 87.2 / 45.6 / 26.9 / 18.8 percent — also clean monotonic. The GBPUSD leg (published 2026-08-02) shows the same shape on its miss side but with a small_miss > big_miss magnitude inversion, and the whole 15m edge fades by end of day. EURGBP holds direction all the way to 4h. Same release, two pair legs, one keeps the edge and the other doesn't.AUDNZD's top-2 loudest half-hour cells of the week are BOTH outside the London/NY overlap — Wed 21:00 UTC (12.60p) and Fri 21:30 UTC (12.50p), both Sydney/Wellington-morning cluster12 days ago I flagged AUDNZD as the only pair whose single loudest cell is outside the London/NY overlap window (Wed 21:00 UTC). Today's deepening: it isn't just the #1 cell. Ranking all 240 weekday half-hour cells by median 30-minute range, the #2 cell is ALSO in the Sydney/Wellington cluster — Fri 21:30 UTC at 12.50p. The overlap band contributes the #3, #4, #5 cells, but the top-2 belong to Asia. Half of AUDNZD's top-20 loudest cells are Asia-session, half are Overlap — a 50/50 split that no other liquid pair remotely approaches.Statistics for Traders #15: Stationary bootstrap on the 196-release NFP × USDJPY |move_pips| series — the plain iid bootstrap gives [33.03, 43.67] for the mean, the block-bootstrap correction (E[L]=10) widens it 74% to [28.99, 47.48]The plain percentile bootstrap from Stats #12 assumes iid observations. Stats #10 showed the NFP × USDJPY 15m |move_pips| series has lag-1 autocorrelation +0.26 — canonical volatility clustering, well outside the ±0.14 IID band. On that autocorrelated series the plain bootstrap under-covers. Today's worked example runs the Politis-Romano 1994 stationary bootstrap (yesterday's Paper Trail #14) end-to-end on the same 196-release series: draw blocks of geometric length, paste them together, compute the statistic on the pseudo-series. The result: 95% CIs 48-92% wider than the plain bootstrap, depending on the mean block length E[L].Paper Trail #15: An Empirical Evaluation of Accounting Income Numbers (Ball & Brown, 1968) — the paper that showed annual earnings correlate with stock returns AND that price starts moving on the news months before the releaseBall & Brown's 1968 JAR paper is the foundational finding that accounting income numbers do carry price-relevant information, that firms with positive earnings surprises see positive abnormal returns before and around the announcement, and that price continues to drift in the direction of the surprise for months AFTER the release. It's the paper Bernard & Thomas 1989 (Paper Trail #6) refined into what we now call post-earnings-announcement drift. The 1968 paper is behind JSTOR's paywall today; every claim below traces to open-access secondary sources — Ian Gow's open-source accounting textbook, Zach Williams's 2019 reexamination in JMI, and Wikipedia's PEAD article.Canada GDP m/m on CADJPY: pct-up walks a perfectly monotonic 26.1 → 27.3 → 50.0 → 70.8 → 90.9 across all 5 buckets — and the one big-beat 'down' print is a COVID-2020 math artifact196 non-contaminated Canada GDP m/m releases on CADJPY at 15 minutes. Big-beat: 10 of 11 prints sent the pair up (90.9%). Big-miss: 17 of 23 sent it down (26.1% up). The whole 5-bucket pct-up walk is monotonic. The median walk has a beat-side inversion (small_beat +7.20p is bigger than big_beat +3.10p) — but strip the one COVID-era outlier from big_beat and the direction rate becomes 10 of 10 = 100%. Sixth JPY-cross-beats-USD-pair post: the same event on USDCAD has 87.5% miss-side up-rate and a comparable beat-side inversion.Swiss CPI m/m on EURCHF: 199 releases with a monotonic median walk but a beat-side pct-up inversion — big_beat is up 36.4% of the time, small_beat only 20.9%199 non-contaminated Swiss CPI m/m releases on EURCHF at 15 minutes. Medians walk +12.50 / +2.95 / −0.10 / −2.10 / −2.90 pips big_miss → big_beat — monotonic across every bucket. Pct-up walks 83.3 / 71.7 / 47.8 / 20.9 / 36.4 percent — miss-side monotonic, but small_beat 20.9% is BELOW big_beat 36.4%. The same event on USDCHF (published 2026-08-05) has a clean monotonic pct-up walk. EURCHF's miss-side amplitude is roughly twice USDCHF's, but the beat side is where the two pairs part ways.Wed 14:30 UTC — the EIA petroleum-inventories slot — is a top-6 loudness cell for 14 of 28 liquid FX pairs, and a top-10 cell for 25 of 28The EIA Weekly Petroleum Status Report drops at 10:30 AM ET every Wednesday. That's 14:30 UTC in DST months. A prior post covered the 7 CAD-complex pairs that all rank the slot in their top-6; this one covers the other seven non-CAD-complex pairs that also do — GBPAUD (#3), AUDCHF, EURAUD, EURCHF, GBPCHF, GBPNZD (#6), NZDCHF (#6) — plus the surprising fact that only three of 28 pairs rank Wed 14:30 UTC outside their top-10.Statistics for Traders #14: BCa bootstrap — bias-corrected accelerated CI for the mean on today's slot-1 CHF CPI × EURCHF big_miss n=18 sample. Shifts both endpoints right vs plain percentile because z0=+0.04 and a=+0.044 for right-skewed dataThe BCa (bias-corrected accelerated) bootstrap of Efron 1987 is the refinement to yesterday's plain percentile bootstrap that adjusts both endpoints for finite-sample bias (z0) and for a skew-related acceleration term (a). Worked on today's slot-1 anchor CHF CPI × EURCHF big_miss n=18 sample. Plain percentile CI for the mean: [+9.97, +30.76]. BCa: [+11.01, +32.43] — both endpoints shifted right because sample skew is +1.22 and z0/a come out positive. Also demonstrates the median-specific edge case where jackknife perturbation is degenerate and a collapses to 0, so BCa reduces to a bias-only correction.Paper Trail #14: The Stationary Bootstrap (Politis & Romano, 1994) — the block-bootstrap variant that resamples random-length blocks with a geometric distribution so the pseudo-series is itself stationaryPolitis & Romano's 1994 JASA paper introduced the stationary bootstrap: a resampling scheme for autocorrelated time series where block lengths are drawn from a geometric distribution with mean 1/p, so each pseudo-sample has the same stationarity property as the original. It's the direct extension of Efron 1979 (Paper Trail #13) to serially dependent data and the primary source Stats #12 flagged as the upgrade required for the autocorrelated FX-move series Stats #10 first quantified. The 1994 paper itself is behind Taylor & Francis's paywall today; every claim below traces to Politis's own subsequent review (Politis & White 2004) and correction (Patton, Politis & White 2009).US ISM Services on EURUSD: 15 of 19 big-beat prints sent EURUSD down at 15 minutes, and the 5-bucket median walk mirrors the USDJPY version almost exactly (published 7 days ago)197 non-contaminated US ISM Services PMI releases on EURUSD at 15 minutes. Medians walk +14.50 / +8.00 / −2.30 / −10.00 / −10.80 pips big_miss → big_beat — monotonic across every bucket. Pct-up walks 72.7 / 73.2 / 45.7 / 17.8 / 21.1 percent — nearly monotonic. Big-beat n=19 with 15 down prints = 78.9% down-rate is the mirror image of the 2026-08-07 USDJPY post where 18 of 19 big-beat prints sent USDJPY up (94.7% up-rate). Same dollar-side flow, seen from both crosses.Canada Ivey PMI on CADJPY: 197 releases, both the median walk AND the pct-up walk monotonic across all five surprise buckets — and the first soft-survey release to do it on the JPY cross197 non-contaminated Canada Ivey PMI releases on CADJPY at 15 minutes. Medians walk −10.15 / −8.20 / +2.00 / +3.40 / +4.20 pips big_miss → big_beat, and pct-up walks 21.4 / 37.8 / 57.3 / 69.4 / 71.4 percent — both monotonic through every one of the five buckets. The same event on USDCAD is directionally right too, but its beat-side medians have a small_beat > big_beat magnitude inversion. Fifth JPY-cross-beats-USD-pair post in the ledger — and the first that's driven by a soft-survey release rather than a hard-data one, which is a genuine surprise given how noisy the Ivey response usually looks on the domestic USDCAD pair.Monday 12:30 UTC is the quietest half-hour of the entire London/NY overlap for ALL 28 liquid FX pairs — 1.4× to 1.7× quieter than that same pair's loudest overlap cellFor every one of 28 liquid FX pairs, the quietest half-hour cell inside the Mon-Fri 12:30-15:00 UTC London/NY overlap window is Monday's 12:30 UTC opening slot. Every pair. The ratio between each pair's Mon 12:30 median range and its loudest overlap half-hour ranges from 1.39× (GBPCHF) to 1.69× (USDJPY), median 1.51×. This isn't the same as the general Monday-is-quieter finding — it's the stricter claim that even inside the loudest three hours of the entire trading week, Monday is still the low. The mechanism is simple: Tue-Fri overlap includes Thursday jobless-claims at 13:30 UTC and Friday NFP + post-NFP at 13:30 and 14:30 UTC; Monday's overlap does not.Statistics for Traders #13: Information ratio via today's slot-1 CAD Ivey PMI × CADJPY sample — Sharpe against a real benchmark rather than cash, and how it becomes a Welch t-statistic for bucket-filter strategiesThe information ratio is Sharpe with the risk-free rate replaced by a real benchmark's return. For a bucket-filter strategy the calculation collapses to Welch's two-sample t-statistic. Worked on today's slot-1 CAD Ivey × CADJPY big-beat n=14 sample: per-trade Sharpe 0.488, IR vs all-events benchmark +1.84, IR vs non-tail-bucket benchmark +1.97 (both above the 1.5 rule-of-thumb for 'genuinely adding alpha'). The short-big_miss variant has an even higher IR of +2.81 because the non-tail-bucket baseline drifts slightly negative on CADJPY, which the short-side strategy diverges from usefully.Paper Trail #13: Bootstrap Methods — Another Look at the Jackknife (Efron, 1979) — the paper that gave us the percentile bootstrap yesterday's Stats #12 was built on, plus the enduring insight that 'the jackknife is a linear approximation to the bootstrap'Bradley Efron's 1977 Rietz Lecture, published in the Annals of Statistics 7(1) 1-26 (January 1979). The paper introduces the bootstrap as a general method for estimating sampling distributions from a single random sample by resampling with replacement, illustrates it on the sample-median variance problem where the jackknife is known to fail, and shows the bootstrap outperforming cross-validation for linear-discriminant-analysis error rates. Also names the three Methods (direct calculation, Monte Carlo approximation, Taylor-series expansion), showing that Method 3 IS the jackknife — hence the paper's subtitle. Verified via OCR of the image-only JSTOR/Project Euclid PDF; seventh Paper Trail post in a row with full primary-source access.AUD Retail Sales m/m on AUDUSD: 14 of 16 big-miss prints sent AUDUSD down (87.5%), the 5-bucket median walk is monotonic, but the beat side has a small_beat > big_beat magnitude AND up-rate inversion188 non-contaminated Australia Retail Sales m/m releases on AUDUSD at 15 minutes. Miss side: big_miss n=16 median −18.55p with only 2 of 16 up (12.5%); small_miss n=43 median −8.30p with 9 of 43 up (20.9%). Beat side: small_beat n=27 median +5.80p with 24 of 27 up (88.9%) but big_beat n=13 median +6.00p with only 9 of 13 up (69.2%). Both an up-rate inversion (small_beat 88.9% > big_beat 69.2%) and a magnitude near-tie on the beat side. Clears the 2026-08-12 considered-but-not-used ledger item that flagged this exact combo — first published post on Australia Retail Sales.Canada Retail Sales m/m on USDCAD: every column of the 5-bucket table walks monotonically — median, mean, AND up-rate — across all 194 releases194 non-contaminated Canada Retail Sales m/m releases on USDCAD at 15 minutes. Medians walk +16.7 / +12.7 / +2.3 / −6.0 / −17.25 pips big_miss → big_beat, means walk +23.6 / +17.5 / +5.9 / −10.3 / −20.0, and pct-up walks 80 / 84.6 / 62.4 / 31.1 / 10 percent — every single column monotonic across every single bucket. Nine of 10 big-beat prints sent USDCAD down; 12 of 15 big-miss prints sent it up. The fourth Canadian macro release to show a clean 5-bucket walk on USDCAD, after Employment, Trimmed CPI, and Unemployment.GBPNZD holds 19 of the 20 loudest weekday half-hour cells across all 28 liquid pairs — and its 20th-loudest cell beats 25 of the other 27 pairs' single loudest cell6636 weekday half-hour cells across 28 liquid pairs. Sorted by median range, GBPNZD takes 19 of the top 20 slots. The one interloper is GBPAUD Fri 14:30 UTC at #20. GBPNZD's own 20th-loudest cell (Tue 15:00 UTC = 29.80p) is louder than the single loudest cell of every pair except GBPAUD and GBPCAD. This is a deeper claim than the 2026-08-05 post which framed GBPNZD as 'the loudest pair' — GBPNZD isn't just loud in its peak hour, it's louder EVERYWHERE across the week than any of the 25 lower-volatility pairs are in their single loudest hour.Statistics for Traders #12: Percentile bootstrap 95% CI for today's big-miss n=15 CAD Retail median is [+11.1, +50.5] — narrower than the order-stat CI, wider than the t-CI for the mean, and the right choice for asymmetric tail-bucket samplesThe plain (i.i.d.) percentile bootstrap resamples with replacement 20,000 times and takes the 2.5% and 97.5% percentiles of the resampled medians. On today's slot-1 anchor — CAD Retail m/m × USDCAD big_miss n=15 — that gives 95% CI [+11.10, +50.50], width 39.4p. Contrast: the distribution-free order-stat CI from Stats #3 is [−5.30, +52.30] (wider, safer), and the t-CI for the MEAN from Stats #7 is [+8.23, +39.01] (narrower, assumes normality). Bootstrap is the middle ground — data-shape-aware, no distributional assumptions, but requires block bootstrap when observations are autocorrelated as Stats #10 flagged for the NFP volatility series.Paper Trail #12: Conditional Heteroskedasticity in Asset Returns — A New Approach (Nelson, 1991) — the paper that added the leverage effect to GARCH and gave us EGARCHTwo days after covering Bollerslev's 1986 GARCH, the natural follow-up: Daniel B. Nelson's 1991 EGARCH paper (Econometrica 59(2):347-370) that fixed the three biggest problems with GARCH. Nelson modeled ln(σ²) instead of σ², removing the need for nonnegativity constraints. He added the g(z_t) = θ·z_t + γ·(|z_t| − E|z_t|) function so negative and positive return shocks affect volatility asymmetrically. On CRSP daily returns 1962-1987 (n=6408), his estimated θ = -0.118 (SE 0.008) says negative shocks have 7.2× the volatility-impact of positive shocks of the same magnitude — the 'leverage effect' Fischer Black identified in 1976 that vanilla GARCH couldn't capture.UK Core CPI on GBPUSD: 13 of 15 big-beat prints sent GBPUSD up (86.7%), and the pct-up walk is monotonic — but the small-miss median is BIGGER than the big-miss median, which tells you something specific about noise198 non-contaminated UK Core CPI y/y releases on GBPUSD at 15 minutes. Pct-up walks 26.7 / 18.9 / 54.8 / 62.3 / 86.7 percent — cleanly monotonic across every one of the 5 surprise buckets. Big-beat n=15 with 13 up prints. But the median walk isn't monotonic on the miss side: big_miss median is -13.70p while small_miss median is -16.00p — the small-miss cluster produces LARGER absolute moves than the big-miss cluster. That's the signature of mean-reversion in the event's noise floor, not a random inversion. Explains why: the small-miss population is dominated by publisher-error / algo-reversal outliers that the big-miss samples don't see.Canada CPI m/m on CADJPY: 15 of 19 big-beat prints sent the pair up, and the 5-bucket median walk is monotonic — the JPY cross beats USDCAD once again194 non-contaminated Canada CPI m/m releases on CADJPY at 15 minutes. Medians walk −11.1 / −4.8 / +1.1 / +10.4 / +18.7 pips across big_miss → big_beat, and pct-up walks 15.4 / 35.4 / 55.6 / 63.6 / 78.9 percent — both monotonic through all five buckets. The same event on USDCAD is directionally right too, but its miss-side medians are non-monotonic (big_miss +12.8p is smaller than small_miss +12.95p). Third instance of the JPY-cross-beats-USD-pair pattern in the ledger — UK CPI on GBPJPY (2026-08-08) and CAD Employment on CADJPY (2026-08-08) did the same trick.Wednesday 14:30 UTC is a top-6 weekday half-hour for every single CAD-cross — the closest thing to a Canadian NFP hour comes from a US oil-inventory releaseThe EIA Weekly Petroleum Status Report drops at 10:30 AM Eastern every Wednesday. In UTC (during DST months) that's 14:30. For all seven liquid CAD-crosses — USDCAD, CADJPY, CADCHF, AUDCAD, EURCAD, GBPCAD, NZDCAD — that half-hour ranks in the top 6 of the weekly grid of 237 half-hour cells. GBPCAD ranks it #2 (behind only Fri 14:30 UTC post-NFP). The only cells that consistently rank higher across the CAD complex are Fri 12:30-14:30 UTC (NFP hour and its neighbors) and the Thursday ECB/BoE-decision window (12:30-14:30 UTC). No non-oil release comes close.Statistics for Traders #11: Pearson r across the whole CAD CPI × CADJPY sample is +0.44 — but within the big-beat bucket alone it's −0.15, and the bucket labels carry the signalThe 5-bucket monotonic walk we see across the tool is what a positive Pearson correlation of +0.44 looks like when you discretize a continuous relationship. But when you drop back into each of the five buckets and ask 'does knowing the exact surprise-z inside this bucket help me forecast the move?', four of five bucket-level r values have 95% CIs that straddle zero. The bucket boundary IS the signal — trying to squeeze extra edge from the exact z within a big_beat print doesn't work.Paper Trail #11: On Persistence in Mutual Fund Performance (Carhart, 1997) — the paper that added momentum to Fama-French and killed most of the 'hot hands' persistence storyMark Carhart's 1997 Journal of Finance paper extends Fama-French's 1993 3-factor model with a fourth factor: PR1YR, a zero-investment portfolio long last year's top 30% return firms and short last year's bottom 30%. On a survivor-bias-free sample of 1,892 diversified equity funds from 1962-1993, the 4-factor model plus investment costs explain 6.3 of the 8 percentage points of annual spread between decile-1 and decile-10 past-return funds — leaving the residual 'hot hands' story with almost nothing left. Verified against the JSTOR-hosted PDF, OCR-recovered because the reprint is image-only.Every major central-bank rate decision buckets 82-98% 'in_line' — 845 of 897 decisions across the Fed, BoE, ECB, BoJ, BoC, RBA, RBNZ, SNBAcross eight major central banks over 10-30 years of data, 845 of 897 rate decisions on the tool land in the 'in_line' bucket. The BoE is the most predictable at 98.1% in-line; the SNB the least at 82.1%. That's not because rate decisions don't matter — it's because OIS (overnight index swap) markets price the decision to the actual outcome by the morning of the meeting. The 5-15% of surprises that DO happen move HUGE: median move-pips per surprise range from ±25 to ±227 across the eight CBs. Practical implication: rate decisions are pre-priced by construction, not tradeable via the standard bucket-response framework the tool was built for.Australia Employment Change on AUDJPY: 21 of 26 big-beat prints sent the pair up 35.6 pips at 15m, with a cleaner beat-side walk than on AUDUSD198 non-contaminated Australia Employment Change releases on AUDJPY at 15 minutes. Medians walk −18.2 / −21.9 / +1.7 / +19.5 / +35.6 pips big_miss → big_beat, monotonic across all five buckets. Pct-up on the beat side walks 53 → 75 → 81 percent. Compared with the same event on AUDUSD (covered in the 2026-08-02 two-employment-reports post), the JPY-cross wins on beat-side pip magnitude and the USD-pair wins on miss-side unanimity (0-of-8 big-miss prints went up on AUDUSD versus 2-of-8 on AUDJPY).Tokyo takes lunch at 03:00 UTC — and every liquid JPY-cross gets 14-18% quieter for the next 90 minutesAll seven liquid JPY-crosses have a local minimum in typical half-hour range between 03:00 and 04:30 UTC. That window is Tokyo's lunch break (12:00-13:30 JST), and it dips 14-18% below the bracketing 02:00 UTC and 05:00 UTC half-hours. Japan doesn't observe DST, so the dip is stable year-round.Statistics for Traders #10: autocorrelation and why 196 NFP releases behave like 115 independent samples once you look at the volatility clusteringThe 196-release NFP history on USDJPY shows near-zero autocorrelation in signed move direction (as efficient-markets weak-form predicts) but a striking +0.26 lag-1 autocorrelation in absolute move size. Volatility clusters. Treat that 196-sample history as if it were 115 independent observations for confidence-interval purposes — otherwise your CIs will be systematically too narrow by about 30 percent.Paper Trail #10: Generalized Autoregressive Conditional Heteroskedasticity (Bollerslev, 1986) — the paper that gave us GARCH(1,1)Tim Bollerslev's 1986 Journal of Econometrics paper generalizes Engle's ARCH by letting past conditional variances enter the variance equation. The GARCH(1,1) form — h_t = α_0 + α_1·ε²_(t−1) + β_1·h_(t−1) — became the workhorse volatility model for the next 40 years. Verified against the full 21-page PDF Bollerslev hosts on his Duke faculty page.NFP on USDJPY: 14 of 14 big-beat prints sent USDJPY up at 15 minutes, and the small-miss bucket falls harder than big-miss196 non-contaminated NFP releases on USDJPY at the 15-minute window. Medians walk −16.2 / −26.0 / +1.8 / +24.5 / +30.2 pips big_miss → big_beat, monotonic. Big_beat n=14 lands 100% of prints on the up side. The small_miss bucket actually falls further than big_miss (−26 vs −16 pips) — a small-sample-on-tail artifact that shows up on several employment-print pairs.CAD Unemployment on USDCAD: 22 of 26 big-beat prints sent USDCAD down, and the whole 5-bucket walk is monotonic across every window from 1 minute to 4 hours196 non-contaminated Canada Unemployment Rate releases on USDCAD at 15 minutes. Medians walk +15.1 / +19.5 / +4.5 / -10.9 / -39.3 pips across the five surprise buckets. Pct-up walks 70 / 79 / 54 / 36 / 15 percent. This is the third Canadian labour post in the batch — completing the trilogy after CAD Employment Change on USDCAD (2026-08-01) and CAD Employment Change on CADJPY (2026-08-08). Both Canadian labour prints trade the same way: a Canadian jobs improvement pushes CAD stronger against the US dollar.Thursday 13:30 UTC — jobless-claims hour — is the loudest half-hour of the week for 9 pairs, more than Friday's NFP hour is for 7Across the 28 liquid FX pairs, the single loudest half-hour of the week lands on Thursday 13:30 UTC for 9 pairs, on Friday 14:30 UTC (the post-NFP echo) for 8, and on Friday 13:30 UTC (NFP itself) for 7. NFP-hour is not the modal peak. Weekly US Initial Jobless Claims plus the rotating monthly cluster of Retail Sales, GDP, Philly Fed, and PPI at the same 08:30-US-Eastern slot turn Thursday 13:30 UTC into a structurally loud cell for USD-, EUR-, and CHF-based pairs.Paper Trail #9: Mutual Fund Performance (Sharpe, 1966) — the paper that introduced what we now call the Sharpe ratio, applied to 34 mutual funds over 1954-1963William F. Sharpe's 1966 Journal of Business paper introduced the reward-to-variability ratio (R/V) as a single-number risk-adjusted performance metric, applied it to 34 open-end mutual funds over 1954-1963, and found the best fund's R/V of 0.78 was only 1.8× the worst fund's 0.43. Same-period rank correlation of R/V vs Treynor Index across the 34 funds: +0.974 — they rank the same funds almost identically. Cross-decade predictive rank correlation (1944-53 → 1954-63): +0.360 — modest, but a full standard error above zero. The paper also observed that median 'percentage of variance due to comovement with the Dow-Jones Industrial Average' was 90.33% across the 34 funds — most mutual funds were, at that point, well-diversified market proxies. Full primary-source verification against a JSTOR-sourced PDF.UK Unemployment on GBPUSD: 18 of 23 big-beat prints sent GBPUSD up, with the pct-up walk cleanly monotonic across all 5 buckets198 non-contaminated UK Unemployment Rate releases on GBPUSD at 15 minutes. Pct-up walks 25 / 47 / 57 / 60 / 78 percent across the five surprise buckets — monotonic. Tail medians walk -21.7 / +2.3 / +16.7 pips. Contrarian: a print that BEATS (comes in lower than consensus, fewer unemployed) pushes sterling UP against the dollar. Second unemployment-prints-are-contrarian post in the batch after CAD Unemployment on USDCAD (today's slot 1). The G10 pattern holds: labour-market improvements strengthen the home currency, and 15-minute FX prices reflect the surprise-direction almost immediately.UK CPI on GBPJPY: 42 of 47 small-miss prints sent GBPJPY down, and the whole 5-bucket walk is cleaner than on GBPUSD196 non-contaminated UK CPI (y/y) releases on GBPJPY at 15 minutes: medians walk −20.90 / −22.20 / +2.60 / +9.75 / +11.45 pips across the five surprise buckets. Pct-up walks 31 / 11 / 54 / 69 / 81 percent. The small-miss bucket is unusually clean — 42 of 47 prints sent GBPJPY down. The sterling leg dominates both crosses at the print (176 of 196 GBPJPY and GBPUSD moves share a sign), but the JPY-cross magnitudes are ~35% bigger at the tails and the small-miss unanimity is a touch stronger.The half-hour AFTER NFP is louder than NFP itself for 17 of 28 liquid FX pairsFor 17 of 28 liquid FX pairs, the Friday 14:30 UTC half-hour — the second half of the NFP hour, after the release-time bar closes — has a larger typical 30-minute range than the Friday 13:30 UTC release cell itself. Four pairs (EURUSD, AUDUSD, NZDUSD, GBPUSD) peak at Friday 14:00 UTC instead. Only 10 pairs (mostly JPY-crosses) have Fri 13:30 as their loudest of the NFP hour. If you're trading NFP with a hold-through-the-hour plan, the follow-through cell is where more of the risk actually shows up.Statistics for Traders #8: Sharpe ratio via the UK CPI × GBPJPY big-beat bucket — a +16-pip mean move looks great until you divide by 23 pips of noiseThe 16 big-beat UK CPI prints on GBPJPY had a mean 15-minute move of +16.06 pips and a standard deviation of 23.39 pips. Divide the mean by the standard deviation and you get a per-trade Sharpe ratio of 0.687 — well below the ‘decent’ threshold of 1. Sharpe is the trader's answer to “how much edge per unit of noise?” — a bigger number means the edge is bigger relative to the round-trip variability you'll actually experience. Worked here on today's slot-1 anchor, with an explicit comparison to the same-event GBPUSD version, an annualization illustration, and the four assumptions Sharpe quietly makes about your data.Paper Trail #8: Common Risk Factors in the Returns on Stocks and Bonds (Fama & French, 1993)The paper that supplanted CAPM in the industry's default asset-pricing toolkit. Fama and French argued that the single-factor market beta of CAPM misses two systematic sources of return variation — the size premium (small stocks beat big stocks over long horizons) and the value premium (high book-to-market stocks beat low book-to-market stocks). Adding SMB (small-minus-big) and HML (high-minus-low) as factors alongside the market takes the R² on their 25 test portfolios from CAPM's 2-of-25 above 0.9 to the three-factor model's 21-of-25 above 0.9. Every quantitative claim in this post is traced to the fetched PDF at bauer.uh.edu.Canada Employment on CADJPY: all 23 big-beat prints had CADJPY higher 15 minutes later, and the whole 5-bucket walk is stronger than USDCAD197 non-contaminated Canada Employment Change releases on CADJPY at 15 minutes. Medians walk −19.3 / −13.4 / +5.2 / +27.9 / +42.9 pips across the five surprise buckets. Pct-up walks 22 / 32 / 61 / 81 / 100 percent. The big-beat bucket has never sent CADJPY down — 23 for 23 up prints, the largest unanimous-up-rate sample in my published set. The USD cross I posted on 2026-08-01 showed the same directional shape but the JPY cross amplifies it: two same-sign pushes (CAD stronger + JPY weaker on the commodity-friendly print) versus one on USDCAD.US ISM Services PMI on USDJPY: 18 of 19 big-beat prints saw USDJPY higher, and the whole 5-bucket walk mirrors ISM Manufacturing on USDJPY almost exactly197 non-contaminated ISM Services releases on USDJPY at 15 minutes: median moves −25.9 / −9.35 / +1.2 / +11.55 / +12.4 pips across the five surprise buckets, pct-up walk 9 / 20 / 57 / 83 / 95 percent. Compare that with ISM Manufacturing on USDJPY, published four days ago — same walk, same signs, beat-side tail-unanimity is actually a touch stronger for Services. The two ISM releases print two days apart every month and move USDJPY the same way.Every liquid FX pair's loudest weekday half-hour is at least 2× its quietest — and EURUSD's is nearly 5×For each of the 28 liquid FX pairs, divide the median range of its loudest weekday half-hour by the median range of its quietest. Every one of the 28 lands above 2×. 13 land above 3×. Six land above 4×. EURUSD tops the list at 4.97× — its Thursday 13:30 UTC cell is nearly five times louder than its Monday 22:30 UTC cell. If your default risk model uses a session-average range, you're systematically over-sizing your quiet-window trades and under-sizing your loud-window ones.Statistics for Traders #7: the t-distribution 95% CI for the mean, worked on the 11 ISM-Services big_miss USDJPY moves — and why the answer is narrower than the median CI, but you should trust it lessThe 11 big-miss USDJPY moves following ISM Services PMI: mean −38.69 pips, standard deviation 39.81 pips, standard error 12.00 pips. Applying the t-distribution formula, the 95% CI for the true mean move is [−65.43, −11.95] pips — a 53.5-pip window. That's narrower than the distribution-free CI for the same sample's median (Stats #3 method: [−87.60, −6.00], width 81.6p). But the t-CI's tightness depends on assuming the data are normally distributed, and Stats #6 already showed that FX bucket distributions are fat-tailed. The narrower CI comes from an assumption the data violates.Paper Trail #7: Trading Is Hazardous to Your Wealth (Barber & Odean, 2000)78,000 households, six years of discount-brokerage trades, and one of the most cited findings in retail-investor research: the households that traded most earned an annualised 11.4% net-of-costs, while the market returned 17.9%. Buy-and-hold households earned 18.5%. The gross-return spread was ~3-4 percentage points; the rest of the seven-point gap was pure transaction cost. What the paper actually says, in the paper's own numbers.US CPI on EURUSD: 196 releases walking a clean 5-bucket monotonic response — and the mirror image of UK CPI on GBPUSD once you correct for pair convention196 non-contaminated US CPI y/y releases on EURUSD at 15 minutes: median moves +11.8 / +8.6 / +3.0 / −6.35 / −16.2 pips across the five surprise buckets. 11 of 13 big-beat prints — including the entire summer-2022 inflation panic — pushed EURUSD down. Compare that with UK CPI on GBPUSD (published 2026-08-02): same shape, flipped sign, because base-currency convention flips too. Both are the same underlying rate-differential re-pricing.AUD Unemployment Rate on AUDUSD: all 8 big-miss prints pushed the pair down, monotonic across all 5 buckets198 releases of Australia's Unemployment Rate on AUDUSD since 2010. Median 15-minute moves: −24.10 / −15.30 / −0.10 / +16.45 / +24.50 pips (big_miss → big_beat). Up-rate column: 0 / 28 / 49 / 70 / 72. All 8 big-miss prints moved AUDUSD down. Cleanest 5-bucket monotonic labour-print I've pulled from the tool.CADCHF is the quietest of the seven CAD-crosses — typical 30-minute range 7.25 pips, and its loudest cell of the whole week barely beats USDCAD's medianAcross every 30-minute weekday cell of CADCHF, the typical range is 7.25 pips — smaller than USDCAD (9.1p), CADJPY (9.9p), EURCAD (11.85p) or GBPCAD (15.0p). Its loudest cell of the entire week — Friday 13:30 UTC, on NFP — prints just 14.2p. Which is smaller than GBPCAD's median. If you want a CAD cross without a peak, this is the one.Statistics for Traders #6: fat tails, kurtosis, and why NFP's 'in-line' bucket contains the biggest outlier moves in the datasetKurtosis is tail-thickness — how far the min-to-p25 and p75-to-max whiskers reach relative to the IQR. On NFP × EURUSD 15m, the in_line bucket has BOTH whiskers over 2.3× IQR (Tukey's outlier threshold is 1.5×). The 'quiet' bucket contains the largest observed candles in the dataset: −104.8p from a 165k print in 2013, +86.0p from a 162k print later that same year. Fat tails are what happens when 'in-line' meets tape you didn't schedule for.Paper Trail #6: Post-Earnings-Announcement Drift (Bernard & Thomas, 1989)The paper that turned a curious 1968 observation into a durable anomaly with a name. Bernard and Thomas took the drift that Ball & Brown had found — stock prices continue moving in the direction of an earnings surprise for weeks after the announcement — and showed that no risk-based story could explain it. Fama would later call PEAD 'the granddaddy of underreaction events'. It's the equity-market cousin of everything the News Impact Explorer measures on FX.NZ CPI on NZDUSD: 0-of-3 big-miss prints went up, 6-of-6 big-beat prints went up — the cleanest tail unanimity across every G10 inflation print I've published this week63 quarterly NZ CPI prints on NZDUSD at 15 minutes: median moves −54.9 / −29.0 / +2.1 / +12.45 / +13.45 pips across the five surprise buckets. Every one of the 3 big-miss prints pushed NZDUSD down; every one of the 6 big-beat prints pushed it up. Small samples on the tails but strong pattern — and it's the fourth 'inflation-print monotonically moves the domestic USD pair' finding in a row, after Switzerland, Canada, and Australia.Swiss CPI on USDCHF: clean 5-bucket directional response with 198 releases behind itAcross 198 monthly Swiss CPI prints since 2010, USDCHF's 15-minute median move climbs monotonically from −4.5 pips on a big beat to +6.6 pips on a big miss, and the pct-up rate walks from 36% up through 78%. Beats and misses each get 11+ tail-bucket observations — enough sample to say the shape is real.GBPNZD is the loudest liquid FX pair — its typical 30-minute range beats USDCHF's loudestAcross every 30-minute weekday cell of GBPNZD, the typical range is 21.9 pips — bigger than USDCHF's single loudest cell of the entire week (16.0p). The single loudest cell across all 28 major pairs is GBPNZD Friday 14:30 UTC at 34.55p. The pair is flat, hot, and gives you nowhere to hide.Statistics for Traders #5: how to read skew off the tool's p25/median/p75 columnsSkew is distributional asymmetry, and the tool exposes it two ways: is the median centered inside the IQR (or does it tilt toward one edge?), and are the whiskers the same length (or is one much longer)? On NFP big_miss XAUUSD, the IQR is centered but the right whisker is 2.56× the left — 'inside-symmetric, outside-right-tailed'. Read both signals; sometimes they agree, sometimes only one signals.Paper Trail #5: ARCH (Engle, 1982)The paper that formalised what every trader already knew: volatility clusters. Big-move days sit next to other big-move days; calm days sit next to other calm days. Nobody assumes a stock's variance is 'a constant' anymore, and the reason nobody does is this paper.Canada's Trimmed CPI is the second BoC-preferred inflation metric to move its USD pair monotonically — and 5 of 5 big-miss prints pushed USDCAD up82 releases of Canada's Trimmed-Mean CPI y/y on USDCAD, split into five surprise buckets. Medians climb monotonically from −9.0p on small_beat to +15.8p on big_miss, and 5 of 5 big-miss prints went positive. Same shape as yesterday's AUD Trimmed Mean CPI post on AUDUSD — different currency, same rate-differential mechanism.AUDUSD trades Australia's Trimmed Mean CPI like a rate decision — cleanly and monotonicallyAcross 67 Trimmed Mean CPI releases, AUDUSD's median 15-minute response climbs monotonically from −36 pips on a big miss to +21 pips on a small beat, with 0% and 17% up-rates on the miss buckets. It's the cleanest directional shape any AUD data point produces on the pair.27 of 28 liquid FX pairs' quietest half-hour of the week is on MondaySweep every pair in the Calm Zones catalogue for its minimum-range weekday cell and Monday wins 27 times out of 28. The one exception (EURCAD, Wed 04:00 UTC) is in the same pre-London Asia sleep window as the Monday holdouts. The finding is more consistent than any single pair's loudest-cell story.Statistics for Traders #4: what the tool's p25 and p75 columns actually tell you (and why they're not the same as ±1σ)The median tells you the center. The IQR (p75 − p25) tells you the width. On NFP big_beat n=14, half of all outcomes landed between −52 and −16 pips, but the outer half stretched from −124 to +9. Position-sizing depends on which of those windows you're planning against.Paper Trail #4: Efficient Capital Markets (Fama, 1970)The paper that put 'you can't beat the market' on formal footing. Fama's three forms of efficiency, plus the empirical work he cites — including Jensen's 1968 study where 89 of 115 mutual funds underperformed a comparable-risk market portfolio by an average of 14.6% over ten years, net of fees.US GDP surprises move gold in the textbook direction — miss up, beat down, monotonic across all five bucketsAcross 72 US GDP releases on XAUUSD, the median 15-minute move climbs monotonically from −25 pips on a big beat to +56 pips on a big miss, with 88% up-rates on miss-side prints. Same directional mechanism as NFP-on-gold, on a different macro event class.US ISM Manufacturing PMI on USDJPY: 0 of 12 big-miss prints had the dollar higher an hour laterAcross 196 ISM Manufacturing PMI releases since 2010, USDJPY responds monotonically to the surprise: -23 pips on a big miss, +14 on a big beat, and only 1 of the intermediate buckets breaks the pattern. The direction holds cleanly through end of day.AUDNZD is the only major pair whose loudest hour of the week isn't in the London/NY overlapAcross all 28 pairs in the Calm Zones catalogue, 27 have their loudest half-hour cell fall in the London/NY overlap window on a Thursday or Friday. AUDNZD is the exception. Its loudest cell is Wednesday 21:00 UTC — the Sydney/Wellington open.Statistics for Traders #3: why the big_miss bucket's +12 pip median could actually be +105 or −24Sample size is the difference between a tool that shows you a signal and a tool that shows you noise pretending to be one. Here's what a small-n bucket median actually tells you — and why the tool marks small buckets faint on the chart.Paper Trail #3: The Disposition Effect (Odean, 1998)Ten thousand discount-brokerage accounts, seven years of trades, and one uncomfortable finding: retail investors realized 50% more of their winners than their losers — and the winners they sold went on to outperform the losers they kept by 3.4% over the following year.NFP moves gold in the exact opposite direction it moves the dollar — and the mirror is remarkably cleanThe typical NFP big-beat prints XAUUSD 108 pips lower in the first 15 minutes and 92% of big-miss prints send it higher. That's a cleaner directional signal than NFP produces on any USD pair, and it makes physical sense.UK CPI on GBPUSD: the clean directional edge is gone by end of day196 clean releases show a textbook first-hour reaction — miss and pound falls 20 pips, beat and it rises 8. By end of day, the big-beat bucket has flipped sign. The move is real; the drift is not.EURGBP is the quietest liquid major, and its loudest cell isn't close to anyone else'sAcross 237 weekday half-hour cells since 2010, EURGBP's typical median 30-min range is 5.8 pips and its single loudest cell is 11.4. Both numbers are smaller than the equivalent numbers on every other G10 major.Statistics for Traders #2: what "±35 pips of noise" actually means for your stopThe typical NFP small_beat moves EURUSD -28 pips at 15 minutes. The standard deviation of that same distribution is 35 pips — almost as large as the median move itself. Here's what that number really tells you.Paper Trail #2: Momentum (Jegadeesh & Titman, 1993)The paper that turned 'buy what's going up' from folk wisdom into a documented anomaly. 1.31% per month on a winners-minus-losers zero-cost portfolio, 1965–1989 US stocks, with half the return giving back over the following 24 months.Two employment reports, both textbook at 15 minutes. Only one is still textbook by end of day.AUD Employment on AUDUSD and CAD Employment on USDCAD look nearly identical in the first fifteen minutes. By the New York close their miss sides have gone in opposite directions.CAD Employment on USDCAD is the textbook surprise-response event196 clean releases show a symmetric five-bucket distribution: big miss +40 pips, big beat -41 pips, in-line does nothing. No mean-reversion at EOD. Reproducible in the tool.GBPJPY's loudest half-hour of the week is Friday 13:30 UTCAcross 802 Fridays of GBPJPY data, the median 30-minute range in the 13:30 UTC slot is 28.3 pips — 2.5x the Asia-session median. The full Wed–Fri overlap band dominates every other slot in the week.Statistics for Traders #1: what "z-score" actually tells you about an economic surpriseA 14k NFP beat and a 113k NFP beat can bucket into completely different surprise sizes. Z-scoring against the release's own history is why. Worked through the last three months of NFP prints.Paper Trail #1: Prospect Theory (Kahneman & Tversky, 1979)The paper that reframed how economists model risk. Losses feel bigger than equivalent gains, people flip from risk-averse to risk-seeking when framed differently, and the S-shaped value function that describes both is still the reference decades later.156 out of 174 RBA meetings didn't move AUDUSD. The 18 that did, moved it in one direction.Since 2010, 90% of RBA cash-rate decisions have printed exactly on consensus and moved AUDUSD by a median 3 pips. The other 10% were 9 misses (100% AUDUSD down, median -64p at 15m) and 9 beats (100% AUDUSD up, median +46p). RBA meetings are all about the surprise.EURUSD Thu 12:30 is quiet 15% of the time. Here's why.127 of 832 Thursdays at 12:30 UTC were calm on EURUSD. Why the number isn't zero, and why the tool marks this cell DST-ambiguous.Four XAUUSD reaction records fell in four weeksFed, GDP, NFP, CPI: four US macro events between June 17 and July 14 each broke the largest 15-minute XAUUSD reaction on record, by 1.74x to 2.33x. What the data shows, and what it doesn't.How to check what a release does to your pairEvery scheduled release has a track record. Here is how to read it in News Impact Explorer, panel by panel, using NFP on gold as the worked example.What actually happens to EURUSD in the 15 minutes after NFP (and the next five days)195 releases, sorted by surprise, measured from 15 minutes out to 5 days. The story isn't drift. It's asymmetric: beats mean-revert, misses hold, in-line does nothing.Why your backtested win rate doesn't survive contact with real news eventsSome of your backtested wins and losses came from news flow that had nothing to do with your setup. Here's how much, and how to filter it out.The Bloomberg terminal problem: why institutional edge on macro events was never available to retailThe pros really do have data you don't. Here's exactly what it is, why the gap stayed open for so long, and why it's finally closing.

For education and analysis only, not financial advice or a recommendation to trade. Historical statistics describe the past and do not predict future results. Trading leveraged products carries a high risk of loss. Do your own research.

← All insightsNumbers reproducible in the tool