Strategy Research

Analytics of Trading and Investment Strategies

41 rules, scored across 7 symbols and 4 timeframes, on real and resampled price history.

Strategies

Score By Category, Timeframe, Symbol And Strategy

Score By Category

Total score averaged over the strategies in each family

Score By Timeframe

Composite score averaged over every strategy, symbol and dataset

Score By Symbol

Composite score averaged over every strategy, timeframe and dataset

Score By Strategy

Total score per strategy, grouped by family

Best Strategy Per Category

Best Strategy Per Symbol And Timeframe

Best Strategy Per Symbol And Timeframe

Highest composite score in each cell, real and resampled averaged

How Scoring Works

Every strategy is run on every symbol × timeframe cell, on both real and resampled price history. Each cell gets five 0–100 sub-scores, blended into one composite score by the weights below. A strategy's total score (shown next to its name) is the average of its composite score across all cells, then averaged again across the real and resampled datasets.

Beats Hold
Sbeats_hold = clamp0100(50 + 25 log2(Enet / Ehold))
Compares final net equity to what simply holding the asset would have returned over the same window. 50 is break-even; every doubling versus buy-and-hold adds 25 points.
Risk Adjusted
Srisk = clamp0100(55 · Sharpe + 5)
A linear read on the rolling annualized Sharpe ratio at the last trade — 0 Sharpe scores 5, roughly 1.7 Sharpe maxes out the scale.
Profitability
Sprofit = clamp0100(20 log2(Enet / E0))
How many times the starting cash multiplied, on a log scale — each doubling of capital is worth 20 points.
Win Rate
Swin = clamp0100(2.5 (W% - 20))
The share of trades that closed profitable, rescaled so a 20% win rate scores 0 and a 60% win rate maxes out the scale.
Fee Efficiency
Sfee = clamp0100(((Enet/Egross - 0.4) / 0.6) × 100)
The share of the fee-free (gross) result that survives after fees — 60% survival scores 0, keeping the full gross result scores 100.
Composite
Composite = 0.25 Sbeats_hold + 0.35 Srisk + 0.20 Sprofit + 0.10 Swin + 0.10 Sfee
The five sub-scores blended by weight into one 0–100 number per symbol × timeframe cell — risk-adjusted return and beating a hold carry the most weight.