{
 "window": [
  "2017-08-01",
  "2026-10-27"
 ],
 "dividend_window_start": "2021-01-04",
 "screens": {
  "rule_of_40": {
   "params": {
    "threshold": 0.4,
    "min_cap": 2000000000.0
   },
   "mid": "2022-03-15",
   "full": {
    "strategy": {
     "cagr": 0.17459864113871482,
     "sharpe": 0.6715193699804632,
     "monthly_sortino": 1.3262527262143202,
     "max_drawdown": -0.530506249970133,
     "volatility": 0.31371665855129827
    },
    "qqq": {
     "cagr": 0.19888184642616413,
     "sharpe": 0.8969624147131398,
     "monthly_sortino": 1.7698052492009857,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23315449902366298
    },
    "beats_qqq": false
   },
   "first_half": {
    "strategy": {
     "cagr": 0.24752378344464332,
     "sharpe": 0.8749382023488367,
     "monthly_sortino": 1.7095350772394935,
     "max_drawdown": -0.3971183165209141,
     "volatility": 0.30731323248673803
    },
    "qqq": {
     "cagr": 0.20455870896801387,
     "sharpe": 0.8992573946739738,
     "monthly_sortino": 1.884616389300686,
     "max_drawdown": -0.2855937209891132,
     "volatility": 0.23914740042157165
    },
    "beats_qqq": false
   },
   "second_half": {
    "strategy": {
     "cagr": 0.10593640463940401,
     "sharpe": 0.4756349838491573,
     "monthly_sortino": 0.6445597437863615,
     "max_drawdown": -0.3771758768376482,
     "volatility": 0.32010393507587226
    },
    "qqq": {
     "cagr": 0.19323173788814918,
     "sharpe": 0.8947593367520453,
     "monthly_sortino": 1.4572092819581983,
     "max_drawdown": -0.2956605814973212,
     "volatility": 0.22708467208924515
    },
    "beats_qqq": false
   },
   "cost_0.1pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.1719200962505214,
      "sharpe": 0.6642005530452688,
      "monthly_sortino": 1.3078267439028177,
      "max_drawdown": -0.531756295795045,
      "volatility": 0.3137346162702998
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.2445430639014079,
      "sharpe": 0.867101715697139,
      "monthly_sortino": 1.6904958148114448,
      "max_drawdown": -0.39768308755431714,
      "volatility": 0.3073355904981996
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.10353490516470476,
      "sharpe": 0.4688075315204192,
      "monthly_sortino": 0.629029952767232,
      "max_drawdown": -0.3786070386424564,
      "volatility": 0.32011782298917046
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "avg_holdings": 49.846846846846844,
   "share_in_cash": 0.0,
   "annual_turnover": 0.8540902960729483,
   "sector": {
    "Technology": 1.0
   },
   "yearly": {
    "2017": 0.0996136679693489,
    "2018": 0.2979331698882677,
    "2019": 0.4477883959986275,
    "2020": 0.7383674908044466,
    "2021": 0.09106542233470827,
    "2022": -0.4280553713731494,
    "2023": 0.43402690271238864,
    "2024": 0.189141156031861,
    "2025": -0.024437157362174666,
    "2026": 0.18580947964822703
   }
  },
  "magic_formula": {
   "params": {
    "n": 30,
    "top": 1000
   },
   "mid": "2022-03-15",
   "full": {
    "strategy": {
     "cagr": 0.14367707271874797,
     "sharpe": 0.7571579322347558,
     "monthly_sortino": 1.3766521612946825,
     "max_drawdown": -0.36205717740051147,
     "volatility": 0.20581162713762532
    },
    "qqq": {
     "cagr": 0.19888184642616413,
     "sharpe": 0.8969624147131398,
     "monthly_sortino": 1.7698052492009857,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23315449902366298
    },
    "beats_qqq": false
   },
   "first_half": {
    "strategy": {
     "cagr": 0.10360933948408602,
     "sharpe": 0.5679199237338648,
     "monthly_sortino": 1.0335382729497296,
     "max_drawdown": -0.36205717740051147,
     "volatility": 0.21435779307491723
    },
    "qqq": {
     "cagr": 0.20455870896801387,
     "sharpe": 0.8992573946739738,
     "monthly_sortino": 1.884616389300686,
     "max_drawdown": -0.2855937209891132,
     "volatility": 0.23914740042157165
    },
    "beats_qqq": false
   },
   "second_half": {
    "strategy": {
     "cagr": 0.18519950843654986,
     "sharpe": 0.9650171416918087,
     "monthly_sortino": 1.6571238510716582,
     "max_drawdown": -0.18337626144150032,
     "volatility": 0.1969326852127053
    },
    "qqq": {
     "cagr": 0.19323173788814918,
     "sharpe": 0.8947593367520453,
     "monthly_sortino": 1.4572092819581983,
     "max_drawdown": -0.2956605814973212,
     "volatility": 0.22708467208924515
    },
    "beats_qqq": true
   },
   "cost_0.1pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.1405195296785431,
      "sharpe": 0.7435221388128047,
      "monthly_sortino": 1.3471584380073034,
      "max_drawdown": -0.3621600805089952,
      "volatility": 0.205874106784518
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.1006415186453864,
      "sharpe": 0.555182219831876,
      "monthly_sortino": 1.0062121208095798,
      "max_drawdown": -0.3621600805089952,
      "volatility": 0.21446057497123014
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.1818423851383555,
      "sharpe": 0.9504708935234734,
      "monthly_sortino": 1.6254773185017624,
      "max_drawdown": -0.18453782259288598,
      "volatility": 0.1969514092310359
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": true
    }
   },
   "avg_holdings": 30.0,
   "share_in_cash": 0.0,
   "annual_turnover": 1.2,
   "sector": {
    "Healthcare": 0.2672672672672673,
    "Technology": 0.19369369369369363,
    "Consumer Cyclical": 0.1366366366366366,
    "Industrials": 0.1279279279279279,
    "Communication Services": 0.1093093093093093,
    "Consumer Defensive": 0.07507507507507505,
    "Energy": 0.06486486486486485,
    "Basic Materials": 0.025225225225225224
   },
   "yearly": {
    "2017": 0.051657045774728294,
    "2018": -0.06760425788271518,
    "2019": 0.22168489598702812,
    "2020": 0.12565951596402347,
    "2021": 0.2177156217911067,
    "2022": -0.058852016621564474,
    "2023": 0.2931448321683363,
    "2024": 0.25585644295352283,
    "2025": 0.15772929438685468,
    "2026": 0.1894320652165229
   }
  },
  "canslim": {
   "params": {
    "growth": 0.25,
    "rs_min": 0.8,
    "near_high": 0.85
   },
   "mid": "2022-03-15",
   "full": {
    "strategy": {
     "cagr": 0.1038245660926802,
     "sharpe": 0.6226061223479314,
     "monthly_sortino": 1.1901207976017827,
     "max_drawdown": -0.28077480529629617,
     "volatility": 0.1874007507134253
    },
    "qqq": {
     "cagr": 0.19888184642616413,
     "sharpe": 0.8969624147131398,
     "monthly_sortino": 1.7698052492009857,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23315449902366298
    },
    "beats_qqq": false
   },
   "first_half": {
    "strategy": {
     "cagr": 0.07809550497026918,
     "sharpe": 0.4859641598898714,
     "monthly_sortino": 0.8619006811189533,
     "max_drawdown": -0.28077480529629617,
     "volatility": 0.19360651766115095
    },
    "qqq": {
     "cagr": 0.20455870896801387,
     "sharpe": 0.8992573946739738,
     "monthly_sortino": 1.884616389300686,
     "max_drawdown": -0.2855937209891132,
     "volatility": 0.23914740042157165
    },
    "beats_qqq": false
   },
   "second_half": {
    "strategy": {
     "cagr": 0.13016765870227287,
     "sharpe": 0.7697293152925396,
     "monthly_sortino": 1.6277368665493865,
     "max_drawdown": -0.1676873280115887,
     "volatility": 0.18103227366248115
    },
    "qqq": {
     "cagr": 0.19323173788814918,
     "sharpe": 0.8947593367520453,
     "monthly_sortino": 1.4572092819581983,
     "max_drawdown": -0.2956605814973212,
     "volatility": 0.22708467208924515
    },
    "beats_qqq": false
   },
   "cost_0.1pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.08192922968901173,
      "sharpe": 0.5155465810286501,
      "monthly_sortino": 0.9522397582079344,
      "max_drawdown": -0.305029015524905,
      "volatility": 0.18731810705966032
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.05539187224223796,
      "sharpe": 0.37591825535450557,
      "monthly_sortino": 0.6501764432968794,
      "max_drawdown": -0.305029015524905,
      "volatility": 0.1936215593909981
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.10913385714115487,
      "sharpe": 0.6659830807088282,
      "monthly_sortino": 1.3480948773813224,
      "max_drawdown": -0.16920965437478708,
      "volatility": 0.18084337748344465
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "avg_holdings": 34.63975155279503,
   "share_in_cash": 0.17805383022774326,
   "annual_turnover": 9.958241338818485,
   "sector": {
    "Technology": 0.19771912775249145,
    "Industrials": 0.1286098478886771,
    "Consumer Cyclical": 0.12708522247409387,
    "Financial Services": 0.11112140635916114,
    "Healthcare": 0.05578460371947289,
    "Energy": 0.05401255485705893,
    "Basic Materials": 0.044695459040897105,
    "Consumer Defensive": 0.0422147465809676,
    "Communication Services": 0.029271956502851356,
    "Real Estate": 0.02485974284372875,
    "Utilities": 0.004445151800419556
   },
   "yearly": {
    "2017": 0.11278648222171417,
    "2018": -0.09242569887483743,
    "2019": 0.03416045216079722,
    "2020": 0.2317196617443107,
    "2021": 0.2352070287384025,
    "2022": -0.13293915311721982,
    "2023": 0.04267582754209531,
    "2024": 0.346930614220176,
    "2025": 0.06874700398173395,
    "2026": 0.20430649016423486
   }
  },
  "graham_number": {
   "params": {
    "multiple": 22.5,
    "top": 1000
   },
   "mid": "2022-03-15",
   "full": {
    "strategy": {
     "cagr": 0.09975506657503175,
     "sharpe": 0.509368880455011,
     "monthly_sortino": 0.7656039038880333,
     "max_drawdown": -0.5655807075854689,
     "volatility": 0.24781146925731792
    },
    "qqq": {
     "cagr": 0.19888184642616413,
     "sharpe": 0.8969624147131398,
     "monthly_sortino": 1.7698052492009857,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23315449902366298
    },
    "beats_qqq": false
   },
   "first_half": {
    "strategy": {
     "cagr": 0.10985623125926325,
     "sharpe": 0.5117768762105,
     "monthly_sortino": 0.7426158102735763,
     "max_drawdown": -0.5655807075854689,
     "volatility": 0.28259198507864164
    },
    "qqq": {
     "cagr": 0.20455870896801387,
     "sharpe": 0.8992573946739738,
     "monthly_sortino": 1.884616389300686,
     "max_drawdown": -0.2855937209891132,
     "volatility": 0.23914740042157165
    },
    "beats_qqq": false
   },
   "second_half": {
    "strategy": {
     "cagr": 0.08974583589549745,
     "sharpe": 0.5200062852154956,
     "monthly_sortino": 0.7768190931925557,
     "max_drawdown": -0.26384332486223794,
     "volatility": 0.20724243101845136
    },
    "qqq": {
     "cagr": 0.19323173788814918,
     "sharpe": 0.8947593367520453,
     "monthly_sortino": 1.4572092819581983,
     "max_drawdown": -0.2956605814973212,
     "volatility": 0.22708467208924515
    },
    "beats_qqq": false
   },
   "cost_0.1pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.09406531997108081,
      "sharpe": 0.4883301404688888,
      "monthly_sortino": 0.7307799369974717,
      "max_drawdown": -0.5693732065093444,
      "volatility": 0.2478637344290207
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.10344042677974241,
      "sharpe": 0.49119887239996624,
      "monthly_sortino": 0.7101674298969132,
      "max_drawdown": -0.5693732065093444,
      "volatility": 0.2826510873124678
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.08476986642284046,
      "sharpe": 0.49776021469042875,
      "monthly_sortino": 0.7362115689695681,
      "max_drawdown": -0.26556442314956596,
      "volatility": 0.2072872414787769
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "avg_holdings": 110.82882882882883,
   "share_in_cash": 0.0,
   "annual_turnover": 2.4777960220185316,
   "sector": {
    "Consumer Cyclical": 0.24674187040099416,
    "Energy": 0.19626885263891491,
    "Industrials": 0.12363535650446399,
    "Basic Materials": 0.10220118452171358,
    "Communication Services": 0.07356159166158999,
    "Healthcare": 0.06663079832089128,
    "Utilities": 0.06548951465164156,
    "Technology": 0.06299197851733643,
    "Consumer Defensive": 0.06247885278245411
   },
   "yearly": {
    "2017": 0.14940363184862782,
    "2018": -0.13120523220142932,
    "2019": 0.17923350816047234,
    "2020": -0.01574903906700087,
    "2021": 0.40660877734920375,
    "2022": -0.03762517726567138,
    "2023": 0.18262294524597156,
    "2024": -0.0018644320514389356,
    "2025": 0.08509419552030861,
    "2026": 0.1977208789146303
   }
  },
  "dividend_growth": {
   "params": {
    "years": 3,
    "top": 500
   },
   "mid": "2023-12-01",
   "full": {
    "strategy": {
     "cagr": 0.1198793659770716,
     "sharpe": 0.8732599540207605,
     "monthly_sortino": 1.4292992972584448,
     "max_drawdown": -0.18414594162318076,
     "volatility": 0.141494549379741
    },
    "qqq": {
     "cagr": 0.1635260388887605,
     "sharpe": 0.7904257224475696,
     "monthly_sortino": 1.432181847036902,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.22382709828097713
    },
    "beats_qqq": true
   },
   "first_half": {
    "strategy": {
     "cagr": 0.08567859038771464,
     "sharpe": 0.6045272763599804,
     "monthly_sortino": 0.9312152172946546,
     "max_drawdown": -0.18414594162318076,
     "volatility": 0.15589827395417216
    },
    "qqq": {
     "cagr": 0.08917615775092025,
     "sharpe": 0.47553763933030163,
     "monthly_sortino": 0.7024230832959466,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23991305709397487
    },
    "beats_qqq": true
   },
   "second_half": {
    "strategy": {
     "cagr": 0.15515752585057085,
     "sharpe": 1.221161613182334,
     "monthly_sortino": 2.0652342108042663,
     "max_drawdown": -0.15320558403843154,
     "volatility": 0.12538900733311426
    },
    "qqq": {
     "cagr": 0.24295122835562744,
     "sharpe": 1.1639060137796386,
     "monthly_sortino": 2.848733185966748,
     "max_drawdown": -0.22770816026576268,
     "volatility": 0.20643269330092343
    },
    "beats_qqq": true
   },
   "cost_0.1pct": {
    "mid": "2023-12-01",
    "full": {
     "strategy": {
      "cagr": 0.11703891387474274,
      "sharpe": 0.8551540805535189,
      "monthly_sortino": 1.3939595644082543,
      "max_drawdown": -0.18565341459179818,
      "volatility": 0.14151433091469948
     },
     "qqq": {
      "cagr": 0.1635260388887605,
      "sharpe": 0.7904257224475696,
      "monthly_sortino": 1.432181847036902,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.22382709828097713
     },
     "beats_qqq": true
    },
    "first_half": {
     "strategy": {
      "cagr": 0.08278802176028122,
      "sharpe": 0.5874880451922667,
      "monthly_sortino": 0.9019536099907826,
      "max_drawdown": -0.18565341459179818,
      "volatility": 0.15588236287536397
     },
     "qqq": {
      "cagr": 0.08917615775092025,
      "sharpe": 0.47553763933030163,
      "monthly_sortino": 0.7024230832959466,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23991305709397487
     },
     "beats_qqq": true
    },
    "second_half": {
     "strategy": {
      "cagr": 0.15237323468167285,
      "sharpe": 1.2012176283207798,
      "monthly_sortino": 2.0177938477837762,
      "max_drawdown": -0.15434564295316622,
      "volatility": 0.1254535711359615
     },
     "qqq": {
      "cagr": 0.24295122835562744,
      "sharpe": 1.1639060137796386,
      "monthly_sortino": 2.848733185966748,
      "max_drawdown": -0.22770816026576268,
      "volatility": 0.20643269330092343
     },
     "beats_qqq": true
    }
   },
   "avg_holdings": 242.44285714285715,
   "share_in_cash": 0.0,
   "annual_turnover": 1.073838130274923,
   "sector": {
    "Financial Services": 0.16997586099250692,
    "Industrials": 0.16562610795389232,
    "Technology": 0.12055679306569153,
    "Healthcare": 0.10376814689171958,
    "Consumer Defensive": 0.09826144487201902,
    "Utilities": 0.08673834890546052,
    "Consumer Cyclical": 0.07391408726943001,
    "Real Estate": 0.06082218768702596,
    "Basic Materials": 0.0576322783081176,
    "Energy": 0.047759438871098216,
    "Communication Services": 0.014945305183038236
   }
  },
  "equal_weight_sp500": {
   "params": {
    "universe": "sp500"
   },
   "mid": "2022-03-15",
   "full": {
    "strategy": {
     "cagr": 0.1140187326524178,
     "sharpe": 0.6651693432741886,
     "monthly_sortino": 1.113777009423882,
     "max_drawdown": -0.3894757478240578,
     "volatility": 0.19001181968139683
    },
    "qqq": {
     "cagr": 0.19888184642616413,
     "sharpe": 0.8969624147131398,
     "monthly_sortino": 1.7698052492009857,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.23315449902366298
    },
    "beats_qqq": false
   },
   "first_half": {
    "strategy": {
     "cagr": 0.12359573872577978,
     "sharpe": 0.6497451257031255,
     "monthly_sortino": 1.1121841888572035,
     "max_drawdown": -0.3894757478240578,
     "volatility": 0.21549359428071296
    },
    "qqq": {
     "cagr": 0.20455870896801387,
     "sharpe": 0.8992573946739738,
     "monthly_sortino": 1.884616389300686,
     "max_drawdown": -0.2855937209891132,
     "volatility": 0.23914740042157165
    },
    "beats_qqq": false
   },
   "second_half": {
    "strategy": {
     "cagr": 0.10452335651246347,
     "sharpe": 0.7022159333380246,
     "monthly_sortino": 1.0186433421351984,
     "max_drawdown": -0.19852073147936167,
     "volatility": 0.16051634611481408
    },
    "qqq": {
     "cagr": 0.19323173788814918,
     "sharpe": 0.8947593367520453,
     "monthly_sortino": 1.4572092819581983,
     "max_drawdown": -0.2956605814973212,
     "volatility": 0.22708467208924515
    },
    "beats_qqq": false
   },
   "cost_0.1pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.11338939788691471,
      "sharpe": 0.6621500415065893,
      "monthly_sortino": 1.1081552168091156,
      "max_drawdown": -0.3894957280881799,
      "volatility": 0.19002669987657553
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.12289133434932986,
      "sharpe": 0.6467822496244915,
      "monthly_sortino": 1.1066018434607143,
      "max_drawdown": -0.3894957280881799,
      "volatility": 0.2155184188643016
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.10396786706463046,
      "sharpe": 0.6990610965221368,
      "monthly_sortino": 1.0129633821342636,
      "max_drawdown": -0.19874600058159186,
      "volatility": 0.1605182480189661
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "avg_holdings": 496.4736842105263,
   "share_in_cash": 0.0,
   "annual_turnover": 0.041084924625216346,
   "sector": {
    "Technology": 0.14728255005564347,
    "Financial Services": 0.1406408369981136,
    "Industrials": 0.1356625464023104,
    "Healthcare": 0.12270749498161286,
    "Consumer Cyclical": 0.1188474092219115,
    "Consumer Defensive": 0.07235011591467194,
    "Real Estate": 0.06197260337260418,
    "Utilities": 0.05866025502230463,
    "Energy": 0.05037671372648382,
    "Basic Materials": 0.047735372981731174,
    "Communication Services": 0.04243353226236527,
    "Unknown": 0.0013305690602469307
   },
   "yearly": {
    "2017": 0.05741656099816028,
    "2018": -0.07674771396194158,
    "2019": 0.2896970905302183,
    "2020": 0.138872690049624,
    "2021": 0.2885855349788773,
    "2022": -0.11384604240309493,
    "2023": 0.14435788842516617,
    "2024": 0.13281317679279314,
    "2025": 0.11254333574898201,
    "2026": 0.14810308501053338
   }
  }
 },
 "qqq": {
  "cagr": 0.19888184642616413,
  "sharpe": 0.8969624147131398,
  "monthly_sortino": 1.7698052492009857,
  "max_drawdown": -0.3512252567482328,
  "volatility": 0.23315449902366298
 },
 "spy": {
  "cagr": 0.14845853158218403,
  "sharpe": 0.8409769709312899,
  "monthly_sortino": 1.5541678891182025,
  "max_drawdown": -0.3369994018254904,
  "volatility": 0.18558105505300274
 },
 "qqq_yearly": {
  "2017": 0.08962052986046909,
  "2018": -0.0011627415613347791,
  "2019": 0.38959762618679905,
  "2020": 0.4861876777698786,
  "2021": 0.27420341265320824,
  "2022": -0.32578563775428326,
  "2023": 0.5485265682512055,
  "2024": 0.255764408069848,
  "2025": 0.20765710906448054,
  "2026": 0.17803326660508012
 },
 "spy_yearly": {
  "2017": 0.08985088727192703,
  "2018": -0.04557062639530007,
  "2019": 0.31221751558576516,
  "2020": 0.18373204309216007,
  "2021": 0.28744101526680943,
  "2022": -0.1817168423811374,
  "2023": 0.26189549683888247,
  "2024": 0.2488514974320546,
  "2025": 0.17715054086752002,
  "2026": 0.13749240432776144
 },
 "grid": {
  "rule_of_40": {
   "rows": [
    {
     "params": {
      "threshold": 0.3,
      "min_cap": 1000000000.0
     },
     "sharpe": 0.6788776224934665,
     "qqq": 0.8969624147131398,
     "first_half": 0.86994670809742,
     "second_half": 0.495800380793887,
     "cagr": 0.17126071688832356,
     "max_drawdown": -0.5165604998270558
    },
    {
     "params": {
      "threshold": 0.3,
      "min_cap": 2000000000.0
     },
     "sharpe": 0.6761598421255458,
     "qqq": 0.8969624147131398,
     "first_half": 0.879273566405143,
     "second_half": 0.4814601158811195,
     "cagr": 0.17127552235316168,
     "max_drawdown": -0.5167685591865414
    },
    {
     "params": {
      "threshold": 0.3,
      "min_cap": 5000000000.0
     },
     "sharpe": 0.6241480729058277,
     "qqq": 0.8969624147131398,
     "first_half": 0.806949619478348,
     "second_half": 0.4494057013059538,
     "cagr": 0.15329524866020505,
     "max_drawdown": -0.5366120258935134
    },
    {
     "params": {
      "threshold": 0.4,
      "min_cap": 1000000000.0
     },
     "sharpe": 0.6642998808904483,
     "qqq": 0.8969624147131398,
     "first_half": 0.8572927134011578,
     "second_half": 0.4789530755298253,
     "cagr": 0.17099953268815993,
     "max_drawdown": -0.5333837773542187
    },
    {
     "params": {
      "threshold": 0.4,
      "min_cap": 2000000000.0
     },
     "sharpe": 0.6715193699804632,
     "qqq": 0.8969624147131398,
     "first_half": 0.8749382023488367,
     "second_half": 0.4756349838491573,
     "cagr": 0.17459864113871482,
     "max_drawdown": -0.530506249970133
    },
    {
     "params": {
      "threshold": 0.4,
      "min_cap": 5000000000.0
     },
     "sharpe": 0.615711912458489,
     "qqq": 0.8969624147131398,
     "first_half": 0.792524018954547,
     "second_half": 0.4469516045964681,
     "cagr": 0.15479692727128036,
     "max_drawdown": -0.5546639386334526
    },
    {
     "params": {
      "threshold": 0.5,
      "min_cap": 1000000000.0
     },
     "sharpe": 0.7428607767522857,
     "qqq": 0.8969624147131398,
     "first_half": 0.9272652088356981,
     "second_half": 0.5597098127271865,
     "cagr": 0.2052510481543166,
     "max_drawdown": -0.5601438038023996
    },
    {
     "params": {
      "threshold": 0.5,
      "min_cap": 2000000000.0
     },
     "sharpe": 0.7232877485929655,
     "qqq": 0.8969624147131398,
     "first_half": 0.9270172354381583,
     "second_half": 0.5198243550109397,
     "cagr": 0.198833900313101,
     "max_drawdown": -0.5672928237925258
    },
    {
     "params": {
      "threshold": 0.5,
      "min_cap": 5000000000.0
     },
     "sharpe": 0.6554978844977566,
     "qqq": 0.8969624147131398,
     "first_half": 0.8649074595074392,
     "second_half": 0.44984718366573406,
     "cagr": 0.174306401945453,
     "max_drawdown": -0.5968907136645256
    }
   ],
   "wins": 0.0,
   "total": 9
  },
  "magic_formula": {
   "rows": [
    {
     "params": {
      "n": 20,
      "top": 500
     },
     "sharpe": 0.7983878709571578,
     "qqq": 0.8969624147131398,
     "first_half": 0.7574232210574231,
     "second_half": 0.8460046922993611,
     "cagr": 0.14552498107572553,
     "max_drawdown": -0.32000682764412824
    },
    {
     "params": {
      "n": 20,
      "top": 1000
     },
     "sharpe": 0.7496921505972747,
     "qqq": 0.8969624147131398,
     "first_half": 0.501055291696595,
     "second_half": 1.028464020934033,
     "cagr": 0.14559222900388513,
     "max_drawdown": -0.35381301336905946
    },
    {
     "params": {
      "n": 20,
      "top": 2000
     },
     "sharpe": 0.4379354354648441,
     "qqq": 0.8969624147131398,
     "first_half": 0.17587191336080957,
     "second_half": 0.6965931343081774,
     "cagr": 0.077024919203879,
     "max_drawdown": -0.3907787192315212
    },
    {
     "params": {
      "n": 30,
      "top": 500
     },
     "sharpe": 0.8860407990073558,
     "qqq": 0.8969624147131398,
     "first_half": 0.7213882207206325,
     "second_half": 1.06854499011459,
     "cagr": 0.16273932764849697,
     "max_drawdown": -0.3252316099578193
    },
    {
     "params": {
      "n": 30,
      "top": 1000
     },
     "sharpe": 0.7571579322347558,
     "qqq": 0.8969624147131398,
     "first_half": 0.5679199237338648,
     "second_half": 0.9650171416918087,
     "cagr": 0.14367707271874797,
     "max_drawdown": -0.36205717740051147
    },
    {
     "params": {
      "n": 30,
      "top": 2000
     },
     "sharpe": 0.5423748041031452,
     "qqq": 0.8969624147131398,
     "first_half": 0.276103057073261,
     "second_half": 0.8246769866757566,
     "cagr": 0.09998199762105431,
     "max_drawdown": -0.37905574313436363
    },
    {
     "params": {
      "n": 50,
      "top": 500
     },
     "sharpe": 0.8806410413202704,
     "qqq": 0.8969624147131398,
     "first_half": 0.7244106804675536,
     "second_half": 1.069936169649399,
     "cagr": 0.16142968521161216,
     "max_drawdown": -0.3435824878146886
    },
    {
     "params": {
      "n": 50,
      "top": 1000
     },
     "sharpe": 0.7074071859537896,
     "qqq": 0.8969624147131398,
     "first_half": 0.4858123564252786,
     "second_half": 0.9596773458086653,
     "cagr": 0.1319573042333826,
     "max_drawdown": -0.38386761592428675
    },
    {
     "params": {
      "n": 50,
      "top": 2000
     },
     "sharpe": 0.5850849864223964,
     "qqq": 0.8969624147131398,
     "first_half": 0.38027206998557933,
     "second_half": 0.80782860069127,
     "cagr": 0.1090441325486502,
     "max_drawdown": -0.4030857624820068
    }
   ],
   "wins": 0.0,
   "total": 9
  },
  "canslim": {
   "rows": [
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.7,
      "near_high": 0.8
     },
     "sharpe": 0.5604460460625491,
     "qqq": 0.8969624147131398,
     "first_half": 0.4528049951991303,
     "second_half": 0.6910766032993807,
     "cagr": 0.08364871541369401,
     "max_drawdown": -0.27591332819030856
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.7,
      "near_high": 0.85
     },
     "sharpe": 0.6119502859925842,
     "qqq": 0.8969624147131398,
     "first_half": 0.4932103099950078,
     "second_half": 0.7612969829796172,
     "cagr": 0.0918311196919872,
     "max_drawdown": -0.2648924202222377
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.7,
      "near_high": 0.9
     },
     "sharpe": 0.6211050458849355,
     "qqq": 0.8969624147131398,
     "first_half": 0.4729547672086143,
     "second_half": 0.8119743785605601,
     "cagr": 0.0912954683964291,
     "max_drawdown": -0.2568884053020909
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.8,
      "near_high": 0.8
     },
     "sharpe": 0.5110267687193375,
     "qqq": 0.8969624147131398,
     "first_half": 0.36681776315169395,
     "second_half": 0.6658074238438366,
     "cagr": 0.08181375324536466,
     "max_drawdown": -0.2787886091527195
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.8,
      "near_high": 0.85
     },
     "sharpe": 0.5504362195627275,
     "qqq": 0.8969624147131398,
     "first_half": 0.3866288066223553,
     "second_half": 0.7315422228050182,
     "cagr": 0.08877130996200866,
     "max_drawdown": -0.27544625063493233
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.8,
      "near_high": 0.9
     },
     "sharpe": 0.5588930840512265,
     "qqq": 0.8969624147131398,
     "first_half": 0.3569426305924204,
     "second_half": 0.7894079161454767,
     "cagr": 0.08885785390026513,
     "max_drawdown": -0.28322223459142826
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.9,
      "near_high": 0.8
     },
     "sharpe": 0.6227960041779099,
     "qqq": 0.8969624147131398,
     "first_half": 0.3980441032519904,
     "second_half": 0.8376860473875765,
     "cagr": 0.12675897263000202,
     "max_drawdown": -0.38860478108206686
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.9,
      "near_high": 0.85
     },
     "sharpe": 0.6943805204231079,
     "qqq": 0.8969624147131398,
     "first_half": 0.4412536043082189,
     "second_half": 0.9440457981761396,
     "cagr": 0.14397521277118286,
     "max_drawdown": -0.37465187757161256
    },
    {
     "params": {
      "growth": 0.2,
      "rs_min": 0.9,
      "near_high": 0.9
     },
     "sharpe": 0.7026778399284925,
     "qqq": 0.8969624147131398,
     "first_half": 0.40472633417661424,
     "second_half": 1.0028450392067938,
     "cagr": 0.14478781602129143,
     "max_drawdown": -0.4056974256332395
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.7,
      "near_high": 0.8
     },
     "sharpe": 0.6262908084232199,
     "qqq": 0.8969624147131398,
     "first_half": 0.5269223207746871,
     "second_half": 0.7439933486076954,
     "cagr": 0.09644662989840458,
     "max_drawdown": -0.28056884407759564
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.7,
      "near_high": 0.85
     },
     "sharpe": 0.6900456716572103,
     "qqq": 0.8969624147131398,
     "first_half": 0.5764920697694572,
     "second_half": 0.8294151306281364,
     "cagr": 0.10681847984731152,
     "max_drawdown": -0.27102221312669694
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.7,
      "near_high": 0.9
     },
     "sharpe": 0.6874987622350375,
     "qqq": 0.8969624147131398,
     "first_half": 0.5412173001011434,
     "second_half": 0.8704524147539392,
     "cagr": 0.10369325165619192,
     "max_drawdown": -0.26280007364362346
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.8,
      "near_high": 0.8
     },
     "sharpe": 0.5762094968793626,
     "qqq": 0.8969624147131398,
     "first_half": 0.4629558857828482,
     "second_half": 0.6946267449478583,
     "cagr": 0.09550632692188477,
     "max_drawdown": -0.2800707255307229
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.8,
      "near_high": 0.85
     },
     "sharpe": 0.6226061223479314,
     "qqq": 0.8969624147131398,
     "first_half": 0.4859641598898714,
     "second_half": 0.7697293152925396,
     "cagr": 0.1038245660926802,
     "max_drawdown": -0.28077480529629617
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.8,
      "near_high": 0.9
     },
     "sharpe": 0.6286601154377164,
     "qqq": 0.8969624147131398,
     "first_half": 0.43628672361268306,
     "second_half": 0.8418274921797894,
     "cagr": 0.10307649877158731,
     "max_drawdown": -0.2886240493219582
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.9,
      "near_high": 0.8
     },
     "sharpe": 0.7153504547200129,
     "qqq": 0.8969624147131398,
     "first_half": 0.5130903898952741,
     "second_half": 0.9065873267190994,
     "cagr": 0.15137664864204958,
     "max_drawdown": -0.38973671276482436
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.9,
      "near_high": 0.85
     },
     "sharpe": 0.7970759161770045,
     "qqq": 0.8969624147131398,
     "first_half": 0.5683068614463552,
     "second_half": 1.0199788172201394,
     "cagr": 0.17120946985224195,
     "max_drawdown": -0.37663965126518806
    },
    {
     "params": {
      "growth": 0.25,
      "rs_min": 0.9,
      "near_high": 0.9
     },
     "sharpe": 0.7854163668393471,
     "qqq": 0.8969624147131398,
     "first_half": 0.4948572782041145,
     "second_half": 1.074135098620181,
     "cagr": 0.16625101685921373,
     "max_drawdown": -0.4140313842958605
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.7,
      "near_high": 0.8
     },
     "sharpe": 0.6164513734734873,
     "qqq": 0.8969624147131398,
     "first_half": 0.5193709840234013,
     "second_half": 0.7292827262088385,
     "cagr": 0.09641320807176168,
     "max_drawdown": -0.28752972166119306
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.7,
      "near_high": 0.85
     },
     "sharpe": 0.6843932268193541,
     "qqq": 0.8969624147131398,
     "first_half": 0.5623199439652136,
     "second_half": 0.830848042990765,
     "cagr": 0.10792942896825286,
     "max_drawdown": -0.28010862778506573
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.7,
      "near_high": 0.9
     },
     "sharpe": 0.6787054818654578,
     "qqq": 0.8969624147131398,
     "first_half": 0.5307693691321194,
     "second_half": 0.86022495924748,
     "cagr": 0.10443057641036924,
     "max_drawdown": -0.28172818582211
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.8,
      "near_high": 0.8
     },
     "sharpe": 0.5789129081446314,
     "qqq": 0.8969624147131398,
     "first_half": 0.4636145349256778,
     "second_half": 0.6985019238173702,
     "cagr": 0.09750714527271787,
     "max_drawdown": -0.2815655513469425
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.8,
      "near_high": 0.85
     },
     "sharpe": 0.6222929716782433,
     "qqq": 0.8969624147131398,
     "first_half": 0.472626182815338,
     "second_half": 0.7817876709820261,
     "cagr": 0.10554354193117654,
     "max_drawdown": -0.28520159697486736
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.8,
      "near_high": 0.9
     },
     "sharpe": 0.6172992604923275,
     "qqq": 0.8969624147131398,
     "first_half": 0.4157407075684062,
     "second_half": 0.8386325567069343,
     "cagr": 0.10284179258545101,
     "max_drawdown": -0.29374090338888825
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.9,
      "near_high": 0.8
     },
     "sharpe": 0.7071235346199435,
     "qqq": 0.8969624147131398,
     "first_half": 0.5036357375021218,
     "second_half": 0.901338310767152,
     "cagr": 0.1503768680657902,
     "max_drawdown": -0.3823525546210643
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.9,
      "near_high": 0.85
     },
     "sharpe": 0.7856709915550197,
     "qqq": 0.8969624147131398,
     "first_half": 0.5456784129372048,
     "second_half": 1.0213393721867483,
     "cagr": 0.17011364131967333,
     "max_drawdown": -0.3741561221420484
    },
    {
     "params": {
      "growth": 0.3,
      "rs_min": 0.9,
      "near_high": 0.9
     },
     "sharpe": 0.7648714140166687,
     "qqq": 0.8969624147131398,
     "first_half": 0.4669900099579836,
     "second_half": 1.0652709236109155,
     "cagr": 0.16320855015648372,
     "max_drawdown": -0.4088282234258366
    }
   ],
   "wins": 0.0,
   "total": 27
  },
  "graham_number": {
   "rows": [
    {
     "params": {
      "multiple": 15,
      "top": 500
     },
     "sharpe": 0.5773989416568499,
     "qqq": 0.8969624147131398,
     "first_half": 0.5183293716087205,
     "second_half": 0.684214549516817,
     "cagr": 0.12024762798518629,
     "max_drawdown": -0.583243044706593
    },
    {
     "params": {
      "multiple": 15,
      "top": 1000
     },
     "sharpe": 0.47362095949978184,
     "qqq": 0.8969624147131398,
     "first_half": 0.4806420737007475,
     "second_half": 0.4782088434613052,
     "cagr": 0.09420405098975637,
     "max_drawdown": -0.6059950543761238
    },
    {
     "params": {
      "multiple": 15,
      "top": 1500
     },
     "sharpe": 0.5413133146552902,
     "qqq": 0.8969624147131398,
     "first_half": 0.5629138585765155,
     "second_half": 0.5256593924582081,
     "cagr": 0.11746035183698189,
     "max_drawdown": -0.6285227854179058
    },
    {
     "params": {
      "multiple": 22.5,
      "top": 500
     },
     "sharpe": 0.5314736438073226,
     "qqq": 0.8969624147131398,
     "first_half": 0.39917566329089166,
     "second_half": 0.7333524241248925,
     "cagr": 0.10024263962002955,
     "max_drawdown": -0.5564749999200472
    },
    {
     "params": {
      "multiple": 22.5,
      "top": 1000
     },
     "sharpe": 0.509368880455011,
     "qqq": 0.8969624147131398,
     "first_half": 0.5117768762105,
     "second_half": 0.5200062852154956,
     "cagr": 0.09975506657503175,
     "max_drawdown": -0.5655807075854689
    },
    {
     "params": {
      "multiple": 22.5,
      "top": 1500
     },
     "sharpe": 0.5811018955779085,
     "qqq": 0.8969624147131398,
     "first_half": 0.5820915316809719,
     "second_half": 0.5932147818972241,
     "cagr": 0.1247681188052856,
     "max_drawdown": -0.5869388925808098
    },
    {
     "params": {
      "multiple": 30,
      "top": 500
     },
     "sharpe": 0.5967706932514389,
     "qqq": 0.8969624147131398,
     "first_half": 0.49409215303793097,
     "second_half": 0.7594756011528855,
     "cagr": 0.11002667699838997,
     "max_drawdown": -0.4977824512926514
    },
    {
     "params": {
      "multiple": 30,
      "top": 1000
     },
     "sharpe": 0.5210137577684919,
     "qqq": 0.8969624147131398,
     "first_half": 0.4821334108848345,
     "second_half": 0.5895006853411099,
     "cagr": 0.09939816933234136,
     "max_drawdown": -0.5315902497285709
    },
    {
     "params": {
      "multiple": 30,
      "top": 1500
     },
     "sharpe": 0.5652768912925232,
     "qqq": 0.8969624147131398,
     "first_half": 0.5506598491290722,
     "second_half": 0.5979194849021523,
     "cagr": 0.11645079891561272,
     "max_drawdown": -0.5577577519937038
    }
   ],
   "wins": 0.0,
   "total": 9
  },
  "dividend_growth": {
   "rows": [
    {
     "params": {
      "years": 2,
      "top": 300
     },
     "sharpe": 0.9478921258839802,
     "qqq": 0.7904257224475696,
     "first_half": 0.6405054545188598,
     "second_half": 1.34472735585396,
     "cagr": 0.12921069714289102,
     "max_drawdown": -0.17757366474974834
    },
    {
     "params": {
      "years": 2,
      "top": 500
     },
     "sharpe": 0.8894148516239584,
     "qqq": 0.7904257224475696,
     "first_half": 0.6298819126562059,
     "second_half": 1.2221613507122835,
     "cagr": 0.12293036497271603,
     "max_drawdown": -0.1810596468436435
    },
    {
     "params": {
      "years": 2,
      "top": 1000
     },
     "sharpe": 0.793268629502066,
     "qqq": 0.7904257224475696,
     "first_half": 0.6099319264869187,
     "second_half": 1.0217449770092908,
     "cagr": 0.11510433853793867,
     "max_drawdown": -0.18323734517384127
    },
    {
     "params": {
      "years": 3,
      "top": 300
     },
     "sharpe": 0.9493077853313167,
     "qqq": 0.7904257224475696,
     "first_half": 0.6171248869717353,
     "second_half": 1.3817779863202786,
     "cagr": 0.12836772786959427,
     "max_drawdown": -0.17869144124344483
    },
    {
     "params": {
      "years": 3,
      "top": 500
     },
     "sharpe": 0.8732599540207605,
     "qqq": 0.7904257224475696,
     "first_half": 0.6045272763599804,
     "second_half": 1.221161613182334,
     "cagr": 0.1198793659770716,
     "max_drawdown": -0.18414594162318076
    },
    {
     "params": {
      "years": 3,
      "top": 1000
     },
     "sharpe": 0.7894091067898918,
     "qqq": 0.7904257224475696,
     "first_half": 0.5852534061734108,
     "second_half": 1.0445600335769663,
     "cagr": 0.11362851689946907,
     "max_drawdown": -0.18070745855337056
    },
    {
     "params": {
      "years": 4,
      "top": 300
     },
     "sharpe": 0.9536568422216835,
     "qqq": 0.7904257224475696,
     "first_half": 0.6303011405575587,
     "second_half": 1.3814688590216715,
     "cagr": 0.12769793091173098,
     "max_drawdown": -0.17810766829855207
    },
    {
     "params": {
      "years": 4,
      "top": 500
     },
     "sharpe": 0.8767703085336496,
     "qqq": 0.7904257224475696,
     "first_half": 0.6084204400503704,
     "second_half": 1.2289102404591052,
     "cagr": 0.11942863223396882,
     "max_drawdown": -0.18887309890648907
    },
    {
     "params": {
      "years": 4,
      "top": 1000
     },
     "sharpe": 0.7808736326264942,
     "qqq": 0.7904257224475696,
     "first_half": 0.5784148745117446,
     "second_half": 1.0358590408469568,
     "cagr": 0.11109645379199917,
     "max_drawdown": -0.1838286561358765
    }
   ],
   "wins": 7.0,
   "total": 9
  },
  "equal_weight_sp500": {
   "rows": [
    {
     "params": {
      "resample": "M",
      "universe": "sp500"
     },
     "sharpe": 0.6757525469646489,
     "qqq": 0.8969624147131398,
     "first_half": 0.6694601184924556,
     "second_half": 0.7005395613207335,
     "cagr": 0.11659845578357331,
     "max_drawdown": -0.39712073666272196
    },
    {
     "params": {
      "resample": "M",
      "universe": "top500"
     },
     "sharpe": 0.7007853838075578,
     "qqq": 0.8969624147131398,
     "first_half": 0.6344347404871414,
     "second_half": 0.7937058009519286,
     "cagr": 0.11829911992398356,
     "max_drawdown": -0.3753915866028019
    },
    {
     "params": {
      "resample": "M",
      "universe": "top1000"
     },
     "sharpe": 0.6098316133833231,
     "qqq": 0.8969624147131398,
     "first_half": 0.5756046070932135,
     "second_half": 0.6578581565877929,
     "cagr": 0.10627472632148738,
     "max_drawdown": -0.4046703038262399
    },
    {
     "params": {
      "resample": "Q",
      "universe": "sp500"
     },
     "sharpe": 0.6651693432741886,
     "qqq": 0.8969624147131398,
     "first_half": 0.6497451257031255,
     "second_half": 0.7022159333380246,
     "cagr": 0.1140187326524178,
     "max_drawdown": -0.3894757478240578
    },
    {
     "params": {
      "resample": "Q",
      "universe": "top500"
     },
     "sharpe": 0.6871176062692265,
     "qqq": 0.8969624147131398,
     "first_half": 0.6111261644827676,
     "second_half": 0.791857308401977,
     "cagr": 0.11531405484505886,
     "max_drawdown": -0.3739231970800302
    },
    {
     "params": {
      "resample": "Q",
      "universe": "top1000"
     },
     "sharpe": 0.5988354309601696,
     "qqq": 0.8969624147131398,
     "first_half": 0.5535070328782666,
     "second_half": 0.660463090978067,
     "cagr": 0.10338716545368576,
     "max_drawdown": -0.3993766783599365
    },
    {
     "params": {
      "resample": "Y",
      "universe": "sp500"
     },
     "sharpe": 0.6278118231050567,
     "qqq": 0.8969624147131398,
     "first_half": 0.5579047177922645,
     "second_half": 0.7366219232213478,
     "cagr": 0.10317275673651394,
     "max_drawdown": -0.38947574782405814
    },
    {
     "params": {
      "resample": "Y",
      "universe": "top500"
     },
     "sharpe": 0.6421275878026628,
     "qqq": 0.8969624147131398,
     "first_half": 0.5433158934544382,
     "second_half": 0.775367394517892,
     "cagr": 0.10543489136921647,
     "max_drawdown": -0.37392319708002975
    },
    {
     "params": {
      "resample": "Y",
      "universe": "top1000"
     },
     "sharpe": 0.5763105098962543,
     "qqq": 0.8969624147131398,
     "first_half": 0.5066842024395538,
     "second_half": 0.6690512406717116,
     "cagr": 0.09709847117640047,
     "max_drawdown": -0.39937667835993573
    }
   ],
   "wins": 0.0,
   "total": 9
  }
 },
 "extras": {
  "universe_equal_weight": {
   "rule_of_40": {
    "cagr": 0.12986367232164975,
    "sharpe": 0.5660960177843277,
    "monthly_sortino": 1.0432047855132254,
    "max_drawdown": -0.5458854372535911,
    "volatility": 0.29150050341472705
   },
   "magic_formula": {
    "cagr": 0.10531180977162125,
    "sharpe": 0.5732147305023426,
    "monthly_sortino": 0.9466940104440641,
    "max_drawdown": -0.3961730596041608,
    "volatility": 0.21605792404646001
   },
   "canslim": {
    "cagr": 0.10613211229651065,
    "sharpe": 0.5744092264758416,
    "monthly_sortino": 0.9425973446157089,
    "max_drawdown": -0.4251114560325956,
    "volatility": 0.21752982639542778
   },
   "graham_number": {
    "cagr": 0.1061590785840627,
    "sharpe": 0.586812778424216,
    "monthly_sortino": 0.965798856282638,
    "max_drawdown": -0.3961292454188635,
    "volatility": 0.2102539612889104
   }
  },
  "variants": {
   "canslim_stop_8pct": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.10193853820563947,
      "sharpe": 0.629739270799056,
      "monthly_sortino": 1.2121197583703824,
      "max_drawdown": -0.29873728207892103,
      "volatility": 0.18056137393437113
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.08176333855382367,
      "sharpe": 0.5126763504045317,
      "monthly_sortino": 0.8914225075635974,
      "max_drawdown": -0.29873728207892103,
      "volatility": 0.18812634140543563
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.12249001117573477,
      "sharpe": 0.7586317166426663,
      "monthly_sortino": 1.6912241560577752,
      "max_drawdown": -0.15662076834102945,
      "volatility": 0.17271201676120415
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "canslim_no_market_filter": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.11229753330582892,
      "sharpe": 0.5849847020224243,
      "monthly_sortino": 0.9961257005552518,
      "max_drawdown": -0.4067164606563205,
      "volatility": 0.22673386725200084
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.07774628444220344,
      "sharpe": 0.4338800550482737,
      "monthly_sortino": 0.6865161838355904,
      "max_drawdown": -0.4067164606563205,
      "volatility": 0.23962019762326764
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.14795645362726328,
      "sharpe": 0.7573763161053141,
      "monthly_sortino": 1.326349722574799,
      "max_drawdown": -0.2617224589349222,
      "volatility": 0.21310965888688418
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": false
    }
   },
   "canslim_market_up_share": 0.8273783900129144,
   "magic_formula_monthly": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.13460358732724442,
      "sharpe": 0.7191920528635692,
      "monthly_sortino": 1.307823206267987,
      "max_drawdown": -0.3787452744753743,
      "volatility": 0.2054669708432165
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.09054070555712923,
      "sharpe": 0.5120464777054379,
      "monthly_sortino": 0.8868945111679326,
      "max_drawdown": -0.3787452744753743,
      "volatility": 0.21454067358891615
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.18044681304967036,
      "sharpe": 0.9480252047219324,
      "monthly_sortino": 1.723598613441644,
      "max_drawdown": -0.2028425726925086,
      "volatility": 0.19600373869068086
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": true
    }
   },
   "magic_formula_yearly": {
    "mid": "2022-03-15",
    "full": {
     "strategy": {
      "cagr": 0.11471761226220845,
      "sharpe": 0.6527149968832545,
      "monthly_sortino": 1.1729732613374475,
      "max_drawdown": -0.3620571774005116,
      "volatility": 0.1964549102643971
     },
     "qqq": {
      "cagr": 0.19888184642616413,
      "sharpe": 0.8969624147131398,
      "monthly_sortino": 1.7698052492009857,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23315449902366298
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.07170054576305929,
      "sharpe": 0.4375221770883364,
      "monthly_sortino": 0.7835058088715212,
      "max_drawdown": -0.3620571774005116,
      "volatility": 0.2080875320746233
     },
     "qqq": {
      "cagr": 0.20455870896801387,
      "sharpe": 0.8992573946739738,
      "monthly_sortino": 1.884616389300686,
      "max_drawdown": -0.2855937209891132,
      "volatility": 0.23914740042157165
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.15946134393616584,
      "sharpe": 0.8991798315019105,
      "monthly_sortino": 1.4967825516745008,
      "max_drawdown": -0.1971947199657721,
      "volatility": 0.18410506462139026
     },
     "qqq": {
      "cagr": 0.19323173788814918,
      "sharpe": 0.8947593367520453,
      "monthly_sortino": 1.4572092819581983,
      "max_drawdown": -0.2956605814973212,
      "volatility": 0.22708467208924515
     },
     "beats_qqq": true
    }
   }
  },
  "equal_weight_vs_rsp_daily_corr": 0.9967313467398203,
  "etfs": {
   "QQQ": {
    "cagr": 0.19888184642616413,
    "sharpe": 0.8969624147131398,
    "monthly_sortino": 1.7698052492009857,
    "max_drawdown": -0.3512252567482328,
    "volatility": 0.23315449902366298
   },
   "SPY": {
    "cagr": 0.14845853158218403,
    "sharpe": 0.8409769709312899,
    "monthly_sortino": 1.5541678891182025,
    "max_drawdown": -0.3369994018254904,
    "volatility": 0.18558105505300274
   },
   "RSP": {
    "cagr": 0.11413226029032697,
    "sharpe": 0.6692596404393586,
    "monthly_sortino": 1.1226707502180562,
    "max_drawdown": -0.39019459186252237,
    "volatility": 0.1886124322520201
   },
   "VIG": {
    "cagr": 0.1305862137854401,
    "sharpe": 0.8275563693170036,
    "monthly_sortino": 1.5575207089631131,
    "max_drawdown": -0.31716275154946805,
    "volatility": 0.16526095966752333
   },
   "SCHD": {
    "cagr": 0.1319962805353272,
    "sharpe": 0.8047804004571742,
    "monthly_sortino": 1.4267008924965219,
    "max_drawdown": -0.3335020242914978,
    "volatility": 0.173154580393691
   },
   "DGRO": {
    "cagr": 0.1311802205377368,
    "sharpe": 0.8080416691547573,
    "monthly_sortino": 1.4794566093830683,
    "max_drawdown": -0.351031764433109,
    "volatility": 0.1711318518746559
   },
   "DGRW": {
    "cagr": 0.133181972783313,
    "sharpe": 0.8344980925481938,
    "monthly_sortino": 1.5172446554357448,
    "max_drawdown": -0.3203176364959691,
    "volatility": 0.16699773339338295
   },
   "SDY": {
    "cagr": 0.09457253901362339,
    "sharpe": 0.6020016338801168,
    "monthly_sortino": 1.041065688799148,
    "max_drawdown": -0.36661633733099164,
    "volatility": 0.17641030703690372
   }
  },
  "etfs_dividend_window": {
   "QQQ": {
    "cagr": 0.1635260388887605,
    "sharpe": 0.7904257224475696,
    "monthly_sortino": 1.432181847036902,
    "max_drawdown": -0.3512252567482328,
    "volatility": 0.22382709828097713
   },
   "SPY": {
    "cagr": 0.1501191174862908,
    "sharpe": 0.9289535643827916,
    "monthly_sortino": 1.710699269971313,
    "max_drawdown": -0.2449719206567691,
    "volatility": 0.1657746934322941
   },
   "RSP": {
    "cagr": 0.11693718138020492,
    "sharpe": 0.7838418769600503,
    "monthly_sortino": 1.3015452974925337,
    "max_drawdown": -0.21393285225069536,
    "volatility": 0.1572674918098654
   },
   "VIG": {
    "cagr": 0.12192294042141216,
    "sharpe": 0.9047273695580282,
    "monthly_sortino": 1.639457752403006,
    "max_drawdown": -0.20398890692294458,
    "volatility": 0.13806349658035952
   },
   "SCHD": {
    "cagr": 0.13028963579068975,
    "sharpe": 0.933952925699548,
    "monthly_sortino": 1.5683942700333329,
    "max_drawdown": -0.16825930199345152,
    "volatility": 0.14237220178105292
   },
   "DGRO": {
    "cagr": 0.13239063077605095,
    "sharpe": 0.9958575408077378,
    "monthly_sortino": 1.7309051355087346,
    "max_drawdown": -0.19302952985577715,
    "volatility": 0.13426870551323042
   },
   "DGRW": {
    "cagr": 0.1314492333587265,
    "sharpe": 0.9781417010342444,
    "monthly_sortino": 1.770589669120967,
    "max_drawdown": -0.1727421518196971,
    "volatility": 0.13609239462633038
   },
   "SDY": {
    "cagr": 0.10242380407820595,
    "sharpe": 0.7726119340915449,
    "monthly_sortino": 1.2237839183965589,
    "max_drawdown": -0.1520710212960258,
    "volatility": 0.13908736960907211
   }
  },
  "dividend_start_dates": {
   "2020-01-02": {
    "strategy": {
     "cagr": 0.11393262383583758,
     "sharpe": 0.6616896439652896,
     "monthly_sortino": 1.137264989301732,
     "max_drawdown": -0.38331161490579313,
     "volatility": 0.19138427827254445
    },
    "qqq": {
     "cagr": 0.20042507394081244,
     "sharpe": 0.8635539168829662,
     "monthly_sortino": 1.7336554179741173,
     "max_drawdown": -0.3512252567482327,
     "volatility": 0.24783137698932478
    },
    "spy": {
     "cagr": 0.15091867456652364,
     "sharpe": 0.8063403223953316,
     "monthly_sortino": 1.5573924055119406,
     "max_drawdown": -0.3369994018254904,
     "volatility": 0.19964082111922546
    }
   },
   "2020-07-01": {
    "strategy": {
     "cagr": 0.13367334513135165,
     "sharpe": 0.9506240410968415,
     "monthly_sortino": 1.6322842311404744,
     "max_drawdown": -0.1841459416231811,
     "volatility": 0.14321278880804045
    },
    "qqq": {
     "cagr": 0.18895046511392422,
     "sharpe": 0.8833812661020216,
     "monthly_sortino": 1.5950424324431063,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.22530160922872927
    },
    "spy": {
     "cagr": 0.17006310863340568,
     "sharpe": 1.0339081415563889,
     "monthly_sortino": 1.8656108899250308,
     "max_drawdown": -0.2449719206567691,
     "volatility": 0.16568729982592176
    }
   },
   "2021-01-04": {
    "strategy": {
     "cagr": 0.1198793659770716,
     "sharpe": 0.8732599540207605,
     "monthly_sortino": 1.4292992972584448,
     "max_drawdown": -0.18414594162318076,
     "volatility": 0.141494549379741
    },
    "qqq": {
     "cagr": 0.1635260388887605,
     "sharpe": 0.7904257224475696,
     "monthly_sortino": 1.432181847036902,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.22382709828097713
    },
    "spy": {
     "cagr": 0.1501191174862908,
     "sharpe": 0.9289535643827916,
     "monthly_sortino": 1.710699269971313,
     "max_drawdown": -0.2449719206567691,
     "volatility": 0.1657746934322941
    }
   },
   "2021-07-01": {
    "strategy": {
     "cagr": 0.0936767934788767,
     "sharpe": 0.6994630193119248,
     "monthly_sortino": 1.1111117911428174,
     "max_drawdown": -0.1841459416231811,
     "volatility": 0.14318654684073323
    },
    "qqq": {
     "cagr": 0.14937221919128452,
     "sharpe": 0.7324567521885724,
     "monthly_sortino": 1.2646319016923078,
     "max_drawdown": -0.3512252567482328,
     "volatility": 0.22549452980377246
    },
    "spy": {
     "cagr": 0.13020112676407725,
     "sharpe": 0.8135363291780565,
     "monthly_sortino": 1.4240193947048807,
     "max_drawdown": -0.2449719206567691,
     "volatility": 0.1684689569595826
    }
   },
   "2022-01-03": {
    "strategy": {
     "cagr": 0.09223273574801372,
     "sharpe": 0.6811899844032816,
     "monthly_sortino": 1.090437904618714,
     "max_drawdown": -0.17406287017205757,
     "volatility": 0.14560773994467407
    },
    "qqq": {
     "cagr": 0.13601164435736157,
     "sharpe": 0.6683395379235436,
     "monthly_sortino": 1.4142969700952654,
     "max_drawdown": -0.3483179809619026,
     "volatility": 0.23168615881034285
    },
    "spy": {
     "cagr": 0.11883132774081862,
     "sharpe": 0.7398962856584905,
     "monthly_sortino": 1.4982107849457595,
     "max_drawdown": -0.2449719206567691,
     "volatility": 0.17243973429671972
    }
   },
   "2022-07-01": {
    "strategy": {
     "cagr": 0.11310900463644802,
     "sharpe": 0.8547192495350905,
     "monthly_sortino": 1.394868024801334,
     "max_drawdown": -0.15585394471119574,
     "volatility": 0.13697539460847663
    },
    "qqq": {
     "cagr": 0.24979754996250225,
     "sharpe": 1.1522311852621887,
     "monthly_sortino": 2.208472120921218,
     "max_drawdown": -0.22770816026576268,
     "volatility": 0.2144284460179553
    },
    "spy": {
     "cagr": 0.19182810194046085,
     "sharpe": 1.179352391080916,
     "monthly_sortino": 2.213575122265141,
     "max_drawdown": -0.1875538800017812,
     "volatility": 0.16045245533845484
    }
   },
   "2023-01-03": {
    "strategy": {
     "cagr": 0.1176808047910829,
     "sharpe": 0.9601286309535731,
     "monthly_sortino": 1.6414441546554288,
     "max_drawdown": -0.15320558403843154,
     "volatility": 0.12444859732452655
    },
    "qqq": {
     "cagr": 0.30812010072459306,
     "sharpe": 1.4424195386024745,
     "monthly_sortino": 3.558915222000294,
     "max_drawdown": -0.22770816026576268,
     "volatility": 0.20104202915318548
    },
    "spy": {
     "cagr": 0.2176346075221982,
     "sharpe": 1.4058880186992186,
     "monthly_sortino": 3.404256270466241,
     "max_drawdown": -0.1875538800017813,
     "volatility": 0.1485118284721395
    }
   }
  },
  "dividend_shorter_records": {
   "1y_from_2018": {
    "mid": "2022-05-31",
    "full": {
     "strategy": {
      "cagr": 0.10543442006736914,
      "sharpe": 0.6470222199487905,
      "monthly_sortino": 1.0778812220678182,
      "max_drawdown": -0.3877580062786047,
      "volatility": 0.18071418000896564
     },
     "qqq": {
      "cagr": 0.19525289966078585,
      "sharpe": 0.8722249078497014,
      "monthly_sortino": 1.6579886703645927,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.2374395550322034
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.0935459719997247,
      "sharpe": 0.5303562363425743,
      "monthly_sortino": 0.8947638847276783,
      "max_drawdown": -0.3877580062786047,
      "volatility": 0.21111298516830854
     },
     "qqq": {
      "cagr": 0.17082830841566543,
      "sharpe": 0.74700476918163,
      "monthly_sortino": 1.319400348656887,
      "max_drawdown": -0.2872116539800039,
      "volatility": 0.25510654269817523
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.11745211299629621,
      "sharpe": 0.8466285118647511,
      "monthly_sortino": 1.3303827469782221,
      "max_drawdown": -0.16527407190727783,
      "volatility": 0.1439888121245645
     },
     "qqq": {
      "cagr": 0.22018701109191774,
      "sharpe": 1.0243051786202189,
      "monthly_sortino": 2.064139335163075,
      "max_drawdown": -0.22770816026576268,
      "volatility": 0.2183874389457393
     },
     "beats_qqq": false
    }
   },
   "2y_from_2019": {
    "mid": "2022-11-30",
    "full": {
     "strategy": {
      "cagr": 0.12608368611602083,
      "sharpe": 0.7425484793817649,
      "monthly_sortino": 1.2965043744094142,
      "max_drawdown": -0.38393775084452775,
      "volatility": 0.183013915965919
     },
     "qqq": {
      "cagr": 0.22509531353843126,
      "sharpe": 0.9727529227119985,
      "monthly_sortino": 1.8811119407371004,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.23859554277815329
     },
     "beats_qqq": false
    },
    "first_half": {
     "strategy": {
      "cagr": 0.1325299278346157,
      "sharpe": 0.667246890415571,
      "monthly_sortino": 1.1687348442840362,
      "max_drawdown": -0.38393775084452775,
      "volatility": 0.22441304262922862
     },
     "qqq": {
      "cagr": 0.18503690548438034,
      "sharpe": 0.7634802640121436,
      "monthly_sortino": 1.275146995075113,
      "max_drawdown": -0.3512252567482328,
      "volatility": 0.2703023038118249
     },
     "beats_qqq": false
    },
    "second_half": {
     "strategy": {
      "cagr": 0.1196696569202087,
      "sharpe": 0.94830371684322,
      "monthly_sortino": 1.6014579678335108,
      "max_drawdown": -0.15914198117137046,
      "volatility": 0.12860387356222835
     },
     "qqq": {
      "cagr": 0.2665373425269899,
      "sharpe": 1.2784038859529454,
      "monthly_sortino": 2.988760415669961,
      "max_drawdown": -0.22770816026576268,
      "volatility": 0.20181609468862005
     },
     "beats_qqq": false
    }
   }
  },
  "dividend_record_groups": {
   "no_dividend": {
    "cagr": 0.047707502331598706,
    "sharpe": 0.31485661887840083,
    "monthly_sortino": 0.5093374972187672,
    "max_drawdown": -0.45364102375353343,
    "volatility": 0.23928596907148095,
    "avg_holdings": 133.47142857142856,
    "share_in_cash": 0.0,
    "annual_turnover": 0.7308013188067723
   },
   "cut": {
    "cagr": 0.150587498555403,
    "sharpe": 0.8978204394314223,
    "monthly_sortino": 1.522837352034742,
    "max_drawdown": -0.19648744708896315,
    "volatility": 0.1734662198586101,
    "avg_holdings": 24.5,
    "share_in_cash": 0.0,
    "annual_turnover": 4.568910201782931
   },
   "unchanged": {
    "cagr": 0.16235832061661104,
    "sharpe": 0.9635932312611893,
    "monthly_sortino": 1.6343947981451907,
    "max_drawdown": -0.24679797453303498,
    "volatility": 0.17194379336935753,
    "avg_holdings": 32.17142857142857,
    "share_in_cash": 0.0,
    "annual_turnover": 2.1427683525390684
   },
   "raised_1y": {
    "cagr": 0.1417349412999429,
    "sharpe": 0.8420282993520549,
    "monthly_sortino": 1.5442998914617796,
    "max_drawdown": -0.2180696494060611,
    "volatility": 0.17633758861456447,
    "avg_holdings": 35.2,
    "share_in_cash": 0.0,
    "annual_turnover": 3.902379922624449
   },
   "raised_2y": {
    "cagr": 0.12139664167912567,
    "sharpe": 0.7708344648622919,
    "monthly_sortino": 1.3683847002935747,
    "max_drawdown": -0.2450256658820602,
    "volatility": 0.16721130121893282,
    "avg_holdings": 25.785714285714285,
    "share_in_cash": 0.0,
    "annual_turnover": 3.7134032132284513
   },
   "raised_3y": {
    "cagr": 0.12171212793505859,
    "sharpe": 0.7940998512996478,
    "monthly_sortino": 1.434135215897453,
    "max_drawdown": -0.18413438939823934,
    "volatility": 0.16148732756473094,
    "avg_holdings": 21.685714285714287,
    "share_in_cash": 0.0,
    "annual_turnover": 3.8475263814687515
   },
   "raised_4y_plus": {
    "cagr": 0.12013619694511934,
    "sharpe": 0.8789861248970858,
    "monthly_sortino": 1.4287883329415407,
    "max_drawdown": -0.1849420966822265,
    "volatility": 0.14070774189546204,
    "avg_holdings": 227.18571428571428,
    "share_in_cash": 0.0,
    "annual_turnover": 1.2187281137387838
   },
   "all_500": {
    "cagr": 0.10494180998859104,
    "sharpe": 0.6983783682549437,
    "monthly_sortino": 1.1815251117850216,
    "max_drawdown": -0.2530071030437733,
    "volatility": 0.1621138713270356,
    "avg_holdings": 500.0,
    "share_in_cash": 0.0,
    "annual_turnover": 0.30226086956521764
   }
  },
  "dividend_growth_yearly": {
   "strategy": {
    "2021": 0.31073034876495,
    "2022": -0.08688268604239291,
    "2023": 0.10532537494304806,
    "2024": 0.1384524125871751,
    "2025": 0.12417610188670203,
    "2026": 0.14022830535142972
   },
   "QQQ": {
    "2021": 0.292452810079912,
    "2022": -0.3257856377542834,
    "2023": 0.5485265682512055,
    "2024": 0.255764408069848,
    "2025": 0.20765710906448032,
    "2026": 0.17803326660508034
   },
   "SPY": {
    "2021": 0.3052101379862653,
    "2022": -0.1817168423811375,
    "2023": 0.26189549683888247,
    "2024": 0.2488514974320546,
    "2025": 0.17715054086752002,
    "2026": 0.13749240432776166
   },
   "VIG": {
    "2021": 0.2545334508987729,
    "2022": -0.09812309327075197,
    "2023": 0.1449722236714166,
    "2024": 0.16988203143980773,
    "2025": 0.14162351044064825,
    "2026": 0.12766924297238336
   }
  },
  "dividend_growth_sector": {
   "Financial Services": 0.16997586099250692,
   "Industrials": 0.16562610795389232,
   "Technology": 0.12055679306569153,
   "Healthcare": 0.10376814689171958,
   "Consumer Defensive": 0.09826144487201902,
   "Utilities": 0.08673834890546052,
   "Consumer Cyclical": 0.07391408726943001,
   "Real Estate": 0.06082218768702596,
   "Basic Materials": 0.0576322783081176,
   "Energy": 0.047759438871098216,
   "Communication Services": 0.014945305183038236
  },
  "dividend_growth_median_yield": 0.019651393748705927
 }
}