{
  "id": 11874,
  "rank": 2198,
  "name": "20-day vs 100-day moving average crossover",
  "aka": [],
  "family": "A",
  "subtype": "A1",
  "one_liner": "A simple moving average crossover strategy using 20-day and 100-day EMA.",
  "market_regime": "any",
  "timeframes": [
    "any"
  ],
  "symbols": [
    "AAPL",
    "MSFT",
    "GOOGL",
    "JPM",
    "XOM"
  ],
  "sessions": [
    "any"
  ],
  "indicators": [
    {
      "name": "EMA",
      "params": {
        "period": 20
      },
      "applied_to": "close"
    },
    {
      "name": "EMA",
      "params": {
        "period": 100
      },
      "applied_to": "close"
    }
  ],
  "entry_long": [
    "20-day EMA crosses above 100-day EMA"
  ],
  "entry_short": [
    "20-day EMA crosses below 100-day EMA"
  ],
  "exit_rules": [
    "no explicit exit rules given, likely position is closed on opposite crossover"
  ],
  "filters": [],
  "stop_loss": null,
  "take_profit": null,
  "position_size": "flat transaction cost per position change",
  "evidence_type": "backtest_shown",
  "completeness": 50.0,
  "signal_warnings": null,
  "claim_warnings": null,
  "opacity_warnings": null,
  "build_warnings": null,
  "canonical": "https://prismaticalgos.com/compendium/algo/11874-20-day-vs-100-day-moving-average-crossover",
  "snapshot": "2026-10-31 15:46 UTC",
  "source_url": "https://github.com/MelikaAjir/algorithmic-trading-backtester",
  "limitations": "These are machine-extracted research records, not verified trading systems. Catalog rank measures specification detail and claimed evidence, not profitability. The catalog extraction pipeline did not independently backtest these records. Its separate selected testing ledger does not validate the wider corpus. Rules, labels and parameters can be incomplete or wrong; consult the original source and its reuse terms."
}
