Glossary

Every metric in the n810 trading plan, in plain English. 57 terms — search for one, or follow a link and land on it.

Core Metrics

Win rate, average return, drawdown, Sharpe — the basic measurements.

Win Rate (WR)

The percentage of trades that ended profitable. Calculated as (profitable_trades / total_trades) × 100.

Per-trade WR is 81.41% on 780 trades from 500 unseen tickers × 2024-2026 (the headline holdout slice). A coin-flip baseline would be ~53% (markets drift up over time). WR alone is incomplete because it doesn’t reflect how big winners and losers are; pair it with average return. The F&G<70 entry filter, the exit rules, and universe filters (vol≥1M, price≥$5) together produce this WR by removing chasing-greed entries, micro-caps, and letting MOMENTUM stocks compound past first signals.

Average Return per Trade

The mean return across all trades. Per-trade average is +6.43% on the headline holdout slice (500 unseen tickers × 2024-2026, n=780).

The mean is dragged down by the loser tail — see Median vs Mean. Median return is +8.59%, which is higher than the mean because the CAP-bucket losers (avg -22.99%) pull the average down more than they offset the winners.

Median Return per Trade

The middle value when all trade returns are sorted. Half of trades returned more than the median; half returned less.

The n810 Trading Plan’s median per-trade return on the strictest holdout slice is +8.59%. The median ignores tail magnitude, so it’s a more robust “typical trade” number than the average. See Median vs Mean.

Average Winner

The mean return across just the winning trades (those that exited above breakeven).

On The n810 Trading Plan’s holdout (Slice C, n=780), the average winner is roughly +13.15% across 81.41% of trades. Breakdown by exit reason: T1 +7.32%, T2 +15.72%, T3 +9.12%, T3_EXT +14.60%. Best single trade was +281.40%.

All winners exit via T1, T2, T3, or T3_EXT — these rules require pnl > 0 (T3_EXT) or pnl > 5% (T1/T2/T3) to fire. By construction, a trade can’t exit via these rules at a loss.

Average Loser

The mean return across just the losing trades (those that exited at or below breakeven).

On The n810 Trading Plan’s holdout (Slice C, n=780), the average loser is -22.99% across the 18.59% of trades with a negative return; the CAP-bucket loss alone averages -21.96% across the 19.36% of trades that hit it. Worst single trade was -76.50% (after vol≥1M + price≥$5 filters; pre-filter the worst was -97%).

Note on the deep avg loser: the losers are concentrated in genuinely broken theses (deep fear entries where the recovery never came). The F&G<70 entry filter removes the shallower “ride greed” losers and the universe filters (vol≥1M, price≥$5) remove the catastrophic micro-cap losers. Fewer total losers and a higher WR more than compensate.

Where losers come from: every losing trade in the production data hits CAP at 120 days. The signal-based exit rules (T1/T2/T3/T3_EXT) all require profit to fire, so a trade only ends in red if it never recovers within 120 days.

Loss distribution among the 145 losers on Slice C (n=780):

Loss bucketCount% of losers
-1% to 0%21.4%
-5% to -1%106.9%
-10% to -5%1711.7%
-20% to -10%4531.0%
-50% to -20%6041.4%
worse than -50%117.6%

Why so deep: the strategy buys deep fear (mean reversion). When the recovery doesn’t come, the underlying often kept dropping past the entry. Hard stops, trailing stops, breadth-divergence exits, and ML-discovered multi-feature rules have all been tested and rejected: per-trade-positive rules systematically cluster correlated losses at the portfolio level (doubling drawdown), and unconditional stops cut too many fear-buys that would have recovered. The -22.99% average loser is the structural cost of the 81.41% win rate; the two are coupled.

Per-trade math: 81.41% × +13.15% + 18.59% × -22.99% = +6.43% expected return per trade.

Median vs Mean

When return distributions are fat-tailed (a few big winners or losers dominate), the mean and median diverge. The holdout median per-trade return is +8.59% and the mean is +6.43% — the gap is the CAP-bucket loser pool (avg -22.99%) pulling the mean down.

