← All V2 experiments
Relative return
0.993x
Excess vs bench
-0.70%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
13.22%
Mean benchmark gain
14.08%
Mean excess gain
-0.87%
Dispersion (ref)
5.82%
Win-rate vs bench (ref)
43.58%
Worst / best ratio (ref)
0.907x / 1.076x
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 | 9.72% | 2.22% | 1.073x |
| 2011-07-01 … 2016-06-30 | 13.88% | 13.74% | 1.001x |
| 2016-07-01 … 2021-06-30 | 15.48% | 20.63% | 0.957x |
| 2021-07-01 … 2026-06-26 | 13.25% | 15.48% | 0.981x |
All rolling windows — the objective set (equal-weighted mean ratio)
Strategy
Benchmark (CAPW_UNIV)
Excess
rolling 5y windows, monthly step — 179 windows · mean ratio 0.993x · beat benchmark in 78/179
| # | Window | Strategy | Benchmark | Ratio |
|---|---|---|---|---|
| 1 | 2006-07-31 … 2011-07-29 | 7.50% | 1.79% | 1.056x |
| 2 | 2006-08-31 … 2011-08-31 | 4.91% | 0.21% | 1.047x |
| 3 | 2006-09-29 … 2011-08-31 | 4.71% | -0.14% | 1.049x |
| 4 | 2006-10-31 … 2011-10-31 | 5.72% | 0.23% | 1.055x |
| 5 | 2006-11-30 … 2011-11-30 | 3.95% | -0.05% | 1.040x |
| 6 | 2006-12-29 … 2011-11-30 | 4.09% | -0.32% | 1.044x |
| 7 | 2007-01-31 … 2012-01-31 | 6.00% | 0.93% | 1.050x |
| 8 | 2007-02-28 … 2012-01-31 | 6.42% | 1.43% | 1.049x |
| 9 | 2007-03-30 … 2012-03-30 | 6.57% | 3.09% | 1.034x |
| 10 | 2007-04-30 … 2012-04-30 | 5.85% | 2.42% | 1.034x |
| 11 | 2007-05-31 … 2012-05-31 | 3.51% | 0.60% | 1.029x |
| 12 | 2007-06-29 … 2012-06-29 | 3.14% | 1.92% | 1.012x |
| 13 | 2007-07-31 … 2012-07-31 | 3.90% | 2.69% | 1.012x |
| 14 | 2007-08-31 … 2012-08-31 | 4.17% | 2.95% | 1.012x |
| 15 | 2007-09-28 … 2012-09-28 | 5.41% | 3.20% | 1.021x |
| 16 | 2007-10-31 … 2012-10-31 | 5.18% | 2.60% | 1.025x |
| 17 | 2007-11-30 … 2012-11-30 | 7.50% | 3.45% | 1.039x |
| 18 | 2007-12-31 … 2012-12-31 | 8.41% | 3.69% | 1.045x |
| 19 | 2008-01-31 … 2013-01-31 | 11.90% | 5.85% | 1.057x |
| 20 | 2008-02-29 … 2013-02-28 | 11.53% | 6.82% | 1.044x |
| 21 | 2008-03-31 … 2013-03-28 | 11.79% | 7.73% | 1.038x |
| 22 | 2008-04-30 … 2013-04-30 | 11.76% | 7.51% | 1.040x |
| 23 | 2008-05-30 … 2013-04-30 | 11.83% | 7.81% | 1.037x |
| 24 | 2008-06-30 … 2013-06-28 | 15.38% | 9.33% | 1.055x |
| 25 | 2008-07-31 … 2013-07-31 | 16.01% | 10.48% | 1.050x |
| 26 | 2008-08-29 … 2013-07-31 | 16.59% | 10.52% | 1.055x |
| 27 | 2008-09-30 … 2013-09-30 | 19.44% | 11.48% | 1.071x |
| 28 | 2008-10-31 … 2013-10-31 | 22.62% | 15.76% | 1.059x |
| 29 | 2008-11-28 … 2013-10-31 | 24.03% | 17.46% | 1.056x |
| 30 | 2008-12-31 … 2013-12-31 | 24.64% | 18.44% | 1.052x |
| 31 | 2009-01-30 … 2013-12-31 | 26.43% | 20.64% | 1.048x |
| 32 | 2009-02-27 … 2014-01-31 | 26.79% | 21.63% | 1.042x |
| 33 | 2009-03-31 … 2014-03-31 | 28.13% | 20.60% | 1.062x |
| 34 | 2009-04-30 … 2014-04-30 | 25.73% | 19.00% | 1.057x |
| 35 | 2009-05-29 … 2014-04-30 | 26.17% | 18.32% | 1.066x |
| 36 | 2009-06-30 … 2014-06-30 | 28.01% | 19.01% | 1.076x |
| 37 | 2009-07-31 … 2014-07-31 | 23.45% | 17.39% | 1.052x |
| 38 | 2009-08-31 … 2014-08-29 | 24.20% | 17.70% | 1.055x |
| 39 | 2009-09-30 … 2014-09-30 | 22.02% | 16.64% | 1.046x |
| 40 | 2009-10-30 … 2014-09-30 | 24.13% | 17.08% | 1.060x |
| 41 | 2009-11-30 … 2014-11-28 | 23.04% | 16.82% | 1.053x |
| 42 | 2009-12-31 … 2014-12-31 | 20.81% | 16.28% | 1.039x |
| 43 | 2010-01-29 … 2014-12-31 | 23.10% | 17.23% | 1.050x |
| 44 | 2010-02-26 … 2015-01-30 | 19.94% | 15.80% | 1.036x |
| 45 | 2010-03-31 … 2015-03-31 | 18.22% | 15.40% | 1.024x |
| 46 | 2010-04-30 … 2015-04-30 | 17.86% | 15.38% | 1.021x |
| 47 | 2010-05-28 … 2015-04-30 | 18.48% | 17.09% | 1.012x |
| 48 | 2010-06-30 … 2015-06-30 | 21.39% | 17.45% | 1.034x |
| 49 | 2010-07-30 … 2015-06-30 | 19.83% | 16.43% | 1.029x |
| 50 | 2010-08-31 … 2015-08-31 | 19.37% | 15.76% | 1.031x |
| 51 | 2010-09-30 … 2015-09-30 | 15.35% | 13.61% | 1.015x |
| 52 | 2010-10-29 … 2015-09-30 | 14.51% | 13.06% | 1.013x |
| 53 | 2010-11-30 … 2015-11-30 | 14.91% | 15.09% | 0.999x |
| 54 | 2010-12-31 … 2015-12-31 | 13.28% | 13.55% | 0.998x |
| 55 | 2011-01-31 … 2016-01-29 | 9.97% | 11.90% | 0.983x |
| 56 | 2011-02-28 … 2016-01-29 | 9.10% | 11.53% | 0.978x |
| 57 | 2011-03-31 … 2016-03-31 | 12.98% | 12.90% | 1.001x |
| 58 | 2011-04-29 … 2016-04-29 | 12.48% | 12.39% | 1.001x |
| 59 | 2011-05-31 … 2016-05-31 | 12.19% | 12.94% | 0.993x |
| 60 | 2011-06-30 … 2016-06-30 | 12.35% | 13.30% | 0.992x |
| 61 | 2011-07-29 … 2016-07-29 | 14.15% | 14.52% | 0.997x |
| 62 | 2011-08-31 … 2016-08-31 | 15.75% | 15.19% | 1.005x |
| 63 | 2011-09-30 … 2016-09-30 | 17.01% | 16.32% | 1.006x |
| 64 | 2011-10-31 … 2016-10-31 | 12.84% | 14.02% | 0.990x |
| 65 | 2011-11-30 … 2016-11-30 | 15.45% | 14.66% | 1.007x |
| 66 | 2011-12-30 … 2016-12-30 | 14.91% | 14.92% | 1.000x |
| 67 | 2012-01-31 … 2017-01-31 | 15.28% | 14.63% | 1.006x |
| 68 | 2012-02-29 … 2017-02-28 | 15.84% | 14.78% | 1.009x |
| 69 | 2012-03-30 … 2017-02-28 | 15.70% | 14.43% | 1.011x |
| 70 | 2012-04-30 … 2017-04-28 | 14.97% | 14.61% | 1.003x |
| 71 | 2012-05-31 … 2017-05-31 | 17.49% | 15.98% | 1.013x |
| 72 | 2012-06-29 … 2017-05-31 | 17.86% | 15.44% | 1.021x |
| 73 | 2012-07-31 … 2017-07-31 | 18.94% | 15.43% | 1.030x |
| 74 | 2012-08-31 … 2017-08-31 | 18.05% | 15.12% | 1.025x |
| 75 | 2012-09-28 … 2017-08-31 | 16.83% | 14.77% | 1.018x |
| 76 | 2012-10-31 … 2017-10-31 | 16.75% | 16.12% | 1.005x |
| 77 | 2012-11-30 … 2017-11-30 | 18.45% | 16.79% | 1.014x |
| 78 | 2012-12-31 … 2017-12-29 | 17.19% | 16.93% | 1.002x |
| 79 | 2013-01-31 … 2018-01-31 | 16.57% | 17.57% | 0.992x |
| 80 | 2013-02-28 … 2018-02-28 | 15.40% | 16.21% | 0.993x |
| 81 | 2013-03-28 … 2018-02-28 | 14.92% | 15.81% | 0.992x |
| 82 | 2013-04-30 … 2018-04-30 | 14.13% | 14.25% | 0.999x |
| 83 | 2013-05-31 … 2018-05-31 | 13.95% | 14.57% | 0.995x |
| 84 | 2013-06-28 … 2018-05-31 | 13.85% | 14.97% | 0.990x |
| 85 | 2013-07-31 … 2018-07-31 | 11.81% | 14.83% | 0.974x |
| 86 | 2013-08-30 … 2018-07-31 | 12.48% | 15.59% | 0.973x |
| 87 | 2013-09-30 … 2018-09-28 | 12.15% | 15.84% | 0.968x |
| 88 | 2013-10-31 … 2018-10-31 | 9.34% | 12.89% | 0.969x |
| 89 | 2013-11-29 … 2018-10-31 | 9.45% | 12.60% | 0.972x |
| 90 | 2013-12-31 … 2018-12-31 | 5.89% | 9.93% | 0.963x |
| 91 | 2014-01-31 … 2019-01-31 | 8.99% | 12.37% | 0.970x |
| 92 | 2014-02-28 … 2019-02-28 | 8.19% | 12.38% | 0.963x |
| 93 | 2014-03-31 … 2019-03-29 | 8.72% | 12.76% | 0.964x |
| 94 | 2014-04-30 … 2019-04-30 | 10.45% | 13.73% | 0.971x |
| 95 | 2014-05-30 … 2019-04-30 | 9.77% | 13.54% | 0.967x |
| 96 | 2014-06-30 … 2019-06-28 | 9.49% | 12.81% | 0.971x |
| 97 | 2014-07-31 … 2019-07-31 | 11.27% | 13.30% | 0.982x |
| 98 | 2014-08-29 … 2019-07-31 | 10.48% | 12.80% | 0.979x |
| 99 | 2014-09-30 … 2019-09-30 | 10.16% | 12.70% | 0.977x |
| 100 | 2014-10-31 … 2019-10-31 | 10.90% | 12.91% | 0.982x |
| 101 | 2014-11-28 … 2019-10-31 | 10.61% | 12.60% | 0.982x |
| 102 | 2014-12-31 … 2019-12-31 | 12.99% | 14.16% | 0.990x |
| 103 | 2015-01-30 … 2019-12-31 | 14.14% | 14.85% | 0.994x |
| 104 | 2015-02-27 … 2020-01-31 | 11.39% | 14.04% | 0.977x |
| 105 | 2015-03-31 … 2020-03-31 | -1.32% | 8.56% | 0.909x |
| 106 | 2015-04-30 … 2020-04-30 | 1.50% | 11.65% | 0.909x |
| 107 | 2015-05-29 … 2020-05-29 | 3.38% | 12.61% | 0.918x |
| 108 | 2015-06-30 … 2020-06-30 | 3.02% | 13.64% | 0.907x |
| 109 | 2015-07-31 … 2020-07-31 | 6.52% | 14.60% | 0.929x |
| 110 | 2015-08-31 … 2020-08-31 | 7.32% | 18.07% | 0.909x |
| 111 | 2015-09-30 … 2020-09-30 | 7.42% | 17.05% | 0.918x |
| 112 | 2015-10-30 … 2020-10-30 | 6.07% | 14.60% | 0.926x |
| 113 | 2015-11-30 … 2020-11-30 | 11.29% | 17.43% | 0.948x |
| 114 | 2015-12-31 … 2020-12-31 | 11.75% | 18.65% | 0.942x |
| 115 | 2016-01-29 … 2021-01-29 | 14.12% | 19.26% | 0.957x |
| 116 | 2016-02-29 … 2021-02-26 | 14.98% | 19.79% | 0.960x |
| 117 | 2016-03-31 … 2021-03-31 | 12.67% | 19.42% | 0.943x |
| 118 | 2016-04-29 … 2021-03-31 | 12.77% | 19.66% | 0.942x |
| 119 | 2016-05-31 … 2021-05-28 | 15.18% | 20.42% | 0.957x |
| 120 | 2016-06-30 … 2021-06-30 | 15.63% | 21.06% | 0.955x |
| 121 | 2016-07-29 … 2021-06-30 | 15.48% | 20.63% | 0.957x |
| 122 | 2016-08-31 … 2021-08-31 | 15.99% | 21.75% | 0.953x |
| 123 | 2016-09-30 … 2021-09-30 | 15.26% | 20.22% | 0.959x |
| 124 | 2016-10-31 … 2021-10-29 | 18.03% | 22.50% | 0.963x |
| 125 | 2016-11-30 … 2021-11-30 | 15.86% | 21.87% | 0.951x |
| 126 | 2016-12-30 … 2021-11-30 | 15.77% | 21.75% | 0.951x |
| 127 | 2017-01-31 … 2022-01-31 | 11.55% | 20.17% | 0.928x |
| 128 | 2017-02-28 … 2022-02-28 | 11.26% | 18.51% | 0.939x |
| 129 | 2017-03-31 … 2022-03-31 | 11.34% | 19.46% | 0.932x |
| 130 | 2017-04-28 … 2022-03-31 | 11.45% | 19.46% | 0.933x |
| 131 | 2017-05-31 … 2022-05-31 | 8.90% | 15.59% | 0.942x |
| 132 | 2017-06-30 … 2022-06-30 | 4.17% | 13.08% | 0.921x |
| 133 | 2017-07-31 … 2022-07-29 | 5.12% | 15.16% | 0.913x |
| 134 | 2017-08-31 … 2022-08-31 | 5.76% | 13.72% | 0.930x |
| 135 | 2017-09-29 … 2022-08-31 | 6.03% | 13.56% | 0.934x |
| 136 | 2017-10-31 … 2022-10-31 | 6.58% | 11.86% | 0.953x |
| 137 | 2017-11-30 … 2022-11-30 | 7.21% | 12.52% | 0.953x |
| 138 | 2017-12-29 … 2022-11-30 | 7.54% | 12.46% | 0.956x |
| 139 | 2018-01-31 … 2023-01-31 | 7.41% | 11.01% | 0.968x |
| 140 | 2018-02-28 … 2023-02-28 | 6.82% | 11.03% | 0.962x |
| 141 | 2018-03-29 … 2023-02-28 | 6.61% | 11.72% | 0.954x |
| 142 | 2018-04-30 … 2023-04-28 | 6.67% | 13.01% | 0.944x |
| 143 | 2018-05-31 … 2023-05-31 | 5.68% | 12.95% | 0.936x |
| 144 | 2018-06-29 … 2023-05-31 | 6.43% | 13.01% | 0.942x |
| 145 | 2018-07-31 … 2023-07-31 | 9.37% | 14.67% | 0.954x |
| 146 | 2018-08-31 … 2023-08-31 | 8.31% | 13.51% | 0.954x |
| 147 | 2018-09-28 … 2023-08-31 | 8.39% | 13.56% | 0.954x |
| 148 | 2018-10-31 … 2023-10-31 | 6.62% | 12.60% | 0.947x |
| 149 | 2018-11-30 … 2023-11-30 | 10.49% | 14.58% | 0.964x |
| 150 | 2018-12-31 … 2023-12-29 | 15.78% | 17.26% | 0.987x |
| 151 | 2019-01-31 … 2024-01-31 | 14.29% | 16.27% | 0.983x |
| 152 | 2019-02-28 … 2024-01-31 | 13.73% | 15.94% | 0.981x |
| 153 | 2019-03-29 … 2024-03-28 | 14.84% | 17.50% | 0.977x |
| 154 | 2019-04-30 … 2024-04-30 | 13.23% | 15.50% | 0.980x |
| 155 | 2019-05-31 … 2024-05-31 | 15.25% | 18.12% | 0.976x |
| 156 | 2019-06-28 … 2024-06-28 | 14.41% | 17.99% | 0.970x |
| 157 | 2019-07-31 … 2024-07-31 | 14.40% | 17.70% | 0.972x |
| 158 | 2019-08-30 … 2024-08-30 | 13.40% | 18.41% | 0.958x |
| 159 | 2019-09-30 … 2024-09-30 | 15.90% | 18.65% | 0.977x |
| 160 | 2019-10-31 … 2024-10-31 | 14.41% | 17.87% | 0.971x |
| 161 | 2019-11-29 … 2024-11-29 | 16.61% | 18.64% | 0.983x |
| 162 | 2019-12-31 … 2024-12-31 | 14.34% | 17.62% | 0.972x |
| 163 | 2020-01-31 … 2025-01-31 | 16.21% | 18.07% | 0.984x |
| 164 | 2020-02-28 … 2025-02-28 | 15.70% | 19.00% | 0.972x |
| 165 | 2020-03-31 … 2025-03-31 | 20.09% | 19.24% | 1.007x |
| 166 | 2020-04-30 … 2025-04-30 | 18.86% | 16.49% | 1.020x |
| 167 | 2020-05-29 … 2025-04-30 | 17.28% | 15.80% | 1.013x |
| 168 | 2020-06-30 … 2025-06-30 | 22.23% | 18.19% | 1.034x |
| 169 | 2020-07-31 … 2025-07-31 | 18.80% | 17.87% | 1.008x |
| 170 | 2020-08-31 … 2025-08-29 | 17.81% | 16.69% | 1.010x |
| 171 | 2020-09-30 … 2025-09-30 | 19.12% | 18.57% | 1.005x |
| 172 | 2020-10-30 … 2025-09-30 | 19.85% | 19.43% | 1.004x |
| 173 | 2020-11-30 … 2025-11-28 | 15.04% | 17.77% | 0.977x |
| 174 | 2020-12-31 … 2025-12-31 | 14.76% | 16.92% | 0.981x |
| 175 | 2021-01-29 … 2025-12-31 | 14.05% | 17.20% | 0.973x |
| 176 | 2021-02-26 … 2026-01-30 | 13.25% | 17.04% | 0.968x |
| 177 | 2021-03-31 … 2026-03-31 | 12.06% | 14.07% | 0.982x |
| 178 | 2021-04-30 … 2026-04-30 | 16.46% | 16.03% | 1.004x |
| 179 | 2021-05-28 … 2026-04-30 | 15.42% | 16.22% | 0.993x |
Notes
mode=explore; family=contrarian-52w-recovery-quality-hybrid
New hybrid family built by combining the bull recovery-leader contrarian sweet-spot from contrarian-52w with the stock-level conflict arbitration and quality/liquidity discipline from recovery-quality-regime-momentum-hybrid. The structure is intentionally not a mechanical average: in bull tapes, repaired rebounders can graduate into momentum only after quality confirms; in mixed tapes, recovery only gets paid when liquidity and balance-sheet proxies are good enough; in risk-off, the model falls back to lower-volatility durable franchises entered from modest 52-week drawdowns rather than deep damage.
Deliberate metric coverage: actively use one momentum cluster (3m, 6m, 12_1), one recovery cluster (distance from 52-week high plus 200d trend), one volatility check, all three liquidity checks in mixed/risk-off, one income metric, two valuation metrics, three growth/earnings proxies, two quality metrics, and a size tilt that flips by regime. Deliberate weight-0 metrics this run: return_1m_pct, return_12m_pct, dividend_ttm, pe, eps_growth_pct, revenue_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, free_cash_flow_ttm.
Lesson notes
explore/contrarian-52w-recovery-quality-hybrid: relative_return 0.9930x (delta -0.4327 vs exp_758); win-rate 43.5754%, worst-window 0.906524, dispersion 5.8185%.
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 | BAC | CMCSA | T | GEN | ATI | ICE | PNC | NVDA | MTW | ANDV | XRAY | EXPD | ZBH | AOS | VTR |
| 2006-08-31 | KIM | EA | MAT | FTI | ILMN | MAA | ODFL | KSS | BLK | NUE | LUMN | O | MTW | NOV | NFB |
| 2006-09-29 | IT | ALL | SNA | ILMN | AKAM | BAX | AMGN | UNM | ADM | CAG | UHS | PENN | MTW | TSN | HST |
| 2006-10-31 | VFC | GEN | EQR | SJM | AMAT | MKTX | GT | IDXX | ED | NI | SPG | CRL | SLG | CNP | MHS |
| 2006-11-30 | ETR | SHW | AAPL | WTW | ARE | LMT | AVB | ILMN | DDR | ALB | AMZN | WDC | OI | INCY | FLS |
| 2006-12-29 | DOC | REGN | MHK | INTU | EXPE | AAP | ADI | SNDK | CRM | PKI | DLX | SAPE | MMC | OI | EHC |
| 2007-01-31 | EXPE | REGN | UAL | PGL | NVR | WAB | PVH | DHI | VZ | SWKS | OMX | AMZN | PHM | EW | NAV |
| 2007-02-28 | COG | TIE | TUP | WDC | REGN | CTB | OI | CNC | WCG | INCY | FLR | COL | CIEN | TTWO | NVR |
| 2007-03-30 | ON | WYNN | VFC | NDSN | ETR | DNR | TTWO | ADSK | ANDW | EBAY | RHI | RX | RE | VAR | EKDKQ |
| 2007-04-30 | HP | MAY | NEE | CF | PSA | RX | EKDKQ | TTWO | UIS | GLW | XTO | QCOM | WYE | PETM | AFL |
| 2007-05-31 | OKE | X | CERN | SVU | WFT | COL | NBL | DE | L | HES | IPGP | ADSK | NOV | PPL | LM |
| 2007-06-29 | POOL | ACN | MNST | EFX | ES | DGX | HES | CLF | BBBY | VTSS | LUV | TTWO | PNR | STLD | EXR |
| 2007-07-31 | CAR | CVG | CF | OI | NKTR | DLX | PCAR | NRG | SLM | CNX | MLM | DLTR | MGM | CBRE | MCHP |
| 2007-08-31 | JEC | WHR | AXON | STZ | ALGN | FIS | VFC | DECK | MOH | MA | NDAQ | NFX | FSLR | NRG | COO |
| 2007-09-28 | AT | FMC | CTRA | IBKR | DXCM | VRTX | MUR | STZ | SLM | JBHT | DOC | KSE | REG | TYL | DLX |
| 2007-10-31 | MPWR | MNST | STX | FCX | MSI | ADBE | CF | VTSS | ESS | AEE | CMI | GRMN | MHK | KO | CTAS |
| 2007-11-30 | FTI | STZ | WLL | ARG | DHR | MYL | CMI | MCD | PG | FCX | MOLX | SVU | DOC | SLB | NOV |
| 2007-12-31 | IPGP | AFL | WYNN | LVS | GRMN | HON | TTWO | TWX | FDX | ROST | AXON | NI | ANDV | VIAV | GEN |
| 2008-01-31 | BIIB | DECK | ISRG | J | PODD | NOV | NVR | FTI | SPG | FLR | FCX | DOC | PSA | MAT | WYNN |
| 2008-02-29 | FSLR | ESRX | MSFT | GT | UDR | WHR | BSX | TXT | PH | STX | EQR | PNW | MRK | EXR | SPG |
| 2008-03-31 | THC | WHR | CMG | BIIB | CF | NYT | MRSH | SCHW | J | NVR | AAPL | MSFT | ADI | DHI | CNP |
| 2008-04-30 | CMVT | TSN | NVR | NI | MHK | TER | HD | GT | BIIB | AKAM | CRH | NYT | ADI | LNC | AIV |
| 2008-05-30 | ALL | NDSN | EHC | ROH | STI | THC | ADM | AMCC | DLTR | LSI | EFX | CMVT | IBM | FRT | DXC |
| 2008-06-30 | DLTR | FE | EME | JCI | MMM | IPG | ALL | DXC | ADI | ZBH | NCR | PBI | MSFT | CAH | VFC |
| 2008-07-31 | DFS | PALM | MA | JNY | ON | NBR | JCP | PAYX | HP | GS | WDC | MOS | CPT | SNV | APA |
| 2008-08-29 | PRGO | PALM | JNY | AVY | PPG | ALB | WTW | STZ | NSC | SWK | FRT | CLF | BBY | MAA | CTAS |
| 2008-09-30 | BMY | CNC | ESV | HOG | COF | EME | MSFT | TGT | KSS | MMM | SWKS | CSGP | OXY | JNY | CAH |
| 2008-10-31 | BMY | SCHW | HPQ | APOL | CEPH | ATGE | MMM | LEG | D | CELG | FI | HCBK | HRS | VRTX | PFE |
| 2008-11-28 | BMY | ECL | BAX | CNP | PAYX | KO | ES | PNW | SRE | ROH | ESRX | VZ | EW | USB | PFE |
| 2008-12-31 | HPQ | MNST | T | RTX | MRSH | WFC | CVX | NFLX | RMD | LLY | AEP | COR | CPB | ORCL | BALL |
| 2009-01-30 | CMS | MO | CAG | ACGL | VTRS | MNST | LH | AEP | KR | RSG | TSCO | MCK | AEE | HPQ | D |
| 2009-02-27 | XOM | AMGN | COR | IBM | BALL | SHW | VZ | SJM | HRB | DUK | BMY | BAX | FIS | CMS | MTCH |
| 2009-03-31 | BIIB | XOM | KO | JNJ | IBM | FHN | CAG | LUMN | MTCH | TLAB | DXC | AMGN | WRB | CL | MO |
| 2009-04-30 | UPS | AZO | V | BKNG | ELV | HPQ | PENN | F | EFX | LKQ | CVS | GEN | NEM | TGT | JNJ |
| 2009-05-29 | OXY | AAPL | MSFT | SNPS | CME | TSN | EQIX | MS | GOOG | LMT | MPWR | NTAP | UPS | TPR | GOOGL |
| 2009-06-30 | NFLX | SNDK | CTSH | ILMN | VTSS | DUK | MPWR | FISV | DXCM | KMB | AAPL | GPS | LUMN | PENN | DRI |
| 2009-07-31 | BEN | MCHP | IDXX | BRO | KLAC | LKQ | ASH | RL | MRVL | NFX | APD | MU | PVH | PPG | DISCK |
| 2009-08-31 | LULU | IDXX | CAR | XEC | HSP | MTD | JNY | BRCM | QLGC | PKG | CBRE | TGT | DDS | CTB | IP |
| 2009-09-30 | INCY | MDR | LEN | AT | PODD | SSP | TEL | EXC | DECK | MDP | PDCO | PRU | AVB | CI | APC |
| 2009-10-30 | SLG | THC | FLEX | RCL | HIG | SLM | MAC | PRU | TEX | EXPE | NFX | EHC | HST | URI | GNW |
| 2009-11-30 | URI | HIG | GNW | DXC | CBRE | MTW | GILD | CMCSA | BX | MU | MAC | LYV | DPZ | LPX | AIV |
| 2009-12-31 | CBE | IGT | RDC | WFT | OMX | SWN | ETFC | PBG | NOVL | JNS | RRD | NBL | BIG | COV | CBS |
| 2010-01-29 | DDS | GPS | MAC | BKNG | ALK | HIG | JBL | AVY | WLP | NTAP | NBR | MGM | KMX | WDC | HOLX |
| 2010-02-26 | BBWI | DDR | DDS | BC | POOL | AMD | MTW | ULTA | ADSK | WFT | ACGL | MU | JBL | IP | MEE |
| 2010-03-31 | EKDKQ | KEY | O | REGN | PENN | BMY | FTNT | GL | CEPH | STX | AOS | WMB | TSN | ISRG | ATGE |
| 2010-04-30 | LULU | CLF | MTG | REGN | DAL | AAMRQ | TPL | EBAY | EXPD | MU | KMG | GNW | AAL | PBCT | CLX |
| 2010-05-28 | PHM | URI | DHI | EL | VLO | PTC | VIAV | ISRG | DPZ | UAL | PKG | PWR | LEN | GNW | PVH |
| 2010-06-30 | ZION | BBWI | VRTS | GE | HBAN | TFC | INCY | MAY | VIAV | C | SMCI | BBBY | VTRS | DRI | MSFT |
| 2010-07-30 | AZO | ZION | BC | CLF | AIG | TMUS | DDS | QCOM | FSLR | AMD | MSI | TPL | CAR | GME | EBAY |
| 2010-08-31 | INTC | HBAN | C | ACGL | AIG | TLAB | MA | GE | QCOM | MSFT | DDS | GS | TEL | JPM | XRX |
| 2010-09-30 | HP | LIN | PPL | AAL | FE | GOOG | MCO | AMCC | UTX | LLTC | MYL | CTB | GE | PFG | AT |
| 2010-10-29 | GILD | TPL | PPL | SWY | X | CELG | VTSS | MRO | GPC | NBL | DXC | COL | WEN | BAX | FIX |
| 2010-11-30 | VTRS | GM | TPR | ALGN | BAX | LUMN | WEC | HBI | ADS | HSP | ELV | MAY | NBR | XLNX | PFE |
| 2010-12-31 | CMG | PPG | ADBE | NFLX | SLB | NVDA | MRVL | BC | ODFL | EC | TPL | MTW | WLL | WEN | LVS |
| 2011-01-31 | SPGI | CMG | DECK | PVH | LDOS | AAMRQ | ATI | CTRA | CIEN | EQIX | EC | UAA | TPL | BKNG | ISRG |
| 2011-02-28 | NFLX | MAY | AMGN | LDOS | SANM | HON | OKE | LPX | GILD | MRVL | MGM | SMCI | VIAV | QCOM | SSP |
| 2011-03-31 | JEF | CMG | ON | CRH | SMCI | CAT | LPX | WDC | APOL | BKNG | LII | BC | EC | V | TER |
| 2011-04-29 | WYNN | MA | TER | AET | EXPE | MNST | PODD | DF | URI | MCO | BKNG | DHI | TJX | NVDA | WFC |
| 2011-05-31 | NXPI | DDS | AMAT | TER | LULU | MCO | THC | URI | MTW | ANDV | TDC | KLAC | NVDA | WHR | RHI |
| 2011-06-30 | PXD | HIG | SMCI | WSM | REGN | ADSK | TER | ANDV | VLO | PHM | EME | AMP | DE | AMT | HII |
| 2011-07-29 | MCO | EC | ELV | WFM | WSM | KSU | GMCR | GR | CBS | HFC | MXIM | ADS | LO | APOL | PETM |
| 2011-08-31 | DUK | MCO | CNP | KLAC | GR | APOL | GMCR | MXIM | PETM | HAL | ARG | GE | OXY | SBNY | WLP |
| 2011-09-30 | KLAC | MCO | ADI | GE | TXN | KMB | COG | DHR | MCHP | LUMN | NOC | LVS | MMM | LULU | CEPH |
| 2011-10-31 | LRCX | AMAT | CSCO | TKO | FFIV | TER | GT | MAR | CCL | JPM | IVZ | CF | WFC | PCAR | KLAC |
| 2011-11-30 | CF | YUM | DLTR | LNT | GE | SHW | MBI | AFL | ADBE | WYNN | FITB | IVZ | WFC | RHI | BEN |
| 2011-12-30 | DUK | CF | XEL | NI | HST | EIX | FFIV | IVZ | HBAN | FTNT | ADBE | FLS | DD | NEE | SVU |
| 2012-01-31 | AAL | DG | AZO | SNPS | GL | O | NDAQ | SBAC | SLG | TER | FLS | MAS | AME | AFL | FTNT |
| 2012-02-29 | SHW | MNST | MRO | ADSK | FHN | ROK | HCA | MBI | TER | GILD | AFL | KBH | MUR | MAS | CE |
| 2012-03-30 | ORLY | LNC | KKR | WU | TT | HMA | NXPI | BKNG | PKI | ROK | SWN | HRS | MRO | QEP | RDC |
| 2012-04-30 | TT | ORCL | HCA | FRT | ECL | PKI | FHN | FAST | AMD | NXPI | MRO | SNI | AFL | ZION | AZO |
| 2012-05-31 | BKNG | WLP | WCG | HAS | RDS.A | DPZ | KLAC | PKI | GMCR | FLS | QCOM | ROK | CAR | CF | BDX |
| 2012-06-29 | DXCM | AMGN | BDX | BKNG | EC | PXD | CCI | SRCL | PNR | ADSK | LSI | PKI | MCO | UN | BIO |
| 2012-07-31 | FTNT | NI | BKNG | NRG | AAL | MNST | DXCM | EQT | EC | RRC | SLB | OMX | ISRG | CCU | CPRI |
| 2012-08-31 | VRTX | BBBY | BLDR | MOS | CBRE | HD | PRU | DHI | EXPE | AXON | ISRG | ECHO | MBI | JPM | ZION |
| 2012-09-28 | MTB | LPX | VRTX | MUR | STX | DLTR | CF | LHX | ISRG | TEX | FISV | GE | GRMN | MRO | EQT |
| 2012-10-31 | WST | BAX | AAPL | RCL | MS | AAL | ANDV | MCHP | HAL | R | H | AMT | IBKR | EXC | PARA |
| 2012-11-30 | DDS | APTV | GNRC | CIEN | MCHP | KLAC | ISRG | KBH | GT | J | AN | CTSH | TLAB | CINF | MS |
| 2012-12-31 | VRTS | JNY | WFM | PEAK | MMC | CTXS | NLSN | NBL | CTB | TIE | DNR | GPS | WBD | BWA | FBHS |
| 2013-01-31 | KATE | TIE | BBBY | LULU | IBKR | GME | ON | META | EA | PSA | MCO | ADM | MRSH | FTNT | JPM |
| 2013-02-28 | SYK | HNZ | MMM | GNRC | TYL | FIS | HSP | MWV | LO | COL | GILD | ON | HOLX | MAT | MGM |
| 2013-03-28 | HON | GEN | BBY | NVDA | DECK | MRO | RTX | COL | FL | CVC | SVU | CF | MWV | AXON | GILD |
| 2013-04-30 | FL | UNP | ENPH | VLO | CMG | WBA | CSX | DD | STZ | CTB | HPQ | MXIM | FNMA | NRG | MTCH |
| 2013-05-31 | GME | ENPH | OMX | ALK | REGN | CMG | CF | MCO | HSIC | COG | APO | TRMB | O | TTWO | TXT |
| 2013-06-28 | ENPH | MBI | CAR | ILMN | FSLR | MCO | REGN | DECK | MNST | NOV | WFT | MAC | PLD | INCY | NEE |
| 2013-07-31 | TMO | NOV | FL | TFC | AMD | MBI | STX | DRI | BLDR | FSLR | PRU | LULU | O | TEX | CPRT |
| 2013-08-30 | BBBY | META | MOH | VRTX | SSP | REGN | SWKS | LULU | BKNG | CAR | CF | STX | DRI | CIEN | EXC |
| 2013-09-30 | WAB | BBBY | ENPH | BKNG | HRB | AMD | VRTX | JEF | BLDR | CTAS | CASY | MCO | VMC | ALB | META |
| 2013-10-31 | CMG | CIEN | UHS | WOR | TSLA | BKNG | MXIM | KMB | SVU | CTXS | LNC | ESV | AMP | MA | INTU |
| 2013-11-29 | CSGP | META | TSN | MPWR | VFC | GME | BKNG | PARA | IBKR | TYL | APH | WAB | COR | AMP | SPGI |
| 2013-12-31 | ITT | PH | MTCH | GILD | BRCM | JOY | FICO | HBI | MA | MET | FMCC | TPL | COHR | PRU | SMCI |
| 2014-01-31 | FMCC | JOY | PHM | UIS | EQIX | ROST | AXON | IBKR | PSA | FNMA | APA | PEAK | BEN | FLEX | AOS |
| 2014-02-28 | CTSH | PNR | AAL | TDG | MCK | JWN | BKNG | M | DDR | KBH | CI | MTW | PENN | PHM | ISRG |
| 2014-03-31 | META | ILMN | DXCM | JEC | BKNG | HP | WFT | PANW | TRIP | ISRG | VTRS | NSC | ROK | MPWR | WELL |
| 2014-04-30 | META | WYNN | MTCH | BKNG | MMM | O | CMG | IQV | MOS | VTR | EQIX | PANW | UAA | WELL | AYI |
| 2014-05-30 | R | ETR | FMCC | HAL | JCI | FLEX | MTW | AIV | RJF | META | WCG | KMB | MTCH | UHS | WYNN |
| 2014-06-30 | GPN | BLDR | GLW | WLL | MTW | IFF | MAY | CHRW | BKR | INCY | UAL | DVN | MRO | CCU | NCC |
| 2014-07-31 | NRG | ISRG | G | TRGP | WLL | ENPH | JBL | MU | FE | WB | ATI | EXC | TSN | NTAP | HOG |
| 2014-08-29 | NSC | MKTX | AIG | LRCX | NRG | G | LH | PFG | ISRG | VTRS | ALGN | ALL | MCO | AMT | KLAC |
| 2014-09-30 | INTU | TPL | MO | NFX | ISRG | NOW | DUK | ENPH | CCU | TRIP | BKNG | FANG | SANM | MCO | MRO |
| 2014-10-31 | FSL | ODP | DUK | DPZ | ENPH | ROST | COO | DDS | MCO | XEL | WDAY | AMGN | PGR | GILD | IQV |
| 2014-11-28 | MPWR | EA | BBBY | ANET | CBRE | VEEV | FDS | PHM | XRX | LPX | TWTR | AMZN | EFX | FL | AMGN |
| 2014-12-31 | ENPH | BBBY | UIS | GILD | BKNG | SW | CSGP | BIO | DRI | ISRG | NUE | KR | ORLY | KLAC | V |
| 2015-01-30 | BBBY | ANDV | KLAC | CSGP | MCO | MS | HOG | SSP | EBAY | MO | PRGO | VRSN | GPC | WDC | KR |
| 2015-02-27 | CRL | AXON | CIEN | BBBY | TWTR | TWC | CVC | BBT | FE | MAR | MO | HSP | VEEV | DOC | TSS |
| 2015-03-31 | COR | AOS | HSP | JKHY | BTUUQ | STE | ATVI | ED | MWW | CBOE | BKNG | FICO | ENDP | CHTR | GNRC |
| 2015-04-30 | MCO | CNC | PNW | CASY | CFG | PHM | FSLR | MOS | RMD | NAVI | AVGO | KLAC | O | CRL | JEF |
| 2015-05-29 | BKNG | SNPS | NFX | BIIB | LULU | TKO | EPAM | APO | RMD | FANG | DVN | KLAC | O | SMCI | ED |
| 2015-06-30 | SNPS | BKR | CRL | BKNG | ED | BBBY | KMG | STLD | FANG | ANET | NFX | PAYC | ETN | NEM | BIIB |
| 2015-07-31 | SBUX | BTUUQ | ADI | AZO | COTY | PAYC | CI | RRD | LYB | HII | AVGO | HUM | AET | VRSN | MDT |
| 2015-08-31 | NFX | MDR | CNC | LYB | SLB | OXY | QCOM | WMB | ANET | RTX | INTC | CAT | THC | ETR | IBM |
| 2015-09-30 | TKO | GILD | CNP | TPL | OXY | BLDR | ETR | MTCH | ZTS | AIZ | ILMN | CI | WY | RTX | IBM |
| 2015-10-30 | MGM | FISV | ANET | ADBE | AVY | UAL | CAR | TRMB | BKNG | GILD | PANW | HST | CNP | QCOM | SBUX |
| 2015-11-30 | BKNG | DDR | BBT | NVR | RMD | TSS | EXR | WOR | DXCM | HRL | BLDR | ANET | HOLX | ZTS | VRTS |
| 2015-12-31 | GMCR | AMAT | GLW | AXP | LM | RMD | AAL | JCI | WIN | ILMN | SNI | PSKY | GE | EXC | DDR |
| 2016-01-29 | GMCR | LUV | AAPL | BKNG | SMCI | IBM | EMR | RTX | RMD | KMG | FLR | PSKY | WB | ANDV | DD |
| 2016-02-29 | AMAT | GLW | AAPL | GILD | LXK | GMCR | ETN | PSKY | RMD | TWX | AAL | ZTS | ABBV | MDP | UTX |
| 2016-03-31 | RRD | ITW | MCD | HSIC | GE | PHM | GMCR | H | UTX | HCA | FLT | HST | ULTA | PNR | LXK |
| 2016-04-29 | JNS | AON | CPRI | ADI | DISCA | TEX | ELV | CLF | PAYC | VTR | TECH | WPX | MUR | CMI | COO |
| 2016-05-31 | NAV | XYL | JCI | SYMC | MYL | WRK | LRCX | FIS | QCOM | ADM | FMC | LUMN | ODFL | KSU | AYI |
| 2016-06-30 | CTRA | PCAR | PM | MUR | MRK | KATE | DLTR | AAP | HET | WYNN | ACV | TWX | CAG | HCA | EHC |
| 2016-07-29 | XYL | DNR | ATI | SWN | LULU | LEN | REG | NDAQ | AXP | BSX | PFG | ANET | PVH | CSRA | PRU |
| 2016-08-31 | NEM | ETSY | BLDR | GNW | COR | RRC | NBR | MKTX | XYL | IPGP | CPRI | FTNT | BG | AFL | KKR |
| 2016-09-30 | CBS | TRGP | SNI | FTNT | JEC | ZBRA | TER | NEM | DFS | CSRA | DHI | HSY | SPGI | LNC | BKNG |
| 2016-10-31 | DAL | ETSY | WB | EME | JBL | DLR | BWA | TRGP | WMB | CNX | MTG | GHC | BBBY | CNC | VRTS |
| 2016-11-30 | PRU | CHRW | MPC | UNP | XYZ | IBKR | APD | HUBB | GNW | QRVO | VRTS | EBAY | JBL | ETSY | ORCL |
| 2016-12-30 | SPGI | KSS | ATI | FMCC | CLF | TWX | AXON | ANDV | CF | CNX | FNMA | MCO | MKTX | RSG | SMCI |
| 2017-01-31 | NCC | MO | CLF | KR | LULU | HRL | MHK | ETSY | VRTS | WB | UIS | LITE | FTNT | SPG | AXON |
| 2017-02-28 | EG | PSA | NVDA | UIS | NBR | EVHC | TWTR | AXP | LVS | MTW | SPG | DXCM | EXR | LITE | BKNG |
| 2017-03-31 | SNPS | NRG | TTD | NFLX | LRCX | UIS | EFX | TPL | KMX | ARES | BKNG | GPS | AMAT | INCY | G |
| 2017-04-28 | URI | TTD | SNPS | INCY | LYV | COF | COHR | DLTR | STX | DIS | PEAK | XEL | MMM | ABBV | O |
| 2017-05-31 | SEDG | X | BCR | LYV | ALL | MDR | DFS | MDP | IEX | SEE | BIG | CXO | HOLX | FRC | ROP |
| 2017-06-30 | GILD | LRCX | WB | BEN | AMAT | KMG | QRVO | FSLR | PEAK | KLAC | C | INCY | MCK | TER | TTD |
| 2017-07-31 | PGR | BKNG | SNPS | YUM | KMG | O | TSN | CVNA | MCK | EXC | SPGI | SSP | REG | ISRG | LRCX |
| 2017-08-31 | PYPL | ARES | SPGI | LITE | EQT | MNST | VIAV | META | NCC | CPRI | HRB | KMG | DPZ | LRCX | ISRG |
| 2017-09-29 | KMX | FIS | AOS | DELL | MTG | NOW | PBI | AMP | PSX | TXT | CMI | KBH | REGN | CME | KSS |
| 2017-10-31 | ISRG | TXN | MA | NCC | WM | ANF | DPZ | DHI | FI | KSU | WB | ENPH | TMK | AEP | VRTX |
| 2017-11-30 | MU | HRB | RVTY | XYZ | AMP | LRCX | SPGI | NOC | LKQ | KSS | LNT | NI | NCC | LW | AZO |
| 2017-12-29 | MU | ALL | LRCX | BF-B | BF.B | BBBY | DVN | ALGN | HP | SWK | WB | WRB | BLDR | IPGP | AMAT |
| 2018-01-31 | PYPL | WYNN | KBH | BBBY | CCI | MAY | MOS | TDG | MU | THC | URI | MA | ANET | LRCX | M |
| 2018-02-28 | CTAS | ANET | FTI | WYNN | FSLR | MO | DHI | CIEN | AZO | WBD | MOS | BLDR | PFG | TRGP | BWA |
| 2018-03-29 | ANET | KKR | MU | DVA | MMI | SYF | MO | XYZ | MOS | IR | DHI | DPZ | PHM | OXY | ATVI |
| 2018-04-30 | MU | IBKR | LUMN | NKTR | AAP | NBR | UA | MO | CMCSA | UAA | FCX | EXR | ABBV | VTRS | DOC |
| 2018-05-31 | SEDG | URI | ANET | FICO | AZO | CFG | EBAY | ANF | FCX | NCC | UAL | DVA | TTD | AMAT | PHM |
| 2018-06-29 | MU | ANET | PAYC | PEG | PODD | MBI | DOC | HRL | DDR | ARES | QEP | LITE | HAS | SLB | CZR |
| 2018-07-31 | ANET | MU | UAA | UA | TTD | DDS | LRCX | EIX | SEDG | BEN | EVHC | ANF | ABT | WYNN | FCX |
| 2018-08-31 | IDXX | LLY | REGN | SVU | SHW | RVTY | BR | AAP | CCI | BIO | CI | ALGN | CPRT | COP | BLL |
| 2018-09-28 | GME | CVNA | MAT | RMD | ORLY | REGN | MRK | RRC | TRGP | MAC | ENDP | TRIP | JWN | MSFT | PGR |
| 2018-10-31 | XYZ | TKO | ALB | GIS | PAYC | TTD | WMB | BEN | SWKS | ENDP | CPRT | LITE | LUV | ETSY | NVDA |
| 2018-11-30 | MDLZ | CLF | AON | HOG | MO | MTG | DLTR | TKO | XYZ | ERIE | GIS | PM | AMD | UA | SBNY |
| 2018-12-31 | TTD | MO | CHTR | FTNT | MMM | LULU | PHM | ABMD | DLTR | RTN | BEN | CMI | ALXN | UPS | SIVB |
| 2019-01-31 | AMD | SBUX | NLOK | DNR | KMI | LRCX | MO | XYZ | PM | RSG | PARA | LEN | WHR | STX | CAH |
| 2019-02-28 | MOS | SJM | HFC | VMC | CRH | EBAY | NEM | DNR | TSN | NCR | ODP | TER | CELG | MRVL | SYMC |
| 2019-03-29 | MA | MKTX | ANET | CPT | SRE | NAV | AOS | WHR | SRCL | FBHS | CNXT | SEE | LRCX | FII | LM |
| 2019-04-30 | TER | FNMA | SMCI | FMCC | FSLR | BKNG | ORCL | PKG | CBRE | ALGN | MCD | GEN | AMAT | NCC | IP |
| 2019-05-31 | NXPI | ALGN | MCD | CPRT | AMAT | WM | QCOM | CVNA | BMY | BKNG | INTC | STX | SMCI | PODD | LPX |
| 2019-06-28 | V | G | CVNA | PKG | TEL | FMC | FMCC | FNMA | FHN | CPRT | CMI | BUD | IBKR | ETSY | AN |
| 2019-07-31 | ERIE | MU | FTNT | CVNA | HET | ANET | QCOM | GEN | WFC | CLF | LPX | LITE | AMGN | HPQ | SW |
| 2019-08-30 | CINF | WEC | ETR | WEN | MSI | HII | MAA | LNT | ERIE | MA | ENPH | CRWD | WELL | SJM | KEY |
| 2019-09-30 | ETR | ABBV | HII | TFC | ADM | SNA | AME | PG | PAYC | IR | ED | QCOM | BMY | BG | CAG |
| 2019-10-31 | TSLA | NWL | CHTR | EQR | SPG | CDNS | HUM | PAYC | CF | EIX | UDR | FTNT | AAPL | KR | INTU |
| 2019-11-29 | AAPL | WYNN | FOX | PODD | LUMN | REGN | ROST | WBA | CDAY | NWL | GNW | CPAY | JKHY | XYZ | SPG |
| 2019-12-31 | TYL | REGN | NAV | SNV | UIS | FLIR | SEE | VAR | LW | TJX | RE | ARES | PKI | SPG | ATVI |
| 2020-01-31 | ETR | BIG | URI | THC | TER | MMI | BXP | BC | COP | AT | ATGE | MO | CBOE | PTC | MAT |
| 2020-02-28 | TER | CZR | TSLA | CVNA | PENN | MO | UBER | APA | URI | SWKS | JBL | TE | MS | PDCO | BIG |
| 2020-03-31 | PFE | KO | META | ABBV | MCO | V | QCOM | ADSK | GOOGL | BRO | ALL | LDOS | GOOG | MO | ETN |
| 2020-04-30 | ANET | CSCO | PTC | AMAT | SCHW | ENPH | BRO | KKR | DECK | FTV | AON | GS | KO | EQT | IR |
| 2020-05-29 | VRTX | RRC | EQT | WMB | JBHT | MS | EQIX | UBER | ANET | MRNA | BBBY | VTRS | BKNG | CTRA | KO |
| 2020-06-30 | ANET | ENPH | COR | NVDA | DD | ERIE | KO | RRC | LPX | YUM | EQT | PFE | GLW | AMZN | BKNG |
| 2020-07-31 | LOW | MU | WRK | PNW | RRC | BX | CTRA | DISCA | DISCK | CHIR | COG | NWL | EBAY | PH | EQT |
| 2020-08-31 | PYPL | VIAV | CTAS | EQIX | RRC | INTU | DELL | JKHY | SPGI | GWW | RE | ETSY | CNX | NCR | ANET |
| 2020-09-30 | BKNG | LULU | APO | FSLR | YUM | DRI | AAPL | CZR | META | EBAY | MOS | DD | KO | KHC | GS |
| 2020-10-30 | ENPH | TUP | SEDG | LEN | ETSY | AAPL | CRM | ADBE | PHM | XYZ | MRVL | JEF | CRWD | EBAY | ED |
| 2020-11-30 | VIAC | TGT | MGM | FNMA | FLR | SYF | AEP | DE | MTG | MAR | PSKY | GLW | TRIP | HBAN | AYI |
| 2020-12-31 | TTD | CVNA | GE | ATI | NLOK | PBI | AEP | UAA | GHC | SPGI | ANET | HES | VTR | RL | KSS |
| 2021-01-29 | LRCX | ENPH | UAA | CLF | TER | DXC | ATI | DDS | WDC | FLR | GE | CAR | JWN | UA | MTG |
| 2021-02-26 | ENPH | BBT | MRNA | COTY | HP | TTD | OXY | AXON | XYZ | COHR | JWN | FLR | ALB | CXO | KO |
| 2021-03-31 | ETSY | IAC | NUE | OXY | TER | GILD | DISH | DVN | FOX | MUR | HP | TUP | NAVI | AMP | FANG |
| 2021-04-30 | XEC | NUE | LKQ | GILD | OXY | ETSY | FRT | MUR | EBAY | APA | IP | VICI | BX | ROST | HFC |
| 2021-05-28 | XEC | TPL | OXY | OI | DISCK | DISCA | IDXX | DD | EMR | TMO | TT | EC | KSS | NTRS | TGT |
| 2021-06-30 | RRD | FCX | CAR | MAC | LPX | MSFT | GT | BIIB | PM | SSP | MHK | MRSH | UAA | ETSY | STX |
| 2021-07-30 | DVN | ANET | TECH | TWTR | MRO | CSCO | FCX | MUR | MTW | TPL | NEM | ANF | TRGP | FAST | LYV |
| 2021-08-31 | RRD | CRL | MRNA | OTIS | BRO | PSA | MBI | MSI | AVB | THC | BG | MUR | HCA | ACN | DXC |
| 2021-09-30 | MRNA | DDS | NAVI | WAT | BEN | EXR | LUMN | NKE | LLY | SLG | SLM | TWTR | XEC | BX | ADBE |
| 2021-10-29 | AON | MAC | PWR | ERIE | FCX | HOLX | NAVI | META | CSX | TWTR | CCI | HD | COTY | DHI | CHTR |
| 2021-11-30 | EBAY | FDS | HFC | DFS | APA | FCX | CMG | URI | GT | GNRC | IDXX | STLD | OXY | AMT | EPAM |
| 2021-12-31 | TTD | CERN | RE | IQV | ACN | ALB | MCD | APP | MPWR | CRL | MCK | DXCM | CLX | AM | TTWO |
| 2022-01-31 | NVDA | DDOG | RRC | NI | TSLA | AMD | EBAY | F | BLDR | SBNY | INTC | M | GOOGL | MRVL | JWN |
| 2022-02-28 | AMD | NVDA | PFE | TTD | F | CVG | MRVL | DTE | SBUX | LW | TSLA | KLAC | KKR | BMY | C |
| 2022-03-31 | DTE | COR | CAR | ETR | ACGL | BMY | PAYX | ENPH | FTI | LRCX | AON | INTC | FDX | BLDR | ALB |
| 2022-04-29 | ON | MRK | CAR | QCOM | ABX | WFC | FCX | PFE | AAL | MOS | KLAC | ABNB | CLF | MCHP | ANET |
| 2022-05-31 | FCX | MPC | NUE | MU | MOS | CLF | FDX | PLD | IBM | WU | MDT | FICO | CMCSA | ZBH | FTI |
| 2022-06-30 | EOG | PSX | VLO | COP | CF | DVN | MRO | MPC | FANG | CTRA | SLB | TRGP | AVGO | DOW | IP |
| 2022-07-29 | APA | CNX | VLO | EOG | TSLA | DECK | KR | CSGP | HSY | MOS | WFC | ZTS | NUE | MMM | BEN |
| 2022-08-31 | APA | MCHP | SPGI | SLB | CNX | PFE | DECK | MOS | AVGO | URI | TT | CPRT | ABBV | ROST | NUE |
| 2022-09-30 | PFE | MS | SBUX | SMCI | VLO | CTRA | FTV | MO | PSX | V | SLB | LOW | AMT | EOG | TT |
| 2022-10-31 | DXCM | STT | CSCO | BAC | LEN | CPRT | SBUX | JPM | WFC | BIIB | UPS | ROK | WRK | SNPS | MDT |
| 2022-11-30 | TWTR | JCI | ADM | GLW | DHI | ITT | FAST | DXCM | MO | AMP | WRK | EQIX | TE | LULU | IVZ |
| 2022-12-30 | DHI | TMO | SANM | MO | REG | KEYS | SNPS | JCI | KLAC | BWA | TKO | SPG | CPRI | DXCM | TT |
| 2023-01-31 | LRCX | JWN | TER | BEN | BNY | BK | DVN | MO | VRSK | VTRS | MRNA | CFG | FTI | ODFL | BKR |
| 2023-02-28 | AMAT | NYT | PBI | OTIS | FCX | PVH | TER | DXCM | ETN | NFLX | CFG | FE | IDXX | AAPL | NVDA |
| 2023-03-31 | URI | FCX | SPGI | WST | XRX | ADBE | APH | STLD | DISH | NYT | UHS | ISRG | NAVI | XRAY | DOW |
| 2023-04-28 | MCHP | LVS | AMG | GIS | ADBE | FSLR | NWSA | IVZ | DVA | NWS | ON | EOG | K | POOL | ROL |
| 2023-05-31 | RRC | STX | VZ | QCOM | BKR | MTW | DOW | CRWD | INTC | ESS | EOG | PD | SLM | OXY | LYB |
| 2023-06-30 | MCO | DXC | CTRA | XRX | FFIV | SWK | IVZ | PSA | DDOG | EQT | RJF | JEF | KMX | DLTR | ESS |
| 2023-07-31 | CVNA | OXY | GP | AMAT | MOH | COHR | EQT | CRWD | EXE | SLG | CHTR | APP | ESS | CLX | BKR |
| 2023-08-31 | OXY | CRWD | NYT | DDOG | EME | HOOD | ADM | V | BHF | AIV | MET | TSLA | SMCI | ABNB | SLM |
| 2023-09-29 | CVNA | DAL | FMCC | SMCI | MTCH | PKG | GT | CF | BAC | FNMA | CPRI | BMY | PLTR | NCLH | CCL |
| 2023-10-31 | PLTR | CF | VNO | CPRI | SMCI | COIN | ADM | GT | LHX | SLG | RCL | NDAQ | TDC | ORCL | HP |
| 2023-11-30 | ABNB | FNMA | FMCC | PFG | AKAM | PCAR | TDC | POOL | JBL | AMP | MMM | CCI | UIS | APP | PNC |
| 2023-12-29 | PCAR | CINF | CR | AMGN | ZION | UNP | JWN | SCHW | AIG | AMCR | WAB | DIS | HWM | HAL | GS |
| 2024-01-31 | NTRS | LNC | EW | AMGN | FIS | CPB | FMCC | ZION | COHR | TRIP | GPS | ZBH | AMG | KSS | STT |
| 2024-02-29 | KLAC | KEY | IDXX | CCI | PANW | TECH | AZO | SMCI | ZBH | GWW | ITT | HRL | MRO | HBI | EXR |
| 2024-03-28 | TDG | MIR | AYI | FNMA | CCI | ADCT | FMCC | SMCI | BSX | VLO | PRGO | RMD | LVS | WAB | AKAM |
| 2024-04-30 | EXR | HOOD | ADCT | META | JWN | PLTR | FMCC | COHR | ANET | ZBH | TPR | DVA | PSX | M | MPWR |
| 2024-05-31 | MO | HES | SW | CVNA | ECHO | LII | COIN | MBI | CTLT | FNMA | O | ANSS | BSX | COHR | AZO |
| 2024-06-28 | NTAP | GEHC | VRT | VST | AVGO | VTRS | FMCC | CTLT | JNPR | RVTY | QCOM | COIN | DIS | GPS | HAS |
| 2024-07-31 | HOOD | NVDA | MTG | AMAT | IFF | ECHO | TER | AVGO | LRCX | DAL | COIN | TRMB | DDS | CEG | HRL |
| 2024-08-30 | TER | PSX | VST | HOOD | MKC | NVDA | FCX | LUMN | DXC | BMY | MRO | VLO | CPAY | MO | NCLH |
| 2024-09-30 | FOX | MSI | FSLR | FICO | IFF | AMCR | GEV | TER | WB | GEN | ECL | EQT | PKG | NRG | STLD |
| 2024-10-31 | HOOD | STT | GL | GILD | EQT | CZR | DVA | EFX | ERIE | SWK | BKNG | IAC | ON | FAST | UIS |
| 2024-11-29 | MCO | RCL | GEN | TKO | WDAY | CSGP | CINF | CVNA | BR | UNM | ETR | NAVI | GLW | BKNG | VRSK |
| 2024-12-31 | VST | PAYC | FICO | LB | CARR | APP | NWL | EXR | FIX | FAST | SOLV | CR | TTD | TE | ECHO |
| 2025-01-31 | KLAC | DVA | PH | TGNA | FMCC | FLR | LITE | OKE | CTSH | GEV | COIN | BKNG | STLD | URI | FL |
| 2025-02-28 | UAL | FNMA | TPL | VNT | FMCC | VRSN | LB | MBI | MIR | CVNA | AVGO | CIEN | APO | AMT | EXR |
| 2025-03-31 | TRV | VICI | META | CVNA | RCL | KO | AXON | CRM | PLTR | AM | GOOGL | NVDA | EW | COP | GEV |
| 2025-04-30 | META | HOOD | PNW | IBKR | CRM | NVDA | TPL | AVGO | EXPE | GOOGL | LDOS | ELV | FMCC | CAR | C |
| 2025-05-30 | HWM | DLTR | LRCX | UAL | APP | TDG | CAH | DG | TSLA | ROL | NFLX | LDOS | COIN | ADCT | MPWR |
| 2025-06-30 | EXR | ABNB | BALL | CBOE | STLD | LRCX | FNMA | AM | CCU | CMG | EW | VRT | PLD | MTCH | DDOG |
| 2025-07-31 | APH | CAR | DDOG | SMCI | NXPI | TXT | AMAT | NFLX | ATI | MTD | PLD | ABNB | WBA | GNRC | FCX |
| 2025-08-29 | FOX | INTU | UCL | PLTR | AZO | APA | ADCT | CF | DVN | PAYC | NRG | VRT | HUM | FLS | TER |
| 2025-09-30 | FMCC | EA | FLS | DASH | MTD | COIN | AVGO | JPM | AMT | GNRC | EXR | AOS | FNMA | JEF | ATI |
| 2025-10-31 | NEM | COIN | URI | ETSY | INTU | GNRC | FLR | LVS | CRL | SLB | MBI | WST | MAC | EXR | IRM |
| 2025-11-28 | MPWR | CDNS | CFG | APP | WSM | ANET | HOOD | MHK | DDS | MS | EW | TECH | NVDA | CLF | PLTR |
| 2025-12-31 | AVGO | MPWR | NTAP | WSM | HP | URI | CLF | SSP | KSS | CDNS | BIO | SANM | ASH | ANET | EA |
| 2026-01-30 | KLAC | NDSN | NEM | JNJ | TGNA | M | STZ | COO | ODFL | OTIS | BDX | BXP | EOG | G | AVGO |
| 2026-02-27 | PWER | TDC | IDXX | SSP | NVDA | M | IPGP | AVGO | UDR | VFC | HOLX | SANM | ANET | ATGE | CLX |
| 2026-03-31 | MU | APH | AVGO | KVUE | IPGP | DYN | STZ | SSP | UA | AMD | FTNT | COHR | CCI | AMT | NEM |
| 2026-04-30 | TER | MCK | PPG | CCI | FOX | NEM | ROST | TPL | HOLX | VRTX | FCX | DHI | RSG | GILD | CNC |
| 2026-05-29 | CF | CCI | APA | AMT | LHX | HAS | HSY | NBR | VRT | NEM | LITE | AAPL | GEV | ALB | FOXA |
| 2026-06-26 | STX | NTAP | NXPI | WDC | NVDA | SANM | FITB | D | ADI | NYT | FTI | RHI | MRVL | EIX | VRT |
Scoring script (python)
FORMULA_NAME = "Contrarian 52W Recovery Quality Hybrid (Conflict-Arbitrated Relay, v1188)"
LOGIC_VARIANT_COUNT = 3
NOTES = """mode=explore; family=contrarian-52w-recovery-quality-hybrid
New hybrid family built by combining the bull recovery-leader contrarian sweet-spot from contrarian-52w with the stock-level conflict arbitration and quality/liquidity discipline from recovery-quality-regime-momentum-hybrid. The structure is intentionally not a mechanical average: in bull tapes, repaired rebounders can graduate into momentum only after quality confirms; in mixed tapes, recovery only gets paid when liquidity and balance-sheet proxies are good enough; in risk-off, the model falls back to lower-volatility durable franchises entered from modest 52-week drawdowns rather than deep damage.
Deliberate metric coverage: actively use one momentum cluster (3m, 6m, 12_1), one recovery cluster (distance from 52-week high plus 200d trend), one volatility check, all three liquidity checks in mixed/risk-off, one income metric, two valuation metrics, three growth/earnings proxies, two quality metrics, and a size tilt that flips by regime. Deliberate weight-0 metrics this run: return_1m_pct, return_12m_pct, dividend_ttm, pe, eps_growth_pct, revenue_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, free_cash_flow_ttm."""
# Deliberate weight-0 metrics this run:
# - Momentum/return: return_1m_pct, return_12m_pct
# - Income: dividend_ttm
# - Valuation: pe
# - Growth/raw fundamentals: eps_growth_pct, revenue_growth_pct, shares_outstanding,
# close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm,
# free_cash_flow_ttm
USED_METRICS = (
"from_52w_high_pct",
"from_200d_ma_pct",
"return_3m_pct",
"return_6m_pct",
"momentum_12_1_pct",
"realized_vol_3m",
"avg_daily_volume_3m",
"avg_daily_dollar_volume_3m",
"trading_days_3m",
"dividend_yield_ttm_pct",
"forward_pe",
"peg",
"forward_eps",
"operating_income_growth_pct",
"free_cash_flow_growth_pct",
"free_cash_flow_margin_pct",
"operating_margin_pct",
"market_cap",
)
def _clamp(x, lo, hi):
if x < lo:
return lo
if x > hi:
return hi
return x
def _to_float(x):
if x is None:
return None
if isinstance(x, bool):
return 1.0 if x else 0.0
if isinstance(x, (int, float)):
return float(x)
try:
return float(x)
except Exception:
return None
def _normalize_metric(metric, value):
x = _to_float(value)
if x is None:
return None
if metric == "from_52w_high_pct":
if x < 0.0:
x = -x
if x > 1.5:
x /= 100.0
return x
if metric in (
"from_200d_ma_pct",
"return_3m_pct",
"return_6m_pct",
"momentum_12_1_pct",
"dividend_yield_ttm_pct",
"operating_income_growth_pct",
"free_cash_flow_growth_pct",
"free_cash_flow_margin_pct",
"operating_margin_pct",
):
if x > 1.5 or x < -1.5:
x /= 100.0
return x
if metric == "realized_vol_3m":
if x > 3.0:
x /= 100.0
return x
return x
def _metric_value(stock, metric):
return _normalize_metric(metric, stock.get(metric))
def _rank_map(value_map, higher_is_better):
items = sorted(value_map.items(), key=lambda kv: kv[1])
n = len(items)
if n == 0:
return {}
if n == 1:
return {items[0][0]: 0.5}
out = {}
i = 0
while i < n:
j = i
v = items[i][1]
while j + 1 < n and items[j + 1][1] == v:
j += 1
pct = ((i + j) * 0.5) / float(n - 1)
score = pct if higher_is_better else (1.0 - pct)
k = i
while k <= j:
out[items[k][0]] = score
k += 1
i = j + 1
return out
def _get_score(score_map, symbol, default=0.5):
v = score_map.get(symbol)
if v is None:
return default
return v
def _avg(values):
total = 0.0
count = 0
for v in values:
if v is not None:
total += v
count += 1
if count == 0:
return 0.5
return total / float(count)
def _sweet_spot(value, low, high, center):
if value is None:
return 0.5
if value <= low or value >= high:
return 0.0
if value == center:
return 1.0
if value < center:
denom = center - low
if denom <= 0:
return 0.0
return _clamp((value - low) / denom, 0.0, 1.0)
denom = high - center
if denom <= 0:
return 0.0
return _clamp((high - value) / denom, 0.0, 1.0)
def _detect_branch(regime):
text = ""
if isinstance(regime, str):
text = regime.lower()
elif isinstance(regime, dict):
parts = []
for key in (
"regime",
"name",
"market_regime",
"state",
"trend",
"risk_regime",
"volatility_regime",
):
if key in regime and regime.get(key) is not None:
parts.append(str(regime.get(key)).lower())
text = " ".join(parts)
for key in ("risk_off", "defensive", "bearish", "crisis"):
val = regime.get(key)
if val is True:
return "risk_off"
for key in ("bull", "bullish", "risk_on"):
val = regime.get(key)
if val is True:
return "bull"
if (
"risk_off" in text
or "bear" in text
or "defensive" in text
or "crash" in text
or "stress" in text
or "high_vol" in text
or "panic" in text
):
return "risk_off"
if (
"bull" in text
or "risk_on" in text
or "uptrend" in text
or "strong" in text
or "momentum" in text
or "breakout" in text
):
return "bull"
return "mixed"
def score_universe(stocks, regime, ctx):
symbols = []
metric_maps = {}
for metric in USED_METRICS:
metric_maps[metric] = {}
for stock in stocks:
symbol = stock.get("symbol")
if not symbol:
continue
symbols.append(symbol)
for metric in USED_METRICS:
val = _metric_value(stock, metric)
if val is not None:
metric_maps[metric][symbol] = val
ranks = {
"from_200d_ma_pct": _rank_map(metric_maps["from_200d_ma_pct"], True),
"return_3m_pct": _rank_map(metric_maps["return_3m_pct"], True),
"return_6m_pct": _rank_map(metric_maps["return_6m_pct"], True),
"momentum_12_1_pct": _rank_map(metric_maps["momentum_12_1_pct"], True),
"realized_vol_3m": _rank_map(metric_maps["realized_vol_3m"], False),
"avg_daily_volume_3m": _rank_map(metric_maps["avg_daily_volume_3m"], True),
"avg_daily_dollar_volume_3m": _rank_map(metric_maps["avg_daily_dollar_volume_3m"], True),
"trading_days_3m": _rank_map(metric_maps["trading_days_3m"], True),
"dividend_yield_ttm_pct": _rank_map(metric_maps["dividend_yield_ttm_pct"], True),
"forward_pe": _rank_map(metric_maps["forward_pe"], False),
"peg": _rank_map(metric_maps["peg"], False),
"forward_eps": _rank_map(metric_maps["forward_eps"], True),
"operating_income_growth_pct": _rank_map(metric_maps["operating_income_growth_pct"], True),
"free_cash_flow_growth_pct": _rank_map(metric_maps["free_cash_flow_growth_pct"], True),
"free_cash_flow_margin_pct": _rank_map(metric_maps["free_cash_flow_margin_pct"], True),
"operating_margin_pct": _rank_map(metric_maps["operating_margin_pct"], True),
"market_cap_small": _rank_map(metric_maps["market_cap"], False),
"market_cap_large": _rank_map(metric_maps["market_cap"], True),
}
branch = _detect_branch(regime)
out = {}
for symbol in symbols:
dd_raw = metric_maps["from_52w_high_pct"].get(symbol)
dd_bull = _sweet_spot(dd_raw, 0.08, 0.30, 0.17)
dd_mixed = _sweet_spot(dd_raw, 0.14, 0.42, 0.26)
dd_def = _sweet_spot(dd_raw, 0.06, 0.24, 0.14)
trend = _get_score(ranks["from_200d_ma_pct"], symbol)
r3 = _get_score(ranks["return_3m_pct"], symbol)
r6 = _get_score(ranks["return_6m_pct"], symbol)
m12 = _get_score(ranks["momentum_12_1_pct"], symbol)
low_vol = _get_score(ranks["realized_vol_3m"], symbol)
liq_volume = _get_score(ranks["avg_daily_volume_3m"], symbol)
liq_dollar = _get_score(ranks["avg_daily_dollar_volume_3m"], symbol)
liq_days = _get_score(ranks["trading_days_3m"], symbol)
liquidity = _avg((liq_volume, liq_dollar, liq_days))
div_yield = _get_score(ranks["dividend_yield_ttm_pct"], symbol)
cheap_pe = _get_score(ranks["forward_pe"], symbol)
cheap_peg = _get_score(ranks["peg"], symbol)
valuation = _avg((cheap_pe, cheap_peg))
fwd_eps = _get_score(ranks["forward_eps"], symbol)
op_growth = _get_score(ranks["operating_income_growth_pct"], symbol)
fcf_growth = _get_score(ranks["free_cash_flow_growth_pct"], symbol)
growth = _avg((fwd_eps, op_growth, fcf_growth))
fcf_margin = _get_score(ranks["free_cash_flow_margin_pct"], symbol)
op_margin = _get_score(ranks["operating_margin_pct"], symbol)
quality = _avg((fcf_margin, op_margin))
small_cap = _get_score(ranks["market_cap_small"], symbol)
large_cap = _get_score(ranks["market_cap_large"], symbol)
if branch == "bull":
recovery_core = (
0.28 * dd_bull
+ 0.18 * trend
+ 0.12 * r6
+ 0.08 * low_vol
+ 0.06 * div_yield
+ 0.08 * small_cap
+ 0.10 * fcf_margin
+ 0.10 * op_margin
)
graduate_momentum = (
0.24 * m12
+ 0.16 * r3
+ 0.16 * r6
+ 0.10 * trend
+ 0.10 * dd_bull
+ 0.12 * fwd_eps
+ 0.12 * fcf_margin
)
quality_gate = 0.45 * quality + 0.30 * low_vol + 0.25 * liquidity
relay = _clamp((m12 + r6 + trend + dd_bull - 1.90) / 1.40, 0.0, 1.0)
relay *= _clamp((quality_gate - 0.45) / 0.40, 0.0, 1.0)
score = (1.0 - 0.55 * relay) * recovery_core + (0.55 * relay) * graduate_momentum
elif branch == "risk_off":
durable_franchise = (
0.18 * dd_def
+ 0.14 * trend
+ 0.18 * low_vol
+ 0.12 * liquidity
+ 0.12 * quality
+ 0.10 * valuation
+ 0.08 * div_yield
+ 0.06 * growth
+ 0.10 * large_cap
)
damage_penalty = _clamp((0.35 - dd_def) / 0.35, 0.0, 1.0) * _clamp((0.45 - trend) / 0.45, 0.0, 1.0)
score = durable_franchise - 0.10 * damage_penalty
else:
repaired_rebound = (
0.26 * dd_mixed
+ 0.18 * trend
+ 0.10 * r6
+ 0.12 * quality
+ 0.12 * liquidity
+ 0.08 * valuation
+ 0.08 * growth
+ 0.06 * low_vol
)
chase_sleeve = (
0.22 * m12
+ 0.14 * r3
+ 0.12 * trend
+ 0.08 * quality
+ 0.08 * liquidity
+ 0.06 * valuation
)
gate = 0.40 * quality + 0.30 * liquidity + 0.20 * low_vol + 0.10 * valuation
chase_weight = _clamp((m12 + trend - dd_mixed - 0.35) / 0.80, 0.0, 1.0)
chase_weight *= _clamp((gate - 0.45) / 0.45, 0.0, 1.0)
base = (1.0 - 0.35 * chase_weight) * repaired_rebound + (0.35 * chase_weight) * chase_sleeve
conflict_penalty = _clamp((0.52 - gate) / 0.52, 0.0, 1.0) * _clamp((m12 - dd_mixed + 0.10) / 0.55, 0.0, 1.0)
repair_bonus = _clamp((dd_mixed + trend + gate - 1.55) / 0.65, 0.0, 1.0)
score = base - 0.12 * conflict_penalty + 0.06 * repair_bonus
out[symbol] = score
return out