← All model books

oiT · Twitter x OI direction · Model diagnostics

CANDIDATE · 2026-04-22 → 2026-07-16 · 14 trades

One observation is one model trade; 14 trades feed 59 active daily marks and 9 entry-date cohorts. Metrics use 252 daily observations/year. MC3S chartered 2026-07-19 with bars frozen pre-result; historical replay is prior evidence, forward paper is the judge. Joint Twitter/OI window starts 2026-04-20 and is severely data-limited. Returns and observation rankings include the model's existing execution costs.

Total return+11.8%Span-true compounded return · not annualized
Annualized CAGRSuppressed because the observed span is under 180 calendar days
QuantStats Sharpe (i.i.d.)1.92Annualized at 252 daily periods/year
QuantStats Sortino3.03Same 252-period annualization
Entry-cohort t-stat2.14Entry-date-cohort bootstrap · 10,000 draws · 9 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
BB2026-04-22+36.58%
DUOL2026-05-06+15.40%
NOK2026-05-13+14.53%
SNAP2026-05-08+11.32%
DUOL2026-05-07+11.10%
SOFI2026-05-01+8.67%
SONY2026-05-13+7.05%
NOW2026-04-27+6.51%
META2026-05-04+0.73%
CORZ2026-05-08-0.94%

Top 10 worst

TickerEntry dateReturn
SHOP2026-05-08-8.82%
NOK2026-05-05-8.29%
NOK2026-05-04-7.68%
NOK2026-05-06-2.40%
CORZ2026-05-08-0.94%
META2026-05-04+0.73%
NOW2026-04-27+6.51%
SONY2026-05-13+7.05%
SOFI2026-05-01+8.67%
DUOL2026-05-07+11.10%

Exposure profile

MeasureMeanMedianPeak
Daily gross $$7$9$9
Concurrent position count10.41314
Single-name share100.0% · BB · 2026-04-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 (59 marks)
DateGross $PositionsTop nameTop-name share
2026-04-22$11BB100.0%
2026-04-23$11BB100.0%
2026-04-24$11BB100.0%
2026-04-27$12BB56.0%
2026-04-28$12BB56.0%
2026-04-29$12BB56.0%
2026-04-30$12BB56.0%
2026-05-01$23BB37.8%
2026-05-04$35META26.3%
2026-05-05$46NOK31.9%
2026-05-06$58NOK36.3%
2026-05-07$69NOK32.5%
2026-05-08$812NOK25.3%
2026-05-11$812NOK25.3%
2026-05-12$812NOK25.3%
2026-05-13$914NOK27.1%
2026-05-14$914NOK27.1%
2026-05-15$914NOK27.1%
2026-05-18$914NOK27.1%
2026-05-19$914NOK27.1%
2026-05-20$914NOK27.1%
2026-05-21$914NOK27.1%
2026-05-22$914NOK27.1%
2026-05-26$914NOK27.1%
2026-05-27$914NOK27.1%
2026-05-28$914NOK27.1%
2026-05-29$914NOK27.1%
2026-06-01$914NOK27.1%
2026-06-02$914NOK27.1%
2026-06-03$914NOK27.1%
2026-06-04$914NOK27.1%
2026-06-05$914NOK27.1%
2026-06-08$914NOK27.1%
2026-06-09$914NOK27.1%
2026-06-10$914NOK27.1%
2026-06-11$914NOK27.1%
2026-06-12$914NOK27.1%
2026-06-15$914NOK27.1%
2026-06-16$914NOK27.1%
2026-06-17$914NOK27.1%
2026-06-18$914NOK27.1%
2026-06-22$914NOK27.1%
2026-06-23$914NOK27.1%
2026-06-24$914NOK27.1%
2026-06-25$913NOK29.3%
2026-06-26$913NOK29.3%
2026-06-29$913NOK29.3%
2026-06-30$812NOK31.3%
2026-07-01$812NOK31.3%
2026-07-02$812NOK31.3%
2026-07-06$812NOK31.3%
2026-07-07$711NOK33.9%
2026-07-08$69NOK31.8%
2026-07-09$58DUOL23.8%
2026-07-10$46SONY27.5%
2026-07-13$35SONY32.6%
2026-07-14$22SONY64.9%
2026-07-15$22SONY64.9%
2026-07-16$22SONY64.9%

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 weeks10+17.5%+1.67%70.0%4.02+1.11%
SPY-down weeks3-4.9%-1.63%33.3%-6.05-1.81%

oiT · Twitter x OI direction (Compounded)
22 Apr, 2026 - 16 Jul, 2026 (matched dates)

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


2026-07-19T13:00:20.008913 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.069400 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.130245 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.194235 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.264957 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.313098 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.363457 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.419174 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.476615 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.527538 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.587072 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.639488 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.701770 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/
2026-07-19T13:00:20.777893 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/