Explore more topics
Offline corpus research

Best and worst trading indicators in the offline backtest corpus

Compare technical indicators by median Sharpe in the available September NexusTrade archive, with sample counts, outcome dispersion, drawdown and reproducible cohort rules.

As of 2026-10-10T15:25:16.586Z

Jump to a section

TL;DR

Max Drawdown had the highest median Sharpe among qualifying technical price indicators in the September 2026 archive, followed by simple moving average and rate of change. SMA’s 11,800 recorded contracts had median Sharpe 0.577, with losses represented in the distribution. The analysis retains 42,850 distinct daily stock execution contracts. Scores describe complete strategies with different assets, dates and rules, so they suggest research questions rather than proving that adding an indicator improves returns.

Recorded source runs
222,010
Retained stock contracts
42,850
Newest retained source record
2026-09-06

The observed distribution

Median Sharpe and middle fifty percent of outcomes for the admitted technical price indicators
Each dot is a median; the line spans the middle fifty percent. Outcome dispersion is not a confidence interval.

Moving-average strategies included losses as well as gains

The 11,800 recorded contracts containing a simple moving average have median Sharpe 0.577. Their middle half runs from -0.247 to 0.966, and median drawdown is 25.99%. The distribution includes weak outcomes; using an average does not guarantee a good strategy.

These measurements belong to complete strategies containing the indicator. Their assets, other rules and dates differ, so the ranking cannot isolate the effect of adding that indicator. Sharpe is a historical risk-adjusted ratio; drawdown is a fall from an equity peak.

Which indicators are worth investigating?

We reanalyzed the available NexusTrade archive on 2026-10-10. It contains 222,010 recorded backtests, with the newest retained record dated 2026-09-06. This is an October analysis of the available September archive; October runs have not been added to this source.

The daily stock cohort contains 102,781 eligible runs and 42,850 distinct normalized execution contracts after deduplication. 28 built-in types meet the 500-contract floor. This receipt publishes only types meeting that floor; it does not rank rarer types.

A type counts once per normalized book when it appears in a condition or an action metric or weight. Each score describes the complete containing strategies. Assets, periods and other rules differ. A high median points to a research question; it does not prove that adding the indicator improves a strategy.

Five highest median Sharpes among technical price indicators

Shared scale: -0.806 to 1.495 · Sharpe

  • Max DrawdownMedian 0.934 · middle 50% 0.314 to 1.495 · 550 contracts
  • Simple Moving Average (SMA)Median 0.577 · middle 50% -0.247 to 0.966 · 11,800 contracts
  • Rate of Change (ROC)Median 0.568 · middle 50% -0.356 to 1.035 · 5,925 contracts
  • Exponential Moving Average (EMA)Median 0.520 · middle 50% -0.725 to 0.939 · 2,041 contracts
  • Asset PriceMedian 0.464 · middle 50% -0.806 to 0.930 · 10,714 contracts

Tick: recorded median Sharpe. Shaded whisker: recorded middle 50% of Sharpe, not a confidence interval. Counts are distinct execution contracts.

Descending observed median Sharpe within the admitted technical category. The middle 50% describes dispersion, not a confidence interval.

Show the table · 5 rows, 6 columns

Scroll sideways to compare all columns. Select a heading to sort.

Max DrawdownVolatility Indicators5500.9340.314 to 1.49526.25%
Simple Moving Average (SMA)Moving Averages11,8000.577-0.247 to 0.96625.99%
Rate of Change (ROC)Momentum Indicators5,9250.568-0.356 to 1.03526.13%
Exponential Moving Average (EMA)Moving Averages2,0410.520-0.725 to 0.93930.12%
Asset PricePrice Indicators10,7140.464-0.806 to 0.93022.77%

Descending observed median Sharpe within the admitted technical category. The middle 50% describes dispersion, not a confidence interval.

Five lowest median Sharpes among technical price indicators

Shared scale: -1 to 0.955 · Sharpe

  • Maximum PriceMedian 0.017 · middle 50% -1.000 to 0.929 · 1,056 contracts
  • Price Standard DeviationMedian 0.272 · middle 50% -0.762 to 0.955 · 1,712 contracts
  • Bollinger BandsMedian 0.366 · middle 50% -0.515 to 0.826 · 902 contracts
  • Relative Strength Index (RSI)Median 0.393 · middle 50% -0.478 to 0.875 · 5,063 contracts
  • Asset PriceMedian 0.464 · middle 50% -0.806 to 0.930 · 10,714 contracts

Tick: recorded median Sharpe. Shaded whisker: recorded middle 50% of Sharpe, not a confidence interval. Counts are distinct execution contracts.

Show the table · 5 rows, 6 columns

Scroll sideways to compare all columns. Select a heading to sort.

Maximum PricePrice Indicators1,0560.017-1.000 to 0.92914.91%
Price Standard DeviationVolatility Indicators1,7120.272-0.762 to 0.95519.72%
Bollinger BandsVolatility Indicators9020.366-0.515 to 0.82622.99%
Relative Strength Index (RSI)Momentum Indicators5,0630.393-0.478 to 0.87523.85%
Asset PricePrice Indicators10,7140.464-0.806 to 0.93022.77%

9 price-derived types meet the floor. The highest-five and lowest-five lists can overlap when fewer than ten types qualify; they do not imply ten distinct candidates.

A low Sharpe does not prove an indicator is useless. Settings and buy/sell uses vary across containing strategies. A recorded negative Sharpe can accompany a positive total return. Inspect the recorded risk-free assumption before interpreting it.

All admitted types, with their actual categories

Shared scale: -1 to 1.495 · Sharpe

  • Max DrawdownMedian 0.934 · middle 50% 0.314 to 1.495 · 550 contracts
  • Portfolio ValueMedian 0.895 · middle 50% 0.563 to 1.111 · 1,274 contracts
  • Compound Annual Growth Rate (CAGR)Median 0.876 · middle 50% 0.175 to 1.467 · 722 contracts
  • Constant (Number)Median 0.722 · middle 50% 0.154 to 1.105 · 40,936 contracts
  • Is AssetMedian 0.712 · middle 50% -0.207 to 1.196 · 1,253 contracts
  • Position ValueMedian 0.702 · middle 50% 0.113 to 1.100 · 10,670 contracts
  • Days Since OrderMedian 0.697 · middle 50% 0.044 to 1.082 · 18,928 contracts
  • Position Percent ChangeMedian 0.622 · middle 50% -0.298 to 1.039 · 6,166 contracts
  • Multiply (×)Median 0.615 · middle 50% -0.518 to 1.066 · 4,412 contracts
  • Trailing SumMedian 0.597 · middle 50% -0.352 to 1.108 · 603 contracts
  • Plus (+)Median 0.595 · middle 50% -0.440 to 1.134 · 2,217 contracts
  • Last Order PriceMedian 0.581 · middle 50% -1.000 to 0.874 · 691 contracts

Tick: recorded median Sharpe. Shaded whisker: recorded middle 50% of Sharpe, not a confidence interval. Counts are distinct execution contracts.

Showing 12 of 28 recorded rows. The complete table is below.

Show the table · 28 rows, 6 columns

Scroll sideways to compare all columns. Select a heading to sort.

Max DrawdownVolatility Indicators5500.9340.314 to 1.49526.25%
Portfolio ValuePortfolio-Level Indicators1,2740.8950.563 to 1.11124.31%
Compound Annual Growth Rate (CAGR)Growth Indicators7220.8760.175 to 1.46722.56%
Constant (Number)Price Indicators40,9360.7220.154 to 1.10524.05%
Is AssetBoolean / Metadata Indicators1,2530.712-0.207 to 1.19621.79%
Position ValuePosition Indicators10,6700.7020.113 to 1.10020.06%
Days Since OrderOrder Indicators18,9280.6970.044 to 1.08223.93%
Position Percent ChangePosition Indicators6,1660.622-0.298 to 1.03918.73%
Multiply (×)Mathematical Operators4,4120.615-0.518 to 1.06624.78%
Trailing SumCompound Indicators (Indicators of Indicators)6030.597-0.352 to 1.10817.82%
Plus (+)Mathematical Operators2,2170.595-0.440 to 1.13420.70%
Last Order PriceOrder Indicators6910.581-1.000 to 0.87420.43%
Simple Moving Average (SMA)Moving Averages11,8000.577-0.247 to 0.96625.99%
Rate of Change (ROC)Momentum Indicators5,9250.568-0.356 to 1.03526.13%
Fundamental MetricFundamental Metrics3,9930.563-0.393 to 1.14219.79%
Divide (÷)Mathematical Operators1,8700.557-0.379 to 1.06721.69%
Exponential Moving Average (EMA)Moving Averages2,0410.520-0.725 to 0.93930.12%
Asset PricePrice Indicators10,7140.464-0.806 to 0.93022.77%
Index levelMarket indices5790.455-0.820 to 1.06819.32%
Relative Strength Index (RSI)Momentum Indicators5,0630.393-0.478 to 0.87523.85%
Rate of Change of IndicatorCompound Indicators (Indicators of Indicators)9590.384-1.000 to 1.01122.54%
Bollinger BandsVolatility Indicators9020.366-0.515 to 0.82622.99%
Minus (−)Mathematical Operators1,8010.277-1.000 to 0.91918.75%
Price Standard DeviationVolatility Indicators1,7120.272-0.762 to 0.95519.72%
Maximum PricePrice Indicators1,0560.017-1.000 to 0.92914.91%
Position Max DrawdownPosition Indicators516-0.046-1.000 to 0.81116.42%
SMA of IndicatorCompound Indicators (Indicators of Indicators)1,224-0.106-1.000 to 0.74914.87%
Cross AboveCrossover Indicators674-0.122-1.000 to 0.62011.55%

