← All V2 experiments
Relative return
1.383x
Excess vs bench
38.33%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
58.44%
Mean benchmark gain
14.08%
Mean excess gain
44.36%
Dispersion (ref)
31.20%
Win-rate vs bench (ref)
100.00%
Worst / best ratio (ref)
1.072x / 1.825x
Logic variants
4
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 | 28.24% | 2.22% | 1.255x |
| 2011-07-01 … 2016-06-30 | 40.74% | 13.74% | 1.237x |
| 2016-07-01 … 2021-06-30 | 110.90% | 20.63% | 1.748x |
| 2021-07-01 … 2026-06-26 | 51.25% | 15.48% | 1.310x |
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.383x · beat benchmark in 179/179
| # | Window | Strategy | Benchmark | Ratio |
|---|---|---|---|---|
| 1 | 2006-07-31 … 2011-07-29 | 25.95% | 1.79% | 1.237x |
| 2 | 2006-08-31 … 2011-08-31 | 22.74% | 0.21% | 1.225x |
| 3 | 2006-09-29 … 2011-08-31 | 19.85% | -0.14% | 1.200x |
| 4 | 2006-10-31 … 2011-10-31 | 18.19% | 0.23% | 1.179x |
| 5 | 2006-11-30 … 2011-11-30 | 15.16% | -0.05% | 1.152x |
| 6 | 2006-12-29 … 2011-11-30 | 16.15% | -0.32% | 1.165x |
| 7 | 2007-01-31 … 2012-01-31 | 15.98% | 0.93% | 1.149x |
| 8 | 2007-02-28 … 2012-01-31 | 14.97% | 1.43% | 1.134x |
| 9 | 2007-03-30 … 2012-03-30 | 16.96% | 3.09% | 1.135x |
| 10 | 2007-04-30 … 2012-04-30 | 14.03% | 2.42% | 1.113x |
| 11 | 2007-05-31 … 2012-05-31 | 10.71% | 0.60% | 1.101x |
| 12 | 2007-06-29 … 2012-06-29 | 10.49% | 1.92% | 1.084x |
| 13 | 2007-07-31 … 2012-07-31 | 12.16% | 2.69% | 1.092x |
| 14 | 2007-08-31 … 2012-08-31 | 12.41% | 2.95% | 1.092x |
| 15 | 2007-09-28 … 2012-09-28 | 12.29% | 3.20% | 1.088x |
| 16 | 2007-10-31 … 2012-10-31 | 10.48% | 2.60% | 1.077x |
| 17 | 2007-11-30 … 2012-11-30 | 10.93% | 3.45% | 1.072x |
| 18 | 2007-12-31 … 2012-12-31 | 11.12% | 3.69% | 1.072x |
| 19 | 2008-01-31 … 2013-01-31 | 16.11% | 5.85% | 1.097x |
| 20 | 2008-02-29 … 2013-02-28 | 18.39% | 6.82% | 1.108x |
| 21 | 2008-03-31 … 2013-03-28 | 20.72% | 7.73% | 1.121x |
| 22 | 2008-04-30 … 2013-04-30 | 19.83% | 7.51% | 1.115x |
| 23 | 2008-05-30 … 2013-04-30 | 18.78% | 7.81% | 1.102x |
| 24 | 2008-06-30 … 2013-06-28 | 25.09% | 9.33% | 1.144x |
| 25 | 2008-07-31 … 2013-07-31 | 29.95% | 10.48% | 1.176x |
| 26 | 2008-08-29 … 2013-07-31 | 30.66% | 10.52% | 1.182x |
| 27 | 2008-09-30 … 2013-09-30 | 36.11% | 11.48% | 1.221x |
| 28 | 2008-10-31 … 2013-10-31 | 39.92% | 15.76% | 1.209x |
| 29 | 2008-11-28 … 2013-10-31 | 41.53% | 17.46% | 1.205x |
| 30 | 2008-12-31 … 2013-12-31 | 43.62% | 18.44% | 1.213x |
| 31 | 2009-01-30 … 2013-12-31 | 45.29% | 20.64% | 1.204x |
| 32 | 2009-02-27 … 2014-01-31 | 49.80% | 21.63% | 1.232x |
| 33 | 2009-03-31 … 2014-03-31 | 49.66% | 20.60% | 1.241x |
| 34 | 2009-04-30 … 2014-04-30 | 46.53% | 19.00% | 1.231x |
| 35 | 2009-05-29 … 2014-04-30 | 46.85% | 18.32% | 1.241x |
| 36 | 2009-06-30 … 2014-06-30 | 49.21% | 19.01% | 1.254x |
| 37 | 2009-07-31 … 2014-07-31 | 43.76% | 17.39% | 1.225x |
| 38 | 2009-08-31 … 2014-08-29 | 43.53% | 17.70% | 1.219x |
| 39 | 2009-09-30 … 2014-09-30 | 41.90% | 16.64% | 1.217x |
| 40 | 2009-10-30 … 2014-09-30 | 45.87% | 17.08% | 1.246x |
| 41 | 2009-11-30 … 2014-11-28 | 43.06% | 16.82% | 1.225x |
| 42 | 2009-12-31 … 2014-12-31 | 40.57% | 16.28% | 1.209x |
| 43 | 2010-01-29 … 2014-12-31 | 43.23% | 17.23% | 1.222x |
| 44 | 2010-02-26 … 2015-01-30 | 41.77% | 15.80% | 1.224x |
| 45 | 2010-03-31 … 2015-03-31 | 41.57% | 15.40% | 1.227x |
| 46 | 2010-04-30 … 2015-04-30 | 40.56% | 15.38% | 1.218x |
| 47 | 2010-05-28 … 2015-04-30 | 43.19% | 17.09% | 1.223x |
| 48 | 2010-06-30 … 2015-06-30 | 45.79% | 17.45% | 1.241x |
| 49 | 2010-07-30 … 2015-06-30 | 44.55% | 16.43% | 1.242x |
| 50 | 2010-08-31 … 2015-08-31 | 43.29% | 15.76% | 1.238x |
| 51 | 2010-09-30 … 2015-09-30 | 40.38% | 13.61% | 1.236x |
| 52 | 2010-10-29 … 2015-09-30 | 39.17% | 13.06% | 1.231x |
| 53 | 2010-11-30 … 2015-11-30 | 40.79% | 15.09% | 1.223x |
| 54 | 2010-12-31 … 2015-12-31 | 39.52% | 13.55% | 1.229x |
| 55 | 2011-01-31 … 2016-01-29 | 36.42% | 11.90% | 1.219x |
| 56 | 2011-02-28 … 2016-01-29 | 37.32% | 11.53% | 1.231x |
| 57 | 2011-03-31 … 2016-03-31 | 39.19% | 12.90% | 1.233x |
| 58 | 2011-04-29 … 2016-04-29 | 37.22% | 12.39% | 1.221x |
| 59 | 2011-05-31 … 2016-05-31 | 39.32% | 12.94% | 1.234x |
| 60 | 2011-06-30 … 2016-06-30 | 38.80% | 13.30% | 1.225x |
| 61 | 2011-07-29 … 2016-07-29 | 43.76% | 14.52% | 1.255x |
| 62 | 2011-08-31 … 2016-08-31 | 45.81% | 15.19% | 1.266x |
| 63 | 2011-09-30 … 2016-09-30 | 48.48% | 16.32% | 1.277x |
| 64 | 2011-10-31 … 2016-10-31 | 45.25% | 14.02% | 1.274x |
| 65 | 2011-11-30 … 2016-11-30 | 47.34% | 14.66% | 1.285x |
| 66 | 2011-12-30 … 2016-12-30 | 47.25% | 14.92% | 1.281x |
| 67 | 2012-01-31 … 2017-01-31 | 47.00% | 14.63% | 1.282x |
| 68 | 2012-02-29 … 2017-02-28 | 45.13% | 14.78% | 1.264x |
| 69 | 2012-03-30 … 2017-02-28 | 44.74% | 14.43% | 1.265x |
| 70 | 2012-04-30 … 2017-04-28 | 43.68% | 14.61% | 1.254x |
| 71 | 2012-05-31 … 2017-05-31 | 47.12% | 15.98% | 1.268x |
| 72 | 2012-06-29 … 2017-05-31 | 46.78% | 15.44% | 1.271x |
| 73 | 2012-07-31 … 2017-07-31 | 44.60% | 15.43% | 1.253x |
| 74 | 2012-08-31 … 2017-08-31 | 45.81% | 15.12% | 1.267x |
| 75 | 2012-09-28 … 2017-08-31 | 45.54% | 14.77% | 1.268x |
| 76 | 2012-10-31 … 2017-10-31 | 49.85% | 16.12% | 1.290x |
| 77 | 2012-11-30 … 2017-11-30 | 50.57% | 16.79% | 1.289x |
| 78 | 2012-12-31 … 2017-12-29 | 49.56% | 16.93% | 1.279x |
| 79 | 2013-01-31 … 2018-01-31 | 49.76% | 17.57% | 1.274x |
| 80 | 2013-02-28 … 2018-02-28 | 50.15% | 16.21% | 1.292x |
| 81 | 2013-03-28 … 2018-02-28 | 48.75% | 15.81% | 1.284x |
| 82 | 2013-04-30 … 2018-04-30 | 46.43% | 14.25% | 1.282x |
| 83 | 2013-05-31 … 2018-05-31 | 40.47% | 14.57% | 1.226x |
| 84 | 2013-06-28 … 2018-05-31 | 43.42% | 14.97% | 1.247x |
| 85 | 2013-07-31 … 2018-07-31 | 38.26% | 14.83% | 1.204x |
| 86 | 2013-08-30 … 2018-07-31 | 38.66% | 15.59% | 1.200x |
| 87 | 2013-09-30 … 2018-09-28 | 39.29% | 15.84% | 1.202x |
| 88 | 2013-10-31 … 2018-10-31 | 33.88% | 12.89% | 1.186x |
| 89 | 2013-11-29 … 2018-10-31 | 33.79% | 12.60% | 1.188x |
| 90 | 2013-12-31 … 2018-12-31 | 30.02% | 9.93% | 1.183x |
| 91 | 2014-01-31 … 2019-01-31 | 30.72% | 12.37% | 1.163x |
| 92 | 2014-02-28 … 2019-02-28 | 29.47% | 12.38% | 1.152x |
| 93 | 2014-03-31 … 2019-03-29 | 32.81% | 12.76% | 1.178x |
| 94 | 2014-04-30 … 2019-04-30 | 34.82% | 13.73% | 1.185x |
| 95 | 2014-05-30 … 2019-04-30 | 33.74% | 13.54% | 1.178x |
| 96 | 2014-06-30 … 2019-06-28 | 34.03% | 12.81% | 1.188x |
| 97 | 2014-07-31 … 2019-07-31 | 35.48% | 13.30% | 1.196x |
| 98 | 2014-08-29 … 2019-07-31 | 34.79% | 12.80% | 1.195x |
| 99 | 2014-09-30 … 2019-09-30 | 37.31% | 12.70% | 1.218x |
| 100 | 2014-10-31 … 2019-10-31 | 40.20% | 12.91% | 1.242x |
| 101 | 2014-11-28 … 2019-10-31 | 39.81% | 12.60% | 1.242x |
| 102 | 2014-12-31 … 2019-12-31 | 44.08% | 14.16% | 1.262x |
| 103 | 2015-01-30 … 2019-12-31 | 43.89% | 14.85% | 1.253x |
| 104 | 2015-02-27 … 2020-01-31 | 44.86% | 14.04% | 1.270x |
| 105 | 2015-03-31 … 2020-03-31 | 42.43% | 8.56% | 1.312x |
| 106 | 2015-04-30 … 2020-04-30 | 47.89% | 11.65% | 1.325x |
| 107 | 2015-05-29 … 2020-05-29 | 48.77% | 12.61% | 1.321x |
| 108 | 2015-06-30 … 2020-06-30 | 50.83% | 13.64% | 1.327x |
| 109 | 2015-07-31 … 2020-07-31 | 57.04% | 14.60% | 1.370x |
| 110 | 2015-08-31 … 2020-08-31 | 64.89% | 18.07% | 1.397x |
| 111 | 2015-09-30 … 2020-09-30 | 62.80% | 17.05% | 1.391x |
| 112 | 2015-10-30 … 2020-10-30 | 60.83% | 14.60% | 1.403x |
| 113 | 2015-11-30 … 2020-11-30 | 68.66% | 17.43% | 1.436x |
| 114 | 2015-12-31 … 2020-12-31 | 72.25% | 18.65% | 1.452x |
| 115 | 2016-01-29 … 2021-01-29 | 112.99% | 19.26% | 1.786x |
| 116 | 2016-02-29 … 2021-02-26 | 107.58% | 19.79% | 1.733x |
| 117 | 2016-03-31 … 2021-03-31 | 110.53% | 19.42% | 1.763x |
| 118 | 2016-04-29 … 2021-03-31 | 113.72% | 19.66% | 1.786x |
| 119 | 2016-05-31 … 2021-05-28 | 110.20% | 20.42% | 1.746x |
| 120 | 2016-06-30 … 2021-06-30 | 112.75% | 21.06% | 1.757x |
| 121 | 2016-07-29 … 2021-06-30 | 110.90% | 20.63% | 1.748x |
| 122 | 2016-08-31 … 2021-08-31 | 114.88% | 21.75% | 1.765x |
| 123 | 2016-09-30 … 2021-09-30 | 110.20% | 20.22% | 1.748x |
| 124 | 2016-10-31 … 2021-10-29 | 116.57% | 22.50% | 1.768x |
| 125 | 2016-11-30 … 2021-11-30 | 119.68% | 21.87% | 1.803x |
| 126 | 2016-12-30 … 2021-11-30 | 121.95% | 21.75% | 1.823x |
| 127 | 2017-01-31 … 2022-01-31 | 110.32% | 20.17% | 1.750x |
| 128 | 2017-02-28 … 2022-02-28 | 111.86% | 18.51% | 1.788x |
| 129 | 2017-03-31 … 2022-03-31 | 115.40% | 19.46% | 1.803x |
| 130 | 2017-04-28 … 2022-03-31 | 118.05% | 19.46% | 1.825x |
| 131 | 2017-05-31 … 2022-05-31 | 110.78% | 15.59% | 1.824x |
| 132 | 2017-06-30 … 2022-06-30 | 105.67% | 13.08% | 1.819x |
| 133 | 2017-07-31 … 2022-07-29 | 106.72% | 15.16% | 1.795x |
| 134 | 2017-08-31 … 2022-08-31 | 103.20% | 13.72% | 1.787x |
| 135 | 2017-09-29 … 2022-08-31 | 104.03% | 13.56% | 1.797x |
| 136 | 2017-10-31 … 2022-10-31 | 94.84% | 11.86% | 1.742x |
| 137 | 2017-11-30 … 2022-11-30 | 94.35% | 12.52% | 1.727x |
| 138 | 2017-12-29 … 2022-11-30 | 96.54% | 12.46% | 1.748x |
| 139 | 2018-01-31 … 2023-01-31 | 91.58% | 11.01% | 1.726x |
| 140 | 2018-02-28 … 2023-02-28 | 88.69% | 11.03% | 1.699x |
| 141 | 2018-03-29 … 2023-02-28 | 89.74% | 11.72% | 1.698x |
| 142 | 2018-04-30 … 2023-04-28 | 86.37% | 13.01% | 1.649x |
| 143 | 2018-05-31 … 2023-05-31 | 84.50% | 12.95% | 1.634x |
| 144 | 2018-06-29 … 2023-05-31 | 86.58% | 13.01% | 1.651x |
| 145 | 2018-07-31 … 2023-07-31 | 94.74% | 14.67% | 1.698x |
| 146 | 2018-08-31 … 2023-08-31 | 90.63% | 13.51% | 1.679x |
| 147 | 2018-09-28 … 2023-08-31 | 89.97% | 13.56% | 1.673x |
| 148 | 2018-10-31 … 2023-10-31 | 86.13% | 12.60% | 1.653x |
| 149 | 2018-11-30 … 2023-11-30 | 90.86% | 14.58% | 1.666x |
| 150 | 2018-12-31 … 2023-12-29 | 97.95% | 17.26% | 1.688x |
| 151 | 2019-01-31 … 2024-01-31 | 94.97% | 16.27% | 1.677x |
| 152 | 2019-02-28 … 2024-01-31 | 93.76% | 15.94% | 1.671x |
| 153 | 2019-03-29 … 2024-03-28 | 103.90% | 17.50% | 1.735x |
| 154 | 2019-04-30 … 2024-04-30 | 99.76% | 15.50% | 1.730x |
| 155 | 2019-05-31 … 2024-05-31 | 104.52% | 18.12% | 1.731x |
| 156 | 2019-06-28 … 2024-06-28 | 101.60% | 17.99% | 1.709x |
| 157 | 2019-07-31 … 2024-07-31 | 97.63% | 17.70% | 1.679x |
| 158 | 2019-08-30 … 2024-08-30 | 100.35% | 18.41% | 1.692x |
| 159 | 2019-09-30 … 2024-09-30 | 100.47% | 18.65% | 1.690x |
| 160 | 2019-10-31 … 2024-10-31 | 98.48% | 17.87% | 1.684x |
| 161 | 2019-11-29 … 2024-11-29 | 105.65% | 18.64% | 1.733x |
| 162 | 2019-12-31 … 2024-12-31 | 98.33% | 17.62% | 1.686x |
| 163 | 2020-01-31 … 2025-01-31 | 95.25% | 18.07% | 1.654x |
| 164 | 2020-02-28 … 2025-02-28 | 91.94% | 19.00% | 1.613x |
| 165 | 2020-03-31 … 2025-03-31 | 92.09% | 19.24% | 1.611x |
| 166 | 2020-04-30 … 2025-04-30 | 85.73% | 16.49% | 1.594x |
| 167 | 2020-05-29 … 2025-04-30 | 83.91% | 15.80% | 1.588x |
| 168 | 2020-06-30 … 2025-06-30 | 86.33% | 18.19% | 1.577x |
| 169 | 2020-07-31 … 2025-07-31 | 82.70% | 17.87% | 1.550x |
| 170 | 2020-08-31 … 2025-08-29 | 76.40% | 16.69% | 1.512x |
| 171 | 2020-09-30 … 2025-09-30 | 80.28% | 18.57% | 1.520x |
| 172 | 2020-10-30 … 2025-09-30 | 80.39% | 19.43% | 1.510x |
| 173 | 2020-11-30 … 2025-11-28 | 71.52% | 17.77% | 1.456x |
| 174 | 2020-12-31 … 2025-12-31 | 70.04% | 16.92% | 1.454x |
| 175 | 2021-01-29 … 2025-12-31 | 44.90% | 17.20% | 1.236x |
| 176 | 2021-02-26 … 2026-01-30 | 48.43% | 17.04% | 1.268x |
| 177 | 2021-03-31 … 2026-03-31 | 44.64% | 14.07% | 1.268x |
| 178 | 2021-04-30 … 2026-04-30 | 51.41% | 16.03% | 1.305x |
| 179 | 2021-05-28 … 2026-04-30 | 50.97% | 16.22% | 1.299x |
Notes
mode=explore; family=contrarian-52w-regime-momentum-hybrid
New hybrid family built as a conflict-arbitrated relay instead of a static blend: every stock competes through three sleeves, a deep-52-week contrarian repair sleeve, a trend-confirmed momentum sleeve, and a durability sleeve, and the regime branch decides which sleeve is allowed to dominate when those signals disagree. The arbitration is explicit: broken drawdowns are rejected unless repair evidence is present, momentum leaders are taxed when they are too extended or low-quality, and fractured tapes route toward whichever sleeve has the stronger case only if durability confirms it.
Deliberate metric coverage this run: active momentum uses return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, and momentum_12_1_pct; trend/recovery uses both from_200d_ma_pct and from_52w_high_pct; volatility uses realized_vol_3m; liquidity uses avg_daily_volume_3m, avg_daily_dollar_volume_3m, and trading_days_3m; income uses dividend_yield_ttm_pct and dividend_ttm; valuation uses pe, forward_pe, and peg; growth uses eps_growth_pct, revenue_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, and forward_eps; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a regime/gate tilt rather than a raw rank. Deliberate weight-0 metrics this run: shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm. Sparse fundamentals are normalized by present weight inside each sleeve so missing fields do not mechanically dominate selection.
Lesson notes
explore/contrarian-52w-recovery-quality-regime-momentum-hybrid: relative_return 1.0333x (delta -0.3500 vs exp_1174); win-rate 81.0056%, worst-window 0.975284, dispersion 5.4828%.
explore/contrarian-52w-regime-momentum-recovery-quality-hybrid: relative_return 1.0640x (delta -0.3193 vs exp_1174); win-rate 96.648%, worst-window 0.98704, dispersion 7.8497%.
explore/contrarian-52w-regime-momentum-hybrid: relative_return 1.3833x (delta -0.0030 vs exp_1137); win-rate 100.0%, worst-window 1.071692, dispersion 31.1981%.
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 | AAPL | GOOGL | GOOG | MSFT | XOM | NVDA | GE | BAC | JNJ | MO | T | C | PFE | KO | PEP |
| 2006-08-31 | MAY | AAPL | GOOG | GOOGL | MSFT | INTC | XOM | NVDA | EXPE | GE | COO | PFE | AIG | AMGN | JNJ |
| 2006-09-29 | MAY | AAPL | GOOG | GOOGL | AKAM | NVDA | T | XOM | ORCL | AT | BAC | MRK | DLR | ILMN | SLG |
| 2006-10-31 | MAY | AAPL | GOOG | GOOGL | NVDA | AT | DECK | AKAM | MSFT | ATI | BMET | T | GS | XOM | BKNG |
| 2006-11-30 | MAY | AAPL | GOOG | GOOGL | NVDA | MA | ICE | ATI | DECK | CSCO | GS | MSFT | AKAM | XOM | AT |
| 2006-12-29 | MAY | AAPL | NVDA | GOOG | GOOGL | ICE | CF | AT | BMET | MSFT | ATI | XOM | CSCO | WYNN | ALB |
| 2007-01-31 | MAY | AAPL | ICE | MGM | CF | GOOG | GOOGL | WYNN | MA | GT | EOP | MSFT | CSCO | AT | DOC |
| 2007-02-28 | MAY | CF | AAPL | ICE | BKNG | FSLR | ALGN | MGM | GT | GOOG | GOOGL | ALB | DLX | VMC | MAT |
| 2007-03-30 | MAY | AAPL | GT | CF | DLX | GOOG | NRG | GOOGL | ANDV | OI | BKNG | CE | ES | MAT | ALB |
| 2007-04-30 | MAY | AAPL | GT | AMZN | ANDV | CF | BKNG | NRG | DLX | MOS | OI | CMI | PWR | TEX | ETR |
| 2007-05-31 | MAY | AAPL | GT | CLF | MA | CF | AMZN | DLX | DECK | ALXN | JEC | AL | GOOG | FSLR | CE |
| 2007-06-29 | MAY | AAPL | KMG | FSLR | CF | AL | NVDA | MA | DECK | GT | GOOG | MOS | AXON | AMZN | GOOGL |
| 2007-07-31 | AAPL | GOOG | GOOGL | XOM | NVDA | MSFT | GE | AL | INTC | MSI | BAC | COP | IBM | PFE | HPQ |
| 2007-08-31 | AAPL | GOOG | GOOGL | NVDA | XOM | MSFT | BAC | PFE | CSCO | JNJ | INTC | PG | MSI | GS | GE |
| 2007-09-28 | AAPL | GOOG | GOOGL | GS | MSI | AMGN | MSFT | NVDA | XOM | JNJ | WYNN | CSCO | BAC | GE | PFE |
| 2007-10-31 | AAPL | GOOG | GOOGL | MSFT | MAY | SBUX | GS | XOM | PFE | NVDA | JNJ | INTC | BAC | CSCO | WMT |
| 2007-11-30 | AAPL | GOOG | GOOGL | MSFT | XOM | IPGP | JNJ | THC | GE | GS | INTC | WMT | UNH | PG | PFE |
| 2007-12-31 | AAPL | GOOG | GOOGL | MSFT | XOM | FSLR | JNJ | MO | PG | INTC | GE | KO | MRK | UNH | MCD |
| 2008-01-31 | AAPL | GOOG | GOOGL | MOS | MSFT | XOM | MO | JNJ | PFE | GE | PG | GS | KO | WMT | CL |
| 2008-02-29 | AAPL | GOOG | MOS | CF | GOOGL | XOM | MSFT | GE | GS | CVX | MAY | WMT | DVN | MO | JNJ |
| 2008-03-31 | AAPL | GOOG | MOS | CF | MSFT | GE | XOM | MEE | WMT | GOOGL | MA | MAY | PRGO | JNJ | PG |
| 2008-04-30 | AAPL | GOOG | MOS | CF | GOOGL | XOM | MEE | MA | WMT | FSLR | ESV | CVX | MSFT | SWN | HAL |
| 2008-05-30 | AAPL | MEE | ESV | MA | SWN | MOS | FSLR | GOOG | BTUUQ | BCR | CLF | APOL | NVDA | ATGE | X |
| 2008-06-30 | AAPL | MEE | GOOG | ESV | MOS | SWN | XOM | MA | GOOGL | BTUUQ | CVX | BCR | NVDA | WMT | COP |
| 2008-07-31 | AAPL | GOOG | SWN | MOS | ESV | BCR | MA | MEE | GOOGL | XOM | DF | GS | APOL | BTUUQ | ATGE |
| 2008-08-29 | AAPL | SWN | BCR | MBI | DF | ESV | APOL | FDO | CELG | ATGE | FI | GOOG | CEPH | FSLR | HRS |
| 2008-09-30 | AAPL | SWN | BCR | GOOG | XOM | DF | D | WMT | MSFT | NVDA | APOL | FDO | ATGE | CELG | ESV |
| 2008-10-31 | AAPL | GOOG | SWN | XOM | WMT | BCR | D | WWY | CHD | DF | CLX | PG | JNJ | MDLZ | WFC |
| 2008-11-28 | AAPL | GOOG | XOM | WMT | D | PG | DLTR | SWN | WFC | MCD | CHD | CLX | KR | JNJ | ABT |
| 2008-12-31 | AAPL | XOM | GOOG | WMT | PG | DLTR | JNJ | MCD | GOOGL | WFC | PFE | GILD | ABT | KR | CVX |
| 2009-01-30 | AAPL | XOM | GOOG | WMT | GOOGL | CVX | PG | MCD | JNJ | GILD | SWN | ABT | MDLZ | DLTR | EW |
| 2009-02-27 | AAPL | XOM | GOOG | NVDA | GOOGL | WMT | AMZN | JNJ | IBM | MCD | EW | T | NFLX | V | HET |
| 2009-03-31 | AAPL | GOOG | NVDA | XOM | GOOGL | CVX | WMT | IBM | UPS | T | JNJ | AZO | MCD | EW | BMY |
| 2009-04-30 | NVDA | AAPL | GOOG | XOM | F | GOOGL | UPS | GS | CVX | IBM | WMT | MSFT | T | NFLX | JNJ |
| 2009-05-29 | NVDA | AAPL | GOOG | XOM | BAC | GOOGL | UPS | CVX | GS | IBM | JNJ | WMT | MSFT | T | MS |
| 2009-06-30 | CAR | BAC | AAPL | GOOG | NVDA | PALM | GGP | F | XOM | GS | GOOGL | MSFT | JPM | WFC | IBM |
| 2009-07-31 | CAR | BAC | AAPL | F | PALM | GOOG | NVDA | XOM | GGP | INTC | EOG | MSFT | GS | AN | WBD |
| 2009-08-31 | BAC | CAR | AAPL | PALM | C | F | FNMA | NVDA | GOOG | MSFT | XOM | GILD | BKNG | WBD | BMY |
| 2009-09-30 | CAR | AAPL | PALM | BAC | NVDA | GOOG | BKNG | GS | MGM | WBD | GE | UAL | GOOGL | EOG | SNDK |
| 2009-10-30 | CAR | SW | GNW | AAPL | KMG | GGP | HIG | BKNG | UIS | SNDK | FCX | DDS | GOOG | F | PALM |
| 2009-11-30 | CAR | KMG | GGP | AAPL | GNW | BKNG | UIS | DDS | AMZN | WFM | SNDK | FCX | WLL | GOOG | CCI |
| 2009-12-31 | CAR | GGP | SANM | AMD | AAPL | UIS | UAL | F | NVDA | WFM | DDS | WLL | BKNG | LULU | MU |
| 2010-01-29 | CAR | SANM | F | ACS | GGP | INCY | AAPL | UAL | GNW | SW | LYV | AMD | FITB | WLL | ISRG |
| 2010-02-26 | CAR | SANM | UAL | GNW | ACS | AAPL | F | GGP | UIS | AAL | BAC | WLL | CLF | LYV | ASH |
| 2010-03-31 | SANM | GNW | F | AAPL | INCY | ETFC | MTG | CLF | UAL | GGP | LYV | LULU | WLL | SMCI | LVS |
| 2010-04-30 | UAL | ETFC | SANM | GNW | INCY | AAPL | CAR | WLL | LYV | SSP | MTG | GGP | VSTNQ | BC | MBI |
| 2010-05-28 | ETFC | UAL | AAPL | NFLX | SSP | VSTNQ | AAL | BC | DDS | WLL | INCY | SANM | LULU | GGP | ALK |
| 2010-06-30 | AAPL | C | ETFC | GS | T | BBWI | LLY | VZ | GOOG | BMY | MO | BAC | NFLX | UAL | UST |
| 2010-07-30 | AAPL | ETFC | WY | UAL | GS | C | AAL | AIG | NTAP | CCU | LVS | F | NFLX | BBWI | SBUX |
| 2010-08-31 | AAPL | WY | ETFC | NEM | NFLX | GS | GOOG | CCU | C | T | EC | INTC | BKNG | BMY | NVDA |
| 2010-09-30 | NVDA | AAPL | WY | GOOG | GOOGL | GS | ETFC | GILD | BLK | INTC | C | JPM | BKNG | MSFT | WFC |
| 2010-10-29 | ETFC | NFLX | LVS | AAPL | UAL | BKNG | AAL | WLL | VRTS | FTNT | CMG | FFIV | NTAP | ACAS | INCY |
| 2010-11-30 | ETFC | LVS | NFLX | VRTS | AAPL | UAL | CMG | BKNG | FFIV | WLL | TSLA | ACAS | DECK | URI | F |
| 2010-12-31 | ETFC | VRTS | LVS | ACAS | NFLX | WLL | URI | AAPL | NXPI | LULU | BKNG | AIG | BWA | DECK | RCL |
| 2011-01-31 | MAY | ETFC | AAPL | NVDA | LVS | NFLX | ACAS | WLL | URI | VRTS | AIG | BKNG | LULU | WY | BBWI |
| 2011-02-28 | MAY | ETFC | NVDA | AAPL | URI | IPGP | VIAV | NXPI | WY | NFLX | LULU | VRTS | LVS | ACAS | SWKS |
| 2011-03-31 | MAY | AAPL | ETFC | URI | IPGP | NFLX | NVDA | WY | WYNN | LULU | CAT | VRTS | ANDV | BKNG | ECHO |
| 2011-04-29 | MAY | IPGP | AAPL | LULU | ETFC | NVDA | BIIB | WYNN | NFLX | BKNG | BBWI | CAT | CHTR | ULTA | EP |
| 2011-05-31 | MAY | IPGP | AAPL | NVDA | NFLX | EP | BKNG | ETFC | ABMD | DPZ | GMCR | WCG | KSU | COG | WFM |
| 2011-06-30 | MAY | IPGP | EP | LULU | NFLX | WCG | COG | ABMD | BKNG | ULTA | AAPL | CEPH | FTNT | MNST | GMCR |
| 2011-07-29 | AAPL | AIG | GOOG | NVDA | GOOGL | XOM | MSFT | KLAC | TKO | BAC | NFLX | COP | INTC | MRK | CSCO |
| 2011-08-31 | AAPL | AIG | GOOG | CF | MSFT | MDLZ | VZ | GOOGL | IBM | KMB | XOM | CL | WYNN | AZO | JNJ |
| 2011-09-30 | AAPL | GOOG | AIG | KMB | CF | IBM | MDLZ | VZ | GOOGL | XOM | AZO | UST | DUK | MSFT | DLTR |
| 2011-10-31 | AAPL | MAY | GOOG | AIG | NVDA | CF | GOOGL | KLAC | VZ | XOM | DLTR | IBM | INTC | AZO | MSFT |
| 2011-11-30 | AAPL | GOOG | AIG | VZ | NVDA | MAY | GOOGL | WYNN | XOM | INTC | MSFT | IBM | PM | DLTR | GE |
| 2011-12-30 | AAPL | GOOG | GOOGL | VZ | MAY | GE | XOM | PM | CF | MSFT | WYNN | PFE | V | NVDA | MRK |
| 2012-01-31 | AAPL | NVDA | NFLX | BAC | GOOG | HPQ | GOOGL | WYNN | AMAT | GE | LRCX | VZ | XOM | CF | LUV |
| 2012-02-29 | AAPL | BAC | NFLX | VRTX | GOOG | NVDA | TMUS | TEX | GOOGL | C | VLO | GE | SCHW | AVY | NXPI |
| 2012-03-30 | AAPL | BAC | NFLX | NVDA | OMX | EXPE | VRTX | BKNG | SNV | VLO | STI | NKTR | JNS | HCBK | ODP |
| 2012-04-30 | AAPL | EXPE | GOOG | BKNG | WYNN | GLW | EOG | PEG | TPL | HET | GOOGL | NVDA | HAL | TT | GE |
| 2012-05-31 | AAPL | OMX | GOOG | DXCM | BKNG | HET | BAC | NVDA | GOOGL | EOG | HAL | SPG | FE | EXPE | MSFT |
| 2012-06-29 | AAPL | EXPE | BKNG | STX | MRK | SHW | NVDA | SRE | KMB | SBAC | SPG | DG | MNST | CF | WEC |
| 2012-07-31 | AAPL | HAL | GOOG | NVDA | GOOGL | EXPE | TMUS | BKR | BKNG | BBBY | EOG | ETR | XOM | PPL | MRK |
| 2012-08-31 | AAPL | STX | WYNN | NVDA | GOOG | CAT | BAC | NTAP | ANDV | EXPE | GOOGL | XOM | JPM | MS | NFLX |
| 2012-09-28 | PHM | AAPL | STX | KBH | BLDR | ANDV | DHI | EXPE | LEN | LYB | GILD | GOOG | REGN | GPS | TMUS |
| 2012-10-31 | AAPL | NFLX | GOOG | STX | VRTX | GOOGL | DHI | BAC | URI | NCC | NVDA | ALL | F | GE | AET |
| 2012-11-30 | PHM | BBBY | AAPL | BLDR | REGN | WHR | LPX | KBH | LEN | STZ | ANDV | GILD | MPC | GNRC | EXPE |
| 2012-12-31 | PHM | LPX | REGN | BAC | WHR | STX | AAPL | BBBY | KBH | SW | OMX | GNRC | NFLX | VRTS | CPAY |
| 2013-01-31 | OMX | NFLX | PHM | LPX | THC | VRTS | KBH | MPC | WHR | BLDR | APO | STX | SW | BC | VLO |
| 2013-02-28 | NFLX | OMX | VRTS | APO | LPX | MPC | THC | PHM | CPAY | DAL | VLO | ANDV | GILD | SW | HRB |
| 2013-03-28 | OMX | NFLX | VRTS | KKR | THC | FNMA | FMCC | MPC | LPX | HRB | KBH | GILD | ALK | MTG | DAL |
| 2013-04-30 | OMX | FNMA | NFLX | FMCC | MTG | KKR | VRTS | THC | GILD | APO | KBH | BBBY | CAR | HRB | FSLR |
| 2013-05-31 | FNMA | FMCC | OMX | TSLA | NFLX | FSLR | MTG | VRTS | BBBY | KKR | KBH | STZ | GILD | PHM | GOOG |
| 2013-06-28 | OMX | FNMA | TSLA | FMCC | BBBY | MU | NFLX | KKR | GOOG | GME | MTG | REGN | GILD | MSFT | WDC |
| 2013-07-31 | OMX | TSLA | FNMA | FMCC | BBBY | MTG | NFLX | GME | SVU | MU | GILD | BAC | REGN | GNW | GOOG |
| 2013-08-30 | OMX | TSLA | MTG | META | GME | FNMA | NFLX | AAPL | BBY | BKNG | FMCC | MU | FL | BBBY | AXON |
| 2013-09-30 | OMX | TSLA | META | NFLX | REGN | MTG | AXON | MU | KATE | GT | BKNG | AAPL | FL | SVU | DAL |
| 2013-10-31 | OMX | TSLA | FMCC | FNMA | META | MU | AAPL | AXON | FANG | KATE | BKNG | MTG | NFLX | FL | BBY |
| 2013-11-29 | OMX | FNMA | FMCC | MU | META | NFLX | AAPL | INCY | DAL | TKO | BKNG | PBI | IBKR | TSLA | MKTX |
| 2013-12-31 | FNMA | FMCC | META | NFLX | AAPL | TSLA | MU | INCY | KATE | TKO | URI | WYNN | HII | RRD | BKNG |
| 2014-01-31 | FNMA | FMCC | INCY | TKO | ILMN | TSLA | META | MU | AAPL | NFLX | AAL | HII | GOOG | WYNN | KATE |
| 2014-02-28 | FMCC | FNMA | TSLA | ILMN | META | TKO | AAPL | AAL | MU | WYNN | DXCM | INCY | FRX | TPL | GOOG |
| 2014-03-31 | TKO | FMCC | FNMA | TSLA | AAL | ILMN | AAPL | DAL | META | RCL | FANG | HP | MU | URI | FSLR |
| 2014-04-30 | TSLA | FMCC | FNMA | MU | AAPL | FANG | META | DAL | CAR | SWKS | FRX | AAL | NVDA | HP | NXPI |
| 2014-05-30 | META | AAPL | MU | DAL | AAL | TPL | FRX | TSLA | WLL | LUV | FANG | SWKS | TRGP | NFLX | AVGO |
| 2014-06-30 | META | MU | AAPL | FANG | AAL | NFX | TSLA | FRX | WLL | NFLX | DAL | SWKS | SMCI | TRGP | MMI |
| 2014-07-31 | META | AAPL | MU | TPL | SWKS | FMCC | LUV | FNMA | FRX | FANG | INTC | NFX | URI | DAL | UAA |
| 2014-08-29 | AAPL | ENPH | MMI | MU | CAR | GILD | LUV | TPL | SWKS | META | URI | INTC | NFX | DAL | FANG |
| 2014-09-30 | AAPL | ENPH | GILD | LUV | META | SWKS | TPL | PANW | MU | SMCI | NFLX | AVGO | LRCX | RCL | URI |
| 2014-10-31 | AAPL | PANW | MMI | MU | LUV | ENPH | GILD | META | EW | SMCI | SWKS | AMGN | ILMN | AVGO | GMCR |
| 2014-11-28 | PAYC | AAPL | PANW | LUV | SWKS | META | EW | MNST | SMCI | MMI | MU | GMCR | DAL | TSLA | ABBV |
| 2014-12-31 | AAPL | SWKS | AXON | PANW | LUV | EA | AAL | RCL | UAL | EW | DAL | CNC | MMI | SMCI | MNST |
| 2015-01-30 | AAPL | SBUX | GILD | META | KLAC | GOOG | T | NVDA | AMZN | KR | FMC | RCL | WEN | BRK-B | MRK |
| 2015-02-27 | AAPL | SWKS | PANW | SBUX | CNC | EA | KR | MNST | HSP | SMCI | LULU | ON | LUV | AVGO | BBWI |
| 2015-03-31 | AAPL | SWKS | CNC | PANW | MNST | SBUX | EA | INCY | KMG | COR | HSP | KR | CNXT | SSP | ANDV |
| 2015-04-30 | CZR | AAPL | SWKS | BLDR | PANW | KMG | NFLX | PAYC | HSP | SBUX | ABMD | BTUUQ | CNXT | DXCM | EPAM |
| 2015-05-29 | CNXT | CZR | BTUUQ | SWKS | AAPL | AXON | NFLX | PANW | KMG | INCY | ABMD | SBUX | CNC | MMI | PAYC |
| 2015-06-30 | AAPL | GILD | BTUUQ | PLD | BKNG | NVDA | KLAC | META | BAC | MSFT | GOOG | TSLA | WOR | NFLX | HAL |
| 2015-07-31 | AAPL | GILD | PLD | BKNG | META | NVDA | GOOG | HBI | KLAC | SBUX | GOOGL | PODD | GE | SPG | GS |
| 2015-08-31 | AAPL | SBUX | GILD | NVDA | CCI | KLAC | META | GE | V | PSA | SPG | AMZN | T | BKNG | NFLX |
| 2015-09-30 | AAPL | SBUX | NVDA | GILD | CCI | KLAC | PSA | GE | META | SPG | AMZN | V | BKNG | COST | T |
| 2015-10-30 | AAPL | NVDA | SBUX | KLAC | GILD | CCI | GE | GOOG | AMZN | META | PSA | BKNG | SPG | V | GOOGL |
| 2015-11-30 | AAPL | GE | AMAT | GOOG | META | GILD | BEN | NVDA | URI | UAL | BAC | CCI | ENDP | BKNG | NBL |
| 2015-12-31 | GE | AAPL | NVDA | AMZN | ABMD | GOOG | GOOGL | META | ATVI | MSFT | PSA | GILD | CCI | NFLX | MCD |
| 2016-01-29 | GE | AAPL | NVDA | GOOG | META | MSFT | PSA | T | GOOGL | CCI | ABMD | MCD | GILD | AMZN | V |
| 2016-02-29 | GE | AAPL | GOOG | NVDA | T | META | AMZN | SPG | GILD | GOOGL | VZ | PSA | MSFT | TSN | EBAY |
| 2016-03-31 | AAPL | NVDA | META | GOOG | GE | T | AMZN | GOOGL | TSN | VZ | PM | MSFT | PSA | CZR | CPGX |
| 2016-04-29 | AAPL | FCX | X | CNX | GOOG | NAV | URI | EBAY | SWN | META | CSX | JOY | GE | GILD | WLL |
| 2016-05-31 | AAPL | SWN | META | JOY | GOOG | WLL | NVDA | DNR | AMZN | X | MTCH | AVP | NXPI | BG | NAV |
| 2016-06-30 | NVDA | X | CLF | OKE | AMD | CZR | DLR | META | AWK | AMZN | ABMD | MDR | NEM | T | WB |
| 2016-07-29 | AAPL | NVDA | REGN | STX | GOOG | META | AMZN | KMI | APOL | DHR | GE | BKNG | GOOGL | CMG | WMB |
| 2016-08-31 | AMD | WB | NVDA | X | DHR | SPGI | AMZN | CLF | WPX | AMAT | META | GEN | MDR | JOY | NAV |
| 2016-09-30 | WB | AMD | NVDA | X | LITE | DHR | SPGI | CLF | AMZN | WPX | NAV | AMAT | JOY | TPL | META |
| 2016-10-31 | AAPL | SPGI | NVDA | AMZN | MWW | BAC | DHR | META | ANDV | GILD | WB | TPL | WFC | SMCI | UIS |
| 2016-11-30 | NVDA | CLF | FMCC | X | AMD | FNMA | WB | TPL | DHR | STLD | WPX | CNX | WOR | NBR | DXC |
| 2016-12-30 | NVDA | CLF | AMD | X | FMCC | FNMA | BAC | TPL | DHR | SLM | STLD | CFG | WPX | ZION | UIS |
| 2017-01-31 | NVDA | FMCC | FNMA | CLF | X | AMD | TPL | URI | CSX | BAC | TRGP | NBR | FCX | WB | CHTR |
| 2017-02-28 | AMD | NVDA | CLF | X | TTD | CSX | BAC | AAPL | URI | HWM | NAV | ANET | SLM | RF | DXC |
| 2017-03-31 | AMD | NVDA | X | ANET | BAC | AAPL | CSX | URI | MU | NAV | NRG | KMG | META | DHR | INCY |
| 2017-04-28 | NVDA | AMD | KMG | X | ANET | AAPL | ALGN | IDXX | DXC | CSX | LRCX | AMAT | MU | BAC | NAV |
| 2017-05-31 | NVDA | KMG | XYZ | WB | TTD | AAPL | MU | TTWO | TSLA | ANET | VEEV | LRCX | CSX | X | AMAT |
| 2017-06-30 | NVDA | XYZ | TSLA | WB | ANET | ALGN | CSX | AAPL | META | TTWO | LITE | VRTX | CVNA | PAYC | VEEV |
| 2017-07-31 | NVDA | XYZ | WB | LITE | ALGN | NRG | MU | ANET | VRTX | TTWO | BA | TTD | META | AAPL | PYPL |
| 2017-08-31 | NVDA | WB | TTWO | NRG | VRTX | SEDG | TPL | XYZ | ALGN | BA | ANET | IPGP | MU | AAPL | META |
| 2017-09-29 | NVDA | WB | BBBY | TTWO | XYZ | MU | SEDG | IPGP | BA | NRG | ANET | MTW | TTD | LRCX | ALGN |
| 2017-10-31 | BBBY | NVDA | XYZ | MU | ALGN | MTW | SEDG | TTWO | TTD | IPGP | ANET | LRCX | WB | NRG | AAPL |
| 2017-11-30 | ENPH | BBBY | NVDA | XYZ | MU | ALGN | SEDG | ANET | IPGP | NRG | AAPL | TTWO | META | PYPL | TWTR |
| 2017-12-29 | BBBY | NVDA | ENPH | SEDG | MU | ANET | FSLR | XYZ | NRG | AAPL | WB | TWTR | ALGN | EC | PENN |
| 2018-01-31 | BBBY | NKTR | NVDA | MAY | ANET | XYZ | EC | MU | WB | ALGN | SEDG | TWTR | BA | NFLX | PENN |
| 2018-02-28 | NKTR | NVDA | BBBY | SEDG | MU | MTCH | XYZ | NFLX | ENPH | EC | AMZN | ANET | BA | TWTR | ABBV |
| 2018-03-29 | NKTR | NVDA | MU | AMZN | META | NXPI | AAPL | CMG | QEP | BKNG | DXCM | NBR | ESV | GOOG | WLL |
| 2018-04-30 | NKTR | NVDA | MU | AMZN | HET | ENPH | META | AAPL | SEDG | ETSY | EC | NFLX | ANDV | MTCH | CMG |
| 2018-05-31 | MU | NVDA | NKTR | META | CCI | AMZN | GE | EVHC | AAPL | MRVL | REGN | GOOG | AXON | THC | RRC |
| 2018-06-29 | MU | NVDA | NWL | AMZN | REGN | BBWI | META | KHC | CCI | NKTR | NFLX | GE | AAPL | TSLA | TKO |
| 2018-07-31 | MU | NVDA | REGN | AMZN | META | CCI | HWM | TKO | GE | GOOG | AYI | AAPL | HET | NFLX | SCG |
| 2018-08-31 | HET | CVNA | TKO | AMD | TTD | ENPH | XYZ | DXCM | ETSY | AMZN | AXON | LULU | NVDA | MOH | ABMD |
| 2018-09-28 | AMD | HET | CCI | WIN | AMZN | NVDA | AAPL | WNDXQ | BBWI | CAT | META | CAH | CHTR | NFLX | PM |
| 2018-10-31 | CCI | HET | NVDA | AMZN | AAPL | AVGO | DXCM | EXR | SPG | TSLA | MSFT | VZ | META | BEN | AMD |
| 2018-11-30 | HET | CCI | AMZN | EOG | AMD | AAPL | ETSY | TSLA | MRK | KDP | TTD | NFLX | MKC | MSFT | MOS |
| 2018-12-31 | HET | CCI | AMZN | EOG | EXR | AAPL | NVDA | BEN | MRK | MSFT | VZ | PSA | T | TSLA | SPG |
| 2019-01-31 | HET | AMZN | FNMA | CCI | FMCC | EOG | AMD | ENPH | TTD | NFLX | ETSY | META | AAPL | PAYC | CIEN |
| 2019-02-28 | NVDA | HET | CCI | AMZN | EOG | WDC | AAPL | MU | MHK | COTY | CAR | NFLX | GE | FLEX | META |
| 2019-03-29 | HET | TTD | FNMA | ENPH | FMCC | ETSY | CMG | AVP | AMZN | CVNA | CDNS | AMD | EXR | CCI | ERIE |
| 2019-04-30 | HET | TTD | CVNA | ENPH | AMD | QCOM | AMZN | AVP | ETSY | CDNS | PAYC | VEEV | SNPS | MSFT | CCI |
| 2019-05-31 | HET | CCI | EXR | AMZN | NVDA | AAPL | JNJ | MSFT | LLY | T | GOOG | LIN | LMT | PSA | MTCH |
| 2019-06-28 | NVDA | AMZN | HET | AAPL | TSLA | WDC | MHK | CCI | MTW | EXR | NWL | META | VLO | CVS | WY |
| 2019-07-31 | HET | ENPH | TTD | AVP | AMZN | MTCH | AAPL | SBUX | PAYC | VEEV | CCI | EXR | MSFT | MKTX | CSGP |
| 2019-08-30 | NVDA | HET | AMZN | AAPL | TSLA | EXR | CCI | WBA | NWL | BKNG | META | GOOG | BMY | KR | JNJ |
| 2019-09-30 | NVDA | TSLA | HET | CSCO | AAPL | AMZN | CCI | MPC | EXR | WBA | BIIB | GOOG | VLO | BMY | KHC |
| 2019-10-31 | HET | ENPH | AVP | AAPL | BLDR | SEDG | GNRC | KBH | KLAC | LRCX | EXR | CCI | TSLA | NVDA | PHM |
| 2019-11-29 | HET | AAPL | NVDA | AVP | TSLA | ENPH | BLDR | TGT | AMD | PODD | LRCX | KLAC | TER | LEG | DXCM |
| 2019-12-31 | HET | ENPH | TSLA | AAPL | NVDA | THC | AMD | SWKS | CVNA | AVP | QRVO | TER | SEDG | LRCX | BMY |
| 2020-01-31 | HET | TSLA | ENPH | AAPL | NVDA | AMD | PAYC | PODD | TDG | LM | MSFT | LLY | FTNT | QCOM | SEDG |
| 2020-02-28 | HET | TSLA | CCI | EXR | NVDA | AAPL | LLY | AMZN | MSFT | GOOG | XRX | JNJ | T | QCOM | WHR |
| 2020-03-31 | TSLA | NVDA | EXR | AAPL | ENPH | CCI | AMZN | GOOG | MSFT | GEN | DXCM | UST | AMT | KR | NCC |
| 2020-04-30 | TSLA | NVDA | ENPH | EXR | AAPL | AMZN | CCI | DXCM | MSFT | GOOG | GEN | AMT | UST | TE | KR |
| 2020-05-29 | TSLA | NVDA | EXR | ENPH | AAPL | AMZN | CCI | DXCM | GOOG | MSFT | GEN | AMT | DDOG | CLX | WST |
| 2020-06-30 | TSLA | NVDA | AAPL | CCI | AMZN | EXR | MSFT | BBBY | AMT | GOOG | DDOG | NEM | ENPH | ABBV | DXCM |
| 2020-07-31 | BBBY | TSLA | NVDA | AAPL | AMZN | ENPH | MSFT | XYZ | NEM | AMD | META | CCI | DXCM | SEDG | WST |
| 2020-08-31 | BBBY | TSLA | NVDA | AAPL | AMD | CVNA | AMZN | ENPH | XYZ | MRNA | ETSY | SEDG | GNRC | META | NFLX |
| 2020-09-30 | TUP | TSLA | VIAC | XRX | EXR | XEC | AAPL | NVDA | IVZ | PSKY | SLM | AMZN | HAS | PCG | BBBY |
| 2020-10-30 | TUP | TSLA | GE | VIAC | EXR | AAPL | KSS | NVDA | XEC | IVZ | CXO | ENPH | PCG | UA | AMZN |
| 2020-11-30 | TUP | COTY | DVN | OXY | M | XRX | SPG | WPX | SLB | AMZN | PCG | NVDA | CCI | AAPL | XEC |
| 2020-12-31 | TSLA | TUP | ENPH | MRNA | GME | CRWD | BBBY | PENN | CLF | ETSY | NVDA | XYZ | AAPL | CPRI | TTD |
| 2021-01-29 | GME | TSLA | ENPH | MRNA | NVDA | BBBY | TUP | ETSY | AAPL | CRWD | NOW | AMD | SEDG | EXR | PENN |
| 2021-02-26 | GME | TSLA | VIAC | TUP | QEP | WBD | PSKY | EXR | DISCA | DISCK | FCX | MRNA | DVN | TPL | TPR |
| 2021-03-31 | GME | TUP | VIAC | TSLA | TPL | DISCA | DISCK | QEP | CAR | DVN | KSS | CLF | ANF | CPRI | PENN |
| 2021-04-30 | GME | QEP | CAR | TUP | TSLA | BBWI | NVDA | DVN | XEC | LPX | MRNA | TPL | FCX | ANF | MTW |
| 2021-05-28 | GME | DDS | NUE | XEC | DVN | NVDA | ANF | FCX | TSLA | CAR | RRD | MTW | TUP | EXR | BBWI |
| 2021-06-30 | GME | MRNA | NVDA | DDS | RRD | ANF | MDP | ASO | RRC | MAC | NAVI | TSLA | BX | XEC | MRO |
| 2021-07-30 | GME | MRNA | RRD | NVDA | DDS | MDP | BX | FTNT | NUE | BBWI | AAPL | SBNY | GOOG | XEC | MBI |
| 2021-08-31 | GME | MRNA | RRD | DDS | NVDA | MDP | SBNY | KKR | BX | FTNT | SIVB | AMD | NAVI | XEC | TSLA |
| 2021-09-30 | MRNA | GME | RRD | RRC | MDP | NVDA | CAR | MRO | TSLA | DVN | SBNY | DDS | KKR | M | IT |
| 2021-10-29 | GME | CAR | TSLA | MRNA | RRD | NVDA | MRO | DDS | DVN | RRC | KKR | M | JWN | MDP | AMD |
| 2021-11-30 | TSLA | NVDA | AMD | AMZN | MIR | AAPL | MRNA | DDS | WBD | MU | GME | WFC | COHR | DVN | GS |
| 2021-12-31 | RRD | NVDA | TSLA | GME | CAR | BLDR | MRO | DVN | ON | F | EXR | AMD | DDS | ANET | PFE |
| 2022-01-31 | NVDA | RRD | DVN | TSLA | MRO | AAPL | EXR | EOG | WFC | COP | CVX | F | XOM | PFE | AMD |
| 2022-02-28 | NVDA | EXR | DVN | RRD | AAPL | TSLA | CVX | EOG | WFC | MRO | XOM | AMT | COP | WY | MO |
| 2022-03-31 | NVDA | TSLA | RRD | COP | EXR | DVN | OXY | CVX | TRGP | AAPL | MOS | MRO | CF | XOM | EQT |
| 2022-04-29 | EXR | AMT | NVDA | COP | GILD | TSLA | CVX | AAPL | DVN | T | XOM | CCI | EOG | EQT | BMY |
| 2022-05-31 | EXR | APA | AMT | NVDA | VLO | CCI | XOM | CVX | EOG | DVN | T | AAPL | OXY | EQT | MRK |
| 2022-06-30 | EXR | AMT | APA | NVDA | CCI | EOG | XOM | T | VLO | AAPL | CVX | BMY | DVN | MRK | ABX |
| 2022-07-29 | EXR | AMT | APA | NVDA | TSLA | CCI | XOM | AAPL | DVN | EOG | VLO | PSA | CVX | OXY | T |
| 2022-08-31 | EXR | DVN | AMT | TSLA | CCI | NVDA | PSA | AAPL | CVX | XOM | MPC | MCK | COP | OXY | CF |
| 2022-09-30 | EXR | DVN | TSLA | AMT | CCI | NVDA | AAPL | PSA | MPC | COP | CVX | XOM | FHN | EOG | MCK |
| 2022-10-31 | EXR | DVN | AMT | NVDA | CCI | AAPL | CVX | COP | FHN | PSA | MPC | XOM | EOG | MCK | MRK |
| 2022-11-30 | UCL | NVDA | AAPL | T | EXR | MPC | BKNG | XOM | FSLR | HES | MRK | FHN | VLO | CF | ODP |
| 2022-12-30 | VLO | BKNG | MPC | XOM | T | HES | MRK | NVDA | CVX | EXR | ODP | FHN | COP | GNW | FTI |
| 2023-01-31 | UCL | NVDA | VLO | EXR | MPC | BKNG | T | TSLA | CCI | HES | XOM | FHN | AAPL | CVX | MRK |
| 2023-02-28 | TSLA | NVDA | EXR | META | WBD | MOS | ABNB | CCI | THC | T | AMD | AAPL | PSA | SIVB | MRVL |
| 2023-03-31 | TSLA | NVDA | UCL | VLO | EXR | BKNG | CCI | AAPL | MPC | FSLR | SMCI | COTY | PSX | AXON | META |
| 2023-04-28 | TSLA | NVDA | EXR | AMT | CCI | AMZN | VLO | BAX | PSA | HAS | CF | ESS | AAPL | MO | PSX |
| 2023-05-31 | NVDA | EXR | TSLA | AMT | CCI | AAPL | BKNG | MSFT | PSA | AVGO | META | H | GOOG | LW | MO |
| 2023-06-30 | SMCI | NVDA | CVNA | RCL | CCL | TSLA | VRT | PLTR | BLDR | META | UBER | NFLX | NCLH | BKNG | GE |
| 2023-07-31 | TSLA | EXR | NVDA | CCI | DVN | CF | MRO | AMT | MTCH | CVNA | CVS | BKNG | PYPL | FIS | WBA |
| 2023-08-31 | EXR | TSLA | CCI | NVDA | TPL | MTCH | AMT | D | OGN | BKNG | UAL | AMGN | DVN | SBAC | BLK |
| 2023-09-29 | EXR | NVDA | TSLA | CCI | BKNG | MO | BLK | PSX | AMT | AAPL | AMGN | JPM | SPG | EMR | CVX |
| 2023-10-31 | NVDA | EXR | CCI | TSLA | AMT | META | BLK | AAPL | VRT | BKNG | MO | BRK-B | AVGO | EMR | SPG |
| 2023-11-30 | NVDA | EXR | TSLA | ANF | META | VRT | COIN | CRWD | GPS | BKNG | CRM | MSFT | PHM | CCI | UBER |
| 2023-12-29 | CVNA | COIN | NVDA | ANF | GPS | FNMA | VRT | CRWD | APP | UBER | FMCC | META | TSLA | RCL | EXR |
| 2024-01-31 | SMCI | NVDA | ANF | VRT | CRWD | FNMA | CVNA | ADCT | FMCC | META | UBER | ANET | APP | AVGO | PANW |
| 2024-02-29 | SMCI | NVDA | CVNA | ADCT | ANF | VRT | GE | CRWD | COIN | META | UBER | APP | AMD | VST | DYN |
| 2024-03-28 | SMCI | NVDA | CVNA | ADCT | VRT | ANF | COIN | VST | GE | GPS | APP | DYN | FNMA | WSM | FMCC |
| 2024-04-30 | CVNA | SMCI | NVDA | ADCT | VRT | ANF | VST | GE | APP | DYN | COIN | EME | NRG | CEG | WSM |
| 2024-05-31 | NVDA | CVNA | ANF | VST | VRT | SMCI | APP | CEG | DELL | COIN | GPS | FMCC | NRG | DYN | HOOD |
| 2024-06-28 | NVDA | ANF | CVNA | VST | SMCI | APP | DYN | VRT | CEG | DELL | PANW | AVGO | HOOD | COIN | ANET |
| 2024-07-31 | NVDA | LUMN | CVNA | ANF | DYN | EXR | THC | VST | APP | ANET | COIN | CEG | KKR | AMZN | AVGO |
| 2024-08-30 | NVDA | LUMN | DYN | CVNA | ANF | EXR | THC | PBI | PLTR | GDDY | VST | IRM | FICO | PANW | MMM |
| 2024-09-30 | LUMN | NVDA | CVNA | DYN | APP | VST | EXR | PLTR | PBI | THC | CCI | CEG | GEV | FICO | AMT |
| 2024-10-31 | CVNA | NVDA | LUMN | APP | VST | PLTR | GEV | EXR | UAL | COHR | LB | FICO | TPL | CEG | META |
| 2024-11-29 | APP | CVNA | LUMN | NVDA | PLTR | FMCC | TPL | FNMA | VST | TSLA | HOOD | UAL | AXON | EXR | CCL |
| 2024-12-31 | NVDA | TSLA | CCI | EXR | WYNN | WDAY | AAP | PLTR | BA | DG | TRIP | LUMN | LULU | AMZN | APP |
| 2025-01-31 | APP | FMCC | FNMA | PLTR | HOOD | TSLA | CVNA | NVDA | VST | UAL | AXON | TPR | IBKR | LUMN | ALK |
| 2025-02-28 | NVDA | CCI | TSLA | PLTR | EXR | WYNN | INTC | DXCM | DG | AMT | KSS | WBA | WDAY | AAPL | LU |
| 2025-03-31 | NVDA | EXR | NEM | AMT | PFE | BLK | MO | BRK-B | F | T | AAPL | VZ | TSLA | AZO | META |
| 2025-04-30 | NVDA | EXR | AMT | NEM | FNMA | VRSN | CNP | PM | PLTR | BRK-B | F | TSLA | PFE | CME | MO |
| 2025-05-30 | PLTR | NVDA | FNMA | TSLA | HOOD | NEM | FMCC | GILD | PM | NFLX | GEV | AXON | UBER | F | CAH |
| 2025-06-30 | NVDA | TSLA | HOOD | MRVL | SMCI | TER | AMAT | DHI | AMD | WDC | ILMN | CNXT | CAR | COIN | PHM |
| 2025-07-31 | NVDA | TSLA | HOOD | ANF | TTD | AAL | CNXT | AMD | KSS | MRVL | HAL | LUMN | WDC | M | TGT |
| 2025-08-29 | NVDA | REGN | HOOD | TSLA | UNH | EXR | AAL | HPQ | MRK | SWKS | FL | NWL | BBY | HP | LEN |
| 2025-09-30 | FNMA | FMCC | HOOD | APP | WDC | PLTR | STX | NVDA | LITE | ECHO | TSLA | CIEN | WBD | NEM | AVGO |
| 2025-10-31 | NVDA | MU | EXR | UNH | UPS | DYN | AAL | HBI | HP | REGN | ODP | PCG | CRM | MRVL | HPQ |
| 2025-11-28 | NVDA | MU | EXR | UNH | ANF | EIX | TSLA | GIS | PCG | COO | ODP | GOOG | HOOD | GME | VFC |
| 2025-12-31 | NVDA | LULU | GILD | EXR | TSLA | CRM | TGT | MU | ACN | UNH | ALGN | DECK | AMT | OKE | ENPH |
| 2026-01-30 | TE | MU | WDC | ECHO | LITE | STX | LRCX | WBD | NEM | CIEN | ALB | GILD | NVDA | NKTR | TER |
| 2026-02-27 | LITE | WDC | MU | CIEN | TE | STX | COHR | TER | GLW | LRCX | FIX | ECHO | VIAV | GILD | WBD |
| 2026-03-31 | LITE | NVDA | MU | CCI | WDC | EXR | GILD | CIEN | APA | GOOG | FTI | CF | LYB | DOW | XOM |
| 2026-04-30 | NVDA | CCI | MU | EXR | GILD | KVUE | INTC | LITE | MSFT | AMT | HPQ | GME | KMB | NWL | WHR |
| 2026-05-29 | MU | NVDA | CCI | EXR | GILD | ORCL | NOW | PAYC | INTC | XRX | HOOD | MSFT | AMD | AMT | ADBE |
| 2026-06-26 | MU | WDC | INTC | STX | MRVL | LITE | AMD | DELL | CIEN | VIAV | AMAT | LRCX | GLW | TE | TER |
Scoring script (python)
FORMULA_NAME = "Contrarian 52-Week Regime Momentum Hybrid (Conflict-Arbitrated Relay, v1174)"
LOGIC_VARIANT_COUNT = 4
NOTES = """mode=explore; family=contrarian-52w-regime-momentum-hybrid
New hybrid family built as a conflict-arbitrated relay instead of a static blend: every stock competes through three sleeves, a deep-52-week contrarian repair sleeve, a trend-confirmed momentum sleeve, and a durability sleeve, and the regime branch decides which sleeve is allowed to dominate when those signals disagree. The arbitration is explicit: broken drawdowns are rejected unless repair evidence is present, momentum leaders are taxed when they are too extended or low-quality, and fractured tapes route toward whichever sleeve has the stronger case only if durability confirms it.
Deliberate metric coverage this run: active momentum uses return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, and momentum_12_1_pct; trend/recovery uses both from_200d_ma_pct and from_52w_high_pct; volatility uses realized_vol_3m; liquidity uses avg_daily_volume_3m, avg_daily_dollar_volume_3m, and trading_days_3m; income uses dividend_yield_ttm_pct and dividend_ttm; valuation uses pe, forward_pe, and peg; growth uses eps_growth_pct, revenue_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, and forward_eps; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a regime/gate tilt rather than a raw rank. Deliberate weight-0 metrics this run: shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm. Sparse fundamentals are normalized by present weight inside each sleeve so missing fields do not mechanically dominate selection."""
ACTIVE_METRICS = (
"return_1m_pct",
"return_3m_pct",
"return_6m_pct",
"return_12m_pct",
"momentum_12_1_pct",
"from_200d_ma_pct",
"from_52w_high_pct",
"realized_vol_3m",
"avg_daily_volume_3m",
"avg_daily_dollar_volume_3m",
"trading_days_3m",
"dividend_yield_ttm_pct",
"dividend_ttm",
"pe",
"forward_pe",
"peg",
"eps_growth_pct",
"revenue_growth_pct",
"operating_income_growth_pct",
"free_cash_flow_growth_pct",
"forward_eps",
"operating_margin_pct",
"free_cash_flow_margin_pct",
)
CONTRARIAN_WEIGHTS = {
"from_52w_high_pct": (0.24, -1),
"from_200d_ma_pct": (0.10, -1),
"return_12m_pct": (0.13, -1),
"return_1m_pct": (0.10, 1),
"return_3m_pct": (0.08, 1),
"momentum_12_1_pct": (0.06, 1),
"realized_vol_3m": (0.06, -1),
"avg_daily_dollar_volume_3m": (0.04, 1),
"trading_days_3m": (0.03, 1),
"pe": (0.04, -1),
"forward_pe": (0.03, -1),
"peg": (0.03, -1),
"eps_growth_pct": (0.02, 1),
"revenue_growth_pct": (0.01, 1),
"operating_income_growth_pct": (0.01, 1),
"free_cash_flow_growth_pct": (0.01, 1),
"forward_eps": (0.01, 1),
}
MOMENTUM_WEIGHTS = {
"momentum_12_1_pct": (0.24, 1),
"return_6m_pct": (0.20, 1),
"return_3m_pct": (0.12, 1),
"return_1m_pct": (0.06, 1),
"return_12m_pct": (0.06, 1),
"from_200d_ma_pct": (0.11, 1),
"from_52w_high_pct": (0.08, 1),
"realized_vol_3m": (0.04, -1),
"avg_daily_volume_3m": (0.03, 1),
"avg_daily_dollar_volume_3m": (0.03, 1),
"trading_days_3m": (0.02, 1),
"eps_growth_pct": (0.03, 1),
"revenue_growth_pct": (0.02, 1),
"operating_income_growth_pct": (0.02, 1),
"free_cash_flow_growth_pct": (0.02, 1),
"forward_eps": (0.02, 1),
"operating_margin_pct": (0.02, 1),
}
DURABILITY_WEIGHTS = {
"realized_vol_3m": (0.14, -1),
"operating_margin_pct": (0.13, 1),
"free_cash_flow_margin_pct": (0.13, 1),
"dividend_yield_ttm_pct": (0.09, 1),
"dividend_ttm": (0.05, 1),
"pe": (0.05, -1),
"forward_pe": (0.05, -1),
"peg": (0.04, -1),
"avg_daily_volume_3m": (0.05, 1),
"avg_daily_dollar_volume_3m": (0.05, 1),
"trading_days_3m": (0.03, 1),
"eps_growth_pct": (0.04, 1),
"revenue_growth_pct": (0.03, 1),
"operating_income_growth_pct": (0.03, 1),
"free_cash_flow_growth_pct": (0.03, 1),
"forward_eps": (0.03, 1),
"from_200d_ma_pct": (0.02, 1),
"return_12m_pct": (0.02, 1),
}
def _value(row, key):
return row.get(key)
def _weighted_z(symbol, z_cache, weights):
total = 0.0
present = 0.0
for metric, spec in weights.items():
weight = spec[0]
direction = spec[1]
zmap = z_cache.get(metric)
if zmap is None:
continue
val = zmap.get(symbol)
if val is None:
continue
total += weight * direction * val
present += weight
if present <= 0.0:
return 0.0
return total / present
def _branch(regime):
breadth = regime.get("breadth")
vol = regime.get("avg_realized_vol_3m")
median_mom = regime.get("median_momentum_12_1_pct")
median_trend = regime.get("median_from_200d_ma_pct")
bull = regime.get("bull")
breadth = 0.5 if breadth is None else breadth
vol = 28.0 if vol is None else vol
median_mom = 0.0 if median_mom is None else median_mom
median_trend = 0.0 if median_trend is None else median_trend
bull = bool(bull)
if (not bull and (breadth < 0.47 or vol > 37.0)) or vol > 44.0:
return "risk_off"
if bull and breadth >= 0.62 and median_mom >= 4.0 and median_trend >= 1.5:
return "leader"
if breadth >= 0.50 and median_mom > -3.0 and median_trend > -8.0:
return "repair"
return "fracture"
def score_universe(stocks, regime, ctx):
z_cache = {}
for metric in ACTIVE_METRICS:
z_cache[metric] = ctx.z(metric)
branch = _branch(regime)
scores = {}
for row in stocks:
symbol = row["symbol"]
contrarian = _weighted_z(symbol, z_cache, CONTRARIAN_WEIGHTS)
momentum = _weighted_z(symbol, z_cache, MOMENTUM_WEIGHTS)
durability = _weighted_z(symbol, z_cache, DURABILITY_WEIGHTS)
from_52w = _value(row, "from_52w_high_pct")
from_200d = _value(row, "from_200d_ma_pct")
ret_1m = _value(row, "return_1m_pct")
ret_3m = _value(row, "return_3m_pct")
ret_6m = _value(row, "return_6m_pct")
mom_12_1 = _value(row, "momentum_12_1_pct")
vol = _value(row, "realized_vol_3m")
trading_days = _value(row, "trading_days_3m")
dollar_vol = _value(row, "avg_daily_dollar_volume_3m")
div_yield = _value(row, "dividend_yield_ttm_pct")
div_cash = _value(row, "dividend_ttm")
market_cap = _value(row, "market_cap")
op_margin = _value(row, "operating_margin_pct")
fcf_margin = _value(row, "free_cash_flow_margin_pct")
deep_drawdown = from_52w is not None and from_52w <= -25.0
washed_out = from_52w is not None and from_52w <= -38.0
catastrophic = (
(from_52w is not None and from_52w <= -58.0) or
(from_200d is not None and from_200d <= -30.0)
)
repair_ready = (
deep_drawdown and
ret_1m is not None and ret_1m > 0.5 and
ret_3m is not None and ret_3m > -3.0 and
from_200d is not None and from_200d > -18.0
)
leader_ready = (
ret_6m is not None and ret_6m > 8.0 and
mom_12_1 is not None and mom_12_1 > 3.0 and
from_200d is not None and from_200d > 0.0
)
liquid = (
trading_days is not None and trading_days >= 55 and
dollar_vol is not None and dollar_vol >= 3000000.0
)
quality_ok = (
((op_margin is not None and op_margin > 4.0) or
(fcf_margin is not None and fcf_margin > 2.0))
)
income_ok = (
(div_yield is not None and div_yield > 0.6) or
(div_cash is not None and div_cash > 0.0)
)
mega_cap = market_cap is not None and market_cap >= 120000000000.0
large_cap = market_cap is not None and market_cap >= 20000000000.0
disagreement = contrarian - momentum
disagreement_penalty = 0.10 * abs(disagreement)
repair_bonus = 0.0
if repair_ready:
repair_bonus += 0.18
if washed_out and quality_ok:
repair_bonus += 0.10
if catastrophic and not quality_ok:
repair_bonus -= 0.26
if not liquid:
repair_bonus -= 0.08
leader_bonus = 0.0
if leader_ready:
leader_bonus += 0.16
if quality_ok:
leader_bonus += 0.06
if from_52w is not None and from_52w > -2.0:
leader_bonus -= 0.10
if vol is not None and vol > 42.0:
leader_bonus -= 0.12
durability_bonus = 0.0
if income_ok:
durability_bonus += 0.07
if large_cap:
durability_bonus += 0.04
if mega_cap:
durability_bonus += 0.02
if not liquid:
durability_bonus -= 0.10
if branch == "leader":
score = (
0.62 * momentum +
0.21 * durability +
0.17 * contrarian +
leader_bonus +
(0.08 if leader_ready and quality_ok else 0.0) +
(0.05 if repair_ready and momentum > 0.25 else 0.0) -
(0.12 if deep_drawdown and not repair_ready else 0.0) -
0.70 * disagreement_penalty
)
elif branch == "repair":
score = (
0.50 * contrarian +
0.28 * durability +
0.22 * momentum +
repair_bonus +
(0.07 if repair_ready and quality_ok else 0.0) +
(0.04 if washed_out and income_ok else 0.0) -
(0.10 if leader_ready and from_52w is not None and from_52w > -5.0 else 0.0) -
0.55 * disagreement_penalty
)
elif branch == "risk_off":
score = (
0.56 * durability +
0.24 * momentum +
0.20 * contrarian +
durability_bonus +
(0.06 if quality_ok and income_ok else 0.0) -
(0.18 if washed_out and not repair_ready else 0.0) -
(0.10 if vol is not None and vol > 40.0 else 0.0) -
0.45 * disagreement_penalty
)
else:
relay_bonus = 0.0
if disagreement > 0.45 and repair_ready:
relay_bonus += 0.10
elif disagreement < -0.45 and leader_ready:
relay_bonus += 0.10
elif abs(disagreement) <= 0.20 and quality_ok:
relay_bonus += 0.08
score = (
0.36 * contrarian +
0.36 * momentum +
0.28 * durability +
relay_bonus +
(0.05 if liquid and quality_ok else 0.0) -
(0.14 if washed_out and not repair_ready else 0.0) -
(0.10 if leader_ready and deep_drawdown and not quality_ok else 0.0) -
0.80 * disagreement_penalty
)
scores[symbol] = score
return scores