Reporting both is required. A high mean can be driven by a single tail-event trade rather than a population edge; the median guards against that.

Total Return

The cumulative return of a portfolio over a period. (end_value / start_value - 1) × 100.

The n810 Trading Plan’s primary metrics are per-trade (+6.43% mean, +8.59% median) because portfolio-level total return depends heavily on position sizing and concurrency choices. The Portfolio Deployment section of the main page shows bootstrap-simulated total return for two reasonable concurrency configurations: 20 positions × 5% delivers +161% (Sharpe 2.22, max DD -10.84%) on the dev set; 30 positions × 3.33% delivers +140% (Sharpe 2.27, max DD -9.64%) with better risk-adjusted return at the cost of headline return.

Drawdown / Max Drawdown

Drawdown = the percentage drop from the highest equity value to a subsequent lower point. Max drawdown is the worst such drop over a period.

If a $100K account peaks at $118K and then drops to $107K, the drawdown is (107K - 118K) / 118K = -9.3%. Max drawdown is the largest -X% the account ever shows from peak.

Drawdown matters because it represents the worst psychological pressure on the account. SPY’s -19% max DD over 2024-2026 means a holder watched their account drop 19% from its highest point before recovering. Portfolio drawdown depends on the trader’s sizing and concurrency choices — The n810 Trading Plan’s Portfolio Deployment section shows -10.84% bootstrap max DD at 20×5% and -9.64% at 30×3.33%, both far better than SPY. At the per-trade level, The n810 Trading Plan’s worst single trade on the strictest holdout was -76.50% and 19.36% of trades hit the 120-day CAP with average loss -21.96% — see CAP.

Sharpe Ratio

Return divided by volatility, annualized. Higher is better. It answers “how much return did the strategy earn per unit of risk taken?”

The n810 Trading Plan reports a per-trade Sharpe of 0.302 on the strictest holdout slice (Slice C: 500 unseen tickers × 2024-2026). Portfolio-level Sharpe depends on the trader’s position sizing and concurrency choices — the same per-trade edge produces widely different portfolio Sharpes depending on those decisions, so The n810 Trading Plan leaves the portfolio computation to the trader.

Standard Deviation (across simulations)

How much the simulated portfolio outcomes vary across the 1,000 simulation runs. Lower = the result is stable; higher = the result depends a lot on luck of trade ordering.

The n810 Trading Plan does not report portfolio-simulation statistics in its primary headlines — those depend on the trader’s sizing and concurrency choices, though the Portfolio Deployment section shows two reasonable operating points for reference. For per-trade dispersion, see Volatility.

Volatility

How much returns swing around their mean. Higher volatility = wider spread of outcomes. Used as the denominator in Sharpe ratio.

For per-trade volatility, The n810 Trading Plan’s holdout (Slice C) standard deviation of trade returns is roughly 21.3% — meaning trade returns are typically within ±21% of the +6.43% mean.

OVTLYR Data

Raw fields from the OVTLYR feed.

Fear & Greed Oscillatoroscillator

A score from 0 to 100 measuring investor sentiment for a specific stock. Lower = more fear/panic. Higher = more greed/euphoria. The single most important input to the system.

F&G ≤ 10 is extreme fear, historically the best buy zone for mean-reversion stocks during Crisis. F&G ≥ 60 is the T1 sell trigger — the market has “normalized” into greedy territory.

Buy/Sell Signalfinal_calls

OVTLYR’s own binary directional call: “Buy”, “Sell”, or null. This system uses it as context only.

Important: the Sell signal is not used as an exit trigger in The n810 Trading Plan. The exit logic reads the F&G oscillator value directly (oscillator ≥ 60 AND pnl > 5%) instead of firing on the OVTLYR Sell flag. The direct read gives a 14.5pp higher portfolio return and 4.7pp higher per-trade win rate when compared head-to-head under the same setup.

Final Region / Trendfinal_region

The stock’s current trend: 1 = uptrend, -1 = downtrend, 0 = neutral. Used for context but not a primary scoring feature.

SPY Bull Percentagebull_per_spy

