| DATE | PREV CLOSE | OPEN | GAP $ | GAP % | DIR | FILLED SAME DAY | HIGH | LOW | CLOSE |
|---|
| EXPIRY | TYPE | MAX PAIN | TOTAL OI | DIST FROM PRICE |
|---|
| DATE | OPEN | HIGH | LOW | CLOSE | VOL | O→C | O→C% | RANGE | RNG% | O→H | O→L | H→C | L→C |
|---|
| DATE | TOTAL VOL | OPEN 1H | OPEN 1H% | CLOSE 1H | CLOSE 1H% | PEAK TIME | PEAK VOL | HVN PRICE |
|---|
| WEEK | MID | HIGH | LOW | RANGE ± | IV | W-OPEN | W-HIGH | W-LOW | W-CLOSE | GAP | FILLED | INSIDE | BREACH | SIDE | AMT |
|---|
The Analog Finder scans every year of real SPY historical price data from 1993 to present looking for the past periods that most closely resemble where SPY is right now. It does not use simulated data or curve-fitting — every comparison is built from actual daily closing prices.
| Period | Window | Avg Return | Median | Win Rate | Sample | Best | Worst |
|---|
* Daily returns from individual trading days in each window.
FORCING THE FUTURE INTO EXISTENCE
| ERA | PERIOD | PEAK RATIO | DURATION | PEAK DRAWDOWN | RECOVERY | WHAT GOT BUILT | VERDICT |
|---|
↑ IMPORT — Load trades from a previously exported JSON backup file
↓ JSON — Download full backup including screenshots (use to migrate or restore)
* Buckets are quintiles of the period's range as a percent of its open, so every era is compared on the same footing. "Next period" = following week or day. Risk-adj = avg return ÷ avg true range ($). Sample follows the lookback selected above.
| Day | Avg Return | Median | Win Rate | Avg Day Range ($) | Best Day | Worst Day | Days Sampled |
|---|
* Daily close-to-close returns from daily_ohlcv (spy_data.db). Day Range = High − Low ($).
| Week | Avg Return | Median | Win Rate | Best Week | Worst Week | Sample | Edge vs Avg |
|---|
* A week belongs to the month its Monday falls in: Week 1 = Monday on days 1–7, Week 2 = 8–14, Week 3 = 15–21, Week 4 = 22–28, Week 5 = 29+. Turn-of-month effect: last days of month + first days of next month historically strongest.
| Month | Monthly Avg | Median | Monthly WR | Daily Avg | Daily WR | Avg True Range | Best Month | Worst Month | Yrs |
|---|
* Monthly return = first open to last close of the calendar month, price only (no dividends); complete months only. ± is two standard errors of the mean. Monthly WR = % of years that month closed positive. Daily Avg/WR computed from individual trading days in that calendar month. True Range = monthly High−Low ($).
| Quarter | Monthly Avg | Monthly WR | Daily Avg | Daily WR | Avg True Range | Best Month | Worst Month | Months Sampled |
|---|
* Quarterly stats aggregate individual months. Q1=Jan–Mar, Q2=Apr–Jun, Q3=Jul–Sep, Q4=Oct–Dec.
* Full calendar year returns, first open to last close, price only (no dividends); the in-progress year is excluded. The Political Cycle panel uses the same years and basis. Green = positive year, Red = negative year.
* Weekly streaks from SPY_weekly.csv Return_%. Daily streaks from daily_ohlcv. Momentum = conditional probability of next close being higher.
Each row = what happened IN that type of week, and what happened the FOLLOWING week
Each row = what happened ON that type of day, and what happened the NEXT day
* Buckets are quintiles of the period's range (high − low) as a percent of its open. "Next period" = the following week or day respectively. Risk-adj = avg return ÷ avg true range ($).
Read across a row: given a decline already hit the row level, the % chance it extended to each column level.
td = trading days · calendar days ≈ td × 1.4
| Drawdown Level | Events Since Start | Avg Recovery | Median Recovery | Longest Recovery | Avg (months) |
|---|
* Recovery = weeks from trough back to a new running all-time weekly closing high, so a decline here is one from the all-time high; the Declines panel counts declines from a 20-session peak, which is a different and larger set. Based on SPY weekly CLOSE prices.
| Period | Window | Avg Return | Median | Win Rate | Sample | Best | Worst |
|---|
* Daily returns from individual trading days in each window. Weekly returns from SPY_weekly.csv. Tax loss harvesting = Dec 15–31 daily. January effect = first 5 trading days. Sell in May = May–Oct daily avg vs Nov–Apr.
Identifies pullbacks of the specified depth from a local peak with no interim rally >1.5% during the drop. Measures the subsequent bounce: size, duration, Fibonacci retracement level, and forward returns. Algorithm: scan for each clean drop threshold → find trough → track bounce until price breaks trough by >1%.
Lookback selector does not apply here — political cycle analysis requires full history (1993–2025) to be statistically meaningful.
* Election: 1996,2000,2004,2008,2012,2016,2020,2024. Midterm: 1994,1998,2002,2006,2010,2014,2018,2022. Year 1=post-election. Year 3=pre-election. Dem: Clinton 1993–2000, Obama 2009–2016, Biden 2021–2024. Rep: Bush 2001–2008, Trump 2017–2020, Trump 2025+. Correlation ≠ causation.