CAPTURE-AND-LIQUIFY SWING ENGINE

Long-only · unhedged · fully-liquidated rotation swings · dual-engine (tech-internal + macro regime) · v2.0

LIVE-ANCHORED · 26 JUN 2026

0 · Capital Map & Live Anchors

SPAXX buffer
$261,068.54
Core cap / cycle
$200,000
Hard reserve (locked)
$61,068.54
Deployable pool
$200,000
buffer − reserve

Underlying exposure reality — why this engine exists

SleeveCurrent exposureNamesEngine role
Tech physical infra$112,000NVDA · VRT · AMD · AVGO · LRCX · ANETAlready overweight. Numerator side (the leg this engine fades, never adds to).
Enterprise software$3,300ORCL onlyStructural gap. Denominator side — the leg the engine accumulates on extension, then liquidates.
Defensive (macro)$4,700XLV (Individual TOD)Baseline. Logical accumulation target for the macro engine's denominator side.

Live ratio anchors (self-calibrating — no absolute level is ever hardcoded)

SMH / IGV · tech-internal
≈ 7.3
SMH ~$620 · IGV ~$85
QQQ / XLV · macro regime
≈ 4.6
QQQ ~$713 · XLV ~$155.6
QQQ / XLP · macro alt
≈ 8.4
QQQ ~$713 · XLP ~$84.6
Capital conflict — resolve before running both engines. Core cap $200k already consumes the entire $200k deployable pool. The macro engine's $100k is additive on paper → a combined $300k draw that breaches the $61,068.54 hard reserve. The engines must share one pool. Pick one: (A) single shared $200k ceiling, macro draws only from core's undeployed tranches; (B) hard split, e.g. $130k core / $70k macro; (C) strict mutual exclusion — only one engine live at a time. Default below assumes (A): total deployed across both engines ≤ $200k, reserve untouched.

1 · Ratio Construction

Identical mechanics on either pair. The Pine engine (§6) builds the ratio internally via request.security() so it runs on any chart.

Build A — synthetic symbol

  • TradingView: type SMH/IGV or QQQ/XLV directly in the symbol box.
  • TrendSpider: comparison chart → type = Ratio → numerator ÷ denominator.
  • All studies run on the ratio series, not either leg.

Build B — computed (engine default)

  • Chart anything; pull both legs, divide. Decouples signal from the visible symbol.
  • Lets you watch the laggard ETF's own tape for execution while the ratio drives signals.

Overextension boundaries (computed on the ratio)

LayerSettingFunction
BasisSMA 20rolling fair value; the full-liquidation line (Z = 0)
DispersionStdDev 20σ unit; bands at 2.0 / 2.5 / 3.0 / 3.5σ drive the deploy ladder
NormalizerZ = (ratio − basis)/σsingle scalar; every entry and exit keys off it
Partial line±1.0σthe 50% unwind trigger
Validate the σ grid against your own TrendSpider/TV backtest of each ratio's tag-frequency. The 2.0 → 3.5σ grid is the deploy schedule; confirm the historical ratio actually visits those bands at a cadence you want to trade before committing the cap.

2 · Capture-and-Liquify Swing Rulebook

Deploy flat into the laggard as the ratio stretches; liquidate the entire position back to SPAXX in two mechanical steps as it reverts. No averaging logic, no hold-through, no discretionary trims.

Deploy ladder — FLAT sizing, core engine

TrancheTrigger (daily close)SizeCumulativeAction
T1ratio crosses ±2.0σ$50,000$50,000BUY laggard
T2ratio crosses ±2.5σ$50,000$100,000BUY laggard
T3ratio crosses ±3.0σ$50,000$150,000BUY laggard
T4ratio crosses ±3.5σ$50,000$200,000BUY laggard · cap hit
Default direction (your config): the ratio sits high when semis are rich and software is the discount → tranches buy IGV at the bands. The engine is symmetric and will instead buy the numerator at −σ bands if you flip the direction input — but with a $112k hardware overweight, the −σ (buy-SMH) side stays disabled for the core engine.