The percentage of S&P 500 stocks currently in uptrends. The regime indicator — the most important single variable in the system.

Below 15% = Crisis. 15–50% = Normal. 50% or above = Extended. Crisis and Normal each get their own playbook; Extended takes no new entries. See Market Regime.

Sector Bull Percentagebull_per

Same concept as SPY bull%, but for the stock’s specific sector. Used as a scoring input. Its low tail is the strongest single reading in the entry score: sector bull% at or below 5% roughly doubles per-trade Sharpe versus the 5–20% band, on every validation slice.

EMA PricesclosePrice_EMA5/10/20/50

Exponential moving averages at 5, 10, 20, and 50-day windows. EMA50 is the most important; we calculate how far the current price deviates from EMA50 to measure whether a stock is “cheap” relative to its recent trend. See EMA50 Deviation.

Sector Scoresector_Score

A score from -2 to +2 representing sector health. Tested as a predictor and found to be noise — did not improve win rates in any regime.

OVTLYR Ninecount_Green

A 0–9 composite score representing how many of OVTLYR’s nine dashboard components are currently bullish (green). Higher = more bullish signals aligned. Tested as an exit trigger and rejected (under-fired versus T1, no Sharpe lift).

Order Blockslst_orderBlock

Price zones identified as significant support (Bullish) or resistance (Bearish) levels. Used as position-sizing context — near a bullish OB = boost size, bearish OB overhead = reduce size.

F&G DirectionoscilatorMovingUpDown

Whether the F&G oscillator is moving “up” or “down.” Counterintuitively, “down” at extreme lows is a better buy signal than “up” because bottoms always have F&G falling. Used as a small scoring bonus (+1 in Normal), not a gate. Also used in T2: F&G must be falling for the deep-fear-recovery exit to fire.

Derived Metrics

Calculated from the raw OVTLYR data: regime, scoring, classification.

Market Regime

The current state of the overall market, derived from SPY bull percentage.

SPY Bull%RegimeShare of daysSPY forward 20d
< 15%CRISIS18.8%+2.35%
15–50%NORMAL64.9%+1.00%
≥ 50%EXTENDED16.3%+0.51%

The regime is checked before anything else, and it sets the buy criteria. Crisis and Normal each have their own entry formula; Extended takes no new entries at all. The forward-return column is the market’s own subsequent move, not the plan’s — it runs in the opposite direction to what the names suggest, which is the whole reason the third regime was renamed from “Bull”.

Extended (regime)

The regime where SPY bull% is 50% or higher — more than half the index is already in an uptrend. It was called BULL until August 2026, and the rename fixed a genuine misreading: the name suggested the best time to buy, when the measurement means the move has largely happened.

Three things are true of this regime, and they point the same way:

MeasureCrisisNormalExtended
SPY return over the next 20 days+2.35%+1.00%+0.51%
Stock-days showing a fear setup43.6%20.9%13.3%
Share of the calendar18.8%64.9%16.3%

No new entries are taken here. Nine entry variants were backtested across all four validation slices — buying fear, buying momentum names at fear, and riding greed with the F&G<70 ceiling lifted. Every one tied or lost to simply skipping the regime, and the holdout trade count was identical either way: the slots refill with better Crisis and Normal trades.

Skipping entries is not the same as sitting out. Positions opened earlier are still held through it — 11.6% to 19.1% of all position-days occur while the market is in Extended.

Double Crisis Confirmation

Both SPY bull% < 15% AND QQQ bull% < 15%. Required for Crisis entries. When both broad market and tech-heavy market are in crisis simultaneously, the signal is more reliable.

Crisis Score0-110 scale

A composite score measuring how “ripe” a stock is for a contrarian entry during Crisis.

