Sign in

FX Engineer

@fxengineer.bsky.social
138 followers 23 following 7.9K posts

Systematic research on retail FX positioning. 1.9M hourly observations. 28 pairs. 12 years. We provide context. Markets decide. Research + the public calibration ledger: fxeresearch.substack.com

PostsRepliesMedia
FX Engineer @fxengineer.bsky.social · 18h
CHFJPY retail positioning reached a statistical extreme (|z| = 2.34) — flagged 21:00 UTC, Oct 08. Resolved: confirmed.
CHFJPY retail positioning reached a statistical extreme (|z| = 2.34) — flagged 21:00 UTC, Oct 08.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 09/10/2026
[COT Brief] Issue #20: cross-asset positioning across 22 markets as of 2026-10-06. Data tables only. #cot #positioning #weekly
100
FX Engineer @fxengineer.bsky.social · 09/10/2026
Trending markets reward following the herd. Reversal zones punish it. The same positioning that profits in continuation becomes the exit liquidity when structure breaks.
000
FX Engineer @fxengineer.bsky.social · 09/10/2026
USDCHF retail positioning reached a statistical extreme (|z| = 3.29) — flagged 21:00 UTC, Oct 07. Resolved: didn't materialize.
USDCHF retail positioning reached a statistical extreme (|z| = 3.29) — flagged 21:00 UTC, Oct 07.
Resolved: didn't materialize.
010
FX Engineer @fxengineer.bsky.social · 08/10/2026
CHF leveraged-fund net position sits at a 52-week low with z-score -2.26. No opposing asset-manager position flagged. fxengineer.com/intelligence
000
FX Engineer @fxengineer.bsky.social · 08/10/2026
The model assigned 40% probability to elevated volatility on CHFJPY over the next 4 hours (move of 0.29% or more). Resolved: didn't materialize.
The model assigned 40% probability to elevated volatility on CHFJPY over the next 4 hours (move of 0.29% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 07/10/2026
The crowd waits for reversals at extremes. We wait for the unwind size. Crowding doesn't predict direction. It predicts magnitude. One position hopes. The other measures.
000
FX Engineer @fxengineer.bsky.social · 07/10/2026
EURJPY retail positioning reached a statistical extreme (|z| = 2.12) — flagged 21:00 UTC, Oct 05. Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 06/10/2026
Price action looks the same to everyone. But retail chases momentum while institutions fade extremes. The difference shows up in positioning data, not the chart.
000
FX Engineer @fxengineer.bsky.social · 06/10/2026
GBPJPY retail positioning reached a statistical extreme (|z| = 2.37) — flagged 21:00 UTC, Oct 04. Resolved: confirmed.
GBPJPY retail positioning reached a statistical extreme (|z| = 2.37) — flagged 21:00 UTC, Oct 04.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 05/10/2026
Leveraged funds hold GBP at the 96th percentile. Asset managers sit on the opposite side with a 140,491 contract spread.
000
FX Engineer @fxengineer.bsky.social · 05/10/2026
The model assigned 48% probability to elevated volatility on CHFJPY over the next 4 hours (move of 0.29% or more). Resolved: didn't materialize.
The model assigned 48% probability to elevated volatility on CHFJPY over the next 4 hours (move of 0.29% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 04/10/2026
Resolution ledger. Everything that resolved in the window, both verdicts. Volatility events 4: 3 confirmed, 1 didn't materialize. Vol forecasts 12: 1 confirmed, 11 didn't materialize. Full list in the ledger post. Running ledger on the card.
Resolution ledger. Everything that resolved in the window, both verdicts.
Volatility events 4: 3 confirmed, 1 didn't materialize. Vol forecasts 12: 1 confirmed, 11 didn't materialize. Full list in the ledger post.
Running ledger on the card.
000
FX Engineer @fxengineer.bsky.social · 04/10/2026
Across the last 11 similar episodes on AUDCHF, the typical path stayed within the p25–p75 band shown, out to 10 trading days. Checkpoints: d1 outside band, d3 outside band, d5 outside band, d10 outside band. Construction target ~50% within band.
Across the last 11 similar episodes on AUDCHF, the typical path stayed within the p25–p75 band shown, out to 10 trading days.
Checkpoints: d1 outside band, d3 outside band, d5 outside band, d10 outside band. Construction target ~50% within band.
000
FX Engineer @fxengineer.bsky.social · 03/10/2026
CHFJPY retail positioning reached a statistical extreme (|z| = 2.65) — flagged 21:00 UTC, Oct 01. Resolved: confirmed.
CHFJPY retail positioning reached a statistical extreme (|z| = 2.65) — flagged 21:00 UTC, Oct 01.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 02/10/2026
[COT Brief] Issue #19: cross-asset positioning across 22 markets as of 2026-09-29. Data tables only. Full analysis: fxeresearch.substack.com/p/weekly-c… #cot #positioning #weekly
110
FX Engineer @fxengineer.bsky.social · 02/10/2026
Three GBP crosses show extreme long percentiles simultaneously. GBPAUD reaches the 92nd percentile, GBPCHF the 90th, and GBPJPY the 93rd.
000
FX Engineer @fxengineer.bsky.social · 02/10/2026
CADJPY retail positioning reached a statistical extreme (|z| = 2.04) — flagged 21:00 UTC, Sep 30. Resolved: confirmed.
CADJPY retail positioning reached a statistical extreme (|z| = 2.04) — flagged 21:00 UTC, Sep 30.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 01/10/2026
AUDUSD is at the 1st percentile. Retail traders are 31% long. This is more short than 99% of all readings since January 2014. The price has risen 0.5% or 34 pips this week.
000
FX Engineer @fxengineer.bsky.social · 01/10/2026
GBPCAD retail positioning reached a statistical extreme (|z| = 2.03) — flagged 21:00 UTC, Sep 29. Resolved: confirmed.
GBPCAD retail positioning reached a statistical extreme (|z| = 2.03) — flagged 21:00 UTC, Sep 29.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 30/09/2026
NZDJPY is at the 98th percentile. Retail traders are 91% long. This is more long than 98% of all readings since January 2014. The price has fallen 3.1% or 282 pips this week. fxengineer.com/intelligence
010
FX Engineer @fxengineer.bsky.social · 30/09/2026
The model assigned 44% probability to elevated volatility on EURJPY over the next 4 hours (move of 0.31% or more). Resolved: didn't materialize.
The model assigned 44% probability to elevated volatility on EURJPY over the next 4 hours (move of 0.31% or more).
Resolved: didn't materialize.
010
FX Engineer @fxengineer.bsky.social · 29/09/2026
10Y rates leveraged fund positioning reached the 98th percentile. Asset managers and leveraged funds sit opposed with a 4,458,331-contract spread.
000
FX Engineer @fxengineer.bsky.social · 29/09/2026
The model assigned 34% probability to elevated volatility on CADJPY over the next 4 hours (move of 0.36% or more). Resolved: didn't materialize.
The model assigned 34% probability to elevated volatility on CADJPY over the next 4 hours (move of 0.36% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 28/09/2026
AUDUSD crowd positioning is 50% short. This places the pair at the 22nd percentile. The reading comes ahead of the Cash Rate decision this week.
110
FX Engineer @fxengineer.bsky.social · 28/09/2026
The model assigned 44% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more). Resolved: didn't materialize.
The model assigned 44% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 27/09/2026
Resolution ledger. Everything that resolved in the window, both verdicts. Volatility events 7: 3 confirmed, 4 didn't materialize. Vol forecasts 12: 1 confirmed, 11 didn't materialize. Regime 2: 1 persisted, 1 transitioned. Full list in the ledger post. Running ledger on the card.
Resolution ledger. Everything that resolved in the window, both verdicts.
Volatility events 7: 3 confirmed, 4 didn't materialize. Vol forecasts 12: 1 confirmed, 11 didn't materialize. Regime 2: 1 persisted, 1 transitioned. Full list in the ledger post.
Running ledger on the card.
000
FX Engineer @fxengineer.bsky.social · 27/09/2026
Across the last 9 similar episodes on CADCHF, the typical path stayed within the p25–p75 band shown, out to 10 trading days. Checkpoints: d1 outside band, d3 within band, d5 outside band, d10 within band. Construction target ~50% within band.
Across the last 9 similar episodes on CADCHF, the typical path stayed within the p25–p75 band shown, out to 10 trading days.
Checkpoints: d1 outside band, d3 within band, d5 outside band, d10 within band. Construction target ~50% within band.
010
FX Engineer @fxengineer.bsky.social · 26/09/2026
EURUSD retail positioning reached a statistical extreme (|z| = 2.51) — flagged 21:00 UTC, Sep 24. Resolved: didn't materialize.
EURUSD retail positioning reached a statistical extreme (|z| = 2.51) — flagged 21:00 UTC, Sep 24.
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 25/09/2026
[COT Brief] Issue #18: cross-asset positioning across 22 markets as of 2026-09-22. Data tables only. Full analysis: fxeresearch.substack.com/p/weekly-c… #cot #positioning #weekly
110
FX Engineer @fxengineer.bsky.social · 25/09/2026
AUDNZD sits at the 0th percentile. Retail traders are 22% long. This is more short than 100% of all readings since January 2014. The price has risen 1.3% or 156 pips this week.
000
FX Engineer @fxengineer.bsky.social · 25/09/2026
The model assigned 50% probability to elevated volatility on USDCHF over the next 4 hours (move of 0.27% or more). Resolved: didn't materialize.
The model assigned 50% probability to elevated volatility on USDCHF over the next 4 hours (move of 0.27% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 24/09/2026
JPY leveraged funds added 72,268 contracts week-over-week, the second-largest shift behind 5Y rates. Current LF net now sits at the 90th percentile.
000
FX Engineer @fxengineer.bsky.social · 24/09/2026
EURCHF retail positioning reached a statistical extreme (|z| = 3.27) — flagged 21:00 UTC, Sep 22. Resolved: didn't materialize.
EURCHF retail positioning reached a statistical extreme (|z| = 3.27) — flagged 21:00 UTC, Sep 22.
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 23/09/2026
2Y Treasury leveraged fund net positioning hits a 52-week high with z-score of +2.77. fxengineer.com/intelligence
000
FX Engineer @fxengineer.bsky.social · 23/09/2026
CADCHF retail positioning reached a statistical extreme (|z| = 2.10) — flagged 21:00 UTC, Sep 21. Resolved: didn't materialize.
CADCHF retail positioning reached a statistical extreme (|z| = 2.10) — flagged 21:00 UTC, Sep 21.
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 22/09/2026
Leveraged funds sold 25,146 JPY futures contracts this week. Net short now stands at 102,188 contracts. fxengineer.com/intelligence
010
FX Engineer @fxengineer.bsky.social · 22/09/2026
EURJPY retail positioning reached a statistical extreme (|z| = 2.63) — flagged 21:00 UTC, Sep 20. Resolved: confirmed.
EURJPY retail positioning reached a statistical extreme (|z| = 2.63) — flagged 21:00 UTC, Sep 20.
Resolved: confirmed.
010
FX Engineer @fxengineer.bsky.social · 21/09/2026
MICRO-ES leveraged fund positioning hits a 52-week low at z=-3.47 with asset managers on the other side of a 206,583 contract spread.
010
FX Engineer @fxengineer.bsky.social · 21/09/2026
The model assigned 44% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more). Resolved: confirmed.
The model assigned 44% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more).
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 20/09/2026
Resolution ledger. Everything that resolved in the window, both verdicts. Volatility events 1: 1 confirmed. Vol forecasts 12: 12 didn't materialize. Path-band checkpoints 344: 142 within band, 202 outside band. Construction target ~50%. Running ledger on the card.
Resolution ledger. Everything that resolved in the window, both verdicts.
Volatility events 1: 1 confirmed. Vol forecasts 12: 12 didn't materialize. Path-band checkpoints 344: 142 within band, 202 outside band. Construction target ~50%.
Running ledger on the card.
000
FX Engineer @fxengineer.bsky.social · 20/09/2026
Across the last 5 similar episodes on CHFJPY, the typical path stayed within the p25–p75 band shown, out to 10 trading days. Checkpoints: d1 within band, d3 outside band, d5 outside band, d10 outside band. Construction target ~50% within band.
Across the last 5 similar episodes on CHFJPY, the typical path stayed within the p25–p75 band shown, out to 10 trading days.
Checkpoints: d1 within band, d3 outside band, d5 outside band, d10 outside band. Construction target ~50% within band.
000
FX Engineer @fxengineer.bsky.social · 19/09/2026
The model assigned 33% probability to elevated volatility on NZDUSD over the next 4 hours (move of 0.37% or more). Resolved: didn't materialize.
The model assigned 33% probability to elevated volatility on NZDUSD over the next 4 hours (move of 0.37% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 18/09/2026
[COT Brief] Issue #17: cross-asset positioning across 22 markets as of 2026-09-15. Data tables only. Full analysis: fxeresearch.substack.com/p/weekly-c… #cot #positioning #weekly
000
FX Engineer @fxengineer.bsky.social · 18/09/2026
NZD leveraged fund net positioning sits at the 2nd percentile. z-score of -1.68. fxengineer.com/intelligence
000
FX Engineer @fxengineer.bsky.social · 18/09/2026
CHFJPY retail positioning reached a statistical extreme (|z| = 3.54) — flagged 21:00 UTC, Sep 16. Resolved: confirmed.
CHFJPY retail positioning reached a statistical extreme (|z| = 3.54) — flagged 21:00 UTC, Sep 16.
Resolved: confirmed.
000
FX Engineer @fxengineer.bsky.social · 17/09/2026
GBP leveraged fund net positioning sits at the 52-week high. z-score of +1.76. fxengineer.com/intelligence
000
FX Engineer @fxengineer.bsky.social · 17/09/2026
The model assigned 40% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more). Resolved: didn't materialize.
The model assigned 40% probability to elevated volatility on GBPJPY over the next 4 hours (move of 0.36% or more).
Resolved: didn't materialize.
000
FX Engineer @fxengineer.bsky.social · 16/09/2026
Asset managers and leveraged funds remain opposed in 15 of 22 markets tracked. Largest spreads appear in 5Y and 10Y rates.
000
FX Engineer @fxengineer.bsky.social · 16/09/2026
The model assigned 34% probability to elevated volatility on USDJPY over the next 4 hours (move of 0.27% or more). Resolved: didn't materialize.
The model assigned 34% probability to elevated volatility on USDJPY over the next 4 hours (move of 0.27% or more).
Resolved: didn't materialize.
000