S&P 5007,659.44-1.09%Nasdaq26,140.03-2.15%Dow52,002.41-0.34%Nikkei 22565,324.29+1.39%Hang Seng24,186.83+0.52%EuroStoxx 506,204.23+0.58%Dollar (DXY)101.84-0.16%EUR/USD1.12-0.17%USD/JPY157.96-0.12%GBP/USD1.33+0.27%USD/CNY6.68-0.21%US 10Y yield5.10+1bpUS 5Y yield4.90+0bpGold4,181.10+0.26%Silver57.31+0.82%Copper6.57+0.95%Platinum1,633.10+1.39%Palladium1,118.60-0.21%WTI99.02+1.07%Brent109.86+3.72%Henry Hub3.12-3.71%Gasoline3.14-1.13%Heating oil4.72-2.53%Wheat660.50-1.42%Corn474.25-0.78%Soybeans1,261.25-0.14%Coffee305.55+3.65%Sugar20.85-1.33%Cocoa5,686.00-2.49%Cotton80.00-0.07%Lithium ETF64.05-2.32%Uranium ETF35.43-1.91%Rare Earths ETF54.23-2.71%Copper Miners ETF79.98-1.05%Bitcoin81,038.58-0.42%Ethereum2,363.30-1.52%Solana101.86-1.41%S&P 5007,659.44-1.09%Nasdaq26,140.03-2.15%Dow52,002.41-0.34%Nikkei 22565,324.29+1.39%Hang Seng24,186.83+0.52%EuroStoxx 506,204.23+0.58%Dollar (DXY)101.84-0.16%EUR/USD1.12-0.17%USD/JPY157.96-0.12%GBP/USD1.33+0.27%USD/CNY6.68-0.21%US 10Y yield5.10+1bpUS 5Y yield4.90+0bpGold4,181.10+0.26%Silver57.31+0.82%Copper6.57+0.95%Platinum1,633.10+1.39%Palladium1,118.60-0.21%WTI99.02+1.07%Brent109.86+3.72%Henry Hub3.12-3.71%Gasoline3.14-1.13%Heating oil4.72-2.53%Wheat660.50-1.42%Corn474.25-0.78%Soybeans1,261.25-0.14%Coffee305.55+3.65%Sugar20.85-1.33%Cocoa5,686.00-2.49%Cotton80.00-0.07%Lithium ETF64.05-2.32%Uranium ETF35.43-1.91%Rare Earths ETF54.23-2.71%Copper Miners ETF79.98-1.05%Bitcoin81,038.58-0.42%Ethereum2,363.30-1.52%Solana101.86-1.41%

MacroTerminal

Account
ESC clears

Through time — level, distribution, seasonality and range Grade C · counted distributionas of 2026-10-18 21:41 UTC

6 series shown on this desk. S&P 500 is the most stretched here, at the 98th percentile of its own history.

