← All model books

N1 Bull-Confirmation Fade · Control-Hedged Paper Form · Model diagnostics

PAPER · 2026-05-19 → 2026-07-13 · 2,630 trades

One observation is one model trade; 2,630 trades feed 37 active daily marks and 30 entry-date cohorts. Metrics use 252 daily observations/year. Structural horizon: the last eligible N1 entry is 2026-07-07 and its full five-session mark ends 2026-07-13. Live resolved-true outcomes through 2026-07-10 were evaluated; no later eligible bull-majority event has a complete locally marked hold by 2026-07-17. Returns and observation rankings include the model's existing execution costs.

Total return+33.6%Span-true compounded return · not annualized
Annualized CAGRSuppressed because the observed span is under 180 calendar days
QuantStats Sharpe (i.i.d.)5.33Annualized at 252 daily periods/year
QuantStats Sortino17.71Same 252-period annualization
Entry-cohort t-stat3.30Entry-date-cohort bootstrap · 10,000 draws · 30 entry-date cohorts

Sortino convention: QuantStats Sortino is mean return divided by downside deviation, multiplied by √(periods/year). This differs from plain-downside conventions.

Inference note: overlapping holding periods can make an i.i.d. Sharpe optimistic. The t-stat bootstraps entry-date cohorts and preserves every cohort's full marked path.

Best and worst trades

Observation return follows the verified construction; a paired trade is the sum of its equal-notional short and synthetic-control legs.

Top 10 best

TickerEntry dateReturn
WOK2026-06-17+124.94%
BESS2026-06-23+95.38%
VSA2026-06-17+91.21%
ALOY2026-06-23+90.29%
QMCO2026-06-17+84.22%
KLAC2026-06-03+83.79%
AKTX2026-06-23+80.94%
LASE2026-06-08+80.44%
PCT2026-06-05+80.43%
QMCO2026-06-23+80.32%

Top 10 worst

TickerEntry dateReturn
SDOT2026-06-02-571.91%
SDOT2026-06-01-334.43%
SDOT2026-06-26-317.15%
LASE2026-06-01-234.11%
SLS2026-06-23-79.93%
VELO2026-06-05-73.98%
STFS2026-06-24-65.29%
APGE2026-06-16-57.71%
MRVL2026-05-28-51.12%
BB2026-06-23-48.57%

Exposure profile

MeasureMeanMedianPeak
Daily gross $$1,777,027$1,915,000$3,685,000
Concurrent position count355.4383737
Single-name share3.3% · CRWD · 2026-05-22

Position count is the number of model trades at each daily mark; one matched-control basket counts as one paired position. Single-name share aggregates repeated ticker exposure before dividing by daily gross.

Daily exposure (37 marks)
DateGross $PositionsTop nameTop-name share
2026-05-19$160,00032ACMR3.1%
2026-05-20$315,00063ALAB3.2%
2026-05-21$480,00096CRWD3.1%
2026-05-22$610,000122CRWD3.3%
2026-05-26$690,000138CRWD2.9%
2026-05-27$1,480,000296STM1.7%
2026-05-28$2,125,000425HPE1.2%
2026-05-29$2,675,000535HPE0.9%
2026-06-01$3,240,000648CSCO0.8%
2026-06-02$3,685,000737AMD0.7%
2026-06-03$3,490,000698AMD0.7%
2026-06-04$3,085,000617AMD0.8%
2026-06-05$2,750,000550CLSK0.9%
2026-06-08$2,280,000456AMD0.9%
2026-06-09$1,875,000375BB1.1%
2026-06-10$1,745,000349OKTA1.1%
2026-06-11$1,350,000270OKTA1.5%
2026-06-12$970,000194FROG1.5%
2026-06-15$745,000149DELL1.3%
2026-06-16$1,005,000201ADEA1.0%
2026-06-17$620,000124C1.6%
2026-06-18$765,000153MS2.0%
2026-06-22$1,340,000268MS1.5%
2026-06-23$2,265,000453MS1.1%
2026-06-24$2,405,000481GS1.0%
2026-06-25$2,945,000589APH0.8%
2026-06-26$3,115,000623DELL0.8%
2026-06-29$2,810,000562DELL0.9%
2026-06-30$2,095,000419BAC1.0%
2026-07-01$2,200,000440HIMS1.1%
2026-07-02$1,935,000387HIMS1.3%
2026-07-06$2,010,000402MRNA1.2%
2026-07-07$2,125,000425JNJ1.2%
2026-07-08$1,915,000383IBRX1.0%
2026-07-09$1,290,000258ABNB1.2%
2026-07-10$775,000155ABCL1.3%
2026-07-13$385,00077ABBV1.3%

SPY weekly regime split

SPY direction is local, read-only daily_ohlc close-to-close by Friday week. The final partial week uses its last available close.

RegimeWeeksModel totalAvg model weekHit rateAnn. SharpeAvg SPY week
SPY-up weeks6+19.1%+3.02%66.7%5.54+1.18%
SPY-down weeks3+12.1%+3.97%100.0%5.53-1.81%

N1 Bull-Confirmation Fade · Control-Hedged Paper Form (Compounded)
19 May, 2026 - 13 Jul, 2026 (matched dates)

Benchmark: SPY • Periods/Year: 252 • RF: 0.0% | Generated by QuantStats (v. 0.0.81)


2026-07-19T13:00:35.782782 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:35.858598 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:35.937671 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.007669 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.091467 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.165465 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.233835 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.305435 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.371513 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.430143 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.493723 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.555724 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.630753 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:36.718230 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/