{
 "slug": "leveraged-etf-timing-backtest",
 "finlab_version": "2.2.21",
 "data_end": "2026-10-27",
 "start": "2017-01-03",
 "win_rule": "daily Sharpe (no risk-free rate) above QQQ dividend-adjusted buy and hold on the same dates",
 "rules": {
  "tqqq_200ma": {
   "rule": "tqqq_200ma",
   "params": [
    200,
    0.01
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.9904,
    "qqq_sharpe": 0.9488,
    "beats_qqq": true
   },
   "grid": [
    {
     "params": [
      150,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9304,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      150,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.0256,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      150,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9933,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      200,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9361,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9904,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      200,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.949,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      250,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8879,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9324,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8857,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 4,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1552,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.8279,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.9838,
    "qqq_sharpe": 0.9511,
    "beats_qqq": true
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": true,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.450657,
    "total_return": 37.450795,
    "daily_sharpe": 0.990446,
    "volatility": 0.511084,
    "mdd": -0.608511
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-04-21",
    "recovered": "2020-08-25",
    "trades_peak_to_trough": 4
   },
   "calendar": {
    "2017": 1.094203,
    "2018": 0.014408,
    "2019": 0.613803,
    "2020": 0.690654,
    "2021": 0.829743,
    "2022": -0.299019,
    "2023": 1.317164,
    "2024": 0.571948,
    "2025": 0.15347,
    "2026": 0.231036
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.445871,
    "total_return": 36.261802,
    "daily_sharpe": 0.983839,
    "volatility": 0.511164,
    "mdd": -0.611942
   },
   "timing": {
    "time_in_market": 0.831848,
    "switches_per_year": 1.63,
    "in_spells": 9,
    "out_spells": 8,
    "median_out_days": 17.0,
    "out_spells_etf_rose": 6,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-10-25",
      "days": 456,
      "etf_return": 1.445652
     },
     {
      "in_market": false,
      "signal": "2018-10-24",
      "start": "2018-10-25",
      "end": "2018-11-08",
      "days": 10,
      "etf_return": 0.045926
     },
     {
      "in_market": true,
      "signal": "2018-11-07",
      "start": "2018-11-08",
      "end": "2018-11-13",
      "days": 3,
      "etf_return": -0.134561
     },
     {
      "in_market": false,
      "signal": "2018-11-12",
      "start": "2018-11-13",
      "end": "2019-02-26",
      "days": 69,
      "etf_return": 0.055206
     },
     {
      "in_market": true,
      "signal": "2019-02-25",
      "start": "2019-02-26",
      "end": "2019-06-04",
      "days": 68,
      "etf_return": -0.012071
     },
     {
      "in_market": false,
      "signal": "2019-06-03",
      "start": "2019-06-04",
      "end": "2019-06-06",
      "days": 2,
      "etf_return": 0.045597
     },
     {
      "in_market": true,
      "signal": "2019-06-05",
      "start": "2019-06-06",
      "end": "2020-03-10",
      "days": 191,
      "etf_return": 0.331312
     },
     {
      "in_market": false,
      "signal": "2020-03-09",
      "start": "2020-03-10",
      "end": "2020-03-11",
      "days": 1,
      "etf_return": -0.128814
     },
     {
      "in_market": true,
      "signal": "2020-03-10",
      "start": "2020-03-11",
      "end": "2020-03-12",
      "days": 1,
      "etf_return": -0.273671
     },
     {
      "in_market": false,
      "signal": "2020-03-11",
      "start": "2020-03-12",
      "end": "2020-04-14",
      "days": 22,
      "etf_return": 0.426786
     },
     {
      "in_market": true,
      "signal": "2020-04-13",
      "start": "2020-04-14",
      "end": "2022-01-24",
      "days": 449,
      "etf_return": 2.598259
     },
     {
      "in_market": false,
      "signal": "2022-01-21",
      "start": "2022-01-24",
      "end": "2023-01-30",
      "days": 255,
      "etf_return": -0.616305
     },
     {
      "in_market": true,
      "signal": "2023-01-27",
      "start": "2023-01-30",
      "end": "2025-03-11",
      "days": 529,
      "etf_return": 1.713613
     },
     {
      "in_market": false,
      "signal": "2025-03-10",
      "start": "2025-03-11",
      "end": "2025-05-13",
      "days": 44,
      "etf_return": 0.173134
     },
     {
      "in_market": true,
      "signal": "2025-05-12",
      "start": "2025-05-13",
      "end": "2026-03-23",
      "days": 215,
      "etf_return": 0.296101
     },
     {
      "in_market": false,
      "signal": "2026-03-20",
      "start": "2026-03-23",
      "end": "2026-04-09",
      "days": 12,
      "etf_return": 0.100269
     },
     {
      "in_market": true,
      "signal": "2026-04-08",
      "start": "2026-04-09",
      "end": "2026-10-27",
      "days": 139,
      "etf_return": 0.453858
     }
    ]
   }
  },
  "qld_200ma": {
   "rule": "qld_200ma",
   "params": [
    200,
    0.01
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 1.0141,
    "qqq_sharpe": 0.9488,
    "beats_qqq": true
   },
   "grid": [
    {
     "params": [
      150,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9546,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      150,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.0502,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      150,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.0188,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      200,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9587,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      200,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.0141,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      200,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9737,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      250,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9125,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9586,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      250,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.913,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 7,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.152,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.8825,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 1.0043,
    "qqq_sharpe": 0.9511,
    "beats_qqq": true
   },
   "passed": {
    "neighbours": true,
    "halves": false,
    "costs": true,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.333689,
    "total_return": 15.855826,
    "daily_sharpe": 1.014124,
    "volatility": 0.343686,
    "mdd": -0.448413
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-04-21",
    "recovered": "2020-08-20",
    "trades_peak_to_trough": 4
   },
   "calendar": {
    "2017": 0.65383,
    "2018": 0.049239,
    "2019": 0.413152,
    "2020": 0.529916,
    "2021": 0.54656,
    "2022": -0.20216,
    "2023": 0.856956,
    "2024": 0.428121,
    "2025": 0.142431,
    "2026": 0.201845
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.329302,
    "total_return": 15.332446,
    "daily_sharpe": 1.004293,
    "volatility": 0.343758,
    "mdd": -0.453099
   },
   "timing": {
    "time_in_market": 0.831848,
    "switches_per_year": 1.63,
    "in_spells": 9,
    "out_spells": 8,
    "median_out_days": 17.0,
    "out_spells_etf_rose": 6,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-10-25",
      "days": 456,
      "etf_return": 0.902988
     },
     {
      "in_market": false,
      "signal": "2018-10-24",
      "start": "2018-10-25",
      "end": "2018-11-08",
      "days": 10,
      "etf_return": 0.037002
     },
     {
      "in_market": true,
      "signal": "2018-11-07",
      "start": "2018-11-08",
      "end": "2018-11-13",
      "days": 3,
      "etf_return": -0.091491
     },
     {
      "in_market": false,
      "signal": "2018-11-12",
      "start": "2018-11-13",
      "end": "2019-02-26",
      "days": 69,
      "etf_return": 0.060061
     },
     {
      "in_market": true,
      "signal": "2019-02-25",
      "start": "2019-02-26",
      "end": "2019-06-04",
      "days": 68,
      "etf_return": 0.000696
     },
     {
      "in_market": false,
      "signal": "2019-06-03",
      "start": "2019-06-04",
      "end": "2019-06-06",
      "days": 2,
      "etf_return": 0.030418
     },
     {
      "in_market": true,
      "signal": "2019-06-05",
      "start": "2019-06-06",
      "end": "2020-03-10",
      "days": 191,
      "etf_return": 0.260298
     },
     {
      "in_market": false,
      "signal": "2020-03-09",
      "start": "2020-03-10",
      "end": "2020-03-11",
      "days": 1,
      "etf_return": -0.087179
     },
     {
      "in_market": true,
      "signal": "2020-03-10",
      "start": "2020-03-11",
      "end": "2020-03-12",
      "days": 1,
      "etf_return": -0.185393
     },
     {
      "in_market": false,
      "signal": "2020-03-11",
      "start": "2020-03-12",
      "end": "2020-04-14",
      "days": 22,
      "etf_return": 0.352858
     },
     {
      "in_market": true,
      "signal": "2020-04-13",
      "start": "2020-04-14",
      "end": "2022-01-24",
      "days": 449,
      "etf_return": 1.550619
     },
     {
      "in_market": false,
      "signal": "2022-01-21",
      "start": "2022-01-24",
      "end": "2023-01-30",
      "days": 255,
      "etf_return": -0.409944
     },
     {
      "in_market": true,
      "signal": "2023-01-27",
      "start": "2023-01-30",
      "end": "2025-03-11",
      "days": 529,
      "etf_return": 1.205407
     },
     {
      "in_market": false,
      "signal": "2025-03-10",
      "start": "2025-03-11",
      "end": "2025-05-13",
      "days": 44,
      "etf_return": 0.149213
     },
     {
      "in_market": true,
      "signal": "2025-05-12",
      "start": "2025-05-13",
      "end": "2026-03-23",
      "days": 215,
      "etf_return": 0.228323
     },
     {
      "in_market": false,
      "signal": "2026-03-20",
      "start": "2026-03-23",
      "end": "2026-04-09",
      "days": 12,
      "etf_return": 0.069898
     },
     {
      "in_market": true,
      "signal": "2026-04-08",
      "start": "2026-04-09",
      "end": "2026-10-27",
      "days": 139,
      "etf_return": 0.328865
     }
    ]
   }
  },
  "upro_200ma": {
   "rule": "upro_200ma",
   "params": [
    200,
    0.01
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.7447,
    "qqq_sharpe": 0.9488,
    "beats_qqq": false
   },
   "grid": [
    {
     "params": [
      150,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9567,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      150,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.87,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      150,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7826,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7644,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7447,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7697,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.6568,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7593,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.6772,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 1,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.9313,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.5525,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.7287,
    "qqq_sharpe": 0.9511,
    "beats_qqq": false
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": false,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.226989,
    "total_return": 6.438805,
    "daily_sharpe": 0.744714,
    "volatility": 0.368501,
    "mdd": -0.529267
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-06-11",
    "recovered": "2021-02-08",
    "trades_peak_to_trough": 4
   },
   "calendar": {
    "2017": 0.648553,
    "2018": -0.109801,
    "2019": 0.56396,
    "2020": 0.018599,
    "2021": 0.986385,
    "2022": -0.426965,
    "2023": 0.187529,
    "2024": 0.635509,
    "2025": 0.220094,
    "2026": 0.179641
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.219911,
    "total_return": 6.032203,
    "daily_sharpe": 0.728699,
    "volatility": 0.36874,
    "mdd": -0.533341
   },
   "timing": {
    "time_in_market": 0.835089,
    "switches_per_year": 2.85,
    "in_spells": 15,
    "out_spells": 14,
    "median_out_days": 12.0,
    "out_spells_etf_rose": 12,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-10-25",
      "days": 456,
      "etf_return": 0.600675
     },
     {
      "in_market": false,
      "signal": "2018-10-24",
      "start": "2018-10-25",
      "end": "2018-11-08",
      "days": 10,
      "etf_return": 0.110915
     },
     {
      "in_market": true,
      "signal": "2018-11-07",
      "start": "2018-11-08",
      "end": "2018-11-15",
      "days": 5,
      "etf_return": -0.08035
     },
     {
      "in_market": false,
      "signal": "2018-11-14",
      "start": "2018-11-15",
      "end": "2018-12-04",
      "days": 12,
      "etf_return": -0.03936
     },
     {
      "in_market": true,
      "signal": "2018-12-03",
      "start": "2018-12-04",
      "end": "2018-12-06",
      "days": 1,
      "etf_return": -0.006303
     },
     {
      "in_market": false,
      "signal": "2018-12-04",
      "start": "2018-12-06",
      "end": "2019-02-14",
      "days": 47,
      "etf_return": 0.025405
     },
     {
      "in_market": true,
      "signal": "2019-02-13",
      "start": "2019-02-14",
      "end": "2020-02-28",
      "days": 261,
      "etf_return": 0.189496
     },
     {
      "in_market": false,
      "signal": "2020-02-27",
      "start": "2020-02-28",
      "end": "2020-03-03",
      "days": 2,
      "etf_return": 0.025843
     },
     {
      "in_market": true,
      "signal": "2020-03-02",
      "start": "2020-03-03",
      "end": "2020-03-09",
      "days": 4,
      "etf_return": -0.262505
     },
     {
      "in_market": false,
      "signal": "2020-03-06",
      "start": "2020-03-09",
      "end": "2020-05-28",
      "days": 56,
      "etf_return": 0.053892
     },
     {
      "in_market": true,
      "signal": "2020-05-27",
      "start": "2020-05-28",
      "end": "2022-01-26",
      "days": 420,
      "etf_return": 1.714867
     },
     {
      "in_market": false,
      "signal": "2022-01-25",
      "start": "2022-01-26",
      "end": "2022-02-01",
      "days": 4,
      "etf_return": 0.138368
     },
     {
      "in_market": true,
      "signal": "2022-01-31",
      "start": "2022-02-01",
      "end": "2022-02-18",
      "days": 13,
      "etf_return": -0.127802
     },
     {
      "in_market": false,
      "signal": "2022-02-17",
      "start": "2022-02-18",
      "end": "2022-03-23",
      "days": 22,
      "etf_return": 0.058496
     },
     {
      "in_market": true,
      "signal": "2022-03-22",
      "start": "2022-03-23",
      "end": "2022-04-12",
      "days": 14,
      "etf_return": -0.042149
     },
     {
      "in_market": false,
      "signal": "2022-04-11",
      "start": "2022-04-12",
      "end": "2022-12-01",
      "days": 161,
      "etf_return": -0.310958
     },
     {
      "in_market": true,
      "signal": "2022-11-30",
      "start": "2022-12-01",
      "end": "2022-12-07",
      "days": 4,
      "etf_return": -0.103932
     },
     {
      "in_market": false,
      "signal": "2022-12-06",
      "start": "2022-12-07",
      "end": "2023-01-17",
      "days": 26,
      "etf_return": 0.026921
     },
     {
      "in_market": true,
      "signal": "2023-01-13",
      "start": "2023-01-17",
      "end": "2023-01-20",
      "days": 3,
      "etf_return": -0.018858
     },
     {
      "in_market": false,
      "signal": "2023-01-19",
      "start": "2023-01-20",
      "end": "2023-01-24",
      "days": 2,
      "etf_return": 0.032869
     },
     {
      "in_market": true,
      "signal": "2023-01-23",
      "start": "2023-01-24",
      "end": "2023-03-13",
      "days": 33,
      "etf_return": -0.131607
     },
     {
      "in_market": false,
      "signal": "2023-03-10",
      "start": "2023-03-13",
      "end": "2023-03-17",
      "days": 4,
      "etf_return": 0.046894
     },
     {
      "in_market": true,
      "signal": "2023-03-16",
      "start": "2023-03-17",
      "end": "2023-10-27",
      "days": 155,
      "etf_return": 0.074419
     },
     {
      "in_market": false,
      "signal": "2023-10-26",
      "start": "2023-10-27",
      "end": "2023-11-03",
      "days": 5,
      "etf_return": 0.179872
     },
     {
      "in_market": true,
      "signal": "2023-11-02",
      "start": "2023-11-03",
      "end": "2025-03-11",
      "days": 336,
      "etf_return": 0.743162
     },
     {
      "in_market": false,
      "signal": "2025-03-10",
      "start": "2025-03-11",
      "end": "2025-05-13",
      "days": 44,
      "etf_return": 0.088693
     },
     {
      "in_market": true,
      "signal": "2025-05-12",
      "start": "2025-05-13",
      "end": "2026-03-23",
      "days": 215,
      "etf_return": 0.271982
     },
     {
      "in_market": false,
      "signal": "2026-03-20",
      "start": "2026-03-23",
      "end": "2026-04-09",
      "days": 12,
      "etf_return": 0.103725
     },
     {
      "in_market": true,
      "signal": "2026-04-08",
      "start": "2026-04-09",
      "end": "2026-10-27",
      "days": 139,
      "etf_return": 0.360554
     }
    ]
   }
  },
  "soxl_200ma": {
   "rule": "soxl_200ma",
   "params": [
    200,
    0.01
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.8376,
    "qqq_sharpe": 0.9488,
    "beats_qqq": false
   },
   "grid": [
    {
     "params": [
      150,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7499,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      150,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7621,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      150,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8133,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8446,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8376,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      200,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9372,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.0
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8457,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.01
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8218,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      250,
      0.02
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8424,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 0,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1832,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.5571,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.8286,
    "qqq_sharpe": 0.9511,
    "beats_qqq": false
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": false,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.409477,
    "total_return": 27.987871,
    "daily_sharpe": 0.837618,
    "volatility": 0.839447,
    "mdd": -0.839086
   },
   "drawdown": {
    "peak": "2024-07-10",
    "trough": "2025-02-24",
    "recovered": "2026-04-24",
    "trades_peak_to_trough": 13
   },
   "calendar": {
    "2017": 1.388987,
    "2018": -0.028523,
    "2019": 1.193905,
    "2020": 0.832997,
    "2021": 1.188348,
    "2022": -0.627052,
    "2023": 0.98105,
    "2024": -0.386709,
    "2025": 0.303931,
    "2026": 1.402197
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.398936,
    "total_return": 25.95478,
    "daily_sharpe": 0.828641,
    "volatility": 0.839645,
    "mdd": -0.843446
   },
   "timing": {
    "time_in_market": 0.806726,
    "switches_per_year": 3.67,
    "in_spells": 19,
    "out_spells": 18,
    "median_out_days": 5.0,
    "out_spells_etf_rose": 13,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-10-08",
      "days": 443,
      "etf_return": 1.309533
     },
     {
      "in_market": false,
      "signal": "2018-10-05",
      "start": "2018-10-08",
      "end": "2019-02-07",
      "days": 83,
      "etf_return": -0.134964
     },
     {
      "in_market": true,
      "signal": "2019-02-06",
      "start": "2019-02-07",
      "end": "2019-06-03",
      "days": 79,
      "etf_return": -0.062706
     },
     {
      "in_market": false,
      "signal": "2019-05-31",
      "start": "2019-06-03",
      "end": "2019-06-05",
      "days": 2,
      "etf_return": 0.105189
     },
     {
      "in_market": true,
      "signal": "2019-06-04",
      "start": "2019-06-05",
      "end": "2020-03-10",
      "days": 192,
      "etf_return": 0.500216
     },
     {
      "in_market": false,
      "signal": "2020-03-09",
      "start": "2020-03-10",
      "end": "2020-03-11",
      "days": 1,
      "etf_return": -0.169074
     },
     {
      "in_market": true,
      "signal": "2020-03-10",
      "start": "2020-03-11",
      "end": "2020-03-12",
      "days": 1,
      "etf_return": -0.304703
     },
     {
      "in_market": false,
      "signal": "2020-03-11",
      "start": "2020-03-12",
      "end": "2020-04-15",
      "days": 23,
      "etf_return": 0.145082
     },
     {
      "in_market": true,
      "signal": "2020-04-14",
      "start": "2020-04-15",
      "end": "2020-04-22",
      "days": 5,
      "etf_return": 0.033419
     },
     {
      "in_market": false,
      "signal": "2020-04-21",
      "start": "2020-04-22",
      "end": "2020-04-23",
      "days": 1,
      "etf_return": -0.024876
     },
     {
      "in_market": true,
      "signal": "2020-04-22",
      "start": "2020-04-23",
      "end": "2022-01-26",
      "days": 444,
      "etf_return": 4.379533
     },
     {
      "in_market": false,
      "signal": "2022-01-25",
      "start": "2022-01-26",
      "end": "2022-02-01",
      "days": 4,
      "etf_return": 0.089981
     },
     {
      "in_market": true,
      "signal": "2022-01-31",
      "start": "2022-02-01",
      "end": "2022-02-14",
      "days": 9,
      "etf_return": -0.137661
     },
     {
      "in_market": false,
      "signal": "2022-02-11",
      "start": "2022-02-14",
      "end": "2022-02-16",
      "days": 2,
      "etf_return": 0.164435
     },
     {
      "in_market": true,
      "signal": "2022-02-15",
      "start": "2022-02-16",
      "end": "2022-02-23",
      "days": 4,
      "etf_return": -0.221041
     },
     {
      "in_market": false,
      "signal": "2022-02-22",
      "start": "2022-02-23",
      "end": "2022-02-28",
      "days": 3,
      "etf_return": 0.142022
     },
     {
      "in_market": true,
      "signal": "2022-02-25",
      "start": "2022-02-28",
      "end": "2022-03-02",
      "days": 2,
      "etf_return": -0.021702
     },
     {
      "in_market": false,
      "signal": "2022-03-01",
      "start": "2022-03-02",
      "end": "2022-03-25",
      "days": 17,
      "etf_return": 0.047298
     },
     {
      "in_market": true,
      "signal": "2022-03-24",
      "start": "2022-03-25",
      "end": "2022-04-04",
      "days": 6,
      "etf_return": -0.096406
     },
     {
      "in_market": false,
      "signal": "2022-04-01",
      "start": "2022-04-04",
      "end": "2023-01-12",
      "days": 195,
      "etf_return": -0.659443
     },
     {
      "in_market": true,
      "signal": "2023-01-11",
      "start": "2023-01-12",
      "end": "2023-10-26",
      "days": 198,
      "etf_return": 0.154572
     },
     {
      "in_market": false,
      "signal": "2023-10-25",
      "start": "2023-10-26",
      "end": "2023-11-03",
      "days": 6,
      "etf_return": 0.247794
     },
     {
      "in_market": true,
      "signal": "2023-11-02",
      "start": "2023-11-03",
      "end": "2024-08-06",
      "days": 188,
      "etf_return": 0.563741
     },
     {
      "in_market": false,
      "signal": "2024-08-05",
      "start": "2024-08-06",
      "end": "2024-08-09",
      "days": 3,
      "etf_return": 0.085024
     },
     {
      "in_market": true,
      "signal": "2024-08-08",
      "start": "2024-08-09",
      "end": "2024-09-06",
      "days": 19,
      "etf_return": -0.162851
     },
     {
      "in_market": false,
      "signal": "2024-09-05",
      "start": "2024-09-06",
      "end": "2024-09-12",
      "days": 4,
      "etf_return": 0.225347
     },
     {
      "in_market": true,
      "signal": "2024-09-11",
      "start": "2024-09-12",
      "end": "2024-11-01",
      "days": 36,
      "etf_return": -0.029162
     },
     {
      "in_market": false,
      "signal": "2024-10-31",
      "start": "2024-11-01",
      "end": "2024-11-07",
      "days": 4,
      "etf_return": 0.174505
     },
     {
      "in_market": true,
      "signal": "2024-11-06",
      "start": "2024-11-07",
      "end": "2024-11-13",
      "days": 4,
      "etf_return": -0.180061
     },
     {
      "in_market": false,
      "signal": "2024-11-12",
      "start": "2024-11-13",
      "end": "2025-01-07",
      "days": 36,
      "etf_return": 0.051899
     },
     {
      "in_market": true,
      "signal": "2025-01-06",
      "start": "2025-01-07",
      "end": "2025-01-10",
      "days": 2,
      "etf_return": -0.099197
     },
     {
      "in_market": false,
      "signal": "2025-01-08",
      "start": "2025-01-10",
      "end": "2025-01-21",
      "days": 6,
      "etf_return": 0.200641
     },
     {
      "in_market": true,
      "signal": "2025-01-17",
      "start": "2025-01-21",
      "end": "2025-01-28",
      "days": 5,
      "etf_return": -0.246958
     },
     {
      "in_market": false,
      "signal": "2025-01-27",
      "start": "2025-01-28",
      "end": "2025-02-20",
      "days": 16,
      "etf_return": 0.249507
     },
     {
      "in_market": true,
      "signal": "2025-02-19",
      "start": "2025-02-20",
      "end": "2025-02-24",
      "days": 2,
      "etf_return": -0.155836
     },
     {
      "in_market": false,
      "signal": "2025-02-21",
      "start": "2025-02-24",
      "end": "2025-06-05",
      "days": 71,
      "etf_return": -0.29487
     },
     {
      "in_market": true,
      "signal": "2025-06-04",
      "start": "2025-06-05",
      "end": "2026-10-27",
      "days": 350,
      "etf_return": 4.384409
     }
    ]
   }
  },
  "qqq_golden_cross": {
   "rule": "qqq_golden_cross",
   "params": [
    50,
    200
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.9882,
    "qqq_sharpe": 0.9488,
    "beats_qqq": true
   },
   "grid": [
    {
     "params": [
      40,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8961,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      40,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.0243,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      40,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 1.013,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      50,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8488,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      50,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9882,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      50,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9796,
     "qqq_sharpe": 0.9488,
     "beats_qqq": true
    },
    {
     "params": [
      60,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8728,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      60,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9298,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      60,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.9333,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 4,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1184,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.8609,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.9792,
    "qqq_sharpe": 0.9511,
    "beats_qqq": true
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": true,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.191301,
    "total_return": 4.568628,
    "daily_sharpe": 0.988207,
    "volatility": 0.197385,
    "mdd": -0.285594
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-03-16",
    "recovered": "2020-07-06",
    "trades_peak_to_trough": 0
   },
   "calendar": {
    "2017": 0.307771,
    "2018": 0.079109,
    "2019": 0.177315,
    "2020": 0.38233,
    "2021": 0.274203,
    "2022": -0.127757,
    "2023": 0.42971,
    "2024": 0.255764,
    "2025": 0.031471,
    "2026": 0.178033
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.189318,
    "total_return": 4.480982,
    "daily_sharpe": 0.979211,
    "volatility": 0.197491,
    "mdd": -0.285813
   },
   "timing": {
    "time_in_market": 0.839951,
    "switches_per_year": 0.82,
    "in_spells": 5,
    "out_spells": 4,
    "median_out_days": 63.0,
    "out_spells_etf_rose": 3,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-12-06",
      "days": 484,
      "etf_return": 0.409069
     },
     {
      "in_market": false,
      "signal": "2018-12-04",
      "start": "2018-12-06",
      "end": "2019-04-02",
      "days": 79,
      "etf_return": 0.100117
     },
     {
      "in_market": true,
      "signal": "2019-04-01",
      "start": "2019-04-02",
      "end": "2020-05-04",
      "days": 274,
      "etf_return": 0.187863
     },
     {
      "in_market": false,
      "signal": "2020-05-01",
      "start": "2020-05-04",
      "end": "2020-05-20",
      "days": 12,
      "etf_return": 0.075132
     },
     {
      "in_market": true,
      "signal": "2020-05-19",
      "start": "2020-05-20",
      "end": "2022-03-03",
      "days": 450,
      "etf_return": 0.493706
     },
     {
      "in_market": false,
      "signal": "2022-03-02",
      "start": "2022-03-03",
      "end": "2023-03-13",
      "days": 257,
      "etf_return": -0.144435
     },
     {
      "in_market": true,
      "signal": "2023-03-10",
      "start": "2023-03-13",
      "end": "2025-04-15",
      "days": 525,
      "etf_return": 0.598115
     },
     {
      "in_market": false,
      "signal": "2025-04-14",
      "start": "2025-04-15",
      "end": "2025-06-24",
      "days": 47,
      "etf_return": 0.179895
     },
     {
      "in_market": true,
      "signal": "2025-06-23",
      "start": "2025-06-24",
      "end": "2026-10-27",
      "days": 338,
      "etf_return": 0.343956
     }
    ]
   }
  },
  "spy_golden_cross": {
   "rule": "spy_golden_cross",
   "params": [
    50,
    200
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.7339,
    "qqq_sharpe": 0.9488,
    "beats_qqq": false
   },
   "grid": [
    {
     "params": [
      40,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7641,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      40,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8127,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      40,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8399,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      50,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7837,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      50,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7339,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      50,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.8,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      60,
      150
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7178,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      60,
      200
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7315,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      60,
      250
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.7553,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 0,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.6471,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.8723,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.7222,
    "qqq_sharpe": 0.9511,
    "beats_qqq": false
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": false,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.106188,
    "total_return": 1.691219,
    "daily_sharpe": 0.733853,
    "volatility": 0.154135,
    "mdd": -0.336999
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-03-23",
    "recovered": "2021-06-28",
    "trades_peak_to_trough": 0
   },
   "calendar": {
    "2017": 0.200621,
    "2018": 0.008527,
    "2019": 0.173594,
    "2020": -0.085289,
    "2021": 0.287441,
    "2022": -0.058434,
    "2023": 0.192826,
    "2024": 0.248851,
    "2025": 0.007951,
    "2026": 0.137492
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.104315,
    "total_return": 1.647584,
    "daily_sharpe": 0.722215,
    "volatility": 0.154281,
    "mdd": -0.337275
   },
   "timing": {
    "time_in_market": 0.83752,
    "switches_per_year": 0.82,
    "in_spells": 5,
    "out_spells": 4,
    "median_out_days": 67.5,
    "out_spells_etf_rose": 3,
    "spells": [
     {
      "in_market": true,
      "signal": "2017-01-03",
      "start": "2017-01-04",
      "end": "2018-12-13",
      "days": 489,
      "etf_return": 0.209535
     },
     {
      "in_market": false,
      "signal": "2018-12-12",
      "start": "2018-12-13",
      "end": "2019-03-27",
      "days": 70,
      "etf_return": 0.064743
     },
     {
      "in_market": true,
      "signal": "2019-03-26",
      "start": "2019-03-27",
      "end": "2020-04-01",
      "days": 256,
      "etf_return": -0.101568
     },
     {
      "in_market": false,
      "signal": "2020-03-31",
      "start": "2020-04-01",
      "end": "2020-07-06",
      "days": 65,
      "etf_return": 0.293737
     },
     {
      "in_market": true,
      "signal": "2020-07-02",
      "start": "2020-07-06",
      "end": "2022-03-17",
      "days": 429,
      "etf_return": 0.421649
     },
     {
      "in_market": false,
      "signal": "2022-03-16",
      "start": "2022-03-17",
      "end": "2023-01-27",
      "days": 217,
      "etf_return": -0.065273
     },
     {
      "in_market": true,
      "signal": "2023-01-26",
      "start": "2023-01-27",
      "end": "2025-04-17",
      "days": 557,
      "etf_return": 0.338362
     },
     {
      "in_market": false,
      "signal": "2025-04-16",
      "start": "2025-04-17",
      "end": "2025-06-30",
      "days": 49,
      "etf_return": 0.177183
     },
     {
      "in_market": true,
      "signal": "2025-06-27",
      "start": "2025-06-30",
      "end": "2026-10-27",
      "days": 334,
      "etf_return": 0.262599
     }
    ]
   }
  },
  "upro_tmf": {
   "rule": "upro_tmf",
   "params": [
    0.55,
    "Q"
   ],
   "full": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "sharpe": 0.5768,
    "qqq_sharpe": 0.9488,
    "beats_qqq": false
   },
   "grid": [
    {
     "params": [
      0.45,
      "M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.3859,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.45,
      "Q"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.4483,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.45,
      "6M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.3439,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.55,
      "M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.5137,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.55,
      "Q"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.5768,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.55,
      "6M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.4705,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.65,
      "M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.6099,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.65,
      "Q"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.6705,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    },
    {
     "params": [
      0.65,
      "6M"
     ],
     "start": "2017-01-04",
     "end": "2026-10-27",
     "sharpe": 0.5741,
     "qqq_sharpe": 0.9488,
     "beats_qqq": false
    }
   ],
   "grid_wins": 0,
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.3175,
     "qqq_sharpe": 1.2301,
     "beats_qqq": true
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": -0.0068,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ],
   "cost": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "sharpe": 0.5748,
    "qqq_sharpe": 0.9511,
    "beats_qqq": false
   },
   "passed": {
    "neighbours": false,
    "halves": false,
    "costs": false,
    "all": false
   },
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.144591,
    "total_return": 2.761336,
    "daily_sharpe": 0.576842,
    "volatility": 0.329384,
    "mdd": -0.707146
   },
   "drawdown": {
    "peak": "2021-12-27",
    "trough": "2023-10-27",
    "recovered": null
   },
   "calendar": {
    "2017": 0.434753,
    "2018": -0.13142,
    "2019": 0.771886,
    "2020": 0.800697,
    "2021": 0.393658,
    "2022": -0.640573,
    "2023": 0.288652,
    "2024": 0.136886,
    "2025": 0.179605,
    "2026": 0.092756
   },
   "cost_stats": {
    "start": "2017-01-03",
    "end": "2026-10-27",
    "cagr": 0.143811,
    "total_return": 2.73764,
    "daily_sharpe": 0.574751,
    "volatility": 0.329334,
    "mdd": -0.707404
   }
  }
 },
 "reference": {
  "QQQ": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.208539,
    "total_return": 5.411414,
    "daily_sharpe": 0.948823,
    "volatility": 0.22751,
    "mdd": -0.351225
   },
   "drawdown": {
    "peak": "2021-12-27",
    "trough": "2022-11-03",
    "recovered": "2023-12-13"
   },
   "calendar": {
    "2017": 0.307771,
    "2018": -0.001163,
    "2019": 0.389598,
    "2020": 0.486188,
    "2021": 0.274203,
    "2022": -0.325786,
    "2023": 0.548527,
    "2024": 0.255764,
    "2025": 0.207657,
    "2026": 0.178033
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.2301,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.6925,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "SPY": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.15052,
    "total_return": 2.956897,
    "daily_sharpe": 0.868132,
    "volatility": 0.180833,
    "mdd": -0.336999
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-03-23",
    "recovered": "2020-08-10"
   },
   "calendar": {
    "2017": 0.200621,
    "2018": -0.045571,
    "2019": 0.312218,
    "2020": 0.183732,
    "2021": 0.287441,
    "2022": -0.181717,
    "2023": 0.261895,
    "2024": 0.248851,
    "2025": 0.177151,
    "2026": 0.137492
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.9417,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.8027,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ]
  },
  "TQQQ": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.39626,
    "total_return": 25.428799,
    "daily_sharpe": 0.83788,
    "volatility": 0.673346,
    "mdd": -0.816547
   },
   "drawdown": {
    "peak": "2021-11-19",
    "trough": "2022-12-28",
    "recovered": "2024-12-11"
   },
   "calendar": {
    "2017": 1.094203,
    "2018": -0.198052,
    "2019": 1.338615,
    "2020": 1.100743,
    "2021": 0.829743,
    "2022": -0.790856,
    "2023": 1.930636,
    "2024": 0.571948,
    "2025": 0.343562,
    "2026": 0.352347
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1746,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.5313,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "QLD": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.331207,
    "total_return": 15.550633,
    "daily_sharpe": 0.859641,
    "volatility": 0.45484,
    "mdd": -0.636679
   },
   "drawdown": {
    "peak": "2021-11-19",
    "trough": "2022-12-28",
    "recovered": "2024-05-24"
   },
   "calendar": {
    "2017": 0.65383,
    "2018": -0.082411,
    "2019": 0.817095,
    "2020": 0.888659,
    "2021": 0.54656,
    "2022": -0.605162,
    "2023": 1.177455,
    "2024": 0.428121,
    "2025": 0.303571,
    "2026": 0.283836
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1729,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.5721,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "UPRO": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.278522,
    "total_return": 10.137271,
    "daily_sharpe": 0.730639,
    "volatility": 0.541802,
    "mdd": -0.768044
   },
   "drawdown": {
    "peak": "2020-02-19",
    "trough": "2020-03-23",
    "recovered": "2021-01-08"
   },
   "calendar": {
    "2017": 0.648553,
    "2018": -0.251531,
    "2019": 1.023408,
    "2020": 0.100599,
    "2021": 0.986385,
    "2022": -0.568347,
    "2023": 0.685804,
    "2024": 0.635509,
    "2025": 0.318871,
    "2026": 0.299957
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.8565,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.6057,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "SOXL": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.401884,
    "total_return": 26.491795,
    "daily_sharpe": 0.851919,
    "volatility": 1.040943,
    "mdd": -0.904589
   },
   "drawdown": {
    "peak": "2021-12-27",
    "trough": "2022-10-14",
    "recovered": "2026-02-25"
   },
   "calendar": {
    "2017": 1.388987,
    "2018": -0.390908,
    "2019": 2.321064,
    "2020": 0.700078,
    "2021": 1.188348,
    "2022": -0.856597,
    "2023": 2.269755,
    "2024": -0.123409,
    "2025": 0.548685,
    "2026": 1.402197
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1035,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.6702,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "SOXX": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.305405,
    "total_return": 12.659297,
    "daily_sharpe": 0.935207,
    "volatility": 0.352181,
    "mdd": -0.457516
   },
   "drawdown": {
    "peak": "2021-12-27",
    "trough": "2022-10-14",
    "recovered": "2023-12-13"
   },
   "calendar": {
    "2017": 0.393994,
    "2018": -0.064781,
    "2019": 0.624435,
    "2020": 0.527249,
    "2021": 0.440959,
    "2022": -0.350874,
    "2023": 0.671298,
    "2024": 0.129246,
    "2025": 0.4073,
    "2026": 0.699936
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 1.1589,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 0.7755,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ]
  },
  "TMF": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": -0.153836,
    "total_return": -0.805756,
    "daily_sharpe": -0.164346,
    "volatility": 0.436978,
    "mdd": -0.942518
   },
   "drawdown": {
    "peak": "2020-03-09",
    "trough": "2026-10-05",
    "recovered": null
   },
   "calendar": {
    "2017": 0.200156,
    "2018": -0.110131,
    "2019": 0.347402,
    "2020": 0.389622,
    "2021": -0.198044,
    "2022": -0.725908,
    "2023": -0.129725,
    "2024": -0.359303,
    "2025": -0.029865,
    "2026": -0.183038
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.4751,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": -0.7492,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "TLT": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": -0.010714,
    "total_return": -0.100277,
    "daily_sharpe": 0.00128,
    "volatility": 0.14832,
    "mdd": -0.483499
   },
   "drawdown": {
    "peak": "2020-08-04",
    "trough": "2023-10-19",
    "recovered": null
   },
   "calendar": {
    "2017": 0.082996,
    "2018": -0.016077,
    "2019": 0.141206,
    "2020": 0.181521,
    "2021": -0.046023,
    "2022": -0.312447,
    "2023": 0.027672,
    "2024": -0.080585,
    "2025": 0.042473,
    "2026": -0.030741
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 0.5586,
     "qqq_sharpe": 1.2301,
     "beats_qqq": false
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": -0.5096,
     "qqq_sharpe": 0.6925,
     "beats_qqq": false
    }
   ]
  },
  "BIL": {
   "stats": {
    "start": "2017-01-04",
    "end": "2026-10-27",
    "cagr": 0.023671,
    "total_return": 0.257975,
    "daily_sharpe": 9.34825,
    "volatility": 0.002509,
    "mdd": -0.002082
   },
   "drawdown": {
    "peak": "2020-03-20",
    "trough": "2022-02-14",
    "recovered": "2022-08-02"
   },
   "calendar": {
    "2017": 0.006438,
    "2018": 0.017375,
    "2019": 0.020321,
    "2020": 0.003988,
    "2021": -0.000983,
    "2022": 0.014046,
    "2023": 0.049437,
    "2024": 0.05191,
    "2025": 0.041481,
    "2026": 0.029727
   },
   "halves": [
    {
     "start": "2017-01-04",
     "end": "2021-11-30",
     "sharpe": 4.4664,
     "qqq_sharpe": 1.2301,
     "beats_qqq": true
    },
    {
     "start": "2021-12-01",
     "end": "2026-10-27",
     "sharpe": 14.6815,
     "qqq_sharpe": 0.6925,
     "beats_qqq": true
    }
   ]
  }
 },
 "leverage_check": {
  "TQQQ": {
   "base": "QQQ",
   "leverage": 3,
   "days": 2719,
   "correlation": 0.9989,
   "beta": 2.959,
   "mean_daily_gap_bp": -3.1,
   "annual_gap": -0.078007,
   "days_gap_over_2pct": 1,
   "gap_over_2pct_dates": [
    "2020-03-17"
   ],
   "annual_gap_by_year": {
    "2016": -0.02343,
    "2017": -0.037535,
    "2018": -0.065301,
    "2019": -0.060619,
    "2020": -0.070015,
    "2021": -0.025827,
    "2022": -0.076957,
    "2023": -0.143879,
    "2024": -0.134548,
    "2025": -0.116761,
    "2026": -0.109362
   },
   "yearly": {
    "2017": {
     "etf": 1.181132,
     "k_times_base_year": 0.979936,
     "base": 0.326645
    },
    "2018": {
     "etf": -0.198052,
     "k_times_base_year": -0.003488,
     "base": -0.001163
    },
    "2019": {
     "etf": 1.338615,
     "k_times_base_year": 1.168793,
     "base": 0.389598
    },
    "2020": {
     "etf": 1.100743,
     "k_times_base_year": 1.458563,
     "base": 0.486188
    },
    "2021": {
     "etf": 0.829743,
     "k_times_base_year": 0.82261,
     "base": 0.274203
    },
    "2022": {
     "etf": -0.790856,
     "k_times_base_year": -0.977357,
     "base": -0.325786
    },
    "2023": {
     "etf": 1.930636,
     "k_times_base_year": 1.64558,
     "base": 0.548527
    },
    "2024": {
     "etf": 0.571948,
     "k_times_base_year": 0.767293,
     "base": 0.255764
    },
    "2025": {
     "etf": 0.343562,
     "k_times_base_year": 0.622971,
     "base": 0.207657
    },
    "2026": {
     "etf": 0.352347,
     "k_times_base_year": 0.5341,
     "base": 0.178033
    }
   }
  },
  "QLD": {
   "base": "QQQ",
   "leverage": 2,
   "days": 2719,
   "correlation": 0.99927,
   "beta": 1.997,
   "mean_daily_gap_bp": -1.53,
   "annual_gap": -0.038453,
   "days_gap_over_2pct": 1,
   "gap_over_2pct_dates": [
    "2020-03-13"
   ],
   "annual_gap_by_year": {
    "2016": -0.015211,
    "2017": -0.024188,
    "2018": -0.033523,
    "2019": -0.0338,
    "2020": -0.022569,
    "2021": -0.01522,
    "2022": -0.035533,
    "2023": -0.06466,
    "2024": -0.066293,
    "2025": -0.061148,
    "2026": -0.053934
   },
   "yearly": {
    "2017": {
     "etf": 0.699855,
     "k_times_base_year": 0.653291,
     "base": 0.326645
    },
    "2018": {
     "etf": -0.082411,
     "k_times_base_year": -0.002325,
     "base": -0.001163
    },
    "2019": {
     "etf": 0.817095,
     "k_times_base_year": 0.779195,
     "base": 0.389598
    },
    "2020": {
     "etf": 0.888659,
     "k_times_base_year": 0.972375,
     "base": 0.486188
    },
    "2021": {
     "etf": 0.54656,
     "k_times_base_year": 0.548407,
     "base": 0.274203
    },
    "2022": {
     "etf": -0.605162,
     "k_times_base_year": -0.651571,
     "base": -0.325786
    },
    "2023": {
     "etf": 1.177455,
     "k_times_base_year": 1.097053,
     "base": 0.548527
    },
    "2024": {
     "etf": 0.428121,
     "k_times_base_year": 0.511529,
     "base": 0.255764
    },
    "2025": {
     "etf": 0.303571,
     "k_times_base_year": 0.415314,
     "base": 0.207657
    },
    "2026": {
     "etf": 0.283836,
     "k_times_base_year": 0.356067,
     "base": 0.178033
    }
   }
  },
  "UPRO": {
   "base": "SPY",
   "leverage": 3,
   "days": 2719,
   "correlation": 0.99895,
   "beta": 2.993,
   "mean_daily_gap_bp": -2.78,
   "annual_gap": -0.070088,
   "days_gap_over_2pct": 5,
   "gap_over_2pct_dates": [
    "2020-03-13",
    "2020-03-16",
    "2020-03-17",
    "2025-04-09",
    "2025-04-10"
   ],
   "annual_gap_by_year": {
    "2016": -0.019847,
    "2017": -0.037773,
    "2018": -0.062887,
    "2019": -0.063572,
    "2020": -0.032092,
    "2021": -0.021527,
    "2022": -0.064499,
    "2023": -0.126754,
    "2024": -0.12711,
    "2025": -0.118928,
    "2026": -0.102511
   },
   "yearly": {
    "2017": {
     "etf": 0.713866,
     "k_times_base_year": 0.65101,
     "base": 0.217003
    },
    "2018": {
     "etf": -0.251531,
     "k_times_base_year": -0.136712,
     "base": -0.045571
    },
    "2019": {
     "etf": 1.023408,
     "k_times_base_year": 0.936653,
     "base": 0.312218
    },
    "2020": {
     "etf": 0.100599,
     "k_times_base_year": 0.551196,
     "base": 0.183732
    },
    "2021": {
     "etf": 0.986385,
     "k_times_base_year": 0.862323,
     "base": 0.287441
    },
    "2022": {
     "etf": -0.568347,
     "k_times_base_year": -0.545151,
     "base": -0.181717
    },
    "2023": {
     "etf": 0.685804,
     "k_times_base_year": 0.785686,
     "base": 0.261895
    },
    "2024": {
     "etf": 0.635509,
     "k_times_base_year": 0.746554,
     "base": 0.248851
    },
    "2025": {
     "etf": 0.318871,
     "k_times_base_year": 0.531452,
     "base": 0.177151
    },
    "2026": {
     "etf": 0.299957,
     "k_times_base_year": 0.412477,
     "base": 0.137492
    }
   }
  },
  "SOXL": {
   "base": "SOXX",
   "leverage": 3,
   "days": 2719,
   "correlation": 0.99749,
   "beta": 2.952,
   "mean_daily_gap_bp": -3.67,
   "annual_gap": -0.092448,
   "days_gap_over_2pct": 9,
   "gap_over_2pct_dates": [
    "2016-01-06",
    "2020-03-12",
    "2020-03-13",
    "2020-03-16",
    "2020-03-17",
    "2025-04-07",
    "2025-04-08",
    "2026-06-26",
    "2026-06-29"
   ],
   "annual_gap_by_year": {
    "2016": -0.00878,
    "2017": -0.029115,
    "2018": -0.057079,
    "2019": -0.047137,
    "2020": -0.156697,
    "2021": -0.043994,
    "2022": -0.085387,
    "2023": -0.133214,
    "2024": -0.149923,
    "2025": -0.138129,
    "2026": -0.18384
   },
   "yearly": {
    "2017": {
     "etf": 1.414069,
     "k_times_base_year": 1.193227,
     "base": 0.397742
    },
    "2018": {
     "etf": -0.390908,
     "k_times_base_year": -0.194342,
     "base": -0.064781
    },
    "2019": {
     "etf": 2.321064,
     "k_times_base_year": 1.873305,
     "base": 0.624435
    },
    "2020": {
     "etf": 0.700078,
     "k_times_base_year": 1.581748,
     "base": 0.527249
    },
    "2021": {
     "etf": 1.188348,
     "k_times_base_year": 1.322877,
     "base": 0.440959
    },
    "2022": {
     "etf": -0.856597,
     "k_times_base_year": -1.052623,
     "base": -0.350874
    },
    "2023": {
     "etf": 2.269755,
     "k_times_base_year": 2.013893,
     "base": 0.671298
    },
    "2024": {
     "etf": -0.123409,
     "k_times_base_year": 0.387737,
     "base": 0.129246
    },
    "2025": {
     "etf": 0.548685,
     "k_times_base_year": 1.221899,
     "base": 0.4073
    },
    "2026": {
     "etf": 1.402197,
     "k_times_base_year": 2.099808,
     "base": 0.699936
    }
   }
  },
  "TMF": {
   "base": "TLT",
   "leverage": 3,
   "days": 2719,
   "correlation": 0.99754,
   "beta": 2.939,
   "mean_daily_gap_bp": -2.69,
   "annual_gap": -0.067761,
   "days_gap_over_2pct": 4,
   "gap_over_2pct_dates": [
    "2020-02-28",
    "2020-03-16",
    "2020-03-17",
    "2020-03-20"
   ],
   "annual_gap_by_year": {
    "2016": -0.021026,
    "2017": -0.031458,
    "2018": -0.043037,
    "2019": -0.056979,
    "2020": -0.040839,
    "2021": -0.025354,
    "2022": -0.04897,
    "2023": -0.129772,
    "2024": -0.135412,
    "2025": -0.114489,
    "2026": -0.105373
   },
   "yearly": {
    "2017": {
     "etf": 0.227357,
     "k_times_base_year": 0.275442,
     "base": 0.091814
    },
    "2018": {
     "etf": -0.110131,
     "k_times_base_year": -0.048232,
     "base": -0.016077
    },
    "2019": {
     "etf": 0.347402,
     "k_times_base_year": 0.423619,
     "base": 0.141206
    },
    "2020": {
     "etf": 0.389622,
     "k_times_base_year": 0.544562,
     "base": 0.181521
    },
    "2021": {
     "etf": -0.198044,
     "k_times_base_year": -0.138069,
     "base": -0.046023
    },
    "2022": {
     "etf": -0.725908,
     "k_times_base_year": -0.93734,
     "base": -0.312447
    },
    "2023": {
     "etf": -0.129725,
     "k_times_base_year": 0.083016,
     "base": 0.027672
    },
    "2024": {
     "etf": -0.359303,
     "k_times_base_year": -0.241754,
     "base": -0.080585
    },
    "2025": {
     "etf": -0.029865,
     "k_times_base_year": 0.12742,
     "base": 0.042473
    },
    "2026": {
     "etf": -0.183038,
     "k_times_base_year": -0.092222,
     "base": -0.030741
    }
   }
  }
 }
}
