Trading Strategies

Backtest each strategy against the S&P 500 before committing real capital. Compare results to a simple index fund investment.

Minervini Stage 2

Mark Minervini's SEPA (Specific Entry Point Analysis) methodology. Identifies stocks in a Stage 2 uptrend using 8 trend and momentum criteria. Designed for short-to-medium term momentum trades with strict stop losses.

Criteria

  1. Price above both the 150-day and 200-day moving averages
  2. 150-day MA above the 200-day MA
  3. 200-day MA trending up for at least 1 month
  4. 50-day MA above both 150-day and 200-day MAs
  5. Price above the 50-day MA
  6. Price at least 25% above its 52-week low
  7. Price within 25% of its 52-week high
  8. Relative Strength vs S&P 500 ≥ 70

Assessment

  • + Clear, objective entry rules — no guesswork
  • + Strong track record in bull markets
  • + Built-in trend filter reduces false signals
  • Underperforms in sideways or bear markets
  • Requires active monitoring and strict stop losses
  • Small number of qualifying stocks at any one time
Adding a new strategy: Implement a criteria_func(closes, spy_closes) function and add an entry to stocks/strategies.py. It will appear here automatically with its own backtest buttons.