ComponentMaxScoring
F&G Oscillator25≤10→25, ≤15→22, ≤20→18, ≤25→14, ≤30→10, ≤35→6, ≤40→3
F&G 5d ROC20≤-20→20, ≤-15→16, ≤-10→12, ≤-5→8, ≤0→3
EMA50 Deviation15≤-15%→15, ≤-10%→12, ≤-7%→9, ≤-5%→6, ≤-3%→3
Sector Bull%15≤10%→15, ≤15%→12, ≤20%→9, ≤25%→6, ≤30%→3
MR Bonus+15If MR classification AND F&G ≤ 10
MIXED Bonus+10If MIXED classification AND EMA50 dev ≤ -15%

Bonuses suppressed when FG dispersion ≥ 20. Score ≥ 50 = Buy. Score ≥ 70 = Highest conviction.

Normal Score0-9 scale

A scoring system for stock entries during Normal market conditions.

ComponentMaxScoring
F&G Oscillator3≤15→3, ≤25→2, ≤35→1.5, ≤45→1
EMA50 Deviation2≤-10%→2, ≤-5%→1.5, ≤-3%→1
Sector Bull%3.0≤20%→1.5, ≤30%→1, plus a separate breadth-tail grade: ≤10%→+0.5, ≤5%→+1.0, ≤2%→+1.5 (v104, live 2026-08-07)
F&G Direction1Recovering (up)→+1

The four components cap at 9: 3 + 2 + (1.5 + 1.5) + 1. The breadth tail is a separate addition rather than another branch of the sector chain, which is what puts the ceiling above 7.5. Envelopes published before 2026-08-07 were scored without it and top out there.

Score ≥ 5 = entry signal, published as a pick. 4 to 5 = watchlist. Score ≥ 7 = high conviction.

Stock ClassificationMR / MOM / MIXED

A categorization of each stock based on how it historically responds to fear signals.

  • MR (Mean-Reversion): Reliably bounce when fear is extreme. Best for contrarian entries.
  • MOM (Momentum): Trend and don’t mean-revert from fear. Best for momentum-following strategies.
  • MIXED: Context-dependent. May mean-revert in some conditions but not others.

MR stocks get a +15 crisis score bonus at F&G ≤ 10. MIXED stocks get a +10 bonus at EMA50 deviation ≤ -15%. Original 381 ticker development split: 102 MR / 50 MOM / 229 MIXED.

EMA50 Deviation

How far the current price is from the 50-day EMA, as a percentage.

Formula: (close - EMA50) / EMA50 × 100

Large negative deviations (≤ -10%, ≤ -15%) indicate the stock has sold off significantly and may be primed for a bounce.

F&G 5-Day Rate of ChangeF&G 5d ROC

How quickly the Fear & Greed oscillator has changed over the last 5 trading days.

Formula: F&G_today - F&G_5_days_ago

Rapid drops (ROC ≤ -20) indicate a sharp sentiment crash, historically the best contrarian entries.

Sector Heatmap Gapheatmap_gap

How much more — or less — fearful a stock is than the sector it belongs to. OVTLYR publishes an average Fear & Greed reading across each sector’s constituents (sector_heatmap); this is the stock’s own reading minus that.

Formula: fg - sector_heatmap. Verified as exactly that against all 6,185 published rows in the archive.

Negative means the stock is more fearful than its sector. Because the plan buys fear, that is the usual direction: 5,795 of those 6,185 rows sit below their sector, and 3,759 sit more than twenty points below. A stock holding up while its sector sells off is the rarer case, and the one the badges mark.

The generator buckets the gap into four tiers, two of which become a tag on the pick:

  • leader — above its sector. Shown as EXCELLENT. 32 rows.
  • aligned — roughly level with it. Shown as SOLID. 358 rows.
  • below and deep_below — more fearful than its sector. No tag.

The exact cut points are not recoverable from the published data, so they aren’t stated here. Rows carrying a gap of exactly -5.0 appear in both aligned and below, and exactly -20.0 in both below and deep_below — the tier is assigned before the gap is rounded to one decimal. The boundaries sit near ±5 and -20, but that is an observation, not the rule.

This is quality context, not a return edge: the EXCELLENT and SOLID tags carry historical hit rates of roughly 93% and 89%, which is a statement about how often those setups worked, not about how much they returned.

FG Dispersion

