← All V2 experiments
Relative return
1.323x
Excess vs bench
32.31%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
51.54%
Mean benchmark gain
14.08%
Mean excess gain
37.45%
Dispersion (ref)
26.48%
Win-rate vs bench (ref)
100.00%
Worst / best ratio (ref)
1.015x / 1.693x
Logic variants
3
Updated
Jul 21, 2026
Anchored windows (reference — strategy vs benchmark)
Kept from V1 for continuity; the objective ranks on the full rolling set, not these four.
| Window | Strategy | Benchmark | Ratio |
|---|---|---|---|
| 2006-07-03 … 2011-06-30 | 20.98% | 2.22% | 1.184x |
| 2011-07-01 … 2016-06-30 | 39.39% | 13.74% | 1.225x |
| 2016-07-01 … 2021-06-30 | 88.44% | 20.63% | 1.562x |
| 2021-07-01 … 2026-06-26 | 67.48% | 15.48% | 1.450x |
All rolling windows — the objective set (equal-weighted mean ratio)
Strategy
Benchmark (CAPW_UNIV)
Excess
rolling 5y windows, monthly step — 179 windows · mean ratio 1.323x · beat benchmark in 179/179
| # | Window | Strategy | Benchmark | Ratio |
|---|---|---|---|---|
| 1 | 2006-07-31 … 2011-07-29 | 18.25% | 1.79% | 1.162x |
| 2 | 2006-08-31 … 2011-08-31 | 16.67% | 0.21% | 1.164x |
| 3 | 2006-09-29 … 2011-08-31 | 14.38% | -0.14% | 1.145x |
| 4 | 2006-10-31 … 2011-10-31 | 13.46% | 0.23% | 1.132x |
| 5 | 2006-11-30 … 2011-11-30 | 11.89% | -0.05% | 1.119x |
| 6 | 2006-12-29 … 2011-11-30 | 12.86% | -0.32% | 1.132x |
| 7 | 2007-01-31 … 2012-01-31 | 12.00% | 0.93% | 1.110x |
| 8 | 2007-02-28 … 2012-01-31 | 11.20% | 1.43% | 1.096x |
| 9 | 2007-03-30 … 2012-03-30 | 12.68% | 3.09% | 1.093x |
| 10 | 2007-04-30 … 2012-04-30 | 11.23% | 2.42% | 1.086x |
| 11 | 2007-05-31 … 2012-05-31 | 7.72% | 0.60% | 1.071x |
| 12 | 2007-06-29 … 2012-06-29 | 7.22% | 1.92% | 1.052x |
| 13 | 2007-07-31 … 2012-07-31 | 6.62% | 2.69% | 1.038x |
| 14 | 2007-08-31 … 2012-08-31 | 6.40% | 2.95% | 1.034x |
| 15 | 2007-09-28 … 2012-09-28 | 5.29% | 3.20% | 1.020x |
| 16 | 2007-10-31 … 2012-10-31 | 4.91% | 2.60% | 1.022x |
| 17 | 2007-11-30 … 2012-11-30 | 5.61% | 3.45% | 1.021x |
| 18 | 2007-12-31 … 2012-12-31 | 5.28% | 3.69% | 1.015x |
| 19 | 2008-01-31 … 2013-01-31 | 10.55% | 5.85% | 1.044x |
| 20 | 2008-02-29 … 2013-02-28 | 12.59% | 6.82% | 1.054x |
| 21 | 2008-03-31 … 2013-03-28 | 16.12% | 7.73% | 1.078x |
| 22 | 2008-04-30 … 2013-04-30 | 16.88% | 7.51% | 1.087x |
| 23 | 2008-05-30 … 2013-04-30 | 16.28% | 7.81% | 1.079x |
| 24 | 2008-06-30 … 2013-06-28 | 24.63% | 9.33% | 1.140x |
| 25 | 2008-07-31 … 2013-07-31 | 28.88% | 10.48% | 1.167x |
| 26 | 2008-08-29 … 2013-07-31 | 29.58% | 10.52% | 1.172x |
| 27 | 2008-09-30 … 2013-09-30 | 37.05% | 11.48% | 1.229x |
| 28 | 2008-10-31 … 2013-10-31 | 40.74% | 15.76% | 1.216x |
| 29 | 2008-11-28 … 2013-10-31 | 42.84% | 17.46% | 1.216x |
| 30 | 2008-12-31 … 2013-12-31 | 44.51% | 18.44% | 1.220x |
| 31 | 2009-01-30 … 2013-12-31 | 46.59% | 20.64% | 1.215x |
| 32 | 2009-02-27 … 2014-01-31 | 52.29% | 21.63% | 1.252x |
| 33 | 2009-03-31 … 2014-03-31 | 50.46% | 20.60% | 1.248x |
| 34 | 2009-04-30 … 2014-04-30 | 48.01% | 19.00% | 1.244x |
| 35 | 2009-05-29 … 2014-04-30 | 48.59% | 18.32% | 1.256x |
| 36 | 2009-06-30 … 2014-06-30 | 50.09% | 19.01% | 1.261x |
| 37 | 2009-07-31 … 2014-07-31 | 44.10% | 17.39% | 1.228x |
| 38 | 2009-08-31 … 2014-08-29 | 44.06% | 17.70% | 1.224x |
| 39 | 2009-09-30 … 2014-09-30 | 41.05% | 16.64% | 1.209x |
| 40 | 2009-10-30 … 2014-09-30 | 45.53% | 17.08% | 1.243x |
| 41 | 2009-11-30 … 2014-11-28 | 43.46% | 16.82% | 1.228x |
| 42 | 2009-12-31 … 2014-12-31 | 41.04% | 16.28% | 1.213x |
| 43 | 2010-01-29 … 2014-12-31 | 42.83% | 17.23% | 1.218x |
| 44 | 2010-02-26 … 2015-01-30 | 40.40% | 15.80% | 1.212x |
| 45 | 2010-03-31 … 2015-03-31 | 40.48% | 15.40% | 1.217x |
| 46 | 2010-04-30 … 2015-04-30 | 40.36% | 15.38% | 1.216x |
| 47 | 2010-05-28 … 2015-04-30 | 43.66% | 17.09% | 1.227x |
| 48 | 2010-06-30 … 2015-06-30 | 47.65% | 17.45% | 1.257x |
| 49 | 2010-07-30 … 2015-06-30 | 47.60% | 16.43% | 1.268x |
| 50 | 2010-08-31 … 2015-08-31 | 44.65% | 15.76% | 1.249x |
| 51 | 2010-09-30 … 2015-09-30 | 40.86% | 13.61% | 1.240x |
| 52 | 2010-10-29 … 2015-09-30 | 38.74% | 13.06% | 1.227x |
| 53 | 2010-11-30 … 2015-11-30 | 39.68% | 15.09% | 1.214x |
| 54 | 2010-12-31 … 2015-12-31 | 38.71% | 13.55% | 1.222x |
| 55 | 2011-01-31 … 2016-01-29 | 35.74% | 11.90% | 1.213x |
| 56 | 2011-02-28 … 2016-01-29 | 36.61% | 11.53% | 1.225x |
| 57 | 2011-03-31 … 2016-03-31 | 36.88% | 12.90% | 1.212x |
| 58 | 2011-04-29 … 2016-04-29 | 37.01% | 12.39% | 1.219x |
| 59 | 2011-05-31 … 2016-05-31 | 36.34% | 12.94% | 1.207x |
| 60 | 2011-06-30 … 2016-06-30 | 36.95% | 13.30% | 1.209x |
| 61 | 2011-07-29 … 2016-07-29 | 43.49% | 14.52% | 1.253x |
| 62 | 2011-08-31 … 2016-08-31 | 45.68% | 15.19% | 1.265x |
| 63 | 2011-09-30 … 2016-09-30 | 47.29% | 16.32% | 1.266x |
| 64 | 2011-10-31 … 2016-10-31 | 43.77% | 14.02% | 1.261x |
| 65 | 2011-11-30 … 2016-11-30 | 47.18% | 14.66% | 1.284x |
| 66 | 2011-12-30 … 2016-12-30 | 45.71% | 14.92% | 1.268x |
| 67 | 2012-01-31 … 2017-01-31 | 45.82% | 14.63% | 1.272x |
| 68 | 2012-02-29 … 2017-02-28 | 42.13% | 14.78% | 1.238x |
| 69 | 2012-03-30 … 2017-02-28 | 42.08% | 14.43% | 1.242x |
| 70 | 2012-04-30 … 2017-04-28 | 40.12% | 14.61% | 1.223x |
| 71 | 2012-05-31 … 2017-05-31 | 42.77% | 15.98% | 1.231x |
| 72 | 2012-06-29 … 2017-05-31 | 43.48% | 15.44% | 1.243x |
| 73 | 2012-07-31 … 2017-07-31 | 42.13% | 15.43% | 1.231x |
| 74 | 2012-08-31 … 2017-08-31 | 42.78% | 15.12% | 1.240x |
| 75 | 2012-09-28 … 2017-08-31 | 42.86% | 14.77% | 1.245x |
| 76 | 2012-10-31 … 2017-10-31 | 46.96% | 16.12% | 1.266x |
| 77 | 2012-11-30 … 2017-11-30 | 47.15% | 16.79% | 1.260x |
| 78 | 2012-12-31 … 2017-12-29 | 46.59% | 16.93% | 1.254x |
| 79 | 2013-01-31 … 2018-01-31 | 46.59% | 17.57% | 1.247x |
| 80 | 2013-02-28 … 2018-02-28 | 46.62% | 16.21% | 1.262x |
| 81 | 2013-03-28 … 2018-02-28 | 43.92% | 15.81% | 1.243x |
| 82 | 2013-04-30 … 2018-04-30 | 40.22% | 14.25% | 1.227x |
| 83 | 2013-05-31 … 2018-05-31 | 32.16% | 14.57% | 1.154x |
| 84 | 2013-06-28 … 2018-05-31 | 34.33% | 14.97% | 1.168x |
| 85 | 2013-07-31 … 2018-07-31 | 32.25% | 14.83% | 1.152x |
| 86 | 2013-08-30 … 2018-07-31 | 32.47% | 15.59% | 1.146x |
| 87 | 2013-09-30 … 2018-09-28 | 34.57% | 15.84% | 1.162x |
| 88 | 2013-10-31 … 2018-10-31 | 27.71% | 12.89% | 1.131x |
| 89 | 2013-11-29 … 2018-10-31 | 27.81% | 12.60% | 1.135x |
| 90 | 2013-12-31 … 2018-12-31 | 24.68% | 9.93% | 1.134x |
| 91 | 2014-01-31 … 2019-01-31 | 24.28% | 12.37% | 1.106x |
| 92 | 2014-02-28 … 2019-02-28 | 23.07% | 12.38% | 1.095x |
| 93 | 2014-03-31 … 2019-03-29 | 25.67% | 12.76% | 1.115x |
| 94 | 2014-04-30 … 2019-04-30 | 28.25% | 13.73% | 1.128x |
| 95 | 2014-05-30 … 2019-04-30 | 27.74% | 13.54% | 1.125x |
| 96 | 2014-06-30 … 2019-06-28 | 28.37% | 12.81% | 1.138x |
| 97 | 2014-07-31 … 2019-07-31 | 30.80% | 13.30% | 1.154x |
| 98 | 2014-08-29 … 2019-07-31 | 30.12% | 12.80% | 1.154x |
| 99 | 2014-09-30 … 2019-09-30 | 29.96% | 12.70% | 1.153x |
| 100 | 2014-10-31 … 2019-10-31 | 30.62% | 12.91% | 1.157x |
| 101 | 2014-11-28 … 2019-10-31 | 30.31% | 12.60% | 1.157x |
| 102 | 2014-12-31 … 2019-12-31 | 34.47% | 14.16% | 1.178x |
| 103 | 2015-01-30 … 2019-12-31 | 34.52% | 14.85% | 1.171x |
| 104 | 2015-02-27 … 2020-01-31 | 34.24% | 14.04% | 1.177x |
| 105 | 2015-03-31 … 2020-03-31 | 30.93% | 8.56% | 1.206x |
| 106 | 2015-04-30 … 2020-04-30 | 35.48% | 11.65% | 1.213x |
| 107 | 2015-05-29 … 2020-05-29 | 35.63% | 12.61% | 1.204x |
| 108 | 2015-06-30 … 2020-06-30 | 37.97% | 13.64% | 1.214x |
| 109 | 2015-07-31 … 2020-07-31 | 45.63% | 14.60% | 1.271x |
| 110 | 2015-08-31 … 2020-08-31 | 50.96% | 18.07% | 1.279x |
| 111 | 2015-09-30 … 2020-09-30 | 50.31% | 17.05% | 1.284x |
| 112 | 2015-10-30 … 2020-10-30 | 45.60% | 14.60% | 1.270x |
| 113 | 2015-11-30 … 2020-11-30 | 53.70% | 17.43% | 1.309x |
| 114 | 2015-12-31 … 2020-12-31 | 55.38% | 18.65% | 1.310x |
| 115 | 2016-01-29 … 2021-01-29 | 91.39% | 19.26% | 1.605x |
| 116 | 2016-02-29 … 2021-02-26 | 88.00% | 19.79% | 1.569x |
| 117 | 2016-03-31 … 2021-03-31 | 91.68% | 19.42% | 1.605x |
| 118 | 2016-04-29 … 2021-03-31 | 92.14% | 19.66% | 1.606x |
| 119 | 2016-05-31 … 2021-05-28 | 90.39% | 20.42% | 1.581x |
| 120 | 2016-06-30 … 2021-06-30 | 91.37% | 21.06% | 1.581x |
| 121 | 2016-07-29 … 2021-06-30 | 88.44% | 20.63% | 1.562x |
| 122 | 2016-08-31 … 2021-08-31 | 90.27% | 21.75% | 1.563x |
| 123 | 2016-09-30 … 2021-09-30 | 86.46% | 20.22% | 1.551x |
| 124 | 2016-10-31 … 2021-10-29 | 92.56% | 22.50% | 1.572x |
| 125 | 2016-11-30 … 2021-11-30 | 92.40% | 21.87% | 1.579x |
| 126 | 2016-12-30 … 2021-11-30 | 94.64% | 21.75% | 1.599x |
| 127 | 2017-01-31 … 2022-01-31 | 81.83% | 20.17% | 1.513x |
| 128 | 2017-02-28 … 2022-02-28 | 84.05% | 18.51% | 1.553x |
| 129 | 2017-03-31 … 2022-03-31 | 87.67% | 19.46% | 1.571x |
| 130 | 2017-04-28 … 2022-03-31 | 89.57% | 19.46% | 1.587x |
| 131 | 2017-05-31 … 2022-05-31 | 85.08% | 15.59% | 1.601x |
| 132 | 2017-06-30 … 2022-06-30 | 80.86% | 13.08% | 1.599x |
| 133 | 2017-07-31 … 2022-07-29 | 82.53% | 15.16% | 1.585x |
| 134 | 2017-08-31 … 2022-08-31 | 80.24% | 13.72% | 1.585x |
| 135 | 2017-09-29 … 2022-08-31 | 80.15% | 13.56% | 1.586x |
| 136 | 2017-10-31 … 2022-10-31 | 75.20% | 11.86% | 1.566x |
| 137 | 2017-11-30 … 2022-11-30 | 73.63% | 12.52% | 1.543x |
| 138 | 2017-12-29 … 2022-11-30 | 74.87% | 12.46% | 1.555x |
| 139 | 2018-01-31 … 2023-01-31 | 71.09% | 11.01% | 1.541x |
| 140 | 2018-02-28 … 2023-02-28 | 69.05% | 11.03% | 1.523x |
| 141 | 2018-03-29 … 2023-02-28 | 69.66% | 11.72% | 1.519x |
| 142 | 2018-04-30 … 2023-04-28 | 66.79% | 13.01% | 1.476x |
| 143 | 2018-05-31 … 2023-05-31 | 69.96% | 12.95% | 1.505x |
| 144 | 2018-06-29 … 2023-05-31 | 70.71% | 13.01% | 1.511x |
| 145 | 2018-07-31 … 2023-07-31 | 77.24% | 14.67% | 1.546x |
| 146 | 2018-08-31 … 2023-08-31 | 75.14% | 13.51% | 1.543x |
| 147 | 2018-09-28 … 2023-08-31 | 74.86% | 13.56% | 1.540x |
| 148 | 2018-10-31 … 2023-10-31 | 74.29% | 12.60% | 1.548x |
| 149 | 2018-11-30 … 2023-11-30 | 77.01% | 14.58% | 1.545x |
| 150 | 2018-12-31 … 2023-12-29 | 85.30% | 17.26% | 1.580x |
| 151 | 2019-01-31 … 2024-01-31 | 83.84% | 16.27% | 1.581x |
| 152 | 2019-02-28 … 2024-01-31 | 83.80% | 15.94% | 1.585x |
| 153 | 2019-03-29 … 2024-03-28 | 94.02% | 17.50% | 1.651x |
| 154 | 2019-04-30 … 2024-04-30 | 89.12% | 15.50% | 1.637x |
| 155 | 2019-05-31 … 2024-05-31 | 93.27% | 18.12% | 1.636x |
| 156 | 2019-06-28 … 2024-06-28 | 89.83% | 17.99% | 1.609x |
| 157 | 2019-07-31 … 2024-07-31 | 87.20% | 17.70% | 1.591x |
| 158 | 2019-08-30 … 2024-08-30 | 89.95% | 18.41% | 1.604x |
| 159 | 2019-09-30 … 2024-09-30 | 91.89% | 18.65% | 1.617x |
| 160 | 2019-10-31 … 2024-10-31 | 93.31% | 17.87% | 1.640x |
| 161 | 2019-11-29 … 2024-11-29 | 100.84% | 18.64% | 1.693x |
| 162 | 2019-12-31 … 2024-12-31 | 95.03% | 17.62% | 1.658x |
| 163 | 2020-01-31 … 2025-01-31 | 97.79% | 18.07% | 1.675x |
| 164 | 2020-02-28 … 2025-02-28 | 95.90% | 19.00% | 1.646x |
| 165 | 2020-03-31 … 2025-03-31 | 93.44% | 19.24% | 1.622x |
| 166 | 2020-04-30 … 2025-04-30 | 88.28% | 16.49% | 1.616x |
| 167 | 2020-05-29 … 2025-04-30 | 87.76% | 15.80% | 1.621x |
| 168 | 2020-06-30 … 2025-06-30 | 86.48% | 18.19% | 1.578x |
| 169 | 2020-07-31 … 2025-07-31 | 78.96% | 17.87% | 1.518x |
| 170 | 2020-08-31 … 2025-08-29 | 77.42% | 16.69% | 1.520x |
| 171 | 2020-09-30 … 2025-09-30 | 81.41% | 18.57% | 1.530x |
| 172 | 2020-10-30 … 2025-09-30 | 84.95% | 19.43% | 1.549x |
| 173 | 2020-11-30 … 2025-11-28 | 75.37% | 17.77% | 1.489x |
| 174 | 2020-12-31 … 2025-12-31 | 78.80% | 16.92% | 1.529x |
| 175 | 2021-01-29 … 2025-12-31 | 53.64% | 17.20% | 1.311x |
| 176 | 2021-02-26 … 2026-01-30 | 60.37% | 17.04% | 1.370x |
| 177 | 2021-03-31 … 2026-03-31 | 56.81% | 14.07% | 1.375x |
| 178 | 2021-04-30 … 2026-04-30 | 64.39% | 16.03% | 1.417x |
| 179 | 2021-05-28 … 2026-04-30 | 64.32% | 16.22% | 1.414x |
Notes
mode=explore; family=acceleration-contrarian-52w-hybrid
New hybrid family that combines the acceleration ladder with the contrarian 52-week recovery leader, but not as a flat blend: each regime computes separate acceleration and repair sleeves, then explicitly arbitrates between them so strong tapes prefer improving trend-continuation unless price is already overheated, while choppier or risk-off tapes only admit rebounds when the 52-week drawdown sits in a repairable band and liquidity/fundamental confirmation is good enough.
Deliberate metric coverage this run: actively use one momentum cluster (1m, 3m, 6m, 12m, and 12_1 through acceleration and repair-confirmation relationships), one recovery cluster (from_52w_high_pct plus from_200d_ma_pct), one volatility check, one liquidity cluster (dollar volume plus trading days), one income check, one valuation check, one growth cluster, one quality cluster, and one size tilt. Deliberately weight avg_daily_volume_3m, dividend_ttm, pe, peg, eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, free_cash_flow_margin_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm at zero this run so the backtest can isolate whether the acceleration-versus-repair arbitration adds value beyond the parent families.
Lesson notes
explore/acceleration-contrarian-52w-hybrid: relative_return 1.3231x (delta -0.1026 vs exp_758); win-rate 100.0%, worst-window 1.015292, dispersion 26.4776%.
Monthly picks — top stocks selected each month (whole timeline)
timeline — 240 months · top 15 each
| Month | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006-07-31 | GOOGL | GOOG | XOM | MSFT | BAC | GS | AAPL | MO | T | MRK | CVX | CMCSA | C | JPM | ORCL |
| 2006-08-31 | MAY | ILMN | GOOG | GRMN | ADM | XOM | GOOGL | STLD | ICE | FTI | AAPL | MTW | TEX | LVS | FCX |
| 2006-09-29 | MAY | AAPL | GOOG | GOOGL | ILMN | LVS | ATI | AAL | MO | MTW | KMX | GRMN | AKAM | TEX | INTC |
| 2006-10-31 | MAY | GOOG | GOOGL | AAPL | AT | BMET | APCC | GS | BKNG | UAL | LVLT | ALGN | OMX | ALXN | HAS |
| 2006-11-30 | MAY | GOOG | MA | AAPL | GOOGL | ICE | CSCO | ATI | UAL | MTCH | CF | NDAQ | INCLF | GS | TPR |
| 2006-12-29 | MAY | CF | ICE | AT | GT | GOOG | UAL | CE | BMET | GOOGL | KMX | AAPL | MGM | ALGN | TEX |
| 2007-01-31 | MAY | GT | ICE | MGM | CF | GOOG | WYNN | MA | INCY | GOOGL | LVS | EOP | UIS | DOC | AAPL |
| 2007-02-28 | MAY | CF | ICE | FSLR | ON | VMC | GT | CE | WY | BKNG | ALGN | MGM | MLM | DLX | OI |
| 2007-03-30 | MAY | CF | ICE | GT | GOOG | GOOGL | AAPL | WYNN | QCOM | ON | HP | WY | DLX | UIS | CSCO |
| 2007-04-30 | MAY | CF | GT | ICE | ANDV | HP | AAPL | MGM | TTWO | DLX | MNST | WYNN | WY | NRG | UIS |
| 2007-05-31 | AAPL | AMZN | CLF | GT | AL | DLX | OI | DJ | ALXN | MDR | MA | MHS | JEC | ATGE | CF |
| 2007-06-29 | KMG | FSLR | CF | AL | AXON | AAPL | MA | DECK | NOV | MOS | GOOG | ANDW | JEC | AMZN | GOOGL |
| 2007-07-31 | AAPL | FSLR | CF | AMZN | AL | AXON | KMG | MAY | DLX | MLM | BKNG | INTC | CE | VRSN | CLF |
| 2007-08-31 | AAPL | ALGN | KMG | MA | AXON | FSLR | AL | DECK | AMZN | CF | FCX | DJ | CE | COP | CLF |
| 2007-09-28 | AAPL | CF | GRMN | AMZN | AXON | AL | MA | MOS | NOV | GME | ALGN | KMG | MPWR | VRTX | CMG |
| 2007-10-31 | AAPL | ISRG | GRMN | MOS | CF | MPWR | AMZN | GOOG | FTI | SLB | FSLR | AXON | GOOGL | CMG | ILMN |
| 2007-11-30 | FSLR | AAPL | ISRG | GOOG | CF | GRMN | FTI | GOOGL | NOV | FLR | MOS | FCX | WYNN | AMZN | LVS |
| 2007-12-31 | AAPL | GOOG | GOOGL | MSFT | XOM | MCD | PG | ISRG | GS | KO | INTC | MRK | JNJ | NEE | MO |
| 2008-01-31 | AAPL | MSFT | GOOG | GOOGL | MOS | MO | ADM | BRK-B | GS | ABT | HUM | KO | SO | CRL | BAX |
| 2008-02-29 | AAPL | GOOG | XOM | MOS | GS | CF | BRK-B | PRGO | GOOGL | MA | MO | HAL | BLK | NEM | MUR |
| 2008-03-31 | AAPL | GOOG | MOS | MO | WMT | GS | CAT | OXY | BDX | EQT | XOM | MSFT | NBR | GOOGL | APA |
| 2008-04-30 | AAPL | GOOG | MOS | XOM | WMT | CVX | GOOGL | MA | MEE | DVN | SLB | RRC | CF | CSX | ESV |
| 2008-05-30 | FSLR | MOS | MEE | CF | ESV | CLF | AAPL | RRC | SWN | APA | EOG | PRGO | BTUUQ | NFLX | BCR |
| 2008-06-30 | AAPL | MEE | WMT | IBM | ESV | CVX | TTWO | MOS | OXY | COP | BCR | BTUUQ | XOM | HP | MA |
| 2008-07-31 | AAPL | ESV | MEE | SWN | BCR | IBM | XOM | GOOG | SLB | DF | HAL | GS | BTUUQ | WMT | GE |
| 2008-08-29 | SWN | ESV | AAPL | CLF | BCR | BTUUQ | DF | FSLR | HP | CF | MEE | FFIV | MA | FDO | CELG |
| 2008-09-30 | AAPL | BCR | DF | SWN | FDO | AMGN | CEPH | ACS | BIG | BNI | COG | BLL | HCBK | LEG | CELG |
| 2008-10-31 | AAPL | WFC | CLX | WWY | GOOG | MRSH | ED | AMGN | XOM | DLTR | WMT | BRL | TFC | CHD | GE |
| 2008-11-28 | AAPL | XOM | GOOG | WMT | SHW | AMGN | CHD | BRL | GE | MCD | DLTR | CLX | GOOGL | KR | WFC |
| 2008-12-31 | XOM | AAPL | AMGN | GOOG | DGX | BRL | WFC | BMY | GE | MCD | DLTR | PG | SHW | AJG | GOOGL |
| 2009-01-30 | XOM | AAPL | GOOG | BMY | LDOS | GILD | SJM | DISCA | BRL | ROH | PNW | AWK | AMGN | NFLX | CVX |
| 2009-02-27 | XOM | AAPL | GOOG | NFLX | PCG | VTRS | CVX | GOOGL | AZO | VRTX | WMT | MNST | DLTR | JNJ | GE |
| 2009-03-31 | XOM | AAPL | AZO | NEM | GOOG | AAP | BR | EW | MNST | BMY | CVX | PCG | VTRS | NFLX | DRI |
| 2009-04-30 | AAPL | GOOG | XOM | F | GS | GOOGL | NFLX | IBM | BR | AZO | DRI | VTRS | AN | AMZN | BBY |
| 2009-05-29 | AAPL | GS | GOOG | IBM | F | AZO | FCX | XOM | GOOGL | MS | FFIV | AN | DRI | WBD | MNST |
| 2009-06-30 | CAR | AAPL | F | GS | WDC | GOOG | EXPE | IBM | JPM | NFLX | DRI | GLW | TSN | TJX | GOOGL |
| 2009-07-31 | CAR | ASH | STX | F | AAPL | GT | BAC | GOOG | EBAY | LULU | JPM | CBRE | DDS | ISRG | TT |
| 2009-08-31 | CAR | F | GNW | BAC | THC | IP | GT | LULU | CBRE | PALM | WHR | GGP | FCX | MTG | WFC |
| 2009-09-30 | CAR | GNW | PALM | UIS | SLG | MTG | F | SSP | FITB | HIG | BAC | C | COF | GE | MEE |
| 2009-10-30 | SW | GNW | UIS | AIG | KMG | GGP | LULU | HIG | AAPL | FCX | MAC | LVS | JBL | GOOG | FFIV |
| 2009-11-30 | KMG | GGP | BKNG | INCY | AMD | AAPL | CLF | UIS | WFM | FCX | AMZN | WLL | SLG | GOOG | DDS |
| 2009-12-31 | UAL | SANM | AMD | GGP | NYT | INCY | WFM | UIS | WLL | JBL | MU | SLG | BKNG | GOOG | ALK |
| 2010-01-29 | SANM | ACS | UAL | INCY | LYV | DAL | F | AAL | NYT | REGN | GNW | ELV | HUM | HBAN | DPZ |
| 2010-02-26 | UAL | SANM | ACS | AAL | LYV | CLF | RX | AXON | AAPL | VIAV | GNW | GGP | SMCI | ETFC | DPZ |
| 2010-03-31 | ETFC | UAL | CLF | MTG | INCY | LYV | RX | SMCI | VIAV | GNW | AAPL | LULU | WLL | TSN | F |
| 2010-04-30 | ETFC | UAL | MBI | BC | SANM | AAPL | URI | LPX | LYV | WLL | LVS | ZION | CMI | VIAV | NFLX |
| 2010-05-28 | UAL | BC | MTG | SANM | ETFC | LYV | MBI | SSP | INCY | ZION | WLL | F | BBWI | AIV | AAPL |
| 2010-06-30 | AAPL | ETFC | GS | C | HSY | NFLX | AKAM | BMY | UHS | WLL | SHW | PRGO | AZO | ORLY | CMG |
| 2010-07-30 | AAPL | C | GS | ETFC | HSY | WY | KDP | AZO | DG | NEM | DLTR | AAP | CCU | COR | MO |
| 2010-08-31 | AAPL | LVS | GS | ETFC | AZO | KDP | LYB | HSY | CTSH | PRGO | PM | GPC | DLR | CASY | ILMN |
| 2010-09-30 | ETFC | NFLX | AAPL | LVS | AAL | MBI | FFIV | AKAM | CASY | CRM | BKNG | DDS | CCU | AIV | CMI |
| 2010-10-29 | ETFC | LVS | AAPL | NFLX | BKNG | FTNT | EC | FFIV | WLL | ACAS | URI | LYB | VRTS | CMG | FCX |
| 2010-11-30 | ETFC | LVS | TSLA | VRTS | DECK | AAPL | NOV | CMG | FFIV | FTNT | URI | NFLX | BKNG | WLL | ACAS |
| 2010-12-31 | ETFC | URI | NXPI | ACAS | WLL | AIG | NOV | AAPL | VRTS | LYB | FCX | RCL | BWA | DDS | LVS |
| 2011-01-31 | MAY | AAPL | ETFC | AIG | C | F | NVDA | URI | BKNG | MOS | ON | JPM | VIAV | NOV | CMG |
| 2011-02-28 | MAY | IPGP | VIAV | NXPI | URI | MTW | AAPL | CIEN | TER | ECHO | LULU | VLO | SWKS | ANDV | NOV |
| 2011-03-31 | MAY | AAPL | URI | ANDV | ECHO | IPGP | MTW | CTRA | ULTA | BKNG | LULU | NFLX | EP | WCG | JEF |
| 2011-04-29 | MAY | IPGP | BIIB | ABMD | LULU | CHTR | ADS | EP | KSU | REGN | AAPL | WCG | ULTA | COG | GMCR |
| 2011-05-31 | IPGP | REGN | EP | DPZ | COG | WCG | DDS | CEPH | NFLX | EA | GME | ABMD | AAPL | PSKY | ANF |
| 2011-06-30 | MAY | CEPH | COG | WCG | EP | ULTA | BIIB | MNST | ABMD | CTRA | ADS | KSU | CBS | GR | HFC |
| 2011-07-29 | IPGP | EP | COG | WCG | ULTA | AAPL | REGN | CEPH | KSU | ADS | GMCR | GR | NFLX | CBS | PETM |
| 2011-08-31 | AAPL | IBM | MSFT | AZO | BIIB | MDLZ | CL | CVX | BBWI | KMB | MCD | DLTR | IRM | PPL | UST |
| 2011-09-30 | AAPL | AZO | VFC | KMB | NEM | DLTR | INTC | BIIB | V | IBM | PPL | CL | DUK | BBWI | UST |
| 2011-10-31 | AAPL | GOOG | KLAC | IBM | AZO | DLTR | INTC | BIIB | GOOGL | VFC | DG | MDLZ | KMB | DUK | MCD |
| 2011-11-30 | AAPL | GOOG | GOOGL | XOM | INTC | DLTR | KLAC | CSCO | AZO | MCD | IBM | DG | PM | VZ | PPL |
| 2011-12-30 | AAPL | GOOG | GOOGL | XOM | PM | VZ | INTC | DLTR | AZO | VFC | MDLZ | MCD | TJX | CSCO | IBM |
| 2012-01-31 | AAPL | GNRC | URI | CF | AAL | MBI | COG | WCG | FTNT | MHK | FBHS | MNST | ROK | CERN | TRMB |
| 2012-02-29 | URI | AAPL | REGN | STX | HCA | SANM | NXPI | MOH | GILD | GNRC | SWKS | TIN | MBI | DD | SIAL |
| 2012-03-30 | AAPL | BLDR | MOH | NXPI | PHM | STX | BAC | URI | COG | BKNG | FLS | EQIX | TT | OI | AKAM |
| 2012-04-30 | AAPL | BLDR | REGN | FAST | URI | BKNG | EQIX | NXPI | ITT | KMI | WCG | EC | MNST | JBL | FLT |
| 2012-05-31 | AAPL | AAL | BKNG | REGN | BLDR | EC | STX | DDS | GRMN | ORLY | MNST | PHM | KMI | GPS | HOG |
| 2012-06-29 | AAPL | AAL | BKNG | MNST | REGN | BLDR | VRTX | STX | EC | EXPE | ROST | DDS | EQIX | EBAY | INCY |
| 2012-07-31 | AAPL | AAL | MNST | BKNG | VRTX | DG | EXPE | DLTR | LEN | DDS | TDC | TDG | EQIX | SHW | LPX |
| 2012-08-31 | AAPL | AAL | STX | EXPE | VRTX | PHM | LPX | EQIX | UIS | DG | SHW | INCY | WOR | DHI | ANDV |
| 2012-09-28 | PHM | AAPL | VRTX | LPX | STX | AAL | ANDV | KBH | EQT | DHI | DDS | EXPE | UIS | STZ | IPGP |
| 2012-10-31 | BBBY | PHM | AAPL | ANDV | KBH | REGN | TMUS | VRTX | LPX | AAL | SHW | STZ | VLO | GNRC | DXCM |
| 2012-11-30 | KBH | GNRC | AAPL | BBBY | PHM | TMUS | LPX | DHI | ANDV | GOOG | STZ | BKNG | NRG | REGN | IRM |
| 2012-12-31 | LPX | FSLR | GNRC | NFLX | AXON | MTG | THC | GNW | BAC | STX | TEX | BBBY | LYB | APTV | KBH |
| 2013-01-31 | NFLX | OMX | THC | VRTS | META | APO | GNW | BC | TEX | PHM | MPC | KBH | BSX | VLO | HCA |
| 2013-02-28 | NFLX | OMX | APO | VRTS | MTG | CPAY | MPC | HRB | ANDV | SW | CTRA | DXC | THC | HPQ | LPX |
| 2013-03-28 | FNMA | FMCC | MTG | OMX | NFLX | SVU | VRTS | GNW | THC | HRB | ALK | KKR | CPAY | BBY | MPC |
| 2013-04-30 | FNMA | FMCC | OMX | MTG | FSLR | NFLX | BBBY | TSLA | SVU | BBY | ENPH | KKR | GME | TMUS | BIIB |
| 2013-05-31 | FNMA | FMCC | TSLA | OMX | MTG | SVU | REGN | FSLR | BKNG | AAPL | TMUS | NFLX | BBY | ENPH | KKR |
| 2013-06-28 | TSLA | OMX | BBBY | FNMA | MU | FMCC | GME | TMUS | CBOE | LYV | MTG | CME | DXCM | GOOG | SVU |
| 2013-07-31 | OMX | TSLA | FNMA | MTG | FMCC | BBBY | GME | SVU | META | BSX | EA | BKNG | TRIP | FANG | CSGP |
| 2013-08-30 | OMX | TSLA | META | INCY | BBY | AAPL | GME | BKNG | GT | EPAM | DXCM | CPAY | WEN | AXON | FL |
| 2013-09-30 | OMX | TSLA | META | AXON | KATE | GT | INCY | MGM | REGN | BKNG | RRD | WEN | CELG | ETFC | FLT |
| 2013-10-31 | OMX | FMCC | FNMA | AXON | TSLA | META | AAPL | FANG | PBI | WST | GOOG | BBY | TYL | INCY | EPAM |
| 2013-11-29 | OMX | FNMA | FMCC | META | MU | IBKR | INCY | TKO | BKNG | PBI | AAPL | MKTX | KATE | HII | NFLX |
| 2013-12-31 | FNMA | FMCC | META | INCY | TKO | AAPL | KATE | HII | RRD | ILMN | ETFC | CELG | FLT | GOOG | VLO |
| 2014-01-31 | TKO | INCY | ILMN | META | AAL | FRX | DXCM | TSLA | FMCC | SMCI | AYI | FNMA | NFLX | SWY | WYNN |
| 2014-02-28 | FMCC | FNMA | TSLA | ILMN | META | AAL | FRX | TKO | MGM | TPL | DXCM | BKNG | WYNN | GOOG | NBR |
| 2014-03-31 | TKO | AAL | NBR | TSN | HP | FSLR | ALK | FMCC | SWKS | META | URI | EXC | FRX | GLW | EIX |
| 2014-04-30 | CAR | TSLA | SWKS | FANG | AAPL | NBR | SANM | META | TRGP | FRX | DAL | ATI | MU | EQT | BKR |
| 2014-05-30 | WLL | TPL | AAPL | META | CAR | AAL | DAL | EA | MU | NRG | NFX | EXC | NCC | SWKS | TRGP |
| 2014-06-30 | NFX | WMB | MU | FANG | MMI | TSLA | TRGP | SMCI | WLL | META | AAPL | NBR | SWKS | ILMN | AAL |
| 2014-07-31 | SWKS | AAPL | META | SVU | TWX | HCA | TPL | UHS | DLR | CMG | LYB | UAA | INTC | MU | LUMN |
| 2014-08-29 | ENPH | MMI | AAPL | SWKS | GILD | NFX | TSLA | THC | MU | TPL | PAYC | UHS | HCA | STLD | CAR |
| 2014-09-30 | ENPH | TPL | AAPL | TRGP | CAR | SWKS | GILD | TSLA | META | UHS | MU | FL | STLD | BBY | TWX |
| 2014-10-31 | AAPL | ENPH | MNST | BBBY | EW | INCY | PANW | CNC | WDAY | AMGN | AXON | EA | EPAM | NOW | STE |
| 2014-11-28 | PAYC | AAPL | PANW | SAPE | MNST | INCY | EW | AXON | SWKS | ZTS | BBBY | GMCR | COV | DXCM | NCLH |
| 2014-12-31 | AXON | AAPL | KMX | UAL | AAL | SWKS | DXCM | NCLH | EA | KR | CASY | BBWI | PNW | ENPH | RCL |
| 2015-01-30 | SWKS | AAPL | AXON | GILD | CSGP | INCY | MNST | RCL | EA | SIAL | AAL | NCLH | PAYC | KR | KMX |
| 2015-02-27 | MAY | AAPL | CNC | PANW | IPGP | MNST | BSX | SBUX | SWKS | DLTR | HSP | HII | ON | ANDV | EPAM |
| 2015-03-31 | BTUUQ | CNC | SWKS | AAPL | INCY | KMG | COR | CNXT | VTSS | SSP | RMD | KR | FIX | LII | MSCI |
| 2015-04-30 | BLDR | CZR | BTUUQ | CNXT | KMG | AAPL | ABMD | INCY | VTRS | NFX | LYB | AMZN | DXCM | NFLX | VTSS |
| 2015-05-29 | BTUUQ | CZR | CNXT | BLDR | NFLX | HUM | SWKS | INCY | MMI | CNC | GILD | PANW | NXPI | TSLA | AAPL |
| 2015-06-30 | BTUUQ | PAYC | AAPL | NFLX | ANET | SWKS | BIIB | NXPI | GILD | HUM | AVGO | CNC | VMC | VTRS | LYB |
| 2015-07-31 | BTUUQ | BLDR | CNC | COTY | META | PAYC | CI | AET | INCY | NFLX | SWKS | AAPL | IBKR | HUM | ABMD |
| 2015-08-31 | AAPL | META | BKNG | NFLX | AMZN | MDLZ | GOOG | GOOGL | SBUX | AYI | AIZ | HSP | ACGL | PSA | GILD |
| 2015-09-30 | AAPL | META | BKNG | AMZN | GOOG | GOOGL | MDLZ | CASY | WEC | EQIX | HSP | V | ACN | WRB | PNW |
| 2015-10-30 | AAPL | META | GOOG | AMZN | BKNG | GOOGL | GILD | AZO | NFLX | KLAC | CCI | WEC | MDLZ | EVRG | PNW |
| 2015-11-30 | ABMD | AMZN | NFLX | GOOG | META | FIX | BLDR | DXCM | PODD | FSLR | EXPE | ATVI | LUV | TYL | VRSN |
| 2015-12-31 | AMZN | AAPL | META | GOOG | BKNG | GE | GOOGL | ABMD | AZO | NFLX | VRSN | MSFT | ATVI | CASY | DD |
| 2016-01-29 | AMZN | AAPL | META | GOOG | GE | GOOGL | ABMD | MSFT | CASY | MCD | AIZ | T | PSA | HD | TAP |
| 2016-02-29 | META | GOOG | AAPL | AMZN | GOOGL | TSN | T | ABMD | MSFT | EVRG | VZ | TPR | UAL | KR | ATVI |
| 2016-03-31 | TSN | FSLR | WB | ARG | ATVI | NEM | META | AMZN | MAT | BMS | ABMD | GOOG | DD | LDOS | GNRC |
| 2016-04-29 | CLF | CNX | RRC | META | TSN | HCA | WPX | MAT | TPR | ARG | PM | MUR | CPRI | LITE | DPZ |
| 2016-05-31 | RRC | EW | META | NAVI | CTRA | CNX | IRM | CLF | X | PM | BAX | CMI | NEM | CZR | MTW |
| 2016-06-30 | CNX | CLF | X | WPX | AXON | OKE | MTW | JOY | STLD | MUR | PXD | DLR | NVDA | PAYC | JCI |
| 2016-07-29 | CLF | AMD | X | WB | WLL | SWN | NVDA | CNX | BLDR | OKE | CHTR | CAR | WPX | ATI | AMZN |
| 2016-08-31 | WB | AMD | X | GNW | ETSY | JOY | NVDA | OKE | LITE | GEN | WMB | DHR | VEEV | DXCM | XYZ |
| 2016-09-30 | WB | X | GNW | WMB | LITE | TPL | NVDA | ETSY | WPX | NAV | JOY | AMD | TRGP | AMZN | STX |
| 2016-10-31 | WB | X | TPL | LITE | AMD | JOY | WMB | NVDA | ETSY | CNX | VRTS | DHR | MKTX | DXC | GNW |
| 2016-11-30 | CLF | WB | X | FMCC | AMD | LITE | NVDA | WOR | FNMA | ETSY | DHR | XYZ | TPL | EME | NBR |
| 2016-12-30 | NVDA | AMD | FMCC | FNMA | X | SLM | CFG | RF | UIS | GS | ZION | BAC | MTG | MU | KEY |
| 2017-01-31 | FMCC | FNMA | CSX | SLM | NVDA | WDC | TPL | MTW | MU | COHR | CHTR | TSLA | URI | X | ATI |
| 2017-02-28 | AMD | TTD | HWM | CLF | INCY | CSX | AAPL | BAC | NRG | HPQ | XYZ | LPX | NVDA | VIAV | TSLA |
| 2017-03-31 | NRG | AMD | TSLA | MU | BLDR | LITE | ANET | PENN | KMG | INCY | VRTX | VIAV | BKNG | WDC | VEEV |
| 2017-04-28 | KMG | ALGN | TSLA | BLDR | APO | CSX | VRTX | HPQ | ANET | BCR | LRCX | TER | IDXX | WDC | BKNG |
| 2017-05-31 | TTD | TSLA | NVDA | XYZ | KMG | WB | ALGN | TTWO | MOH | VEEV | AAPL | ADSK | BCR | GOOG | MU |
| 2017-06-30 | TSLA | CVNA | XYZ | HRB | NVDA | ETSY | MOH | KBH | FSLR | WB | PENN | REGN | VRTX | ALGN | TTD |
| 2017-07-31 | NVDA | NRG | XYZ | FSLR | VRTX | WB | LITE | ALGN | SEDG | TTD | NCC | CHTR | NYT | TTWO | META |
| 2017-08-31 | WB | SEDG | MTW | TSLA | TTWO | BBBY | IPGP | PODD | NVDA | NRG | CAR | TPL | VRTX | ALGN | ATI |
| 2017-09-29 | BBBY | ENPH | WB | MTW | NVDA | XYZ | TTWO | TTD | SEDG | ATI | ALB | MU | LRCX | TEX | CPRI |
| 2017-10-31 | BBBY | XYZ | NVDA | MU | ALGN | IPGP | TTWO | MTW | TWTR | SEDG | GNRC | KORS | NVR | AAPL | MTCH |
| 2017-11-30 | ENPH | BBBY | MAY | XYZ | ALGN | IPGP | SEDG | KBH | ANET | FSLR | CPRI | MU | TWTR | MTCH | BBWI |
| 2017-12-29 | BBBY | FSLR | EC | MAY | ENPH | CPRI | FCX | CZR | PENN | FANG | TKO | MTCH | BF-B | BF.B | MU |
| 2018-01-31 | MAY | NKTR | BBBY | EC | TWTR | XYZ | GWW | NFLX | TKO | ANF | IPGP | ANET | KORS | NVDA | WB |
| 2018-02-28 | NKTR | BBBY | EC | ANET | PENN | FSLR | XYZ | WB | ENPH | HP | WYNN | LRCX | CBOE | GWW | MAY |
| 2018-03-29 | NKTR | XYZ | MU | AMZN | ENPH | NFLX | MAY | ANET | WB | IBKR | ALGN | SEDG | BKNG | MOH | EC |
| 2018-04-30 | AMZN | NKTR | MU | NFLX | META | GE | HET | GWW | BKNG | AAPL | NVDA | BA | KDP | EC | BLK |
| 2018-05-31 | NKTR | MU | ENPH | AXON | SEDG | THC | HET | TKO | EC | ANET | NFLX | IBKR | AMZN | ETSY | CVNA |
| 2018-06-29 | NKTR | ENPH | MU | TKO | THC | HET | AXON | XYZ | NFLX | CVNA | EC | SEDG | NVDA | DXCM | ETSY |
| 2018-07-31 | ENPH | AXON | HET | TKO | CVNA | ETSY | NFLX | MU | XYZ | SEDG | TTD | THC | DXCM | UA | NKTR |
| 2018-08-31 | HET | CVNA | TKO | AXON | NFLX | XYZ | DXCM | AMD | ENPH | TTD | AMZN | THC | ETSY | ABMD | REGN |
| 2018-09-28 | HET | CVNA | TKO | AMD | XYZ | AXON | TTD | NFLX | DXCM | ABMD | AMZN | ETSY | UIS | MOH | UA |
| 2018-10-31 | HET | AMZN | AAPL | DXCM | MSFT | CHTR | ABMD | MOH | BSX | META | EXR | UIS | AMD | CCI | LLY |
| 2018-11-30 | HET | AMZN | AAPL | TSLA | MOH | MRK | EXR | UNP | EOG | ABMD | CCI | AMD | LW | CIEN | MKC |
| 2018-12-31 | HET | AMZN | AAPL | EXR | MKC | TSLA | SCG | MRK | KDP | WCG | NRG | WELL | VZ | CCI | CLX |
| 2019-01-31 | HET | AMZN | EXR | AAPL | RHT | PFE | SCG | CCI | MSFT | PAYC | CHD | XLNX | ESRX | NFLX | MTCH |
| 2019-02-28 | HET | FNMA | FMCC | AMD | ENPH | CLF | CAR | RHT | MKC | TTD | INCY | ETSY | NFLX | OI | CIEN |
| 2019-03-29 | HET | CIEN | CVNA | FNMA | ENPH | SSP | FMCC | TTD | LRCX | GEN | CAR | AMZN | AMD | EXR | KLAC |
| 2019-04-30 | HET | CVNA | QCOM | ENPH | AVP | AMZN | ALGN | TTD | AMD | SMCI | MSCI | META | VEEV | CDNS | CPRT |
| 2019-05-31 | AMZN | HET | EXR | META | ENPH | TSN | MSFT | AAPL | BR | AZO | CSCO | CPAY | TDG | MKTX | ADBE |
| 2019-06-28 | HET | ENPH | FNMA | FMCC | AVP | CVNA | TTD | AMD | ERIE | QCOM | META | AMZN | MTCH | AXON | VEEV |
| 2019-07-31 | ENPH | HET | BBBY | TTD | CSGP | FICO | AAPL | HSY | AVP | FISV | EW | SBUX | ARES | TTWO | XYZ |
| 2019-08-30 | HET | ENPH | QCOM | ERIE | AAPL | VEEV | AVP | META | MRVL | EXR | LIN | KMX | CPRT | TTD | MKTX |
| 2019-09-30 | HET | ENPH | MKTX | AVP | QCOM | BALL | VEEV | EXR | SBAC | PRGO | SEDG | HWM | RMD | MTCH | NCC |
| 2019-10-31 | HET | GNRC | TSLA | BLDR | AAPL | MKTX | BMY | BIIB | MAA | WU | KBH | APO | KLAC | EW | PHM |
| 2019-11-29 | HET | DXCM | AAPL | TSLA | QRVO | BLDR | LITE | UIS | THC | PODD | AXON | CI | CVNA | AMD | STT |
| 2019-12-31 | HET | TSLA | THC | QRVO | AAPL | SWKS | AMD | NBR | HUM | LITE | CZR | BMY | STT | CI | PENN |
| 2020-01-31 | HET | TSLA | PCG | AAPL | PENN | DXCM | TDG | PODD | LM | SMCI | GEN | LLY | GOOG | ADSK | DVA |
| 2020-02-28 | HET | TSLA | AAPL | AMZN | MSFT | LLY | GOOG | LM | GOOGL | TYL | GEN | DXCM | DVA | FII | BMY |
| 2020-03-31 | TSLA | AMZN | AAPL | MSFT | GEN | KR | DXCM | CLX | DVA | TYL | NEM | BIIB | JKHY | ODFL | EXR |
| 2020-04-30 | TSLA | AMZN | AAPL | MSFT | KR | CI | REGN | AMT | LM | META | GOOG | EXR | DXCM | AMD | GEN |
| 2020-05-29 | TSLA | AMZN | AAPL | GOOG | MSFT | DXCM | NFLX | ENPH | META | NEM | AMD | GEN | CHRW | CRWD | CI |
| 2020-06-30 | TSLA | AMZN | AAPL | META | MSFT | NEM | BBBY | GOOG | AZO | DDOG | GOOGL | NFLX | AMD | CLX | DXCM |
| 2020-07-31 | BBBY | TSLA | MRNA | ENPH | RRC | NFLX | CNX | DXCM | AMZN | VRTX | PD | AAPL | EXR | ILMN | CRWD |
| 2020-08-31 | BBBY | TSLA | ETSY | RRC | MRNA | PENN | AAPL | CNX | CVNA | LRCX | XYZ | AMZN | BC | DD | AMT |
| 2020-09-30 | BBBY | TSLA | TUP | PENN | AAPL | CZR | ETSY | AMZN | RRC | AM | META | AMD | CVNA | XYZ | LULU |
| 2020-10-30 | TUP | TSLA | BBBY | PENN | ENPH | XYZ | AAPL | SEDG | ETSY | FDX | NVDA | TTD | CVNA | AMZN | AMD |
| 2020-11-30 | TUP | TSLA | BBBY | MRNA | PBI | VIAC | EXR | ENPH | UA | AMZN | AAPL | SEDG | XYZ | PCG | SLM |
| 2020-12-31 | TUP | TSLA | CLF | CPRI | GME | ENPH | TPR | UIS | DDS | CRWD | TEX | KSS | GP | PENN | NBR |
| 2021-01-29 | GME | TSLA | MRNA | AAPL | ALB | AMD | GOOG | IBKR | ETSY | BLK | TUP | LDOS | ENPH | CVNA | WPX |
| 2021-02-26 | GME | VIAC | NBR | TSLA | TRIP | QEP | DISCA | DISCK | PSKY | PENN | TPR | IAC | TPL | GT | TDC |
| 2021-03-31 | GME | VIAC | TPL | DISCA | DVN | DISCK | QEP | TSLA | CLF | TRIP | CAR | KSS | FANG | WSM | CPRI |
| 2021-04-30 | QEP | CAR | DVN | GME | MTW | XEC | TPL | COTY | FANG | TSLA | LPX | ANF | TDC | TPR | NAVI |
| 2021-05-28 | GME | DDS | DVN | XEC | NUE | MTW | RRD | NAVI | STLD | DXC | CLF | RRC | ASO | ANF | MDP |
| 2021-06-30 | GME | MRNA | DDS | RRD | MAC | MDP | RRC | TSLA | TRGP | MUR | DVN | ASO | NAVI | SBNY | FANG |
| 2021-07-30 | MRNA | RRD | MDP | DDS | NUE | SBNY | ARES | IT | MBI | CLF | FTNT | RMD | BX | WAT | MAA |
| 2021-08-31 | MRNA | RRD | MDP | SBNY | DDS | SIVB | NAVI | IT | TSLA | NUE | DRE | EPAM | NVDA | PXD | FTNT |
| 2021-09-30 | MRNA | RRD | GME | TSLA | DDS | SBNY | BX | MDP | AMD | RRC | MAC | XEC | SIVB | NUE | GOOG |
| 2021-10-29 | CAR | TSLA | RRD | RRC | DDS | DVN | MDP | MRNA | APP | M | DDOG | KKR | MRO | DXCM | ARES |
| 2021-11-30 | CAR | DDS | MRNA | TSLA | RRD | RRC | M | DDOG | DVN | DXCM | GME | JWN | ARES | MDP | EPAM |
| 2021-12-31 | BLDR | TSLA | RRD | DVN | ANET | ON | UCL | CIEN | ACN | FLR | AZO | XLNX | F | AAPL | MCK |
| 2022-01-31 | TSLA | EXR | AAPL | DVN | MSFT | RRD | AZO | XOM | CVX | EIX | CTSH | FDS | XLNX | GILD | NVDA |
| 2022-02-28 | AAPL | TSLA | DVN | EXR | AZO | RRD | CVX | XOM | PSX | MSFT | MCK | WFC | VLO | MKC | AFL |
| 2022-03-31 | TSLA | EXR | AAPL | MSFT | COP | RRD | CVX | MRK | MCK | DVN | XOM | BRK-B | NVDA | EXC | SRE |
| 2022-04-29 | TSLA | CVX | EQT | MCK | EXR | DLTR | ADM | BRK-B | SRE | EXC | DVN | TRGP | WRB | COR | EOG |
| 2022-05-31 | TSLA | APA | EXR | ADM | ABBV | EQT | FE | COR | PFE | WY | BRK-B | AIZ | XOM | PNW | JKHY |
| 2022-06-30 | TSLA | EXR | FHN | EXC | WEC | MRK | ABBV | BMY | XOM | APA | PM | TKO | MCK | ATO | T |
| 2022-07-29 | TSLA | XOM | AAPL | EXR | CVX | AMT | BMY | LW | APA | EXC | ERIE | WMB | CTVA | MCK | MRK |
| 2022-08-31 | EXR | TSLA | DVN | HRB | AZO | CVX | XOM | VICI | HES | NLSN | ODP | CAH | MCK | AIV | LW |
| 2022-09-30 | TSLA | EXR | HRB | LW | GPC | DVN | MCK | HES | NLSN | COP | ODP | XOM | HII | WM | RSG |
| 2022-10-31 | TSLA | EXR | DVN | AZO | AAPL | FSLR | ERIE | TKO | GPC | CVX | IEX | HES | XOM | CBOE | G |
| 2022-11-30 | UCL | FSLR | UNM | HRB | DYN | HES | DXCM | TPL | SMCI | COP | AIV | KEYS | NUE | ODP | OXY |
| 2022-12-30 | FSLR | SMCI | TPL | UCL | AXON | SANM | MUR | STLD | HES | COP | ABMD | FTI | MPC | NOV | UNM |
| 2023-01-31 | UCL | SMCI | NFLX | CEG | RCL | BKR | FCX | UNM | FSLR | HES | ABMD | ERIE | MUR | SANM | FTI |
| 2023-02-28 | UCL | HES | ODP | NVDA | FTI | DDS | BKR | LYB | FCX | ANF | DOW | ATGE | CAR | KBH | BEN |
| 2023-03-31 | UCL | FTI | TEX | MTW | STLD | SMCI | HES | GNW | URI | RCL | ALGN | AN | NUE | PVH | FSLR |
| 2023-04-28 | UCL | SMCI | FSLR | MTW | FTI | AMD | IPGP | NVDA | JBL | ATI | COTY | NFLX | FDX | DVA | PSKY |
| 2023-05-31 | TSLA | BKNG | NVDA | EXR | MSFT | SMCI | AAPL | MDLZ | WST | META | NVR | AMZN | MRK | CLX | FDX |
| 2023-06-30 | SMCI | TSLA | CVNA | NVDA | RCL | BLDR | FSLR | CCL | VRT | IAC | AXON | GOOG | BKNG | EW | APP |
| 2023-07-31 | SMCI | CVNA | TSLA | APP | NVDA | RCL | VRT | META | BLDR | CRWD | NFLX | BKNG | THC | PLTR | EQT |
| 2023-08-31 | CVNA | SMCI | TSLA | APP | VRT | NVDA | RCL | PLTR | CCL | META | TDC | NCLH | TTD | BLDR | BKNG |
| 2023-09-29 | TSLA | NVDA | BKNG | EXR | MSFT | APP | AZO | META | VRT | COP | EME | MTG | JPM | PNR | NRG |
| 2023-10-31 | TSLA | NVDA | BKNG | VRT | EXR | CNX | PSX | META | ERIE | BR | MTG | BRK-B | CDW | HRB | COP |
| 2023-11-30 | TSLA | CVNA | VRT | SMCI | APP | ANF | NVDA | CCL | JBL | CLF | FNMA | CPRI | CARR | CNX | BKNG |
| 2023-12-29 | CVNA | COIN | TSLA | APP | VRT | ANF | SMCI | FNMA | KEY | PLTR | NVDA | GPS | TFC | EPAM | CFG |
| 2024-01-31 | FNMA | VRT | CVNA | SMCI | ANF | NVDA | FMCC | APP | EXR | X | CRWD | GPS | WSM | KEY | COIN |
| 2024-02-29 | ADCT | SMCI | CVNA | DYN | NVDA | COIN | HOOD | ANF | VST | FIX | KKR | CRWD | BBBY | VRT | PVH |
| 2024-03-28 | SMCI | ADCT | NVDA | VST | COIN | DYN | WSM | VRT | APP | FNMA | CVNA | EME | HOOD | FMCC | GE |
| 2024-04-30 | ADCT | NVDA | VST | VRT | CVNA | GE | SMCI | DELL | NRG | APP | THC | ATI | DYN | EME | CMG |
| 2024-05-31 | NVDA | VST | FSLR | ANF | CVNA | DELL | APP | NRG | DYN | VRT | THC | OGN | HOOD | EME | FMCC |
| 2024-06-28 | NVDA | CVNA | DYN | ANF | HOOD | COHR | VST | PANW | DELL | THC | KKR | TRGP | APP | LU | ANET |
| 2024-07-31 | LUMN | NVDA | CVNA | DYN | LU | THC | TPL | KKR | TSLA | NBR | JEF | IRM | PBI | HWM | COIN |
| 2024-08-30 | LUMN | NVDA | CVNA | DYN | THC | PBI | IRM | FICO | VTR | NEM | ERIE | GDDY | TRGP | PLTR | AFL |
| 2024-09-30 | LUMN | APP | NVDA | LU | CVNA | VST | GEV | TSLA | CNX | ECHO | FICO | VNO | ERIE | PLTR | FSLR |
| 2024-10-31 | CVNA | LUMN | APP | NVDA | GEV | LB | PLTR | TPL | UAL | VST | BKNG | ETR | TRGP | MIR | MKTX |
| 2024-11-29 | APP | FMCC | FNMA | LUMN | PLTR | TPL | NVDA | AXON | TSLA | CVNA | HOOD | LB | GEV | VST | UAL |
| 2024-12-31 | APP | LUMN | TSLA | PLTR | CVNA | NVDA | VST | AXON | HOOD | TPL | FMCC | TRGP | VRT | FIX | FICO |
| 2025-01-31 | APP | FMCC | FNMA | TSLA | VST | PLTR | TPL | HOOD | GEV | CVNA | NVDA | LUMN | TRGP | VRT | LITE |
| 2025-02-28 | FNMA | FMCC | APP | HOOD | PLTR | TPL | IBKR | TSLA | CVNA | TKO | UAL | KMI | TPR | CIEN | MIR |
| 2025-03-31 | NVDA | AZO | BKNG | VRSN | TSLA | G | JPM | SLM | FISV | NFLX | KMI | DFS | BRK-B | DASH | CME |
| 2025-04-30 | NVDA | AZO | TSLA | CNP | PLTR | PM | VRSN | CME | COR | G | PSKY | MCK | TKO | EXE | BRK-B |
| 2025-05-30 | NVDA | TSLA | FNMA | AZO | AMT | PLTR | PM | META | WDC | EXC | KR | HCA | CME | VRSN | UBER |
| 2025-06-30 | FNMA | FMCC | HOOD | CAR | APP | PLTR | GEV | HII | LDOS | HWM | BUD | TSLA | F | COIN | LB |
| 2025-07-31 | FNMA | HOOD | FMCC | CAR | APP | PLTR | GEV | WDC | NFLX | SMCI | VRSN | NVDA | ATI | MU | AXON |
| 2025-08-29 | HOOD | PLTR | CAR | FNMA | UCL | FMCC | COIN | GEV | NVDA | AMD | APP | VRT | VST | AXON | TPR |
| 2025-09-30 | FNMA | FMCC | HOOD | ECHO | APP | CAR | COIN | WDC | LITE | NVDA | STX | AVGO | AMD | PLTR | ORCL |
| 2025-10-31 | FMCC | FNMA | TE | HOOD | APP | LITE | ECHO | WDC | AMD | NEM | COIN | NVDA | CIEN | MPWR | MU |
| 2025-11-28 | ECHO | LITE | TE | HOOD | NVDA | WDC | AMD | CIEN | APP | MPWR | PLTR | LUMN | MU | SANM | HP |
| 2025-12-31 | TE | LITE | ECHO | CIEN | NVDA | WDC | STX | HOOD | AMD | HP | MU | PLTR | APP | FMCC | FNMA |
| 2026-01-30 | TE | ECHO | WDC | LITE | MU | ALB | STX | NEM | LUMN | CIEN | WBD | KLAC | APH | VFC | AVGO |
| 2026-02-27 | LITE | CIEN | WDC | GLW | MU | VIAV | ATI | COHR | TPL | NBR | TER | KEYS | IPGP | AMAT | FIX |
| 2026-03-31 | NVDA | LITE | GOOG | GOOGL | MU | GILD | CCI | FDX | CIEN | EXR | FTI | VTR | SEE | CME | GS |
| 2026-04-30 | LITE | CIEN | MU | COHR | VIAV | WDC | ECHO | TER | ALB | STX | NBR | NEM | SEDG | KLAC | BWA |
| 2026-05-29 | LITE | MU | VIAV | CIEN | WDC | INTC | GLW | DELL | COHR | NVDA | ECHO | NBR | VRT | FIX | STX |
| 2026-06-26 | MU | DD | INTC | MRVL | DELL | WDC | AMD | STX | FLEX | CNC | GLW | HUM | HPE | VIAV | PBI |
Scoring script (python)
FORMULA_NAME = "Acceleration Relay Into 52-Week Repairs (Explore v1109)"
LOGIC_VARIANT_COUNT = 3
NOTES = """mode=explore; family=acceleration-contrarian-52w-hybrid
New hybrid family that combines the acceleration ladder with the contrarian 52-week recovery leader, but not as a flat blend: each regime computes separate acceleration and repair sleeves, then explicitly arbitrates between them so strong tapes prefer improving trend-continuation unless price is already overheated, while choppier or risk-off tapes only admit rebounds when the 52-week drawdown sits in a repairable band and liquidity/fundamental confirmation is good enough.
Deliberate metric coverage this run: actively use one momentum cluster (1m, 3m, 6m, 12m, and 12_1 through acceleration and repair-confirmation relationships), one recovery cluster (from_52w_high_pct plus from_200d_ma_pct), one volatility check, one liquidity cluster (dollar volume plus trading days), one income check, one valuation check, one growth cluster, one quality cluster, and one size tilt. Deliberately weight avg_daily_volume_3m, dividend_ttm, pe, peg, eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, free_cash_flow_margin_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm at zero this run so the backtest can isolate whether the acceleration-versus-repair arbitration adds value beyond the parent families."""
# Deliberate weight-0 metrics this run:
# - Liquidity: avg_daily_volume_3m
# - Income: dividend_ttm
# - Valuation: pe, peg
# - Growth: eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct
# - Quality: free_cash_flow_margin_pct
# - Size/raw levels: shares_outstanding, close, adj_close, high_52w, ma_200d,
# eps_ttm, revenue_ttm, operating_income_ttm, free_cash_flow_ttm
OPEN_THRUST = {
"return_1m_pct": 0.12,
"return_3m_pct": 0.15,
"return_6m_pct": 0.12,
"from_200d_ma_pct": 0.12,
"realized_vol_3m": -0.09,
"avg_daily_dollar_volume_3m": 0.09,
"trading_days_3m": 0.05,
"revenue_growth_pct": 0.07,
"forward_eps": 0.05,
"forward_pe": -0.06,
"dividend_yield_ttm_pct": 0.03,
"market_cap": -0.05,
}
REPAIR_BULL = {
"from_52w_high_pct": -0.15,
"from_200d_ma_pct": 0.14,
"return_6m_pct": 0.10,
"momentum_12_1_pct": 0.08,
"realized_vol_3m": -0.10,
"avg_daily_dollar_volume_3m": 0.08,
"trading_days_3m": 0.05,
"operating_margin_pct": 0.08,
"revenue_growth_pct": 0.05,
"forward_eps": 0.04,
"forward_pe": -0.05,
"dividend_yield_ttm_pct": 0.04,
"market_cap": -0.04,
}
SHELTER = {
"from_52w_high_pct": -0.08,
"from_200d_ma_pct": 0.15,
"realized_vol_3m": -0.16,
"avg_daily_dollar_volume_3m": 0.10,
"trading_days_3m": 0.08,
"operating_margin_pct": 0.10,
"revenue_growth_pct": 0.06,
"forward_eps": 0.06,
"forward_pe": -0.07,
"dividend_yield_ttm_pct": 0.08,
}
def _branch(regime):
if regime.get("bull"):
if regime.get("breadth", 0.0) >= 0.64 and regime.get("median_momentum_12_1_pct", 0.0) >= 6:
return OPEN_THRUST, "open_thrust"
return REPAIR_BULL, "repair_bull"
return SHELTER, "shelter"
def _bounded(value, low, high):
if value < low:
return low
if value > high:
return high
return value
def score_universe(stocks, regime, ctx):
book, branch = _branch(regime)
zmaps = {}
for metric in book:
zmaps[metric] = ctx.z(metric)
scores = {}
for row in stocks:
sym = row["symbol"]
base_total = 0.0
base_weight = 0.0
for metric, weight in book.items():
z = zmaps[metric].get(sym)
if z is not None:
base_total += weight * z
base_weight += abs(weight)
total = base_total / base_weight if base_weight > 0 else 0.0
ret1 = row.get("return_1m_pct")
ret3 = row.get("return_3m_pct")
ret6 = row.get("return_6m_pct")
ret12 = row.get("return_12m_pct")
mom = row.get("momentum_12_1_pct")
drawdown = row.get("from_52w_high_pct")
trend = row.get("from_200d_ma_pct")
vol = row.get("realized_vol_3m")
dollar_vol = row.get("avg_daily_dollar_volume_3m")
trading_days = row.get("trading_days_3m")
div_yield = row.get("dividend_yield_ttm_pct")
forward_pe = row.get("forward_pe")
revenue_growth = row.get("revenue_growth_pct")
forward_eps = row.get("forward_eps")
op_margin = row.get("operating_margin_pct")
cap = row.get("market_cap")
accel = 0.0
accel_count = 0.0
if ret1 is not None and ret3 is not None:
accel += ret1 - (ret3 / 3.0)
accel_count += 1.0
if ret3 is not None and ret6 is not None:
accel += ret3 - (ret6 / 2.0)
accel_count += 1.0
if ret6 is not None and ret12 is not None:
accel += ret6 - (ret12 / 2.0)
accel_count += 1.0
if mom is not None and ret6 is not None:
accel += mom - (ret6 * 0.4)
accel_count += 1.0
accel_value = accel / accel_count if accel_count > 0 else None
accel_score = 0.0
accel_weight = 0.0
if accel_value is not None:
accel_weight += 1.2
if branch == "open_thrust":
if accel_value > 8:
accel_score += 1.05
elif accel_value > 3:
accel_score += 0.55
elif accel_value > 0:
accel_score += 0.18
elif accel_value < -5:
accel_score -= 0.95
elif accel_value < -1:
accel_score -= 0.30
elif branch == "repair_bull":
if accel_value > 5:
accel_score += 0.80
elif accel_value > 1:
accel_score += 0.35
elif accel_value < -4:
accel_score -= 0.85
elif accel_value < -1:
accel_score -= 0.25
else:
if accel_value > 4 and accel_value < 12:
accel_score += 0.40
elif accel_value >= 12:
accel_score -= 0.18
elif accel_value < -3:
accel_score -= 0.70
if ret1 is not None:
accel_weight += 0.7
if branch == "open_thrust":
if ret1 > 6 and ret1 < 18:
accel_score += 0.45
elif ret1 >= 18:
accel_score -= 0.20
elif ret1 < -8:
accel_score -= 0.55
elif branch == "repair_bull":
if ret1 > 4 and ret1 < 15:
accel_score += 0.28
elif ret1 < -9:
accel_score -= 0.50
else:
if ret1 > 8:
accel_score -= 0.12
elif ret1 < -8:
accel_score -= 0.25
if ret3 is not None:
accel_weight += 0.8
if ret3 > 10:
accel_score += 0.35
elif ret3 > 3:
accel_score += 0.18
elif ret3 < -10:
accel_score -= 0.55
elif ret3 < 0:
accel_score -= 0.15
if trend is not None:
accel_weight += 1.0
if branch == "open_thrust":
if trend > 5 and trend < 24:
accel_score += 0.55
elif trend >= 24:
accel_score -= 0.18
elif trend < -2:
accel_score -= 0.85
elif branch == "repair_bull":
if trend > 3 and trend < 18:
accel_score += 0.42
elif trend < -2:
accel_score -= 0.80
else:
if trend > 1 and trend < 14:
accel_score += 0.28
elif trend < 0:
accel_score -= 0.75
if vol is not None:
accel_weight += 0.7
if vol < 22:
accel_score += 0.20
elif vol > 46:
accel_score -= 0.50
elif vol > 34:
accel_score -= 0.15
if accel_weight > 0:
accel_score = accel_score / accel_weight
recovery_score = 0.0
recovery_weight = 0.0
if drawdown is not None:
recovery_weight += 1.3
if branch == "open_thrust":
if drawdown < -40:
recovery_score -= 0.75
elif drawdown < -26:
recovery_score += 0.20
elif drawdown < -12:
recovery_score += 0.48
elif drawdown < -4:
recovery_score -= 0.04
else:
recovery_score -= 0.38
elif branch == "repair_bull":
if drawdown < -45:
recovery_score -= 0.70
elif drawdown < -32:
recovery_score += 0.12
elif drawdown < -18:
recovery_score += 1.05
elif drawdown < -8:
recovery_score += 0.60
elif drawdown < -3:
recovery_score += 0.08
else:
recovery_score -= 0.30
else:
if drawdown < -34:
recovery_score -= 0.62
elif drawdown < -18:
recovery_score -= 0.05
elif drawdown < -6:
recovery_score += 0.78
else:
recovery_score -= 0.18
if trend is not None:
recovery_weight += 1.0
if branch == "open_thrust":
if trend > 8:
recovery_score += 0.45
elif trend < 0:
recovery_score -= 0.62
elif branch == "repair_bull":
if trend > 10:
recovery_score += 0.78
elif trend > 2:
recovery_score += 0.34
elif trend < -2:
recovery_score -= 0.92
else:
if trend > 6:
recovery_score += 0.62
elif trend > 1:
recovery_score += 0.28
elif trend < 0:
recovery_score -= 0.90
if ret6 is not None:
recovery_weight += 0.9
if ret6 > 16:
recovery_score += 0.40
elif ret6 > 6:
recovery_score += 0.24
elif ret6 < -8:
recovery_score -= 0.62
elif ret6 < 0:
recovery_score -= 0.20
if mom is not None:
recovery_weight += 0.8
if mom >= 3 and mom <= 24:
recovery_score += 0.42
elif mom > 24:
recovery_score += 0.10
elif mom < -12:
recovery_score -= 0.65
elif mom < 0:
recovery_score -= 0.18
if vol is not None:
recovery_weight += 0.6
if vol < 24:
recovery_score += 0.22
elif vol > 42:
recovery_score -= 0.42
if recovery_weight > 0:
recovery_score = recovery_score / recovery_weight
confirm_score = 0.0
confirm_weight = 0.0
if dollar_vol is not None:
confirm_weight += 0.8
if dollar_vol > 30000000:
confirm_score += 0.50
elif dollar_vol > 10000000:
confirm_score += 0.25
elif dollar_vol < 2500000:
confirm_score -= 0.70
elif dollar_vol < 6000000:
confirm_score -= 0.25
if trading_days is not None:
confirm_weight += 0.7
if trading_days >= 62:
confirm_score += 0.28
elif trading_days <= 57:
confirm_score -= 0.55
if revenue_growth is not None:
confirm_weight += 0.7
if revenue_growth > 14:
confirm_score += 0.45
elif revenue_growth > 5:
confirm_score += 0.18
elif revenue_growth < -10:
confirm_score -= 0.55
elif revenue_growth < 0:
confirm_score -= 0.18
if forward_eps is not None:
confirm_weight += 0.5
if forward_eps > 0:
confirm_score += 0.22
else:
confirm_score -= 0.70
if op_margin is not None:
confirm_weight += 0.7
if op_margin > 16:
confirm_score += 0.42
elif op_margin > 6:
confirm_score += 0.16
elif op_margin < 0:
confirm_score -= 0.70
elif op_margin < 4:
confirm_score -= 0.15
if forward_pe is not None:
confirm_weight += 0.6
if forward_pe > 0 and forward_pe < 18:
confirm_score += 0.26
elif forward_pe > 40:
confirm_score -= 0.42
if div_yield is not None:
confirm_weight += 0.4
if div_yield >= 0.7 and div_yield <= 4.0:
confirm_score += 0.18
elif div_yield > 5.5:
confirm_score -= 0.20
elif div_yield == 0 and branch == "shelter":
confirm_score -= 0.10
if confirm_weight > 0:
confirm_score = confirm_score / confirm_weight
if branch == "open_thrust":
if accel_weight > 0 and accel_score > 0.30:
if recovery_weight > 0 and drawdown is not None and drawdown > -4:
total += 0.52 * accel_score - 0.10
else:
total += 0.62 * accel_score
if recovery_weight > 0 and recovery_score > 0.18:
total += 0.22 * recovery_score
if accel_weight > 0 and recovery_weight > 0:
if accel_score > 0.35 and recovery_score > 0.12:
total += 0.22
elif accel_score > 0.35 and recovery_score < -0.12:
total -= 0.26
elif recovery_score > 0.30 and accel_score < -0.10:
total -= 0.16
if cap is not None:
if cap < 3000000000:
total += 0.14
elif cap > 180000000000:
total -= 0.10
elif branch == "repair_bull":
if recovery_weight > 0:
total += 0.52 * recovery_score
if accel_weight > 0:
if recovery_weight > 0 and recovery_score > 0.22:
total += 0.30 * accel_score
else:
total += 0.16 * accel_score
if recovery_weight > 0 and accel_weight > 0:
if recovery_score > 0.35 and accel_score > 0.12:
total += 0.28
elif recovery_score > 0.45 and accel_score < -0.12:
total -= 0.42
elif accel_score > 0.32 and recovery_score < -0.08:
total -= 0.30
if drawdown is not None and trend is not None:
if drawdown < -12 and drawdown > -30 and trend > 4:
total += 0.20
if cap is not None:
if cap < 6000000000:
total += 0.10
elif cap > 180000000000:
total -= 0.08
else:
if recovery_weight > 0:
total += 0.34 * recovery_score
if accel_weight > 0 and accel_score > 0.10:
total += 0.12 * accel_score
if recovery_weight > 0 and accel_weight > 0:
if recovery_score > 0.25 and accel_score > 0.08:
total += 0.12
elif recovery_score > 0.30 and accel_score < -0.15:
total -= 0.22
if vol is not None:
if vol < 24:
total += 0.12
elif vol > 36:
total -= 0.24
if trend is not None and trend < 0:
total -= 0.22
if confirm_weight > 0:
if branch == "open_thrust":
total += 0.18 * confirm_score
elif branch == "repair_bull":
total += 0.26 * confirm_score
else:
total += 0.34 * confirm_score
if recovery_weight > 0 and confirm_weight > 0:
if recovery_score > 0.35 and confirm_score > 0.18:
total += 0.18
elif recovery_score > 0.40 and confirm_score < -0.18:
total -= 0.38
elif recovery_score < -0.20 and confirm_score > 0.35 and branch == "shelter":
total += 0.06
if accel_weight > 0 and confirm_weight > 0:
if accel_score > 0.35 and confirm_score < -0.18:
total -= 0.24
elif accel_score < -0.20 and confirm_score > 0.25 and branch != "open_thrust":
total += 0.05
if accel_weight > 0 and recovery_weight > 0:
total += 0.08 * _bounded(accel_score - recovery_score, -1.5, 1.5) * (0.55 if branch == "open_thrust" else -0.45 if branch == "shelter" else 0.10)
scores[sym] = total
return scores