Methodology
How It Works.
The same process institutional allocators use, built for retail.
The regime framework
Markets are not one thing.
A regime is the prevailing state of the market. Trending up. Trending down. Grinding sideways. Quiet. Volatile. Panicked. Different regimes reward different approaches. Momentum works in trends. Mean-reversion works in chop. Dip-buying works in panic. Running one strategy in every environment is how most traders give back what they earn in the good months.
Classification matters because it decides which engines fire. If the classifier reads bull momentum, trend engines get to trade. If it reads chop, mean-reversion takes over. If it reads crisis, the dip-buyer wakes up. The strategy does not change. The environment does.
Our classifier outputs one of nine regime states. Three directional tiers — bull, chop, bear — each with a speed dimension — strong, stalling, expanding — plus a dedicated crisis state that overrides the rest when VIX and breadth capitulate together. Nine states is granular enough to matter without being so granular that the classifier becomes noisy.
The technical core
The dual SQN classifier.
SQN stands for System Quality Number. Originally a metric for trading systems, we repurpose it as a regime indicator. SQN measures the ratio of average return to standard deviation over a window, scaled by the square root of the number of observations. Positive values indicate upward drift. Negative values indicate downward drift. Absolute magnitude reflects the strength of the drift.
We compute two SQN values every day. Fast SQN uses a 20-day window and captures short-term regime. Slow SQN uses a 100-day window and captures the broader regime. The two values combined give a more stable read than either alone. When fast and slow agree, the regime is strong. When they disagree, the regime is transitioning.
Confidence is the output of a small classifier that reads fast SQN, slow SQN, their deltas, VIX term structure, and breadth, then returns a 0 to 100 score for the assigned state. Low confidence means the market is on a boundary and the classifier could flip tomorrow. High confidence means the assignment is stable.
| State | Name | Fast SQN | Slow SQN | Take |
|---|---|---|---|---|
| 1 | Bull momentum, strong | Fast SQN > 1.5 | Slow SQN > 0.8 | Press longs. Trend engines fully active. |
| 2 | Bull momentum, expanding | Fast SQN > 1.5 | Slow SQN rising | Momentum is taking hold. Add on dips. |
| 3 | Bull, stalling | Fast SQN 0 to 1.5 | Slow SQN > 0.5 | Trend intact, short-term fatigue. Tighten stops. |
| 4 | Chop, neutral bias | Fast SQN near 0 | Slow SQN near 0 | Mean-reversion regime. SwingHunter active. |
| 5 | Chop, bearish bias | Fast SQN < 0 | Slow SQN near 0 | Rip-sells favored. Momentum longs idle. |
| 6 | Bear, stalling | Fast SQN 0 to -1.5 | Slow SQN < -0.5 | Downtrend intact. No momentum longs. |
| 7 | Bear momentum, expanding | Fast SQN < -1.5 | Slow SQN falling | Defensive. VoltAIc rotates to SQQQ or GLD. |
| 8 | Bear momentum, strong | Fast SQN < -1.5 | Slow SQN < -0.8 | Risk-off. All trend longs stood down. |
| 9 | Crisis | VIX > 30 | Breadth < 10% | Crisis Hunter armed. Capitulation dip-buy only. |
Strategy-to-regime matching
Which engines fire in which regimes.
● Active. ○ Conditional, subject to confirmation. · Idle.
| Regime | TL · Momentum | TL · Monthly Flip | TL · Crisis | SH · Dips | SH · Rips | VoltAIc |
|---|---|---|---|---|---|---|
| 1. Bull momentum, strong | ● | ● | · | ● | · | TQQQ |
| 2. Bull momentum, expanding | ● | ● | · | ● | · | TQQQ |
| 3. Bull, stalling | ○ | ● | · | ● | · | TQQQ |
| 4. Chop, neutral | · | ● | · | ● | ● | GLD |
| 5. Chop, bearish | · | ● | · | · | ● | GLD |
| 6. Bear, stalling | · | ○ | · | · | ● | SQQQ |
| 7. Bear momentum, expanding | · | · | · | · | ● | SQQQ |
| 8. Bear momentum, strong | · | · | ○ | · | ● | SQQQ |
| 9. Crisis | · | · | ● | · | · | GLD |
TL = TrendLock. SH = SwingHunter. VoltAIc rotates across TQQQ, SQQQ, and GLD automatically.
Validation pipeline
Five stages. No strategy ships without clearing all five.
In-sample fit
Rules and parameters fit on 2012 through 2019 data. This is where the hypothesis is built and the numbers that define each engine are set. In-sample results are not shown as strategy performance because they are fit, not tested.
Out-of-sample test
The same rules and parameters are applied forward, untouched, to 2020 through today. Any degradation between in-sample and out-of-sample is a red flag. If the strategy only works in-sample, it does not ship.
Walk-forward
Parameters re-optimized on a rolling three-year window, then applied forward for the next year. Repeats through the full out-of-sample period. Confirms the edge is stable across different market conditions, not just one fit.
Monte Carlo
10,000 permutations of trade order. Reports median CAGR and drawdown rather than best-case. If the median Monte Carlo result is meaningfully worse than the observed backtest, the strategy is fragile to luck.
Live execution
Real fills in real accounts, net of commission and slippage. The live track record is the only number that proves the strategy survives contact with the market. Shown from day one, including drawdowns.
Risk management
The rules that keep drawdowns survivable.
Position sizing in R
Every trade has a defined initial stop. R is the distance from entry to stop. Position size is set so that hitting the stop costs a fixed percentage of account equity. Default is 1R = 1% of equity. You can scale this up or down but the ratio is what keeps drawdowns bounded.
Max correlated exposure
No more than three positions in correlated instruments at once. Two long SPY-correlated trades and a long QQQ are treated as three positions in one bucket. Exposure is capped at 3R to that bucket. Prevents a single regime misread from blowing up.
Drawdown circuit breakers
If a system draws down more than 1.5x its worst historical backtest drawdown, new entries pause and existing positions are reduced. The system is not broken until it exceeds that threshold. Beyond it, the prior is re-examined.
Gaps and halts
Stops are logical, not hard orders resting at the broker. If an instrument gaps through a stop, the exit is taken at the open. Halted instruments are exited at the first tradable price after the halt resumes. No averaging down to defend a losing trade.
Deeper questions
FAQ.
What happens during a regime transition mid-trade?
Open positions are held through the transition. The regime state governs new entries, not exits. Exits follow the strategy's own stop, target, or time rules. This prevents thrashing when the classifier flips back and forth near a boundary.
How are ties broken when multiple engines fire on the same instrument?
Momentum takes precedence over Monthly Flip, which takes precedence over Crisis Hunter. Within SwingHunter, the engine that produced the higher-confidence signal wins. Capital is allocated to one engine per instrument per day. No double-sizing.
What is the rebalancing rule for the portfolio?
Monthly, on the first trading day. Allocations drift with P&L. Rebalancing brings TrendLock and SwingHunter back to 50/50. If drift has been less than 5% in a given month, rebalancing is skipped to reduce turnover.
How often are the backtests re-run?
Walk-forward re-optimization happens annually. The full validation pipeline runs any time a structural change is proposed. Numbers on the site are updated quarterly to reflect the latest out-of-sample data. If a change degrades the live track record, the change is reverted.
Do you ever override the rules?
No. Overrides turn a system into discretion, and discretion is what rule-based systems exist to eliminate. If a rule produces a losing trade, the trade is taken. If a rule misses an obvious move, the move is missed. The rules are the product.