The standard deviation of Fear & Greed scores across candidate stocks.

  • Dispersion < 20: Normal conditions. Classification bonuses work as expected.
  • Dispersion ≥ 20: Market is “splitting.” Bonuses become unreliable. Position size reduced by half.
Triple Signal (retired)

Retired. The MR classification edge remains in place via standard MR sizing in the Normal playbook.

Sector-Month Gold / Danger Calendar (retired)

Retired. Entry decisions are driven entirely by real-time signals (regime, score, classification, F&G filters, universe filters).

Dual Crisis Portfolio

On days when both MR+F&G≤10 and MIXED+deep EMA signals fire simultaneously (~67% of crisis days), buy the top 3 stocks of each type. Combined Sharpe of 1.12 beats either alone.

Energy Ticker Whitelist (retired)

A prior version limited Normal-regime Energy entries to three tickers (RRC/Range Resources, BKR/Baker Hughes, AR/Antero Resources). Retired 2026-07-13: the rule rested on only three names — well under the project’s n=50 minimum — so it was cut as overfit and is no longer part of the live model.

MR Sector Whitelist (Normal)

A display/confidence upgrade — not a trade gate. When an MR pick in Normal regime has F&G≤10, sits in one of these sectors (Materials, Utilities, Financials, Discretionary, Health Care), and SPY bull% is < 30, it is flagged “MR extreme fear” with higher stated confidence.

Outside the whitelist the MR entry still fires — it simply isn’t given the elevated label. This changes wording only; it does not select trades or change position size.

Conviction Tier

A per-pick reading of how often entries of the same shape have resolved profitably. Scored 0–6 and collapsed into three tiers, from three ingredients that each passed the holdout test on their own:

IngredientPoints
At or above its sector constituent heatmap+2 (+1 below, +0 deep below)
Sector breadth ≤ 5%+2 (+1 at ≤ 10%)
Entered in Crisis+1

Measured hit rate by tier, all four validation slices:

SliceLowStandardHigh
Train78.3%83.9%89.7%
Slice A76.9%85.5%89.4%
Slice B79.2%86.0%88.1%
Slice C (holdout)78.0%83.6%88.2%

It separates hit rate, not size of win. Win rate and per-trade Sharpe rise with the tier on every slice, but mean return does not — on the two recent slices the High tier wins more often with slightly smaller average wins. So it answers “how likely is this one to work”, never “how much will this one make”.

It gates nothing. A Low-tier pick still won 78% of the time on the holdout, and no entry is skipped for scoring low. It replaced a learned sizing model that did not generalise — see Position Sizing (retired).

The suggested weight, and what it costs. Each pick carries a weight you could size it at — 1.25× a base slot for High, 1× for Standard, 0.75× for Low, so roughly 6.2% / 5% / 3.8% of a twenty-position book. It is offered as one way to size, not as the way, because it is a trade rather than an improvement. Run on the holdout with true daily mark-to-market:

SizingTotal returnSharpe (monthly)Max drawdown
Flat 5% (the reported baseline)144.6%1.950-18.2%
Weighted 1.25 / 1 / 0.75107.6%2.019-14.8%
Weighted 1.5 / 1 / 0.575.3%2.114-11.5%

A calmer ride, bought with return. Five ladders were tested and none beat flat sizing on return, Sharpe and drawdown at once. The effect is real rather than an artefact of holding cash — against flat sizing at the same average exposure the weighting still holds +0.11 to +0.15 monthly Sharpe — but it has never come for free, so the choice of where to sit on that trade stays with the trader.

The n810 Trading Plan

Universe filters (vol≥1M, price≥$5), the F&G<70 entry filter, and the five exit rules (T1/T2/T3/T3_EXT/CAP) that decide when to sell.

F&G Entry Ceilingoscillator < 70

No new entry fires on a day where the stock’s F&G oscillator is at or above 70. Validated on the four-slice holdout test.

Why F&G=70: a high-resolution sweep of every CAP-bucket loser shows a clean phase transition at F&G=70. Below 70 the CAP rate stays in the 8-20% range. At 70 and above the CAP rate jumps to 38-42% and per-trade WR drops from 82-91% to 65-73%. Not a gradient — a cliff. The filter sits exactly at the cliff.

