/home/agent-jay/.claude/projects/-home-agent-jay-claudeCode-jarvis/memory/reference_milton_berg_indicator_catalog.md

Milton Berg — Indicator Catalog (source notes)


name: Milton Berg indicator catalog — extreme-tail histogram methodology

description: Full catalog of Milton Berg's market-turning-point indicators from 2026-05-18 Shapiro interview — 30k+ indicators, ~2k tradeable combos, designed to be replicated in finance/indicators

type: reference

originSessionId: d08af12a-ffd1-4f37-8c52-4a5ad683e6e9


Milton Berg Indicator Catalog

Source: Jason Shapiro / Crowded Market Report interview, YouTube 68bnJkSZCzk, recorded 2026-05-18, Berg dating 2025-04 low signals.

Guest: Milton Berg — Milton Berg Advisors. Former: Richie Commodities (1978), Oppenheimer (80% cash before '87 crash), Michael Steinhardt, Soros, Druckenmiller (2000 top trade). 10 years of solo research culminating 2026.

Sites: miltonbergedge.com (retail, $10/mo), miltonberg.com (institutional), Twitter @bergmilton.


1. CORE METHODOLOGY

The histogram-tail principle

Combination logic — combos, not single indicators

Signal projection / stop framework

Why momentum into a low/high is the key insight

Start date


2. INDIVIDUAL INDICATORS (the building blocks)

These are the atomic extremes Berg combines. Reproduce these first.

Volume regime

IDIndicatorThresholdNotes
V1NDX 5-day volume rankHighest in 200 daysTail extreme, used at lows
V2NYSE 5-day average volume rankHighest in 375 days (≈1.5y) within past 20 daysHigh-volume regime — doesn't have to be day-of-low
V3NASDAQ 10-day upside/downside volume thrust1.89:1Volume-thrust extreme
V4NYSE upside volume as % of total 5-day volume< 45%Extreme downside volume regime (panic)
V5Day-of-signal volume changeUp ≥ +20% vs prior dayConfirmation volume on rally day
V6Day-of-signal volume change+38% (observed example)Stronger version of V5

Price momentum / rate-of-change

IDIndicatorThresholdNotes
P1Nasdaq 3-day % change−7%Panic decline momentum
P2S&P 1-day % gain rankHighest in 250 daysThrust extreme
P3Nasdaq 10-day % change rankHighest in 180 trading daysThrust
P4S&P 500 10-day rate-of-change rankHighest in 180 trading daysThrust
P5SOX 10-day % change+20%Semis parabolic
P6S&P decline depth at signal-day low−5% to −13% (multiple combo variants)Drawdown filter
P7S&P recovery from prior 10% decline+6% into new recovery highBottoming thrust
P8Single-day gain on April 9 type+9% S&P or NasdaqCapitulation reversal
P9Upside/downside volume ratio100:1 on S&P 500 dayGenerational breadth thrust

Streak / consecutive-day counts

IDIndicatorThresholdNotes
S1VIX consecutive up days10 (0.01% historical)Extreme
S2VIX consecutive down days10 (0.04% historical)Extreme
S3S&P 500 up days in a row9–11 (since 1928)Tail
S4S&P 500 down days in a row9–11Tail
S5Russell up days in last 98 of 9Breadth momentum
S6Nasdaq up days in last 1916 of 19After 10% decline + 19-day hold

Breadth / A-D / new highs-lows

IDIndicatorThresholdNotes
B1NDR Multi-Cap A/D line 7-day ratio2.10:1Index ~1,400 stocks
B2NASDAQ 10-day A/D line ratio1.30:1
B3Reverse breadth thrustA/D line spike to downsideCompanion to V4; capitulation flush
B4NASDAQ 5-day new lows − new highs−16Cumulative deterioration extreme
B5NYSE new lows, market-cap-weighted% of total market cap of NYSE, not raw countCritical Berg innovation — see §3
B6NYSE 60-day new low testS&P at new ≥60-day lowCapitulation filter
B730-day new closing highS&P recovery high on signal dayConfirmation

Volatility extremes

IDIndicatorThresholdNotes
VX1VIX intraday spreadtrades between 45 and 60 in a sessionPanic vol regime
VX2VIX standard deviation (5-day) over 20-dayratio < 0.87Extreme downward VIX compression
VX3VIX absolute level above 45rare — "above 45 is high"Standalone capitulation

Sentiment / positioning

IDIndicatorThresholdNotes
SE1IPO dollar value4-year highConventionally bearish, history shows mixed
SE2Market Vane bullish %≥ 1997 levelsConventionally bearish, history shows OK
SE3Margin debt / GDPrecord highConventionally bearish, history shows OK
SE4NDR overbought/oversold oscillator< 10 (e.g. 4.44) on 0–100 scaleGenuine extreme
SE5COT positioningnot extremely longShapiro's domain; Berg cites as confirmation
SE6US Investing Championship % positiveonly 16% positive in 2026 = participation proxySentiment via P&L distribution

Trend / regime filter

IDIndicatorThresholdNotes
T1250-day moving averageprice below = downtrend regime (use to validate "low" signals); price above = uptrend regimeUsed as filter, NEVER as crossover trigger
T2"Hold the low" day countdays since prior swing low without violating it; common filter values 1, 2, 3, 4, 7, 9, 19The longer the hold + new recovery high = stronger bottom

3. THE MARKET-CAP-WEIGHTED NEW LOWS INSIGHT (B5)

Berg's most actionable original innovation, worth its own section.

Problem: "Many new lows at all-time highs in index" — cited as bearish (1929, 1987, 2000).

Berg's correction: raw count of new lows is meaningless when the index is dominated by trillion-dollar names and the new lows are half-billion-dollar companies.

Fix: Compute new_lows_market_cap_pct = sum(market_cap of NYSE 52w-low stocks) / sum(market_cap of NYSE universe).

Calibration table (Berg's data):

Max forward drawdown in those historical readings: 11%, 14%, 4%, 2%, 8%, 6%, 1%, 1%, 0.6%, 1%. A couple of bear markets but no crashes.

Implementation: join raw_prices (we already have NDX/MAG7 + index members) with shares outstanding → market cap → flag 52w lows → sum % of total. Run daily. Add to dashboard.


4. COMBO MODELS — EXACT RECIPES BERG SHOWED

Combo C1 — "1957-style turn" (used Oct 21 1957, June 26 1962, Sept 22 1976 bear-rally, Dec 24 2018, April 8 2025)

All on same day:

  1. V2: NYSE 5-day average volume highest in 375 days anytime in past 20 days
  2. B6: S&P at ≥60-day new low
  3. P6: S&P down ≥10–12% from prior high
  4. V4: NYSE 5-day upside volume < 45% of total
  5. B3: Reverse breadth thrust (A/D spike down)

Combo C2 — April 4 2025 (precedents: 1998, 2011)

  1. V1: NDX 5-day volume at 200-day high
  2. P1: Nasdaq down 7%+ in 3 days
  3. VX1: VIX between 45–60

Combo C3 — April 7 2025 (precedents: 1998, 2018, 2020)

  1. V2: NYSE 5-day average volume highest in 375 days
  2. SE4: NDR overbought/oversold < 10 (was 4.44)
  3. B4: NASDAQ 5-day new lows − new highs ≤ −16

Combo C4 — April 9 2025 "thrust day" (precedents: 1979, 1982, 1984, 2003 ×2, April 9 2025)

  1. T1: S&P below 250DMA (downtrend filter)
  2. P7: S&P up ≥6% from prior 10% decline into new recovery high
  3. P2: S&P highest 1-day gain in 250 days
  4. V5: Volume up ≥20% on the day

Combo C5 — April 30 2025 "held-low-7-days" (precedents: 1974, 1998, 2002 Oct, 2009 Mar, 2011, 2025 Apr)

  1. T2: S&P down ≥5% but held its low for 7 days
  2. P7 variant: S&P up ≥9% into new recovery high
  3. B1: NDR Multi-Cap 7-day A/D ratio ≥ 2.10:1

Combo C6 — April 13 2026 "held-low-9-days + thrust" (precedents: Aug 25 1982, Aug 6 1984, Oct 21 1998, Oct 14 2011)

  1. T2: S&P down 9% held low for 9 days
  2. B7: S&P closed at 30-day new recovery high
  3. P3: Nasdaq greatest 10-day gain in 180 days
  4. P4: S&P greatest 10-day rate-of-change in 180 days

Historical: 100% of time up 120 days later across all precedents.

Combo C7 — April 13 2026 variant w/ Russell streak (precedents: Aug 23 1982, Oct 21 1998)

Same as C6, plus:

  1. S5: Russell up 8 of 9 days

Combo C8 — April 13 2026 variant w/ Nasdaq volume thrust (precedent: Oct 14 2011 only)

  1. T2: S&P down 13% held low 9 days
  2. V3: NASDAQ 10-day upside/downside volume thrust ≥ 1.89:1
  3. B2: NASDAQ 10-day A/D ratio ≥ 1.30:1

Combo C9 — April 17 "SOX parabolic" (precedents: Oct 4 1987 → 28% before crash; May 5 1997)

  1. P5: SOX 10-day rate-of-change ≥ +20%
  2. B7 variant: S&P at 2-year closing high

Never been bearish. Used as continuation, not turning point.

Combo C10 — April 27 "late entry, 16 of 19 days" (precedents: Nov 4 1985 → +76%, Oct 30 1986 → +42% before '87 blow-off, Nov 22 2023 → +34%)

  1. P6 + T2: Nasdaq down 10% and held low for 19 days
  2. S6: Nasdaq up 16 of those 19 days

Continuation signal; max drawdowns post-signal were 0.22% and 0.16% — extremely tight stop possible.

Combo C11 — "4-year IPO + VIX compression" (precedents: Nov 21 2014 = top region, May 29 2020, June 5 2020, May 2026)

  1. SE1: 4-year high in dollar value of IPOs
  2. VX2: VIX 5d/20d stdev ratio < 0.87

Berg doesn't trade on this — but cites to refute Twitter "bearish" arguments.


5. TRADE MANAGEMENT (the wrapper around the indicators)

Retail model rules (miltonbergedge.com)

Institutional rules

Current outlook from Berg (snapshot 2026-05-18)


6. REPLICATION PLAN FOR JARVIS (proposed)

Phase 1 — atomic indicators (build first, store as time series)

Data already in finance/research.db and /var/lib/jarvis/data/raw_prices:

Phase 2 — combo engine

Phase 3 — daily scanner

Phase 4 — backtest the retail rule

Open data gaps


7. ATTRIBUTION TO PRIOR LESSONS


8. NEXT ACTIONS (queued, not yet executed)

  1. P1 — Build atomic indicator V1–V5, P1–P9, S1–S6 in finance/indicators/berg_atoms.py. Pure math from raw_prices. ~half-day.
  2. P1 — Build B5 (market-cap-weighted new lows). Needs daily shares outstanding for NYSE universe. Backtest 1990→present where shares-out is reliable.
  3. P2 — Build combo engine (finance/indicators/berg_combos.py) wiring atoms → C1–C11. Generate historical signal log.
  4. P2 — Add dashboard panel /finance/berg-signals.
  5. P3 — Backtest retail rule, publish CAGR vs SPY.
  6. P3 — Scrape miltonbergedge.com periodically for any new combo recipes Berg publishes (he says he holds proprietary, but blog posts may reveal).

9. EXPANDED CATALOG FROM X / TWITTER & SECONDARY SOURCES (2026-05-25)

Following deep search across @bergmilton X posts + secondary appearances (Forward Guidance, prior Shapiro shows, Real Vision). Reorders by implementation confidence.

9.1 New HIGH-confidence atoms (pure math, threshold explicit)

IDIndicatorThresholdSourceConfidence
P_ROC74S&P 5-day rate-of-change ≥ +7.4%"Every bull market since 1928 began with a 5-day move ≥ 7.4%" — Forward Guidance Feb 20240.90 HIGH
T_RIN_HINYSE TRIN intraday extremeTRIN ≥ 12.5 (capitulation) or ≥ 15.5 (rare panic) — 2020-03-12 was 15.50, Oct 2008 was 12.520.85 HIGH
B_DA_SP600_50_1S&P 600 daily decliners-to-advancers50:1 D/A intraday — Berg X 2026: "18 cases since 1995, 100% higher 120 days later"0.80 HIGH
B_AD_5D_087NYSE 5-day A/D ratio ≤ 0.87 at index ATH (within 5 days of all-time high)"Breadth divergence at peak" — combo precondition Berg cites for tops0.75 MEDIUM-HIGH
VX_VIX_5_30VIX 5-day average / 30-day average< 0.85 (compression at top) or > 1.50 (expansion at bottom)0.70 MEDIUM

9.2 Macro overlays Berg cites (lower confidence — context, not triggers)

9.3 Corrections to Section 5 retail stats

The 18.5% CAGR claim from the Shapiro video reconciles with Berg's X-published track record:

9.4 Indicators Berg DISCUSSED but did NOT specify formula (defer)

9.5 Implementation ordering by confidence (HIGH-conf first)

  1. P_ROC74 (5d ROC ≥7.4%) — trivial pct_change; data: SPX
  2. T_RIN_HI — needs TRIN feed (NYSE advances/declines × volume ratio) → Polygon
  3. B_DA_SP600_50_1 — needs SP600 daily A/D → Polygon mid-cap breadth
  4. B_AD_5D_087 — needs NYSE 5d A/D ratio + SPX ATH detector → mostly raw_prices, A/D from Polygon
  5. VX_VIX_5_30 — VIX already in svix_compression table → immediate

9.6 Cross-references


10. PHASE 2 SHIP — 2026-05-25 (combo engine live)

Code shipped

Gate G2 result — PASS 7/7 = 100% on testable precedents

combolive?matchesnotes
C2LIVE2/2 (1998-08-31, 2011-08-08 proxies)NDX panic + VIX 45–60
C4LIVE1/1 (2003 thrust day)April thrust
C6LIVE2/2 (2011-10-14, 2026-04-13)held-low-9 + 4-way thrust
C10LIVE2/2 (2023-11-22, 2026-04-27)late entry 16-of-19 (after P6_HIST fix)
C1, C3, C5, C7, C8, C9, C11BLOCKEDn/amissing data feeds (NYSE breadth, SOX, NDR, IPO calendar)

P6_HIST atom — semantic correction

Original P6 (p6_drawdown) required current-bar drawdown ≤ threshold. But Berg's verbal phrasing "the market DECLINED 10%, held the low for 19 days" describes a historical regime: by the time the recovery thrust fires (S6: 16-of-19 up days), price has recovered past the −10% line. Without this fix, C10 missed all 3 testable precedents.

New atom: p6_drawdown_reached_within(prices, threshold=-0.10, lookback_days=60) — true if any close within the lookback window reached the drawdown threshold. Confidence 0.90 HIGH.

C10 now uses P6_HIST@-10%_60d_NDX + T2_held@19d_NDX + S6_NDX_16of19.

Coverage caveat

26 of 33 named precedents are pre-2003 (research.db starts ~2003). G2 PASS rate based on the 7 in-range cases. Phase 0 backfill (1957→2003) is the next high-leverage move to validate the long tail.

Date provenance

Catalog dates for C6/C7/C10 are 2026 (verbatim from Berg 2026-05-18 interview, dating live-as-of-recording signals). Earlier text in the catalog correctly shows 2026 throughout §4. An interim mistaken edit to 2025 was reverted after diagnostic verified 2026-04-13/2026-04-27 in our price data.

Verdict

Phase 2 SHIPPED. G2 authorizes Phase 3 (dashboard + cron) for the 4 live combos. Phase 0 (data backfill) recommended in parallel to unlock blocked combos and validate the 26 pre-2003 precedents.


11. EXTRAS — 2026-05-28 deep research (vetted)

Vetted from background agent (general-purpose + WebSearch). Raw at finance/research/berg_extras_raw.md. Each item confidence-rated.

11.1 CRITICAL CORRECTIONS to prior catalog

11.2 MISATTRIBUTION WARNING (negative finding)

Per Trading Flip transcript synthesis + primary source check, the following are NOT in Berg's actual public framework despite frequent third-party tweet attribution. Treat any tweet attaching these to Berg as misattribution unless verified from primary source:

11.3 NEW HIGH-confidence atoms (verified from primary)

IDIndicatorThresholdSourceConfidence
V_NYSE_5D_375NYSE 5-day total volume — greatest in 375+ days≥375d lookback breachmiltonberg.com homeHIGH
V_5D_VS_90D_DEV5-day avg volume / 90-day avg deviationcrosses +50% AND +100% at bull startsWealthion 2023HIGH
V_NYSE_UD_9_1NYSE up:down volume ratio, 2 consec sessions≥9.0 for 2 consecutive daysWealthion 2023HIGH
B_NHNL_60D_3060-day net new highs / (NH+NL) at bull start≥30% netWealthion 2023HIGH
B_SP500_PCT_BELOW_20DMA% of S&P 500 stocks below 20DMA≥90% (oversold bottom)Wealthion 2023HIGH
B_SP600_PCT_BELOW_10DMA% of S&P 600 stocks below 10DMA≥95%miltonberg.comHIGH
VX_VIX_3D_35VIX 3-day rate of change≥+35% in 3 daysmiltonberg.comHIGH
T_RIN_15_50TRIN extreme — historic high (Jan 8 1988 = 15.50)TRIN ≥ 15.50Trading Flip transcriptHIGH (factual)
T_RIN_12_52TRIN — Oct 2011 panic bottom (12.52)TRIN ≥ 12.52Trading Flip transcriptHIGH (factual)
P_5D_ROC_74_CONFIRM5d ROC ≥+7.4% bull confirmation. Precedents: 1975, 1978, 1980, 1987, 1991, 2003, 2009, 2011, 2020≥+7.4% on SPXWealthion 2023 (full precedent set)HIGH
P_5D_ROC_LACKINGCounter-cases: 6.68% (Jun '22), 6.36% (Oct '22) failed bull-confirm<7.4%Wealthion 2023HIGH

11.4 NEW MEDIUM-confidence atoms

IDIndicatorThresholdSourceConfidence
V_NASDAQ_RECORDNASDAQ single-day vol record (May 17 2024)New ATHmiltonberg.com (penny-stock distorted post-2020 — data quality flag)MEDIUM
V_5D_NETUD / V_10D_NETUD / V_12D_NETUD5d/10d/12d net up:down vol extremes"Extreme" (no number)Trading Flip / IP transcriptMEDIUM
SE_PC_INTRADAY_HISTHighest intraday put/call ratio in history"Record"Dec 2018 citedHIGH event / MEDIUM number
VX_VIX_5_30_RATIOShort-term VIX (5-8d) / longer-term (30-40d) — extreme top trigger"Extreme"Wealthion 2023 (Apr 21 2023 trigger)MEDIUM
VX_VIX_RATIO_OUTCOMEMedian 1y SPX decline AFTER VIX-ratio top: −23.43%; max gain in interim: +2.72% over 17dBacktest claimWealthion 2023HIGH (Berg's own backtest)
MAC_M2_VS_IP_COMMM2 growth vs (IP + commodity prices) extreme slowdownQualitativeWisdomTree 2021 Wharton podcastHIGH (frequency: ~80% of 10%+ drops since 1960)
MAC_FED_2_EASE_GOULDEdson Gould "Two Tumbles and a Jump" — 2 consec Fed cuts (15th since 1958 fired Nov 12 2024)2 consec cuts@BergMilton tweet 1856393046599905395HIGH
MAC_GOLD_GDP_WTGDP-weighted gold breakout above 2020 highs (target +40-60%, ~$2,500-$3,000)BreakoutWealthion 2023MEDIUM-HIGH
P_R2K_219D_4_99Russell 2000 219 days from low up only 4.99% (median historic = 48.52%)Lag vs 48.52% medianWealthion 2023HIGH (factual)
P_2GAP_OFF_LOWTwo consecutive unfilled upside gaps Days 1+2 off intraday lowPattern@BergMilton 1976313300628668429 (MERVAL example)HIGH
SE_II_NOV21_MATCHInvestors Intelligence bull% matches Nov 2021 top readingMatch prior topWealthion 2023HIGH

11.5 LOW-confidence / SPECULATIVE (do not implement before verification)

11.6 NEW combo recipes (additive to C1-C11)

ComboConditionsSourceConfidence
C_BULL_CONFIRM_FULL(1) P_5D_ROC_74_CONFIRM AND (2) V_5D_VS_90D_DEV crosses +50% AND +100% AND (3) V_NYSE_UD_9_1 (9:1 on 2 consec) AND (4) B_SP500_PCT_BELOW_20DMA ≥90% AND (5) B_NHNL_60D_30 ≥30%. Failed Jun/Oct 2022 (only 2/5 met).Wealthion 2023HIGH
C_DEC18_BTM(a) SE_PC_INTRADAY_HIST + (b) V_5D_NETUD extreme + (c) B_NHNL extreme + (d) day-count D+1/+2/+3Dec 2018 lowHIGH
C_TWO_TUMBLESMAC_FED_2_EASE_GOULD = 2 consec Fed cuts (standalone macro overlay)@BergMiltonHIGH
C_SICK_MKT_EXHAUSTIVEUpside gaps + heavy vol into new highs + climax in lead names (NVDA, SMCI) + banking divergence + non-bullish momentum + Europe/Japan new highsForward Guidance Feb 28 2024MEDIUM (failed — pattern critique below)
C_8REASONS_DOUBT_BULLBanking-index strange + rates deflationary + Oct '22 low divergence + China outlook (incomplete list)Forward Guidance Sep 5 2023LOW
C_INSTITUTIONAL_SHORT_2026"Disturbing" Dec 2025 vol signal + R2K island reversal + gold/silver climax top + BTC speculative peakAdam Taggart Feb 2026MEDIUM

11.7 Pattern critique (operational guidance)

Berg's bottom-spotting > top-spotting. Track record:

11.8 Prior-era anchors (newly documented)

11.9 Outcome statistics (vetted)

11.10 Pending actions (post-extras integration)

  1. Cross-check new atoms vs existing berg_atoms.py registry — V_NYSE_5D_375 may overlap V2 (verify lookback semantics); P_5D_ROC_74_CONFIRM extends P_ROC74 with precedent set.
  2. Plan-only sketch for adding new atoms to berg_atoms.py BEFORE coding (Rob approval gate).
  3. Wire C_BULL_CONFIRM_FULL + C_TWO_TUMBLES as Phase 3 combo additions (gated by data availability — NYSE up:down vol + S&P 500 breadth feeds).
  4. Backtest MAC_M2_VS_IP_COMM "80% of 10%+ drops since 1960" claim independently before relying on it as a filter.
  5. Update finance/indicators/berg_combos.py Phase 2 status: keep dynamic-exit-rule note, suppress legacy "-8% trailing stop" semantics in Phase 4 retail-rule backtest spec.

11.11 Source URLs (vetted, raw at finance/research/berg_extras_raw.md)

Primary fully verified: