{
 "source": "https://edgelabtrading.com/results/",
 "note": "Backtested, hypothetical results net of costs. Win rate and max drawdown in percent. Not investment advice.",
 "rows": [
  {
   "name": "Turnaround Tuesday",
   "market": "S&P 500 (SPY)",
   "timeframe": "Daily",
   "is_sharpe": 0.61,
   "oos_sharpe": 1.23,
   "full_sharpe": null,
   "win_rate": 74.1,
   "max_dd": -23.75,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/turnaround-tuesday/"
  },
  {
   "name": "Turnaround Tuesday",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.89,
   "oos_sharpe": 1.17,
   "full_sharpe": null,
   "win_rate": 75.7,
   "max_dd": -19.51,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/turnaround-tuesday/"
  },
  {
   "name": "200-day moving average, hold or cash",
   "market": "Bitcoin",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 1.16,
   "win_rate": null,
   "max_dd": -70.0,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/200-day-moving-average/"
  },
  {
   "name": "Two-rule mean reversion (worked example)",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.79,
   "oos_sharpe": 1.04,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -20.33,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/why-backtests-fail/"
  },
  {
   "name": "RSI(2) dip-buying, exit above the prior high",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.52,
   "oos_sharpe": 0.92,
   "full_sharpe": 0.73,
   "win_rate": 70.4,
   "max_dd": -18.0,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/rsi-strategy-nasdaq/"
  },
  {
   "name": "RSI(2) dip-buyer (tripwire worked example)",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.88,
   "oos_sharpe": 0.86,
   "full_sharpe": 0.87,
   "win_rate": 69.0,
   "max_dd": -20.5,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/strategy-dead-tripwires/"
  },
  {
   "name": "Opening-move breakout, long-only with trend filter",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "5-min opening range, intraday",
   "is_sharpe": 0.77,
   "oos_sharpe": 0.84,
   "full_sharpe": 0.8,
   "win_rate": 12.4,
   "max_dd": -4.64,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/opening-range-breakout-nasdaq/"
  },
  {
   "name": "RSI(2) below 30, exit above the prior high",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.82,
   "win_rate": null,
   "max_dd": -19.5,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/qqq-dip-buying/"
  },
  {
   "name": "Connors TPS scale-in",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.72,
   "oos_sharpe": 0.78,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -11.6,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/connors-rsi2-still-work-nasdaq/"
  },
  {
   "name": "200-day moving average, hold or cash",
   "market": "S&P 500 (SPY)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.72,
   "win_rate": null,
   "max_dd": -29.4,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/200-day-moving-average/"
  },
  {
   "name": "RSI(3) dip-buying with trend filter",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "4-hour",
   "is_sharpe": 0.61,
   "oos_sharpe": 0.72,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -13.6,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/connors-rsi2-still-work-nasdaq/"
  },
  {
   "name": "Intraday momentum (Zarattini), long side",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "Intraday",
   "is_sharpe": 0.9,
   "oos_sharpe": 0.68,
   "full_sharpe": 0.76,
   "win_rate": 39.4,
   "max_dd": -11.0,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/zarattini-intraday-momentum-nasdaq/"
  },
  {
   "name": "Buy after three down closes, sell the next close",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.73,
   "oos_sharpe": 0.67,
   "full_sharpe": 0.67,
   "win_rate": 56.68,
   "max_dd": -18.7,
   "costs": "45 bp per trade before costs, 35 bp after",
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/overnight-trading-strategy-nasdaq/"
  },
  {
   "name": "RSI(3) dip-buying with trend filter",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "2-hour",
   "is_sharpe": 0.37,
   "oos_sharpe": 0.63,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -14.1,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/connors-rsi2-still-work-nasdaq/"
  },
  {
   "name": "Connors RSI(2) with 200-day filter",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.68,
   "oos_sharpe": 0.56,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -13.4,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/connors-rsi2-still-work-nasdaq/"
  },
  {
   "name": "200-day moving average, hold or cash",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.53,
   "win_rate": null,
   "max_dd": -58.9,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/200-day-moving-average/"
  },
  {
   "name": "RSI 30/40",
   "market": "Nasdaq-100 (QQQ; NQ futures as the history proxy)",
   "timeframe": "2-hour",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": 70.3,
   "max_dd": -11.5,
   "costs": null,
   "verdict": "works",
   "article_url": "https://edgelabtrading.com/blog/rsi-strategy-nasdaq/"
  },
  {
   "name": "Intraday momentum (Zarattini), both sides",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "Intraday",
   "is_sharpe": 0.43,
   "oos_sharpe": 1.39,
   "full_sharpe": 0.99,
   "win_rate": 38.2,
   "max_dd": -12.28,
   "costs": null,
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/zarattini-intraday-momentum-nasdaq/"
  },
  {
   "name": "Moving-average crossover, parameters picked in-sample",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.77,
   "oos_sharpe": 0.77,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -28.6,
   "costs": null,
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/backtest-trading-strategy-python/"
  },
  {
   "name": "Momentum rotation: hold the six-month winner",
   "market": "Stocks, bonds, gold (SPY / TLT / GLD)",
   "timeframe": "Monthly",
   "is_sharpe": 0.52,
   "oos_sharpe": 0.7,
   "full_sharpe": 0.61,
   "win_rate": null,
   "max_dd": -33.61,
   "costs": null,
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/etf-momentum-rotation/"
  },
  {
   "name": "RSI 30/40",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.1,
   "oos_sharpe": 0.62,
   "full_sharpe": 0.37,
   "win_rate": 87.5,
   "max_dd": -26.3,
   "costs": null,
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/rsi-strategy-nasdaq/"
  },
  {
   "name": "RSI(14) below 30, hold five days",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.45,
   "win_rate": null,
   "max_dd": -21.2,
   "costs": null,
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/qqq-dip-buying/"
  },
  {
   "name": "Fridays when VIX is above 20",
   "market": "Gold (GLD)",
   "timeframe": "Daily, Thursday close to Friday close",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.23,
   "win_rate": 51.3,
   "max_dd": -22.0,
   "costs": "Sharpe 0.23 at 0.1% per round trip, 0.43 at futures-level costs",
   "verdict": "weak",
   "article_url": "https://edgelabtrading.com/blog/friday-gold-strategy/"
  },
  {
   "name": "Intraday momentum (Zarattini), short side",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "Intraday",
   "is_sharpe": -0.21,
   "oos_sharpe": 1.22,
   "full_sharpe": 0.64,
   "win_rate": 37.1,
   "max_dd": -16.53,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/zarattini-intraday-momentum-nasdaq/"
  },
  {
   "name": "200-day moving average, hold or cash",
   "market": "Gold (GLD)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.58,
   "win_rate": null,
   "max_dd": -35.1,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/200-day-moving-average/"
  },
  {
   "name": "Sell in May, bonds for the summer",
   "market": "S&P 500 (SPY) and bonds",
   "timeframe": "Seasonal, two switches a year",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.57,
   "win_rate": null,
   "max_dd": -39.6,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/sell-in-may/"
  },
  {
   "name": "Sell in May, cash for the summer",
   "market": "S&P 500 (SPY)",
   "timeframe": "Seasonal, two switches a year",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.55,
   "win_rate": null,
   "max_dd": -36.7,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/sell-in-may/"
  },
  {
   "name": "Deliberately overfit: best of 2160 parameter combinations",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily",
   "is_sharpe": 0.82,
   "oos_sharpe": 0.33,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": -24.63,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/why-backtests-fail/"
  },
  {
   "name": "Naive opening range breakout, both directions",
   "market": "Nasdaq-100 futures (NQ)",
   "timeframe": "5-min opening range, intraday",
   "is_sharpe": -0.27,
   "oos_sharpe": 0.32,
   "full_sharpe": 0.11,
   "win_rate": 31.0,
   "max_dd": -43.06,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/opening-range-breakout-nasdaq/"
  },
  {
   "name": "Every Friday (Thursday close to Friday close)",
   "market": "Gold (GLD)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.05,
   "win_rate": 50.8,
   "max_dd": -40.33,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/friday-gold-strategy/"
  },
  {
   "name": "200-day moving average, hold or cash",
   "market": "Long bonds (TLT)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": 0.03,
   "win_rate": null,
   "max_dd": -47.3,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/200-day-moving-average/"
  },
  {
   "name": "Fridays above the 200-day average",
   "market": "Gold (GLD)",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": -0.02,
   "win_rate": 49.7,
   "max_dd": -32.52,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/friday-gold-strategy/"
  },
  {
   "name": "Santa Claus rally",
   "market": "S&P 500 (SPY)",
   "timeframe": "Seasonal",
   "is_sharpe": 0.31,
   "oos_sharpe": -0.07,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  },
  {
   "name": "Hold every night (buy the close, sell the open)",
   "market": "Nasdaq-100 (QQQ)",
   "timeframe": "Daily, overnight hold",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": -0.79,
   "win_rate": null,
   "max_dd": -98.3,
   "costs": "Breaks even only below 2.8 bp per side",
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/overnight-trading-strategy-nasdaq/"
  },
  {
   "name": "Classic book setups (Street Smarts, DeMark, Kaufman, Chande)",
   "market": "Futures",
   "timeframe": "Various",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  },
  {
   "name": "Published catalog setups (DAX drift, EuroStoxx, natural gas, soybeans)",
   "market": "European index and commodity futures",
   "timeframe": "Daily and seasonal",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  },
  {
   "name": "Trend following, Carver-style acceleration",
   "market": "Futures panel",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  },
  {
   "name": "Trend following, Clenow-style core panel",
   "market": "Futures panel",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  },
  {
   "name": "Turtle Soup (Street Smarts)",
   "market": "S&P 500, Nasdaq, gold and bond futures",
   "timeframe": "Daily",
   "is_sharpe": null,
   "oos_sharpe": null,
   "full_sharpe": null,
   "win_rate": null,
   "max_dd": null,
   "costs": null,
   "verdict": "failed",
   "article_url": "https://edgelabtrading.com/blog/strategy-graveyard/"
  }
 ]
}
