VIX Dispersion (Thrasher 2017) — Paper-Faithful Signal
📄 docs
🌊 Thrasher VIX Dispersion Signal Active — 20-day StdDev compressed below 15th percentile.
Paper backtest (2006-2016, 52 signals): avg max +34.3%, median +23.0% over next 15 trading days. Single indicator, no other filters. Forward window: 15 trading days from signal.
Our reproduction (2016-2026, 48 signals): avg max +22.7%, median +14.2% — edge degraded post-2016. 8.2% of signals followed by paper's 30%+ 5-day spike vs paper's implied >50%. Methodology may be regime-dependent.
VIX Signal
—
StdDev(20) vs 15th pct
VIX 20-Day StdDev
—
threshold: —
StdDev Percentile
—
vs full history
VVIX Signal (secondary)
—
15th pct of VVIX StdDev(20)
VIX 20-Day Standard Deviation vs Threshold (1Y) — Signal Days Marked
Blue line = VIX 20d StdDev. Dashed = 15th-percentile threshold (adaptive to full history). Red markers = signal-fired days (StdDev ≤ threshold with 10-day dedup).
Spot + M1 + M2, including first contract past 60 DTE. Dot color = contract identity (shared with spread charts below).
M1 − Spot Spread (Front Month vs VIX)
M2 − Spot Spread (2nd Month vs VIX)
M1 − M2 Spread (Short-End Contango, Raw Points)
Raw vol points (M2 settle − M1 settle). M1/M2 identity rolls on the Wednesday exactly 14 calendar days before the front contract's expiry — earlier than the actual-expiry roll used in the M1/M2 vs Spot charts above.
Line color flips at each contract roll — segments are colored by which contract was the M1/M2 on that date, matching dot colors on the short-end curve above and the full term structure chart at top.
KEY RATES—
BREAKEVEN INFLATION—
MACRO CONTEXT—
FedWatch Probability Table
Calendar Spread Matrix (bp)
Layer 1 — Policy Anchors
Target Range
—
—
IORB
—
—
ON RRP Rate
—
—
Layer 2 — Market Reality
EFFR
—
—
SOFR
—
—
SOFR − EFFR
—
cash↔collateral regime gauge
EFFR vs SOFR — 90d
Layer 3 — Plumbing Flows
ON RRP Balance
—
—
Reserves
—
—
TGA
—
—
ON RRP Balance — 180d
Reserves & TGA — 365d
Source: FRED CSV endpoints (EFFR/SOFR/IORB/RRPONTSYAWARD/RRPONTSYD/DFEDTARU/DFEDTARL/WRESBAL/WTREGEN/DTB4WK/DTB3/DTB6).
Refresh: 7AM ET weekdays. Framing: Conks · conks.plumbing.
Loading…
Select a term on the left.
Definitions written by Jarvis from primary references. Framing draws on
Conks · conks.plumbing — wording is ours.
Repo CCPs — Source Diagram
The flows of a dealer financing a leveraged hedge-fund trade, with and without central clearing.
Compares non-cleared bilateral repo (top) — Dealer ↔ Fedwire ↔ HF ↔ Fedwire ↔ Dealer —
against centrally-cleared repo (bottom) — Dealer ↔ FICC/DTCC ↔ HF ↔ FICC/DTCC ↔ Dealer.
Original by @concodanomics.
Interactive Mermaid Recreation
Mermaid flowchart recreation of the same structure. Renders client-side via mermaid.js — drag/zoom-friendly.
Source generated via Grok conversation;
structure mirrors original (nodes, subgraphs, flow directions).
Loading interactive diagram…
View raw mermaid source
—
Diff log ships in Phase 3 (daily Conks-glossary watcher).
Loading sources…
Canonical Visual References
@smallfishmacro · "Master Dojo" STIR Sheet
The Globalflows STIR sheet that inspired this tab. Capture date: —.
Full reference: /var/lib/jarvis/personal/finance/research/options/OPTIONS_DATA_SOURCES.md
Paper Trading Account
Open Positions
Loading positions...
Submit Order
Recent Orders
Loading orders...
Equity Curve
Intraday 1-Min Bars
Stored Data Summary
Loading ticker summary...
Intraday Breadth — 9 Indices, 2 Methodologies
Solid line = Variant A (vs prev close) · Dashed = Variant B (vs prev bar)
A = probe vs yesterday's adj close · B = vs prior 5-min bar · Auto-refresh 60s
· raw JSON
Live Signal Monitor
Loading portfolio data...
Pareto Frontier — Non-Dominated Solutions
Loading...
Full Rankings (Top 20)
Loading...
Signal Changes
No changes detected
Improvement History
Loading...
Risk Monitor — Correlation & Volatility
Loading risk data...
Post-2010 calibration only. Gate G2: 8/16 = 50% on full 1957-2026 precedent set. The 4 live combos (C2/C4/C6/C10) have demonstrated efficacy in recent regime. Use with care — blocked combos (C1/C3/C5/C7/C8/C9/C11) excluded from production.
This tab is a state tracker, not the final UI. Following plans/damodaran-valuation-integration.md: datasets → engine → snapshots → UI. Real valuation surface (Phase 4) replaces this panel once foundation layers ship. Universe progression for every phase: NDX-100 → R3K → full equities.
Aswath Damodaran's intrinsic-valuation toolkit applied across the full equity universe: DCF (four value drivers: growth, margins, reinvestment, discount rate), WACC bottom-up from industry betas, implied ERP, relative multiples with peer z-scores, country risk premium. Source: NYU Stern annual dataset release.
Domain boundary: the existing Forensic tab answers "can I trust the numbers?" — this tab will answer "given the numbers, what is it worth?". Forensics is a quality gate; valuation is a decision input. Orthogonal domains sharing the EDGAR source data.
Phase Tracker
Status
Phase
Scope
Completed
✓ DONE
Phase 0
Memory reference + plan + placeholder tab
2026-06-04
✓ DONE
Phase 1
Static datasets ingest — 4 tables in research.db (industry metrics 94, country risk 178, ERP history 66, asset returns 98); sentinel cron damodaran-datasets-annual Jan 15 09:00 ET
2026-06-04
✓ DONE
Phase 1.5
Historical archive ingest + verification harness — 17 vintages (2008-2024) backfilled (1,439 industry rows, 2,271 country rows). Ticker-industry map from indname.xls (48k rows). NDX-100 reconciliation runs end-to-end — 49 rows, 37% within ±0.15 (method gap, no data corruption). Gate partially passed — proceed cautiously to Phase 2 with diff disclosures.
Our median trailing-2y daily-return beta vs Damodaran's published cross-section. Universe: NDX-100 (N≥3 constituents per industry). Tolerance ±0.15.
loading…
Industry
N
Vintage
Ours β
Theirs β
Δ
±0.15
Loading reconciliation data…
Method: finance/damodaran/reconcile_report_2026-06-04.md ·
Code: finance/damodaran/verify.py ·
Triage: 31 misses are method gaps (simple-median vs Damodaran's cap-weighted bottom-up), 0 are data corruption. Tighten by widening universe to R3K and switching to cap-weighted aggregation (Phase 1.5b, deferred).
DCF & WACC — valuation_snapshots (Phase 2a)
5y explicit + Gordon terminal. WACC from industry weights + ticker-level beta vs SPY. Δβ = ours − Damodaran industry β. Universe: NDX-100, latest run.
loading…
Ticker
Industry
WACC
β
Δβ
Value/share
TV %
Loading DCF data…
Code: finance/damodaran/dcf.py · Writer: finance/common/snapshot_log.py ·
DCF cells empty = xbrl_concepts coverage gap (FCF inputs not cached for that ticker; Phase 2a′ backfill blocker).
Run a fresh baseline: finance/venv/bin/python -m finance.damodaran.dcf --universe NDX-100 --as-of YYYY-MM-DD.
ERP Overlay — Equity Risk Premium
Damodaran implied ERP (DCF on S&P 500 cash flows) · 1960–present · Regime: percentile vs history
loading…
Current ERP
—
Riskfree (T-Bond)
—
Expected Return
—
Percentile (1960–)
—
Historical Median
—
Year
ERP (FCFE)
T-Bond Rate
Exp. Return
S&P 500
Regime
Loading ERP history…
Source: damodaran_erp_history (Damodaran NYU Stern annual release) · Method: DCF/IRR on S&P 500 dividends + buybacks. Regime bands: <P25 = LOW (expensive), P25–P75 = NORMAL, >P75 = HIGH (cheap). ERP used as discount-rate input for all DCF valuations via finance/damodaran/dcf.py → cost_of_equity = rf + β × ERP.
Sensitivity Grid — 5×5 WACC × Growth
Per-ticker DCF value/share across (−200 → +200 bps) WACC × growth offsets. Base case highlighted. Color = relative value (green = higher, red = lower).
Enter a ticker and click Load Grid.
Grid cells = value/share ($). Rows = WACC offset (top = WACC −200 bps, bottom = +200 bps). Cols = growth offset (left = growth −200 bps, right = +200 bps). Base case (WACC offset=0, growth offset=0) is center cell, outlined in blue.
Heatmap: color scaled within the 25-row grid; cells >P75 green, <P25 red, mid yellow.
API: GET /api/finance/valuation/sensitivity-grid?ticker=AAPL
Composes DCF + WACC + multiples + ERP regime + forensic status. Click any row to drill in; intrinsic value is DCF-derived (5y explicit + Gordon TV), MoS is (intrinsic - market) / market.
Industry Snapshot — damodaran_industry_metrics × damodaran_industry_multiples
Default sort: cost_of_capital DESC (highest discount-rate industries first). Click headers to sort. Vintage shown is the latest Damodaran release.
Country Risk — damodaran_country_risk
Default sort: total_erp DESC (highest country-risk first). Country risk premium = base ERP + default-spread × risk multiplier. Apply when valuing non-US ops.
Plan & Memory
plans/damodaran-valuation-integration.md — locked 6-phase plan, §7 decisions, §8 execution order
EV Premium / Discount Tracker — Market vs Damodaran intrinsic
Daily Market Cap and Market EV vs Damodaran-implied intrinsic EV/equity, rolled up to GICS sector and index (SPX/NDX/RUI/RUT/RUA).
Positive = market trades at premium; negative = discount. Bridge: market_ev = market_cap + total_debt + preferred + minority + leases - cash.
APIs: /api/finance/valuation/ev-premium/{aggregate,snapshot,ticker}.
Coverage % surfaces the XBRL backfill gap as a first-class signal — rises as ticker coverage expands.