Portfolio value and position value inspect account state. Days since an order or strategy fired inspect timing. Max Drawdown measures an asset's windowed price decline; Position Max Drawdown measures the held position's unrealized P&L. Constants and arithmetic operators build conditions rather than independently signaling a trade. Keep those distinctions when reading this mixed table.

What the leading price indicators measure

The type-level ranking combines different windows and thresholds. A 20-day SMA and a 200-day SMA share a type but answer different questions. Inspect a setting and its entry or exit role before using the result.

Sharpe and Sortino are stored unitless outputs; this analysis does not recompute them. Recorded risk-free values vary in apparent units and remain distinct in deduplication, so consistent Sharpe conventions are not established. Return and drawdown are percentages; benchmark alpha is a percentage-point difference. Sparse benchmark coverage appears per type in the JSON. Returns across different run durations are not directly comparable.

  1. Max Drawdown

    The maximum peak-to-trough percentage decline over a window. Measures worst-case downside risk.

  2. Simple Moving Average (SMA)

    The average closing price over a specified number of periods.

  3. Rate of Change (ROC)

    Measures the percentage change in price between the current price and the price N periods ago.

  4. Exponential Moving Average (EMA)

    Like SMA but gives more weight to recent prices, making it more responsive to new information.

  5. Asset Price

    The current market price of any asset.

Reproduce the analysis

Reproduce the analysis

Include equity-classified daily records without options, lasting 365 through 2,000 days, with finite Sharpe. Exclude records labeled optimizer. Every retained author's origin is unknown. Excluding known optimizers does not prove that these records were human-authored or never optimized.

Include zero-return records: 3,013 remain. The archive's traded flag is a nonzero-return proxy. Closed-trade counts, exposure, failed-job denominators and selected optimizer-winner flags are unavailable.

Normalize complete typed conditions and actions, retaining thresholds, windows, assets, logical order and allocation sizes. Remove verified editor metadata and exclude unsupported or incomplete records. Deduplicate the normalized book plus recorded tickers, dates, capital, fees, cadence, interval, benchmark and risk-free assumption. Keep the latest representative with a stable tie-breaker. Historical dividend, fill and engine-policy versions are absent.

Count a type once across condition and action operands in each retained contract and require 500 contracts before ranking its median. Interquartile ranges describe variation in outcomes and do not establish statistical separation. Source object HEAD revisions matched before and after the read; they do not certify an atomic multi-table publication generation. The archive has already undergone its historical export filters and cannot represent excluded or failed jobs.

Which analysis are these numbers from?

These tables use typed-rule-action-execution-v2, the same 42,850-contract population as the current condition and strategy analysis. 12,233 eligible inputs were excluded because their recorded execution fields or normalized rules were incomplete or unsupported. Repeated supported submissions are then deduplicated.

The earlier October exact-stored-JSON analysis retained 61,340 contracts. It preserved editor metadata and used the archived indicator projection. The current version removes verified editor metadata and reads membership directly from normalized conditions and action operands. Different populations and membership definitions produce different associations; comparing the medians does not measure a change in market performance.

Keep the September article's findings dated

The September 7 article used a different population and bootstrap intervals. This analysis fixes stock class and daily cadence, includes zero returns, preserves execution-input differences and selects a deterministic latest representative. The two tables are separate analyses; their differences do not show changing market performance.

Continue exploring

Discussion

Sign in or create a free account to join the discussion.

No comments yet.

Aurora · AI research assistant

Try this in Aurora

Edit the request, then open it in Aurora. You choose when to send it.