What it catches: entries at peak greed. The strategy is structurally a fear-buying system; entries above F&G=70 are inconsistent with that thesis and produce the loser tail.

Exit Policy OverviewT1/T2/T3/T3_EXT/CAP

The n810 Trading Plan’s exit policy is five rules evaluated in order on each trading day after entry. First to fire wins.

  1. T1 — F&G Normalization (suppressed when OVTLYR trend overlay is up — let winners run while the trend confirms continuation)
  2. T2 — Deep-Fear Recovery
  3. T3 — Crisis Sector-Adaptive
  4. T3_EXT — Non-Crisis Peak-Aware (suppressed when classification is MOMENTUM — MOMENTUM stocks compound past the first peak)
  5. CAP — Hard Timeout

Both class-aware suppressions were validated on the four-slice holdout test (train + ticker-holdout + time-holdout + both-holdout). Tested alternative exits (mechanical stop-losses from -10% to -30%, trailing stops at peak-5% to peak-15%, profit targets, F&G-greed exits) on the actual price paths — every variant reduced per-trade Sharpe versus the current set.

T1 — F&G Normalization

Trigger: oscillator ≥ 60 AND pnl > +5%

The market’s fear has lifted into greedy territory and the trade is profitable. Lock in the recovery.

Why F&G oscillator and not the OVTLYR Sell signal? The Sell signal is a derivative of the same oscillator with an opaque threshold. Reading the underlying value gives 14.5pp higher portfolio return and 4.7pp higher per-trade win rate (head-to-head, same setup). See Buy/Sell Signal.

T2 — Deep-Fear Recovery

Trigger: entry F&G < 50 AND (current_fg - entry_fg)/(50 - entry_fg) > 0.60 AND F&G falling AND pnl > +5%

The deep-fear bounce is fading; take the profit before it reverses. F&G has recovered >60% of the way from entry back to neutral (50), F&G is now turning back down, and the trade is profitable.

T3 — Crisis Profit-Take

Trigger: regime_at_entry == "CRISIS" AND osc ≥ 40 AND pnl > +5%

For trades opened in Crisis mode: sell when Fear & Greed recovers to 40 and the trade is up at least 5%.

A prior version used per-sector F&G thresholds (Communication/Industrials at 60, Energy at 50, others at 40). A 2026-05-15 audit retired the per-sector logic — the non-default sectors had T3+T3_EXT exit counts below the project’s n=50 minimum on the holdout, and uniform F&G=40 improved WR / Sharpe / CAP-rate on every validation slice.

T3_EXT — Non-Crisis Peak-Aware

Trigger: regime_at_entry ≠ "CRISIS" AND peak_pnl_during_hold ≥ +10% AND osc ≥ 40 AND pnl > 0

The T3 profit-take logic, extended to non-Crisis trades that have proven strength by reaching peak ≥ +10%. Catches the “peaked then faded” failure mode.

The P&L gate is loosened from >5% to >0 because the rationale is “lock in what’s left of the peak” rather than “take a fresh profit.” Suppressed when the stock is classified as MOMENTUM (MOMENTUM stocks compound past the first peak — locking in too early cuts the move short).

Requires Peak P&L tracking.

CAP — Hard Timeout (120 days)

Trigger: days_held ≥ 120

The 120-trading-day cap. Validated against 13 cap variants (8 static: 60/90/120/150/180/240/365/no-cap, plus 5 conditional). 120 is the only cap that wins on all four metrics: portfolio Sharpe, year-CV, regime-CV, classification-CV. Shorter caps (60d) fail cross-validation in the high-breadth regime (then called Bull, now Extended); longer caps absorb market drift.

CAP-bucket trades are the cost of the contrarian entry edge. On Slice C: 19.36% of trades hit CAP, WR 3.97%, average return -21.96%. These are the genuine losers where the mean reversion took longer than 120 days.

Peak P&L Tracking

T3_EXT requires the maximum P&L observed during the hold, not just the current P&L.

