How Cubit reads the market
Cubit watches one thing — the price of QQQ — 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. Cubit gives each mood a name — a regime — and every regime has a plan.
Name today's mood
Three simple checks on the price of QQQ 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
Cubit only ever holds these four. Each does one job.
The Nasdaq-100 ETF. Every calculation is based on its price. Traders nickname it "the cubes."
risk · marketMoves about 3× QQQ each day — up and down. The main tool when the trend is up.
risk · highGoes up when QQQ goes down. A shield for bear markets.
risk · loses in up-marketsAn income holding for when there's nothing worth doing. Sits and earns.
risk · lowThe three questions
Every regime comes from answering these — in order — using lines drawn from QQQ'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 TQQQ (3×), full size.
Hold TQQQ, lighter — and buy dips.
Mostly cash / QQQ; buy deep dips.
Hold PSQ (reverse) or cash.
Override: buy the fear near the bottom.
Switching regimes has to be confirmed — so sometimes a switch sits "on hold"
Momentum readings flicker. If Cubit 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. Cubit 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 Cubit adds, holds, or trims.
It walks in, it doesn't cannonball
Cubit 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 Cubit has a dedicated playbook for panic.
🛑 Stop-losses
Safety brakes. If a position falls past a set limit, Cubit sells immediately — protecting capital comes before everything else.
What it does every day
Every few minutes while the market is open, Cubit runs the exact same loop — and the whole decision is really one function.
- Get the latest QQQ 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)