Skip to content
All hypotheses

Hypotheses

Bybit PCA-Residual (Avellaneda-Lee s-score) Reversion: Point-in-Time Top-20 Bybit USDT Perps, 3-Factor PCA on 60-Day Daily Returns, Long z<-1.5 / Short z>+1.5 as Standalone Single-Name Bets, Exit at |z|<0.5 or 10-Day Clock (1-DAY bars, flat when no name is stretched)

Classification: (a) concrete trading idea. The source takes the top-N US stocks by dollar volume, fits PCA with 3 components, regresses each name on the factors, standardizes the latest residual into a z-score, and…

Hypothesis

Classification: (a) concrete trading idea. The source takes the top-N US stocks by dollar volume, fits PCA with 3 components, regresses each name on the factors, standardizes the latest residual into a z-score, and buys the names with z < -1.5, weighting by |z|. It rebalances every 30 days and reports about 7% a year with a ~40% drawdown (unverified). We are NOT porting it to USEQ. Lesson L128 bans daily-bar USEQ, and a 20-stock monthly rebalance gives about 115 rebalances in 10 years, which deflation always……Show moreShow less

Classification: (a) concrete trading idea. The source takes the top-N US stocks by dollar volume, fits PCA with 3 components, regresses each name on the factors, standardizes the latest residual into a z-score, and buys the names with z < -1.5, weighting by |z|. It rebalances every 30 days and reports about 7% a year with a ~40% drawdown (unverified). We are NOT porting it to USEQ. Lesson L128 bans daily-bar USEQ, and a 20-stock monthly rebalance gives about 115 rebalances in 10 years, which deflation always strips. The mechanism is restated from first principles on Bybit USDT linear perps (0.8% corpus share against a >=5% target; pure-price trigger, per L160). Universe (point-in-time, per L151): the candidate pool is every Bybit USDT perp whose catalog daily history starts on or before 2021-12-31 (78 contracts; a data-availability rule, not a hand pick). At each daily close the active universe is the top 20 by trailing 30-day dollar volume among names with at least 90 daily bars as of that date. Factor model, following the paper rather than the tutorial: PCA(3) on the 60-day x 20-name matrix of standardized daily log RETURNS (the tutorial used log price levels, which are non-stationary). For each name, OLS on the 3 factor returns, cumulate the residuals into X, and set z = (X_last - mean X) / std X over the 60-day window. Changes from the tutorial: it trades both tails (the paper is symmetric); each position is a standalone single-name bet with no hedge legs (L137); the decision runs daily with a z-based exit instead of a blind 30-day rebalance (L166). Declared flat state: no position when no name has |z| >= 1.5 (expected ~30-40% of days).

Backtest and paper results are hypothetical. Trading involves risk of loss.