For live positions, the system walks forward from entry_date through cached daily closes and updates peak as max(peak, current_pnl). The backtester maintains it within the simulation loop. Without peak P&L, T3_EXT cannot fire.

Methodology

How rules are tested before they enter production.

Out-of-Sample (OOS) / In-Sample

In-sample (IS): the data the model was trained on (Jan 2020 – Dec 2023 here). The model has “seen” this data and may have fitted it.

Out-of-sample (OOS): data the model has never seen during training (Jan 2024 – May 2026 here). OOS results are the honest test — they tell you how the model performs on data it hasn’t fitted to.

If you train on a period, you can’t honestly use it as an OOS test. Once a model is deployed live, the training set is usually refreshed to include all available data, and new market data going forward becomes the new OOS.

Backtest

Running the trading rules against historical data to see what they would have produced. Backtests are honest only when run on out-of-sample data the rules weren’t fitted to. The rules in this system were designed on 2020–2023 data, then tested on 2024–2026 — that’s the published OOS result.

Independent Trades (skip-forward indexing)

Trades that do not overlap on the same ticker. After each trade’s exit, the backtest skips the index forward past exit_idx so the next eligible entry must be at least one day after the prior trade closed.

Without this constraint a single fear bottom can spawn a fresh trade every day during a multi-week qualifying window, inflating trade counts. With it, each entry-exit pair is counted once. Every metric on this site reflects the corrected count.

Portfolio Simulation (1,000 runs)

The headline portfolio numbers come from running the strategy 1,000 times with different random orderings of the same trade list. The average across those 1,000 runs is what gets reported, not any single run.

Why average across runs: the portfolio holds 20 slots at once. On busy days, more than 20 trades fire at the same time and the simulator has to skip some. Which trades get skipped depends on the order they’re processed in, so a single run can be lucky or unlucky depending on that order. Running many random orderings and averaging gives a result that doesn’t depend on the luck of ordering.

The spread across runs (the standard deviation) tells you how much luck matters. When the spread is tight, the average can be trusted; when it’s wide, the headline is fragile to which trades happened to fill the slots.

The technical name for this resampling technique is “bootstrap” — that’s the term you’ll see in financial statistics literature. We use the plainer phrase “1,000-run portfolio simulation” throughout this site.

Paired SPY-Drift Alpha

Per trade, the trade return minus an equal-size SPY buy-and-hold over the exact same dates. Mean alpha says “does the strategy beat just buying SPY for that window?”

Mean paired alpha is negative at every cap length tested: -0.06% at 60d, -0.37% at 120d, -1.30% at 365d. Median paired alpha is +4.25% — most trades beat SPY, but a fat-tailed loser pool drags the mean negative. The longer the cap, the more market drift the strategy absorbs rather than generates.

Cross-Validation: Three Orthogonal Splits

Any candidate exit policy must pass all three of these splits before being considered.

  • Year-CV: Train on 2024, test on 2025+2026 (and other splits). Catches calendar-time overfitting (a 2024-only signal).
  • Regime-CV: Train on Crisis+Normal, test on the high-breadth regime (Extended). Catches regime-shift overfitting — a Crisis-only signal masquerading as universal.
  • Class-CV: Train on MR+MIXED, test on MOM. Catches stock-type overfitting.

Tested alternatives that fail at least one split are not shipped. The current exit set passes all three.

Minimum Sample Size: 50

No rule with fewer than 50 historical trades ships in the playbook. The 99-cell sector × regime × classification matrix had cells with 95% WR — but most of the “interesting” cells had n < 50. None of those rules ship.

The cost of a false positive on a small sample is huge. If an edge was found on 8 trades or 27 entries, it’s not real.

Data Error Repair

The OVTLYR data feed occasionally contains errors — single-day closing prices that are wildly disconnected from the days before and after, and disagree with public sources. Example: TAOX 2026-02-20 shows close=$28.41 between prior close $3.76 and next close $3.73. Without correction, this single error would produce a fictional +565% trade in the backtest.