Liquidation ladder — two-step, full exit to SPAXX

StepTrigger (daily close)ActionDestination
L1ratio mean-reverts to ±1.0σSELL 50% of total positionlock core profit, clear half the risk
L2ratio hits 20-day SMA basis (Z = 0)LIQUIDATE remaining 50%→ SPAXX. Cycle complete, flat, await next extreme
SWING LIFECYCLE │ ├─ ratio stretches to +2.0σ ─▶ T1 $50k IGV ├─ +2.5σ ─▶ T2 $50k ├─ +3.0σ ─▶ T3 $50k ├─ +3.5σ ─▶ T4 $50k (cap $200k) │ │ … ratio peaks, institutional flow rotates back into software, spread compresses … │ ├─ reverts to +1.0σ ─▶ L1: SELL 50% (de-risk, bank the move) └─ reverts to basis / Z=0 ─▶ L2: LIQUIDATE remaining 50% → SPAXX └─ position flat · engine re-arms for the next excursion

3 · 24-Hour Execution Protocol

Signal on the confirmed RTH close; fill on the overnight gap. You are the resting bid into institutional flow, not the chaser at the cash open.

WindowEngine actionInstrument
16:00 ET closeRatio bar confirms; tranche/liquidation alert fires (alerts set "Once Per Bar Close"). Z-score and stage read off the HUD.ratio
Post 16:00 / pre 09:30Stage the armed tranche as extended-hours limit / GTC buy at the band-implied laggard price. Overnight gap fills at the level — no live screen required.laggard ETF in EXT, or its liquid megacap components
Intraday flushResting GTC limits at the deeper σ bands absorb the washout.laggard ETF
ReversionL1/L2 sell limits pre-staged at the ±1.0σ and basis-implied prices; liquidation executes into the bounce.laggard ETF
Binary catalyst circuit breaker — intact, non-negotiable. All resting / extended-hours orders are cancelled for any session carrying a top-component earnings print (NVDA, AVGO, MU, MSFT, ORCL, CRM, NOW, ADBE for the tech engine; sector-mover prints + JNJ/UNH/LLY, PG/COST for the macro legs), FOMC, or a CPI/PCE release. Through a binary the engine drops to alert-only; execution is manual after the print clears — review pre-market futures, the sector ETF tape, and the laggard's own pre-market behavior before placing. The 24-hour automation governs non-event drift only.

4 · Operational Guardrails

Velocity filter

If the laggard's standalone volume on the trigger bar is below its 20-day average, the extension is moving on thin participation — institutions aren't behind it yet. Halve the next tranche ($50k → $25k). Restore full size when volume reclaims its 20-day average. The engine flags this live in the HUD and fires a VELOCITY FILTER alert.

Hard time-stop

If a swing stays armed for more than 25 trading days without reaching Z = 0, the reversion thesis has failed — the spread is consolidating or trending, not snapping back. Liquidate at market. This is the regime backstop (see below). The engine counts SWING AGE in the HUD and fires a HARD TIME-STOP alert on the 26th bar.

Unhedged long-only risk — own it explicitly. This is not a market-neutral spread. You hold full beta on the laggard ETF; the ratio only times entry/exit. If the ratio extends past +3.5σ and keeps going (structural regime, not oscillation), you are long $200k of a falling instrument until the 25-day time-stop liquidates. Max adverse outcome = the drawdown on $200k of the laggard over ≤25 trading days. The time-stop caps duration, not depth — there is no σ-band that suppresses deployment, because the schedule is deterministic by design. Size the cap to a drawdown you will accept on that worst case.
Regime context as a manual overlay (not a gate): the current SMH/IGV spread is structurally elevated — SMH ≈ +138% / IGV ≈ +20% trailing year, IGV pinned near 52-week lows on margin-compression fear. A reversion swing here is betting against a strong one-year trend. The 25-day time-stop is what protects you if that trend doesn't break. Watch the 200-day ratio slope; if it's steepening with the extreme, expect the time-stop to do the work.