level
7,659.44
idx · as of 2026-10-16
percentile
98
of 2,514 obs since 2016
percentile, 5y
97
of 1,255 obs
vs 13w mean
-17.05
level minus its own quarter
vs 52w mean
+482.61
level minus its own year
year on year
+14.9%
same week last year
3,3295,6978,0652021-10-292023-01-272024-04-262025-07-252026-10-16level 7,659MSTL … 7,787
MSTL with periods 5 and 52 on 522 weekly observations from 2016-10-21. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 99% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 25%.
-560.219-56.472447.2752021-10-292023-01-272024-04-262025-07-252026-10-16re… -102.097
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
Harvey–Jaeger trend and cycle: 40 complete quarters, under the 60 a trend-plus-cycle model needs.
2,0857,819now
The whole history as a distribution, with today marked. Median 3,982.70 over 2,514 observations.
0%50%100%last 5 yearsnow · 98th2,0857,819
The same record read cumulatively: today sits at the 98 percentile of the full history (n=2,514) and the 97 of the last five years (n=1,255). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
+2.0Jan-0.7Feb-1.1Mar+1.9Apr+1.7May+1.6Jun+2.9Jul+1.1Aug-1.5Sep+0.8Oct+4.0Nov-0.0Decno significant pattern~10 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-493.131-143.307206.5182021-10-292023-01-272024-04-262025-07-252026-10-16sea… -17.250
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
+61.8Jan+49.1Feb-109.0Mar-118.6Apr-42.2May-20.3Jun+33.8Jul+54.4Aug+18.9Sep-20.9Oct+35.9Nov+54.1Dec~44 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 11 years, against the year-to-year standard deviation at that same month (ratio 1.17). The mean exceeds the year-to-year noise, so this month's seasonal effect repeats rather than being a single year's accident.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
6.7129.78current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,255 such windows over five years. Today's window sits at the 4 percentile of its own five-year range history; the 10th-to-90th of that history is 8.31 to 23.31 (% of level). A description of how wide the market has recently traded, not a target.
8,6837,1844,6057,659
Where this has historically gone over 63 trading days: 10th to 90th percentile of 2,426 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
7,184.02
-6.2%
median path
8,105.81
50th percentile
upside (90th)
8,682.99
+13.4%
Markov-filtered mean
+0.369
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (7 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2026-05-01
P(high vol) now
7
filtered, this week
persisted
25
weeks (175 days)
P(exit in 4w)
14.3%
1 of 7 spells this old
spells on record
46
23 completed in this state
-4%51%106%2021-10-292023-01-272024-04-262025-07-252026-10-16P(high v… 7%
Two-state Markov-switching model with switching variance, fitted on 521 weekly % log change. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
3,3295,6978,0652021-10-292023-01-272024-04-262025-07-252026-10-16level 7,659
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean +0.418 per week at 1.404 standard deviation in the calm state against -0.240 at 3.979 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 520 periods since 2016-11-04): low volatility now, filtered p(high) 0.07; AR(1) -0.108; sd 3.907 high against 1.392 low. The two Markov filters put the same state on 95% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.
level
81,310.49
usd · as of 2026-10-17
percentile
89
of 4,304 obs since 2014
percentile, 5y
74
of 1,826 obs
vs 13w mean
+4515.71
level minus its own quarter
vs 52w mean
+4042.12
level minus its own year
year on year
-27.2%
same week last year
10,15169,484128,8162021-11-052023-02-032024-05-032025-08-012026-10-23level 81,310MSTL… 62,978
MSTL with periods 5 and 52 on 619 weekly observations from 2014-12-05. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 96% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 16%.
-21,390.467-218.79820,952.8712021-11-052023-02-032024-05-032025-08-012026-10-2312,444.894
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
Harvey–Jaeger trend and cycle: 48 complete quarters, under the 60 a trend-plus-cycle model needs.
120124,720now
The whole history as a distribution, with today marked. Median 16,664.28 over 4,304 observations.
0%50%100%last 5 yearsnow · 89th120124,720
The same record read cumulatively: today sits at the 89 percentile of the full history (n=4,304) and the 74 of the last five years (n=1,826). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
-4.1Jan+8.7Feb-0.9Mar+8.6Apr+4.0May-2.0Jun+8.0Jul+0.3Aug-1.4Sep+14.8Oct+2.9Nov+7.6Decno significant pattern~12 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-8,068.9061,192.66010,454.2272021-11-052023-02-032024-05-032025-08-012026-10-23s… 9,461.916
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
+1099.6Jan-452.2Feb-16.8Mar+530.7Apr+779.5May-2030.1Jun-1513.3Jul-444.4Aug-134.0Sep+1388.7Oct+370.2Nov+688.3Dec~52 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 13 years, against the year-to-year standard deviation at that same month (ratio 0.50). The year-to-year noise at these calendar months is as large as the mean seasonal effect itself, so the shape should be read as unstable, not as a repeating pattern.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
13.97149.78current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,826 such windows over five years. Today's window sits at the 45 percentile of its own five-year range history; the 10th-to-90th of that history is 23.8 to 72.76 (% of level). A description of how wide the market has recently traded, not a target.
147,31559,65561,00081,310
Where this has historically gone over 63 trading days: 10th to 90th percentile of 4,216 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
59,654.68
-26.6%
median path
88,782.05
50th percentile
upside (90th)
147,315.36
+81.2%
Markov-filtered mean
+0.322
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (11 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2026-09-04
P(high vol) now
11
filtered, this week
persisted
8
weeks (56 days)
P(exit in 4w)
100.0%
3 of 3 spells this old
spells on record
131
65 completed in this state
6%56%105%2021-11-052023-02-032024-05-032025-08-012026-10-23P(high … 11%
Two-state Markov-switching model with switching variance, fitted on 618 weekly % log change. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
10,15169,484128,8162021-11-052023-02-032024-05-032025-08-012026-10-23level 81,310
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean +0.196 per week at 2.917 standard deviation in the calm state against +1.303 at 11.393 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 617 periods since 2014-12-19): low volatility now, filtered p(high) 0.12; AR(1) +0.034; sd 11.356 high against 2.873 low. The two Markov filters put the same state on 99% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.
level
5.10
pct · as of 2026-10-15
percentile
47
of 16,182 obs since 1962
percentile, 5y
99
of 1,248 obs
vs 13w mean
+0.19
level minus its own quarter
vs 52w mean
+0.67
level minus its own year
year on year
+1.08
same week last year
1.113.325.522021-10-292023-01-272024-04-262025-07-252026-10-16level 5.10MSTL t… 4.81
MSTL with periods 5 and 52 on 3381 weekly observations from 1962-01-05. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 99% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 14%.
-0.6560.0040.6652021-10-292023-01-272024-04-262025-07-252026-10-16remai… 0.101
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
0.402.755.102006-12-312011-12-312016-12-312021-12-312026-09-30quarte… 4.76UC tre… 4.76
Harvey–Jaeger local linear trend on the quarterly average level, 1986-12-31 to 2026-09-30 (160 quarters), smoothed: each quarter's estimate uses the quarters after it.
No cycle is drawn: the implied period is 1.5 years, pinned at the 1.5–12-year bound, so the data do not locate a cycle inside it; the cycle does not earn its parameters: BIC 168.1 with it against 164.8 for the trend alone; the two optimisers put the period at 1.5 and 4.9 years, so it is not identified (best period 1.5 y, damping 0.49). The trend above is the trend-only model, which the data prefer. The trend-only model assigns no variance to the irregular, so its trend coincides with the quarterly level: at this cadence the model finds nothing to separate from the path itself.
0.5215.84now
The whole history as a distribution, with today marked. Median 5.39 over 16,182 observations.
0%50%100%last 5 yearsnow · 48th0.5215.84
The same record read cumulatively: today sits at the 47 percentile of the full history (n=16,182) and the 99 of the last five years (n=1,248). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
+0.0Jan+0.0Feb+0.0Mar+0.1Apr-0.0May-0.0Jun+0.0Jul-0.0Aug-0.0Sep-0.0Oct-0.1Nov+0.0Decno significant pattern~65 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-0.2030.0290.2622021-10-292023-01-272024-04-262025-07-252026-10-16seaso… 0.231
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
-0.1Jan-0.0Feb-0.0Mar+0.0Apr+0.1May+0.0Jun+0.0Jul+0.0Aug+0.0Sep-0.0Oct-0.1Nov-0.1Dec~282 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 65 years, against the year-to-year standard deviation at that same month (ratio 0.44). The year-to-year noise at these calendar months is as large as the mean seasonal effect itself, so the shape should be read as unstable, not as a repeating pattern.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
0.231.77current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,248 such windows over five years. Today's window sits at the 71 percentile of its own five-year range history; the 10th-to-90th of that history is 0.45 to 1.37 (level). A description of how wide the market has recently traded, not a target.
5.844.301.555.10
Where this has historically gone over 63 trading days: 10th to 90th percentile of 16,094 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
4.30
-0.80
median path
5.13
50th percentile
upside (90th)
5.84
+0.74
Markov-filtered mean
+0.001
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (15 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2025-07-04
P(high vol) now
15
filtered, this week
persisted
68
weeks (476 days)
P(exit in 4w)
0.0%
0 of 3 spells this old
spells on record
49
24 completed in this state
-4%51%106%2021-10-292023-01-272024-04-262025-07-252026-10-16P(high … 15%
Two-state Markov-switching model with switching variance, fitted on 1300 weekly change in level. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
1.113.325.522021-10-292023-01-272024-04-262025-07-252026-10-16level 5.10
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean +0.002 per week at 0.086 standard deviation in the calm state against -0.001 at 0.147 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 779 periods since 2011-11-18): low volatility now, filtered p(high) 0.29; AR(1) -0.092; sd 0.145 high against 0.084 low. The two Markov filters put the same state on 96% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.
level
16.46
pct · as of 2026-10-15
percentile
43
of 9,296 obs since 1990
percentile, 5y
38
of 1,287 obs
vs 13w mean
+1.08
level minus its own quarter
vs 52w mean
-1.43
level minus its own year
year on year
-4.32
same week last year
9.9328.6247.312021-10-292023-01-272024-04-262025-07-252026-10-16level 16.46MSTL … 16.49
MSTL with periods 5 and 52 on 1920 weekly observations from 1990-01-05. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 67% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 16%.
-9.6183.94217.5032021-10-292023-01-272024-04-262025-07-252026-10-16rema… -2.062
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
7.4134.4661.502006-12-312011-12-312016-12-312021-12-312026-09-30quart… 16.06UC tr… 16.50
Harvey–Jaeger local linear trend on the quarterly average level, 1990-03-31 to 2026-09-30 (147 quarters), smoothed: each quarter's estimate uses the quarters after it.
No cycle is drawn: the implied period is 1.5 years, pinned at the 1.5–12-year bound, so the data do not locate a cycle inside it (best period 1.5 y, damping 0.59). The trend above is the trend-only model, which the data prefer.
9.1482.69now
The whole history as a distribution, with today marked. Median 17.56 over 9,296 observations.
0%50%100%last 5 yearsnow · 43th9.1482.69
The same record read cumulatively: today sits at the 43 percentile of the full history (n=9,296) and the 38 of the last five years (n=1,287). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
+0.3Jan+0.8Feb-0.4Mar-1.2Apr-0.7May-0.2Jun+0.4Jul+1.4Aug+1.5Sep+0.3Oct-1.9Nov-0.4Decno significant pattern~37 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-5.3232.1279.5772021-10-292023-01-272024-04-262025-07-252026-10-16seaso… 1.906
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
-0.3Jan+0.1Feb+1.0Mar-0.1Apr-1.0May-1.1Jun-1.7Jul-0.2Aug+0.8Sep+2.1Oct+0.8Nov-0.4Dec~160 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 37 years, against the year-to-year standard deviation at that same month (ratio 0.62). The year-to-year noise at these calendar months is as large as the mean seasonal effect itself, so the shape should be read as unstable, not as a repeating pattern.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
3.7839.56current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,287 such windows over five years. Today's window sits at the 3 percentile of its own five-year range history; the 10th-to-90th of that history is 7.37 to 26.63 (level). A description of how wide the market has recently traded, not a target.
24.108.9916.2616.46
Where this has historically gone over 63 trading days: 10th to 90th percentile of 9,208 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
8.99
-7.47
median path
15.86
50th percentile
upside (90th)
24.10
+7.64
Markov-filtered mean
-0.131
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (4 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2026-06-19
P(high vol) now
4
filtered, this week
persisted
18
weeks (126 days)
P(exit in 4w)
11.1%
2 of 18 spells this old
spells on record
172
86 completed in this state
-3%51%106%2021-10-292023-01-272024-04-262025-07-252026-10-16P(high v… 4%
Two-state Markov-switching model with switching variance, fitted on 1300 weekly change in level. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
9.9328.6247.312021-10-292023-01-272024-04-262025-07-252026-10-16level 16.46
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean -0.155 per week at 1.676 standard deviation in the calm state against +0.402 at 5.715 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 779 periods since 2011-11-18): low volatility now, filtered p(high) 0.06; AR(1) -0.119; sd 5.678 high against 1.626 low. The two Markov filters put the same state on 95% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.
level
101.91
usd · as of 2026-10-14
percentile
95
of 9,523 obs since 1986
percentile, 5y
92
of 1,247 obs
vs 13w mean
+10.17
level minus its own quarter
vs 52w mean
+21.20
level minus its own year
year on year
+74.8%
same week last year
52.7588.66124.582021-10-292023-01-272024-04-262025-07-252026-10-16level 101.91MSTL … 95.94
MSTL with periods 5 and 52 on 2126 weekly observations from 1986-01-03. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 96% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 16%.
-17.4794.46726.4132021-10-292023-01-272024-04-262025-07-252026-10-16remai… 4.481
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
3.2424.0754.9082006-12-312011-12-312016-12-312021-12-312026-09-30quart… 4.467UC tr… 4.467
Harvey–Jaeger local linear trend on the quarterly average log level, 1986-12-31 to 2026-09-30 (160 quarters), smoothed: each quarter's estimate uses the quarters after it.
No cycle is drawn: the cycle does not earn its parameters: BIC -109.0 with it against -126.7 for the trend alone (best period 3.2 y, damping 0.81). The trend above is the trend-only model, which the data prefer. The trend-only model assigns no variance to the irregular, so its trend coincides with the quarterly level: at this cadence the model finds nothing to separate from the path itself.
-36.98145.31now
The whole history as a distribution, with today marked. Median 47.11 over 9,523 observations.
0%50%100%last 5 yearsnow · 94th-36.98145.31
The same record read cumulatively: today sits at the 95 percentile of the full history (n=9,523) and the 92 of the last five years (n=1,247). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
+0.8Jan-0.2Feb+1.4Mar+3.0Apr+1.1May+0.7Jun+1.1Jul+0.6Aug+1.1Sep-2.2Oct-3.6Nov+0.3Decno significant pattern~41 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-10.7211.28313.2872021-10-292023-01-272024-04-262025-07-252026-10-16seas… -0.781
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
-1.8Jan-1.6Feb+0.1Mar+1.1Apr+1.5May+1.6Jun+1.6Jul+1.0Aug+0.7Sep+0.4Oct-1.5Nov-3.1Dec~177 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 41 years, against the year-to-year standard deviation at that same month (ratio 0.71). The year-to-year noise at these calendar months is as large as the mean seasonal effect itself, so the shape should be read as unstable, not as a repeating pattern.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
14.16106.67current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,247 such windows over five years. Today's window sits at the 83 percentile of its own five-year range history; the 10th-to-90th of that history is 19.95 to 64.63 (% of level). A description of how wide the market has recently traded, not a target.
133.0580.6683.50101.91
Where this has historically gone over 63 trading days: 10th to 90th percentile of 9,435 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
80.66
-20.9%
median path
104.75
50th percentile
upside (90th)
133.05
+30.6%
Markov-filtered mean
-0.419
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (38 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2026-10-16
P(high vol) now
38
filtered, this week
persisted
1
weeks (7 days)
P(exit in 4w)
35.3%
6 of 17 spells this old
spells on record
34
17 completed in this state
-6%50%106%2021-10-292023-01-272024-04-262025-07-252026-10-16P(high … 38%
Two-state Markov-switching model with switching variance, fitted on 1300 weekly % log change. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
52.7588.66124.582021-10-292023-01-272024-04-262025-07-252026-10-16level 101.91
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean +0.274 per week at 4.304 standard deviation in the calm state against -1.569 at 15.303 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 779 periods since 2011-11-18): low volatility now, filtered p(high) 0.43; AR(1) +0.004; sd 14.405 high against 4.119 low. The two Markov filters put the same state on 97% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.
level
121.60
idx · as of 2026-10-09
percentile
91
of 5,208 obs since 2006
percentile, 5y
65
of 1,250 obs
vs 13w mean
+2.00
level minus its own quarter
vs 52w mean
+1.88
level minus its own year
year on year
+0.4%
same week last year
112.70121.77130.842021-10-222023-01-202024-04-192025-07-182026-10-09level 121.60MSTL… 119.63
MSTL with periods 5 and 52 on 1084 weekly observations from 2006-01-06. The trend is drawn over the level and the remainder under it; nothing here is extrapolated. The trend explains 98% of the variance the remainder does not (Hyndman's trend strength); the seasonal component explains 11%.
-4.0811.0496.1802021-10-222023-01-202024-04-192025-07-182026-10-09remai… 0.436
What the trend and the seasonal do not account for, on the same dates. A remainder that trends is a decomposition that has missed something, which is why it is drawn rather than described.
4.4414.6564.8722006-12-312011-12-312016-12-312021-12-312026-09-30quart… 4.784UC tr… 4.784
Harvey–Jaeger local linear trend on the quarterly average log level, 2006-03-31 to 2026-09-30 (83 quarters), smoothed: each quarter's estimate uses the quarters after it.
No cycle is drawn: the cycle does not earn its parameters: BIC -328.5 with it against -348.1 for the trend alone (best period 2.6 y, damping 0.82). The trend above is the trend-only model, which the data prefer. The trend-only model assigns no variance to the irregular, so its trend coincides with the quarterly level: at this cadence the model finds nothing to separate from the path itself.
85.47130.04now
The whole history as a distribution, with today marked. Median 110.25 over 5,208 observations.
0%50%100%last 5 yearsnow · 90th85.47130.04
The same record read cumulatively: today sits at the 91 percentile of the full history (n=5,208) and the 65 of the last five years (n=1,250). A level extreme against forty years and ordinary against five is a different fact from one that is extreme against both.
+0.0Jan+0.2Feb-0.1Mar-0.6Apr+0.4May+0.0Jun-0.4Jul+0.6Aug+0.4Sep+0.4Oct+0.3Nov-0.3Decno significant pattern~21 yrs/bar
The spread of monthly means is no larger than the noise — this series has no seasonal worth trading. Kruskal-Wallis across calendar months; the corner figure is the average number of years behind each bar.
-1.2580.3471.9522021-10-222023-01-202024-04-192025-07-182026-10-09seaso… 1.780
The MSTL seasonal component itself, at periods 5 and 52. Drawn rather than summarised because a seasonal that changes shape year to year is not one a reader can plan against, and the chart shows that where a single average would hide it.
+0.3Jan+0.2Feb+0.4Mar-0.3Apr-0.4May-0.3Jun-0.5Jul-0.5Aug-0.3Sep+0.3Oct+0.6Nov+0.5Dec~90 yrs/bar
Seasonal diagnostic: The STL seasonal component's own mean at each calendar month, across 21 years, against the year-to-year standard deviation at that same month (ratio 0.91). The year-to-year noise at these calendar months is as large as the mean seasonal effect itself, so the shape should be read as unstable, not as a repeating pattern.
monthmarket holidaysCrude printsGas printsoption expiriesquad-witchings
Jan194543100
Feb104041100
Mar345451010
Apr74242100
May104343100
Jun445451010
Jul104443100
Aug04545100
Sep1042431010
Oct04444100
Nov104443100
Dec1043441010
Event days per calendar month, 2016–2025. Every column is derived from a published rule, so it was knowable years ahead: the whole table is stamped available_at 1900-01-01, never the build date. Dropped, because they are announced rather than derived and the schedule loaded here does not cover the window: FOMC decisions, CPI prints.
2.028.80current 63d range
The high-minus-low width of the trailing 88-observation window (the same 63-day horizon as the band above), against the last 1,250 such windows over five years. Today's window sits at the 38 percentile of its own five-year range history; the 10th-to-90th of that history is 2.63 to 6.89 (% of level). A description of how wide the market has recently traded, not a target.
127.68116.72113.67121.60
Where this has historically gone over 63 trading days: 10th to 90th percentile of 5,120 realised moves, applied to today. A base rate for sizing, not a forecast.
downside (10th)
116.72
-4.0%
median path
121.75
50th percentile
upside (90th)
127.68
+5.0%
Markov-filtered mean
-0.001
per week, state-weighted
The band above is unconditional: it does not know what state we are in. The filtered mean beside it does — it is the two-state Markov model's mean weighted by today's filtered probability (1 of the high-volatility state). The two disagree when the current state is unusual, which is the point of printing both.
state
low volatility
since 2020-11-20
P(high vol) now
1
filtered, this week
persisted
308
weeks (2156 days)
P(exit in 4w)
not countable
0 of 0 spells this old
spells on record
40
20 completed in this state
-2%20%41%2021-10-222023-01-202024-04-192025-07-182026-10-09P(high v… 1%
Two-state Markov-switching model with switching variance, fitted on 1083 weekly % log change. The line is the FILTERED probability of the high-volatility state — a statement about weeks that have happened, not a forecast. Exit counts are empirical spell counts, not the model's expected durations.
112.70121.77130.842021-10-222023-01-202024-04-192025-07-182026-10-09level 121.60
The same weeks on the level: shaded stretches are the ones the filter puts in the high-volatility state. Mean -0.004 per week at 0.642 standard deviation in the calm state against +0.266 at 1.559 in the volatile one.
Markov-switching AR(1) (MarkovAutoregression(k_regimes=2, order=1, switching_ar=False, switching_variance=True), 779 periods since 2011-11-11): low volatility now, filtered p(high) 0.08; AR(1) +0.045; sd 1.024 high against 0.577 low. The two Markov filters put the same state on 90% of 260 common periods; the MarkovRegression reads low volatility now. The filtered probability is about periods that have happened.

S&P 500 · last 7,659.44 as of 2026-10-16 · 2,514 observations from 2016-10-17

3,3295,6978,0652021-10-292023-01-272024-04-262025-07-252026-10-16S&P 5… 7,659
Five years of S&P 500 with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what S&P 500 did next

episodezlevelS&P 500 +5dS&P 500 +21d
2026-08-281.637,711.76+0.09%-0.36%
2026-08-071.867,757.64+0.36%-1.08%
2026-07-171.537,457.69-0.61%+3.85%
2026-06-261.517,354.02+2.49%+0.80%
2026-06-051.727,383.74+0.65%+2.08%
2026-04-291.657,135.95+3.21%+5.99%
2026-04-081.066,782.81+3.54%+8.17%
2026-02-231.336,837.75+0.64%-4.12%
z in [1.0, 2.0) · n=99 episodes · 21-session hit rate 73% · median +5d 0.50, +21d 1.83 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of S&P 500. 99 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

Bitcoin · last 81,310.49 as of 2026-10-17 · 4,304 observations from 2014-12-01

10,15169,484128,8162021-11-052023-02-032024-05-032025-08-012026-10-23Bitc… 81,310
Five years of Bitcoin with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what Bitcoin did next

episodezlevelBitcoin +5dBitcoin +21d
2026-09-11-0.2577,276.50+4.62%+7.31%
2026-08-21-0.2978,126.63-0.37%+3.92%
2026-01-14-0.3996,852.91-7.14%-31.85%
2025-11-06-0.07101,447.93-2.51%-11.93%
2025-10-160.48106,463.30+4.30%-10.93%
2025-03-290.4282,379.98-4.87%+15.37%
2025-03-080.3780,699.17+2.31%-1.93%
2024-10-010.4960,631.37-0.09%+15.78%
z in [-0.5, 0.5) · n=49 episodes · 21-session hit rate 55% · median +5d 1.18, +21d 1.18 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of Bitcoin. 49 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

10y Treasury · last 5.10 as of 2026-10-15 · 16,182 observations from 1962-01-02

1.113.325.522021-10-292023-01-272024-04-262025-07-252026-10-1610y Tr… 5.10
Five years of 10y Treasury with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what S&P 500 did next

episodezlevelS&P 500 +5dS&P 500 +21d
2026-09-143.134.97+1.90%+2.43%
2026-08-242.154.70+0.43%+1.46%
2026-08-032.434.70+2.01%+0.41%
2026-07-132.094.62-0.96%+2.83%
2026-05-192.234.67+2.25%+0.90%
2023-10-122.304.70-1.65%+1.51%
2023-09-212.114.49-0.70%-2.44%
2022-11-082.164.14+4.27%+2.76%
z in [2.0, 99.0) · n=141 episodes · 21-session hit rate 10% · median +5d 0.00, +21d 0.00 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of S&P 500. 141 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

VIX · last 16.46 as of 2026-10-15 · 9,296 observations from 1990-01-02

9.9328.6247.312021-10-292023-01-272024-04-262025-07-252026-10-16VIX 16.46
Five years of VIX with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what S&P 500 did next

episodezlevelS&P 500 +5dS&P 500 +21d
2026-09-10-0.1317.84+0.61%+2.90%
2026-07-290.3020.66+5.57%+5.67%
2026-07-08-0.4716.90+1.20%+3.04%
2026-06-110.0619.44+1.44%+2.45%
2026-05-20-0.3517.44+1.18%+0.91%
2026-04-29-0.0418.81+3.21%+5.99%
2026-04-080.4221.04+3.54%+8.17%
2026-02-25-0.1217.93-1.10%-6.75%
z in [-0.5, 0.5) · n=342 episodes · 21-session hit rate 21% · median +5d 0.00, +21d 0.00 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of S&P 500. 342 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

WTI crude · last 101.91 as of 2026-10-14 · 9,523 observations from 1986-01-02

52.7588.66124.582021-10-292023-01-272024-04-262025-07-252026-10-16WTI … 101.91
Five years of WTI crude with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what WTI crude did next

episodezlevelWTI crude +5dWTI crude +21d
2026-09-091.6097.26+6.54%+1.03%
2026-08-191.0287.28-4.38%+18.25%
2026-07-211.0186.04-5.96%+1.44%
2026-05-261.9997.63-0.16%-26.85%
2026-04-171.7285.91+14.56%+30.66%
2026-03-031.5874.48+12.39%+36.82%
2024-07-011.1384.70-1.26%-10.07%
2024-04-231.0484.17-0.81%-5.96%
z in [1.0, 2.0) · n=224 episodes · 21-session hit rate 56% · median +5d -0.16, +21d 1.41 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of WTI crude. 224 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

Broad dollar · last 121.60 as of 2026-10-09 · 5,208 observations from 2006-01-02

112.70121.77130.842021-10-222023-01-202024-04-192025-07-182026-10-09Broa… 121.60
Five years of Broad dollar with the high-volatility weeks shaded, from the same two-state filter the Regime tab draws. One state, one shading, every tab.

The last 8 times this looked like today — and what Broad dollar did next

episodezlevelBroad dollar +5dBroad dollar +21d
2025-03-311.16126.71+0.10%-3.25%
2025-03-101.07126.27-0.71%+0.47%
2025-02-141.53127.15-0.01%-1.40%
2025-01-241.89127.46+0.80%-0.21%
2024-10-311.95124.80-0.02%+1.43%
2024-10-101.11123.10+0.83%+2.02%
2024-09-031.01122.78+0.18%-0.98%
2024-08-051.55123.58-0.29%-0.65%
z in [1.0, 2.0) · n=100 episodes · 21-session hit rate 45% · median +5d -0.01, +21d -0.11 · grade C
Episodes when this series last sat in the same trailing-365-observation z bucket, with the forward 5- and 21-session move of Broad dollar. 100 episodes at least 21 days apart; the table shows the most recent 8. A conditional distribution with its count, not a signal.

What changed since last week

leafthennowchangecompared with
horizon days63.0063.00unchanged2026-10-11
n series36.0036.00unchanged2026-10-11
n panels18.0018.00unchanged2026-10-11
0 of 3 headline leaves moved. A repeated value can mean the upstream had not published, not that nothing happened.
ACF of the remainder · 6 rows
seriesnlags outside 95 bandfirst lag outsideconf95readingSTL remainder p: Ljung-Box(24) · Jarque-Bera · ARCH-LM(4)AutoReg (BIC lags, persistence) and its residual p, same three testsfit seconds
S&P 5002601610.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags none, persistence +0.00; no AutoReg residual: BIC selected no lag0.2
Bitcoin2602010.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags none, persistence +0.00; no AutoReg residual: BIC selected no lag0.2
10y Treasury2602110.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags none, persistence +0.00; no AutoReg residual: BIC selected no lag0.5
VIX260410.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags 1, persistence -0.11; 0.005 · 0.000 · 0.0000.5
WTI crude2601810.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags 1, 2, persistence -0.07; 0.057 · 0.000 · 0.0001.4
Broad dollar2602110.12Autocorrelation of the MSTL remainder over 24 lags, with the 95% band at ±0.122,0.000 · 0.000 · 0.000lags none, persistence +0.00; no AutoReg residual: BIC selected no lag0.6
Harvey-Jaeger style structural check: the autocorrelation of the decomposition's remainder against a 95% band. Lags outside the band mean the trend and seasonal have not taken everything systematic out of the series. This is Method content. It is not a forecast and nothing is extrapolated from it.

cumulative abnormal return vs the sample's own mean drift, aligned by DATE to the nearest session; only the first day of each episode counts as an event; 95% CIs from 2,000 bootstrap resamples. Events are rebuilt from the underlying official series, so these are historical relationships rather than a record of calls we published. Window 10 sessions before, 20 after. As of 2026-10-18 11:56 UTC. Floor for a conditional claim: 20 episodes (grade_t_thresholds.json).

2s10s crosses into inversion — S&P 500 · n=44 · earliest 1978-08-18
horizonnmeanmedian95% CIthit rateCI
+1d44+0.03%+0.03%[-0.2, +0.3]0.355%straddles zero
+5d44-0.13%-0.25%[-0.7, +0.4]-0.4846%straddles zero
+10d44+0.03%+0.41%[-0.8, +0.8]0.0759%straddles zero
+20d44+0.37%+1.04%[-0.7, +1.4]0.6664%straddles zero
series · 6 rows
labelunitkindlastas offirst obsn obsma 13wvs 13w
S&P 500idxprice7,659.442026-10-162016-10-172,5147,676.49-17.05
Bitcoinusdprice81,310.492026-10-172014-12-014,30476,794.784,515.71
10y Treasurypctlevel5.102026-10-151962-01-0216,1824.910.19
VIXpctlevel16.462026-10-151990-01-029,29615.381.08
WTI crudeusdprice101.912026-10-141986-01-029,52391.7410.17
Broad dollaridxprice121.602026-10-092006-01-025,208119.602.00
scalars
fieldvalue
horizon days63
n series36
statsmodels version0.14.6
statsmodels pinned0.14.6
statsmodels errornot reported
4 rows and 1 field withheld at this tier: absent from the page, not hidden in it.
MacroTerminal is a research publication and is not investment advice; nothing here is a recommendation to buy or sell anything. Every figure carries an evidence grade (D descriptive, C conditional with counts, N tested-null, T tested-positive — none exists). Nulls are public in the registry. Grades and as-of dates are on every chart.