The repair auto-detects errors using three signatures: a price spike followed by reversion, a statistical outlier (>5σ from the 20-day median) followed by reversion, and OHLC inconsistency vs neighbors. High-confidence flags are repaired in-memory at load time by replacing the close with (prev_close + next_close) / 2. The raw data files are never mutated.

Six high-confidence errors detected; three were affecting trades: TAOX 2026-02-20 ($28.41 → $3.745), THRY 2026-02-20 ($24.87 → $3.7675), HIND 2025-04-01 ($159 → $40.525).

Aggregate impact: per-trade WR shifts < 0.1pp, average total return by ~0.85pp, max drawdown by ~0.09pp. Errors are rare, so the repair’s aggregate effect is small. An |ret| > 500% post-hoc filter also runs as a safety net.

Trading Mechanics

Sizing, slot allocation, trade types, warning levels.

SYSTEM vs CONVICTION Trade Types

Two categories of trades:

  • SYSTEM: Systematic entries that follow The n810 Trading Plan’s exit rules automatically.
  • CONVICTION: High-confidence thesis-driven bets. The plan shows warnings at -25% and -40% but never auto-recommends selling. The human decides.

This distinction reflects how real trading works: some positions are driven by The n810 Trading Plan, others by a broader thesis about the company.

Warning Levels

When you have a position open and it’s down past a certain percentage, the analyzer flags it as a warning so you know the position is in deep red. It’s a notification, not an instruction — The n810 Trading Plan does not auto-sell on these levels. The exit rules (T1, T2, T3, T3_EXT, CAP) decide when the system actually sells.

The thresholds vary by what regime you entered in:

  • Crisis entry: warning at -15%
  • Normal entry: warning at -12%
  • CONVICTION trades: warning at -25%, critical at -40%

Why are these warnings and not stops? Hard stops at these same levels were tested and rejected. They cut 43.8% of trades at 0% win rate. The reason: the strategy buys fear, and fear-buys typically dip further before recovering — that’s normal mean-reversion behavior. A hard stop interrupts the recovery and locks in the loss. Removing the stops and letting F&G-recovery rules handle exits lifted overall WR from 55.7% to 83.1%.

The warnings exist as a check on whether the position is doing something abnormally bad — a -30% drop on a Normal entry is unusual and worth investigating by hand — not as a trigger for action. There is no threshold for Extended because no position is ever opened in it.

Position Sizing (retired)

The system no longer recommends a position size. Two mechanisms were removed in August 2026 and neither should be reintroduced from memory.

The first was a table of regime-and-classification tiers — full size for a high Crisis score, quarter size for a MOMENTUM name in Normal, and so on. It was withdrawn partly because it rested on a stale figure: it sized MOMENTUM entries at a quarter on the belief they won about 40% of the time, when the current model wins roughly 79% on them with the highest mean return of the three classifications. The rule was backwards.

The second was a gradient-boosting model that scored each entry’s win probability and scaled capital to it. On tickers it had trained on, its ranking was mildly informative; on tickers it had never seen, it was a coin flip, and its stated confidence did not match observed outcomes. It had also never actually executed in production.

Sizing, slot count, and cash reserves are the trader’s decisions. The system produces candidates and a per-ticker history; what to stake on each is left open. See Slot Allocation for the diversification trade-off, which is the one deployment lever that did survive testing.

Slot Allocation (20×5%)

The portfolio simulation uses 20 concurrent slots at 5% of starting capital each. When all slots are full, 100% of capital is deployed — matching how SPY buy-and-hold deploys 100%. When a new signal fires and all 20 slots are taken, the new signal is skipped (slots have to free up first).

This sizing was chosen to match a fully-invested baseline so the headline comparison to SPY is apples-to-apples (both 100% deployed). A more conservative 10×5% sizing (50% deployed) produces lower absolute returns and smaller drawdowns. The choice of slot count is a risk-tolerance dial, not a fundamental property of the strategy.

For discretionary trading, slot allocation doesn’t apply — you take positions as you have capital. The portfolio simulation is one way to translate the strategy into a comparable-to-SPY number, not a constraint on you.