61 trading tools. 8 years of data.
One honest verdict.

An evidence-based evaluation of the signal, risk, and execution tools every trading textbook recommends — backtested out-of-sample on crypto perpetuals and traditional markets with a real cost model, parameter sweeps, regime breakdowns, and multiple-testing correction. Every result was written back to a Notion catalogue; the code, the data pipeline, and the full audit trail live in this repo.

18 Signal & Strategy Elements 45 backtests · 10 validated · 35 rejected 17 data-blocked with documented gaps Completed 2026-09-04
18
Signal & Strategy Elements
Trend, Momentum, Mean Reversion, Regime, Volatility, Correlation, Liquidity, Carry, Seasonality, Time Horizon, Position Sizing, Risk Mgmt, Portfolio Construction, Transaction Costs, Value, Quality, Sentiment, Order Flow
62
Tools documented
61 Notion-catalogued tools + 1 follow-up experiment; 45 with a real backtested result
10
Validated
Only 3 clean, non-marginal wins — the rest carry serious labels (marginal, technicality, user override)
35
Rejected
Out-of-sample, net of fees & funding. Trend, momentum and mean-reversion signals mostly do not survive costs
17
Data-blocked
No honest way to test without tick/L2 data, point-in-time fundamentals, options or news corpora
8 yr
Data span
Bybit perps 2020-03→present · traditional markets 2010→ · CFTC COT 1986→

The trading-toolbox question, tested properly

Anyone who has read trading literature meets the same tools over and over: moving-average crossovers, RSI, Bollinger fades, Kelly sizing, risk parity, VIX filters, funding-rate carry. Each has a plausible mechanism — and almost none have clean public evidence. This project took the ~55 tools catalogued in a master Notion spec and ran each one through the same disciplined harness: real data, walk-forward out-of-sample evaluation, costs applied, parameter grids reported as distributions (never best-cell cherry-picking), and a pre-registered pass/fail bar per tool role.

Signals are priced in

The pattern is stark: classic directional signals (trend, momentum, mean reversion, seasonality, carry) do not produce net-of-cost out-of-sample edge on liquid crypto perps. A few show faint positive information coefficients; none clear the Sharpe bar.

Risk overlays are the real winners

The tools that helped were not alpha generators but risk transforms: exposure caps, correlation-aware netting, and vol-targeted sizing each cut catastrophic drawdowns (−97.6% → −35.3%) with Sharpe/Sortino intact or better.

Data gaps are reported honestly

17 tools (fundamentals, order-book depth, tick flow, options, news) could not be tested with free/available data. Rather than fabricating proxies, each has a documented gap and what would close it — with a few free-but-unbuilt sources built first (CFTC COT).

One pipeline, applied 45 times

Every tool ran through the same 7-stage pipeline. Each stage is documented in depth on the Methodology page.

01
Data
Bybit perp OHLCV + funding, yfinance traditional markets, CFTC COT — cached to parquet, schema-validated
02
Signal
Tool implemented per its Notion definition/formula, one module per tool
03
Backtest
Vectorized engine, 1-bar position lag (no lookahead), turnover-based fees + funding
04
Sweep
Full parameter grid × expanding walk-forward OOS folds (train 365 / test 90 / step 90)
05
Metrics
IC, hit rate, Sharpe, Sortino, max drawdown, accuracy, cost-error bps, turnover-adj. return
06
Significance
Bootstrap p-values + Benjamini-Hochberg FDR across all 17 p-value-bearing tools
07
Verdict
Role-aware pass bar → Validated / Rejected / Data-blocked → Notion row + runs/*.json

What survived

Validated · clean

Exposure Caps — 7.8× gross book → capped; OOS drawdown −97.6% → −35.3%, Sharpe unchanged.

Correlation-Aware Netting — same book, netted by correlation; drawdown cut and Sharpe/Sortino improved.

Realized-Vol Targeting — vol-scaled sizing beats fixed size on Sharpe, Sortino and drawdown (relative to a losing base signal).

Validated · read the label

HMM regime filter — passes on a 1.7pt accuracy edge + OR-bar technicality; gating actually hurt Sharpe.

ATR stops — beat a calibrated fixed-% stop, but both are worse than no stop at all.

Kelly criterion — "validated" only because it trades ~6% of the time.

PCA stress filter — fails classification accuracy, but gating doubled Sharpe (0.32→0.80): a deliberate user override.

Rejected · representative

Every trend / momentum / mean-reversion signal — IC ≈ 0 or negative, net Sharpe well under 0.3.

Funding-cycle trading — Sharpe −5.46, destroyed purely by transaction costs.

COT positioning, macro filter, implied vol, risk parity, Markowitz MVO — all clean misses.

The full picture