How Spira reads the market
Spira watches one thing — the price of SPY, the S&P 500 — and answers three questions to decide how much to lean in. No news, no opinions, no guessing. Just rules, run the same way every single day.
Markets have moods
Some days the market charges uphill. Some days it drifts. Some days it falls, and once in a while it panics. Spira gives each mood a name — a regime — and every regime has a plan.
Name today's mood
Three simple checks on the price of SPY decide which of the five regimes we're in.
Pick how hard to lean
Each regime maps to an amount of leverage — floor it in strong uptrends, ease off when they weaken, step aside in downturns, and buy the panic.
The four tools
Spira only ever holds these four. Each is a different gear on the same engine — the S&P 500 — and each has one job.
The S&P 500 ETF — "the Spiders." Every calculation is based on its price, and it's the calm holding for sideways markets and deep-panic buys.
risk · marketMoves about 3× SPY each day — up and down. The main tool when the trend is up, plus a small early sleeve when fear first spikes.
risk · highHalf-throttle. Used when a bear market has just ended — ride the recovery with leverage, but not the full 3× — and to de-leverage during bull-market corrections.
risk · elevatedGoes up when SPY goes down. A shield for bear markets.
risk · loses in up-marketsThe three questions
Every regime comes from answering these — in order — using lines drawn from SPY's own price history. You can watch all three live on the Today page.
Which way?
Compare a fast average of price to a slow one. Fast above slow = uptrend. Below = downtrend.
How strong?
ADX measures how forceful the trend is. Strong → commit fully. Weak → be gentle.
Where in the range?
Bands draw a high/low envelope around price. Near the top = pricey (trim). Near the bottom = a dip (add).
The five regimes
Same colors you'll see shaded behind the chart on the Today page.
Hold SPXL (3×), full size — shift to SSO during confirmed corrections.
Hold SPXL, lighter — and buy dips.
Partial SPY + cash; buy deep dips in full.
Hold SH (reverse); buy capitulation dips in SPY. When the bear ends, ride the recovery in SSO (2×).
Override: buy the fear — a small early SPXL sleeve, then SPY at true panic.
Switching regimes has to be confirmed — so sometimes a switch sits "on hold"
Momentum readings flicker. If Spira flipped regimes the instant a number crossed a line, it would whipsaw — selling into every one-day wobble and buying back two days later. So certain switches carry a second condition: the trend has to be moving the right way before the switch is allowed.
A worked example. The momentum reading strengthens enough to call Weak Bull, but the 20-day trend line is still falling. Spira will not upgrade into a market that is still sliding, so it keeps following Sideways rules and the Today page shows the switch as on hold. Two things follow from that:
- It is not on a timer. Nothing is waiting for a particular hour. The switch happens on the first day the trend condition is satisfied.
- The zone lines stay put. While the old regime is still in force, the add and trim lines shown on Today are the old regime's lines — not the new one's.
The Today page names the exact check, its threshold, and the current measurement, so you can see how far away the switch is.
Zones fine-tune the action
Even inside one regime, price keeps moving. Where it sits in the band decides whether Spira adds, holds, or trims.
It walks in, it doesn't cannonball
Spira rarely jumps 0 → 100% in one move. It steps positions in over several dips or rallies — like easing into a pool.
Two special rules that override everything
⚡ Fear override
When fear spikes — measured by the VIX, the market's "fear gauge" — the normal regime rules pause. History says the scariest days are often the best times to buy, so Spira has a dedicated playbook for panic.
🛑 Stop-losses
Safety brakes. If a position falls past a set limit, Spira sells immediately — protecting capital comes before everything else.
What it does every day
Every few minutes while the market is open, Spira runs the exact same loop — and the whole decision is really one function.
- Get the latest SPY price and recompute the averages, ADX and bands.
- Panic check first — is the VIX spiking? If so, use the fear playbook.
- Otherwise, name the regime with the three questions.
- Find the zone and look up the target allocation.
- If it changed, plan the trade — committed at the close. If nothing changed, do nothing.
def decide(price, fast, slow, adx, band, vix): # 1 · panic beats every other rule if is_fear(vix): return fear_playbook() # 2 · the three questions → a regime regime = classify(fast, slow, adx) # 3 · where is price in the band? zone = where_in_band(price, band) # 4 · regime + zone → how much to hold return target_allocation(regime, zone)