The machine grouped 22 years of trading days into five regimes — no labels given, just the shape of VIX, the yield curve, and S&P momentum & turbulence. Below: which regime today sits in, and the days that looked most like it.
TODAY · 2026-09-11
Range-bound calm
VIX
17.22
10y-2y
0.39pp
S&P 20d
-2.49%
S&P vol
8.3%
WHEN THE MARKET LAST LOOKED LIKE THIS — WHAT FOLLOWED
AVG +30 DAYS
+0.9%
AVG +90 DAYS
+4.4%
2019-08-02Range-bound calmVIX 17.6+2.2%+6.8%
2018-07-03Range-bound calmVIX 16.1+3.9%+3.5%
2006-05-17Range-bound calmVIX 16.3+0.2%+4.4%
2019-08-01Range-bound calmVIX 17.9+1.8%+6.2%
2025-02-26Range-bound calmVIX 19.1-8.4%+4.5%
2018-06-27Range-bound calmVIX 17.9+5.7%+0.9%
Nearest neighbours in standardized feature space (the last 60 days excluded so matches aren't trivially recent). +30 / +90 columns are what the S&P 500 actually did after each date — history, not a forecast. Small sample; the future is not obliged to rhyme.
DOES THE SIGNAL HAVE AN EDGE? · S&P 500 forward return, 22 years
BASELINE · ANY DAY+3.5%72.7% hit · n=5611over the next 90 trading days, the bars below show distance from this
BY MARKET REGIME
Volatile recovery
+11.43%+7.93pp89.6% hit+8.83%…+16.35%n=269
Crash / capitulation
+4.61%+1.11pp51% hit-16.41%…+26.22%n=102
Range-bound calm● NOW
+3.49%-0.01pp≈ baseline · no edge+0.1%…+7.94%n=2481
Correction / stress
+3.21%-0.29pp≈ baseline · no edge-2.98%…+12.04%n=836
Steady climb (steep curve)
+2.48%-1.02pp70.4% hit-1.12%…+7.18%n=1923
BY VIX (FEAR)
< 15 · complacent
+2.75%-0.75pp75% hit0%…+6.45%n=2092
15–20 · normal● NOW
+2.97%-0.53pp≈ baseline · no edge-0.93%…+8.08%n=1744
20–30 · stressed
+3.59%+0.09pp≈ baseline · no edge-2.3%…+11.41%n=1326
≥ 30 · panic
+8.81%+5.31pp76.8% hit+1.47%…+18.54%n=449
BY YIELD CURVE (10Y–2Y)
inverted · < 0
+6.5%+3pp87.5% hit+2.93%…+9.73%n=786
flat · 0–0.5● NOW
+1.92%-1.58pp60.9% hit-3.01%…+6.92%n=1170
normal · 0.5–1.5
+3.01%-0.49pp≈ baseline · no edge+0.19%…+8.05%n=1875
steep · ≥ 1.5
+3.74%+0.24pp≈ baseline · no edge-1.17%…+9.3%n=1780
Forward returns are what actually happened, not a prediction. · Where a bucket's returns ≈ the baseline, the signal carries no usable edge. · Small samples (n < 30) are noisy — read the dispersion (p25–p75), not just the mean. · Past regimes are not obliged to rhyme with the future.
DOES THE TRADE TAB'S SIGNAL HAVE AN EDGE? · SET INDEX · 26 YEARS
What the conventional retail playbook says (RSI<30 = buy, lower BB = buy, pullback = buy) vs what 26 years of SET history actually shows. The bars are centred on the baseline — a bar at centre means no usable edge on this history.
BASELINE · ANY DAY (SET)+2.91%56.8% hit · n=6359over the next 90 trading days
RSI(14) — is oversold/overbought predictive on SET?
The finding: SET rewards momentum continuation, not mean reversion.
< 30 · oversold
+2.51%-0.4pp≈ baseline-5.04…+10.8%n=752
30–45 · low
+1.12%-1.79ppmild drag-6.4…+7.78%n=1520
45–60 · neutral● NOW
+2.55%-0.36pp≈ baseline-5.76…+9.95%n=1759
60–70 · high
+3.3%+0.39pp≈ baseline-5.36…+9.85%n=1058
> 70 · overbought
+5.44%+2.53ppedge ↑-3.76…+12.39%n=1270
EMA(9/21) CROSS — trend confirmation
EMA9 > EMA21 · bull● NOW
+3.97%+1.06ppmild edge-4.97…+10.69%n=3510
EMA9 < EMA21 · bear
+1.59%-1.32ppmild drag-5.78…+9.63%n=2849
BOLLINGER BAND POSITION (%B) — does 'touch the band' work?
Below lower band ≠ buy signal on SET history.
below lower band · %B < 0
+0.8%-2.11ppnegative ↓-6.57…+8.63%n=358
lower half · 0–0.5
+1.94%-0.97ppmild drag-5.69…+9.18%n=2475
upper half · 0.5–1● NOW
+3.72%+0.81ppmild edge-5.17…+11.05%n=3214
above upper band · %B > 1
+4.64%+1.73ppmild edge-2.98…+11.32%n=312
SET 20-DAY MOMENTUM — buy dips or ride momentum?
Sharp pullbacks show no edge. Strong rallies have the largest edge in this dataset.
< -8% · sharp pullback
+0.42%-2.49ppnegative ↓-10.84…+14.54%n=379
-8 to 0% · negative
+2.01%-0.9ppmild drag-5.57…+8.25%n=2512
0–8% · positive● NOW
+3.11%+0.2pp≈ baseline-5.04…+10.08%n=2968
> 8% · strong rally
+8.1%+5.19ppedge ↑-4.34…+20.68%n=500
Forward returns are SET actual history, not a prediction. · RSI and BB signals are computed on the SET index, not individual stocks. · Where a bucket ≈ baseline it carries no usable edge on this history. · Small samples (n<30) are noisy — read dispersion (p25–p75), not just the mean. · The past need not rhyme with the future.
WHAT STATISTICALLY PRECEDES THE SET? · GRANGER CAUSALITY · 112 DAYS
Granger causality is not a trading signal. It means that past values of a series helped predict SET returns in a linear regression over the historical sample — nothing more. Relationships break, markets adapt, and statistical significance in a backtest does not guarantee a live edge. Treat these as structural context for understanding what moves the SET, not as reasons to buy or sell.
STATISTICALLY SIGNIFICANT (p<0.05)
p<0.01Yield curve spread (10y−2y)
F=7.36lag 1dp=0.0071
p<0.01WTI Crude (energy)
F=3.10lag 5dp=0.0096
p<0.05S&P 500 (US equities)
F=4.92lag 1dp=0.0273
p<0.05Gold (safe haven)
F=4.24lag 1dp=0.0402
NOT SIGNIFICANT — shown for completeness
p<0.10Bitcoin (risk appetite)
F=3.60lag 1dp=0.0588
p<0.10USD/JPY (yen carry trade)
F=3.29lag 1dp=0.0706
not sig.CBOE VIX (fear gauge)
F=2.53lag 1dp=0.1127
not sig.US 2Y yield change
F=2.39lag 1dp=0.1233
not sig.Hang Seng (HK/China)
F=1.48lag 10dp=0.1473
not sig.US 10Y yield change
F=1.47lag 10dp=0.1488
not sig.Nikkei 225 (Japan)
F=2.08lag 1dp=0.1500
not sig.USD Index (dollar strength)
F=1.62lag 5dp=0.1548
not sig.USD/THB (baht weakness)
F=1.51lag 1dp=0.2203
not sig.Copper (global growth proxy)
F=0.73lag 1dp=0.3942
Granger = predictive precedence, not true causation. ADF-tested for stationarity and aligned by trading session. · run 2026-09-07◐CACHED · —
ANOMALY WATCH · PRICE VS FUNDAMENTALS
IsolationForest over 25 SET names clustered on 14 fundamentals+price features. A flag means the stock trades in a way its cluster's numbers can't explain — the market is telling a story the statements don't carry yet. It is a pointer for looking, never a buy/sell call.
NAMECLUSTERANOMALY 0–120D RET
DELTA.BKgrowth_premium1.00-7.2%
ADVANC.BKgrowth_premium0.63-8.3%
AOT.BKspeculative0.49-0.8%
BGRIM.BKspeculative0.47+5.5%
mined 2026-09-06T18:01:21.413518 · refreshed weekly by ingestion/pattern_mine.py
KMeans (k=5) on z-scored FRED daily features; analogue = nearest neighbour in feature space, forward S&P 500 return reported · generated 2026-09-11. Credit spreads are excluded from the state model (FRED truncates the free series) but stay live in the Mr. Market gauge. See Data Integrity.