5 · Dual-Engine Map

Same statistical core, same two-step liquidation, two independent pendulums on different time signatures. One Pine script (§6) drives both — only the symbol inputs and the sizing config change.

Engine 1 · Tech-Internal Pendulum

RatioSMH / IGV
Live anchor≈ 7.3
Cap$200,000
Tranche$50,000 × 4
Bands2.0 / 2.5 / 3.0 / 3.5σ
BuysIGV (software laggard)
Liquidation50% @ ±1σ → rest @ Z=0

Captures the semis ⇄ software flush you documented — memory-led hardware washouts vs broad SaaS green days.

Engine 2 · Macro Regime Pendulum

RatioQQQ / XLV  (alt: QQQ / XLP)
Live anchor≈ 4.6  (XLP: 8.4)
Cap$100,000 *
Tranche$25,000 × 4
Bands2.0 / 2.5 / 3.0 / 3.5σ
BuysXLV / XLP (defensive laggard)
Liquidation50% @ ±1σ → rest @ Z=0

Risk-on vs risk-off institutional flow. Baseline $4.7k XLV already held → denominator accumulation is additive to an existing position. * shares the $200k pool — see §0 conflict.

Macro direction logic: QQQ/XLV high = tech euphoric, defensives are the discount → buy XLV at +σ. QQQ/XLV low = risk-off overshoot, tech is the discount → buy QQQ at −σ (enable the "Lower → Long Numerator" or "Both" direction input). Unlike the core engine, both sides are legitimate here since you're not structurally overweight either leg.

6 · Pine v6 Engine — Deployment

Full copy-pasteable script in the companion .pine file. One indicator, both engines.

To run…Numerator inputDenominator inputTranche $ / Cap $ (echo)Direction
Tech-internalSMHIGV50000 / 200000Upper → Long Denom
Macro (XLV)QQQXLV25000 / 100000Both (symmetric)
Macro (XLP)QQQXLP25000 / 100000Both (symmetric)
// core math — self-calibrating, no hardcoded level
ratio = num / den
basis = ta.sma(ratio, 20)
dev   = ta.stdev(ratio, 20)
z     = (ratio - basis) / dev

// deploy: flat tranches on band crosses (direction-gated)
dep1 = ta.crossover(ratio, basis + 2.0*dev)   // "SWING BUY ARMED - DEPLOY TRANCHE 1"
dep4 = ta.crossover(ratio, basis + 3.5*dev)   // "...TRANCHE 4 - cap reached"

// two-step liquidation
partial = ta.crossunder(math.abs(z), 1.0)        // "PARTIAL PROFIT TAKE: UNWIND 50%"
full    = ta.cross(z, 0)                       // "STRATEGY COMPLETE: LIQUIDATE REMAINING"

// guardrails
lowVol   = tradedVol < ta.sma(tradedVol, 20)     // halve next tranche
timeStop = swingAge > 25                       // liquidate at market
Repaint discipline: request.security shows the developing value intrabar. Signals are valid only on the confirmed daily close — set every alert to "Once Per Bar Close." On-chart shapes settle at the close; do not act on intrabar flips. The HUD table (top-right) shows live pair, Z, deploy stage, position, velocity, and swing age.

Anchored to live prints 26 Jun 2026: SMH ~$620 / IGV ~$85 → 7.3 · QQQ ~$713 / XLV ~$155.6 → 4.6 / XLP ~$84.6 → 8.4. Intraday — re-pull before sizing. σ grid, the $200k/$100k caps, and tranche sizes are execution parameters for you to validate against your own ratio backtests; this is a system you operate, not an allocation instruction. Confirm each ratio's historical band-tag frequency and your accepted worst-case drawdown before committing capital.