exp_1177

Contrarian 52W Regime Momentum Recovery Quality Hybrid (Conflict Relay, v1177)

← All V2 experiments
Relative return
1.349x
Excess vs bench
34.95%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
54.48%
Mean benchmark gain
14.08%
Mean excess gain
40.39%
Dispersion (ref)
26.65%
Win-rate vs bench (ref)
100.00%
Worst / best ratio (ref)
1.081x / 1.726x
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.
WindowStrategyBenchmarkRatio
2006-07-03 … 2011-06-30 33.50% 2.22% 1.306x
2011-07-01 … 2016-06-30 38.05% 13.74% 1.214x
2016-07-01 … 2021-06-30 100.95% 20.63% 1.666x
2021-07-01 … 2026-06-26 65.79% 15.48% 1.436x
All rolling windows — the objective set (equal-weighted mean ratio)
Strategy Benchmark (CAPW_UNIV) Excess
2006200720082009201020112012201320142015201620172018201920202021 -20%0%20%40%60%80%100%120%
rolling 5y windows, monthly step — 179 windows · mean ratio 1.349x · beat benchmark in 179/179
#WindowStrategyBenchmarkRatio
1 2006-07-31 … 2011-07-29 30.35% 1.79% 1.281x
2 2006-08-31 … 2011-08-31 24.96% 0.21% 1.247x
3 2006-09-29 … 2011-08-31 21.93% -0.14% 1.221x
4 2006-10-31 … 2011-10-31 19.89% 0.23% 1.196x
5 2006-11-30 … 2011-11-30 17.01% -0.05% 1.171x
6 2006-12-29 … 2011-11-30 17.79% -0.32% 1.182x
7 2007-01-31 … 2012-01-31 16.62% 0.93% 1.155x
8 2007-02-28 … 2012-01-31 15.38% 1.43% 1.138x
9 2007-03-30 … 2012-03-30 18.20% 3.09% 1.147x
10 2007-04-30 … 2012-04-30 17.48% 2.42% 1.147x
11 2007-05-31 … 2012-05-31 14.37% 0.60% 1.137x
12 2007-06-29 … 2012-06-29 13.05% 1.92% 1.109x
13 2007-07-31 … 2012-07-31 13.23% 2.69% 1.103x
14 2007-08-31 … 2012-08-31 13.35% 2.95% 1.101x
15 2007-09-28 … 2012-09-28 12.39% 3.20% 1.089x
16 2007-10-31 … 2012-10-31 12.72% 2.60% 1.099x
17 2007-11-30 … 2012-11-30 12.76% 3.45% 1.090x
18 2007-12-31 … 2012-12-31 12.10% 3.69% 1.081x
19 2008-01-31 … 2013-01-31 16.06% 5.85% 1.096x
20 2008-02-29 … 2013-02-28 17.92% 6.82% 1.104x
21 2008-03-31 … 2013-03-28 19.97% 7.73% 1.114x
22 2008-04-30 … 2013-04-30 20.08% 7.51% 1.117x
23 2008-05-30 … 2013-04-30 18.34% 7.81% 1.098x
24 2008-06-30 … 2013-06-28 24.52% 9.33% 1.139x
25 2008-07-31 … 2013-07-31 29.31% 10.48% 1.170x
26 2008-08-29 … 2013-07-31 29.67% 10.52% 1.173x
27 2008-09-30 … 2013-09-30 34.74% 11.48% 1.209x
28 2008-10-31 … 2013-10-31 38.27% 15.76% 1.194x
29 2008-11-28 … 2013-10-31 40.44% 17.46% 1.196x
30 2008-12-31 … 2013-12-31 42.61% 18.44% 1.204x
31 2009-01-30 … 2013-12-31 44.35% 20.64% 1.196x
32 2009-02-27 … 2014-01-31 49.80% 21.63% 1.232x
33 2009-03-31 … 2014-03-31 49.22% 20.60% 1.237x
34 2009-04-30 … 2014-04-30 45.66% 19.00% 1.224x
35 2009-05-29 … 2014-04-30 46.72% 18.32% 1.240x
36 2009-06-30 … 2014-06-30 49.18% 19.01% 1.254x
37 2009-07-31 … 2014-07-31 43.49% 17.39% 1.222x
38 2009-08-31 … 2014-08-29 44.34% 17.70% 1.226x
39 2009-09-30 … 2014-09-30 41.45% 16.64% 1.213x
40 2009-10-30 … 2014-09-30 45.83% 17.08% 1.246x
41 2009-11-30 … 2014-11-28 42.61% 16.82% 1.221x
42 2009-12-31 … 2014-12-31 40.06% 16.28% 1.204x
43 2010-01-29 … 2014-12-31 42.56% 17.23% 1.216x
44 2010-02-26 … 2015-01-30 41.26% 15.80% 1.220x
45 2010-03-31 … 2015-03-31 41.21% 15.40% 1.224x
46 2010-04-30 … 2015-04-30 40.39% 15.38% 1.217x
47 2010-05-28 … 2015-04-30 43.06% 17.09% 1.222x
48 2010-06-30 … 2015-06-30 46.40% 17.45% 1.246x
49 2010-07-30 … 2015-06-30 45.34% 16.43% 1.248x
50 2010-08-31 … 2015-08-31 42.75% 15.76% 1.233x
51 2010-09-30 … 2015-09-30 39.44% 13.61% 1.227x
52 2010-10-29 … 2015-09-30 38.46% 13.06% 1.225x
53 2010-11-30 … 2015-11-30 39.24% 15.09% 1.210x
54 2010-12-31 … 2015-12-31 38.74% 13.55% 1.222x
55 2011-01-31 … 2016-01-29 35.22% 11.90% 1.208x
56 2011-02-28 … 2016-01-29 35.58% 11.53% 1.216x
57 2011-03-31 … 2016-03-31 35.90% 12.90% 1.204x
58 2011-04-29 … 2016-04-29 35.02% 12.39% 1.201x
59 2011-05-31 … 2016-05-31 35.51% 12.94% 1.200x
60 2011-06-30 … 2016-06-30 35.66% 13.30% 1.197x
61 2011-07-29 … 2016-07-29 40.71% 14.52% 1.229x
62 2011-08-31 … 2016-08-31 43.16% 15.19% 1.243x
63 2011-09-30 … 2016-09-30 44.65% 16.32% 1.244x
64 2011-10-31 … 2016-10-31 42.36% 14.02% 1.249x
65 2011-11-30 … 2016-11-30 46.39% 14.66% 1.277x
66 2011-12-30 … 2016-12-30 46.31% 14.92% 1.273x
67 2012-01-31 … 2017-01-31 45.11% 14.63% 1.266x
68 2012-02-29 … 2017-02-28 42.83% 14.78% 1.244x
69 2012-03-30 … 2017-02-28 42.33% 14.43% 1.244x
70 2012-04-30 … 2017-04-28 38.27% 14.61% 1.206x
71 2012-05-31 … 2017-05-31 41.02% 15.98% 1.216x
72 2012-06-29 … 2017-05-31 41.51% 15.44% 1.226x
73 2012-07-31 … 2017-07-31 40.97% 15.43% 1.221x
74 2012-08-31 … 2017-08-31 42.42% 15.12% 1.237x
75 2012-09-28 … 2017-08-31 42.14% 14.77% 1.238x
76 2012-10-31 … 2017-10-31 45.49% 16.12% 1.253x
77 2012-11-30 … 2017-11-30 46.25% 16.79% 1.252x
78 2012-12-31 … 2017-12-29 45.03% 16.93% 1.240x
79 2013-01-31 … 2018-01-31 46.53% 17.57% 1.246x
80 2013-02-28 … 2018-02-28 46.90% 16.21% 1.264x
81 2013-03-28 … 2018-02-28 45.67% 15.81% 1.258x
82 2013-04-30 … 2018-04-30 42.80% 14.25% 1.250x
83 2013-05-31 … 2018-05-31 36.19% 14.57% 1.189x
84 2013-06-28 … 2018-05-31 38.97% 14.97% 1.209x
85 2013-07-31 … 2018-07-31 37.20% 14.83% 1.195x
86 2013-08-30 … 2018-07-31 37.77% 15.59% 1.192x
87 2013-09-30 … 2018-09-28 39.68% 15.84% 1.206x
88 2013-10-31 … 2018-10-31 33.27% 12.89% 1.181x
89 2013-11-29 … 2018-10-31 33.25% 12.60% 1.183x
90 2013-12-31 … 2018-12-31 29.88% 9.93% 1.181x
91 2014-01-31 … 2019-01-31 30.57% 12.37% 1.162x
92 2014-02-28 … 2019-02-28 30.19% 12.38% 1.159x
93 2014-03-31 … 2019-03-29 33.10% 12.76% 1.180x
94 2014-04-30 … 2019-04-30 35.40% 13.73% 1.191x
95 2014-05-30 … 2019-04-30 34.20% 13.54% 1.182x
96 2014-06-30 … 2019-06-28 35.24% 12.81% 1.199x
97 2014-07-31 … 2019-07-31 37.68% 13.30% 1.215x
98 2014-08-29 … 2019-07-31 36.81% 12.80% 1.213x
99 2014-09-30 … 2019-09-30 37.61% 12.70% 1.221x
100 2014-10-31 … 2019-10-31 37.74% 12.91% 1.220x
101 2014-11-28 … 2019-10-31 37.56% 12.60% 1.222x
102 2014-12-31 … 2019-12-31 42.07% 14.16% 1.245x
103 2015-01-30 … 2019-12-31 41.58% 14.85% 1.233x
104 2015-02-27 … 2020-01-31 42.15% 14.04% 1.246x
105 2015-03-31 … 2020-03-31 38.09% 8.56% 1.272x
106 2015-04-30 … 2020-04-30 43.29% 11.65% 1.283x
107 2015-05-29 … 2020-05-29 42.37% 12.61% 1.264x
108 2015-06-30 … 2020-06-30 46.54% 13.64% 1.290x
109 2015-07-31 … 2020-07-31 55.92% 14.60% 1.361x
110 2015-08-31 … 2020-08-31 60.91% 18.07% 1.363x
111 2015-09-30 … 2020-09-30 60.05% 17.05% 1.367x
112 2015-10-30 … 2020-10-30 55.54% 14.60% 1.357x
113 2015-11-30 … 2020-11-30 62.52% 17.43% 1.384x
114 2015-12-31 … 2020-12-31 64.04% 18.65% 1.383x
115 2016-01-29 … 2021-01-29 105.22% 19.26% 1.721x
116 2016-02-29 … 2021-02-26 100.78% 19.79% 1.676x
117 2016-03-31 … 2021-03-31 104.55% 19.42% 1.713x
118 2016-04-29 … 2021-03-31 106.57% 19.66% 1.726x
119 2016-05-31 … 2021-05-28 102.78% 20.42% 1.684x
120 2016-06-30 … 2021-06-30 102.53% 21.06% 1.673x
121 2016-07-29 … 2021-06-30 100.95% 20.63% 1.666x
122 2016-08-31 … 2021-08-31 103.66% 21.75% 1.673x
123 2016-09-30 … 2021-09-30 98.56% 20.22% 1.652x
124 2016-10-31 … 2021-10-29 103.68% 22.50% 1.663x
125 2016-11-30 … 2021-11-30 103.30% 21.87% 1.668x
126 2016-12-30 … 2021-11-30 105.66% 21.75% 1.689x
127 2017-01-31 … 2022-01-31 94.26% 20.17% 1.616x
128 2017-02-28 … 2022-02-28 95.36% 18.51% 1.648x
129 2017-03-31 … 2022-03-31 99.55% 19.46% 1.670x
130 2017-04-28 … 2022-03-31 102.55% 19.46% 1.696x
131 2017-05-31 … 2022-05-31 97.94% 15.59% 1.712x
132 2017-06-30 … 2022-06-30 94.99% 13.08% 1.724x
133 2017-07-31 … 2022-07-29 94.54% 15.16% 1.689x
134 2017-08-31 … 2022-08-31 92.91% 13.72% 1.696x
135 2017-09-29 … 2022-08-31 93.33% 13.56% 1.702x
136 2017-10-31 … 2022-10-31 84.03% 11.86% 1.645x
137 2017-11-30 … 2022-11-30 83.55% 12.52% 1.631x
138 2017-12-29 … 2022-11-30 85.39% 12.46% 1.649x
139 2018-01-31 … 2023-01-31 81.64% 11.01% 1.636x
140 2018-02-28 … 2023-02-28 77.89% 11.03% 1.602x
141 2018-03-29 … 2023-02-28 78.37% 11.72% 1.597x
142 2018-04-30 … 2023-04-28 74.96% 13.01% 1.548x
143 2018-05-31 … 2023-05-31 75.13% 12.95% 1.551x
144 2018-06-29 … 2023-05-31 74.79% 13.01% 1.547x
145 2018-07-31 … 2023-07-31 79.04% 14.67% 1.561x
146 2018-08-31 … 2023-08-31 74.93% 13.51% 1.541x
147 2018-09-28 … 2023-08-31 74.24% 13.56% 1.534x
148 2018-10-31 … 2023-10-31 71.91% 12.60% 1.527x
149 2018-11-30 … 2023-11-30 75.63% 14.58% 1.533x
150 2018-12-31 … 2023-12-29 84.26% 17.26% 1.571x
151 2019-01-31 … 2024-01-31 81.52% 16.27% 1.561x
152 2019-02-28 … 2024-01-31 79.58% 15.94% 1.549x
153 2019-03-29 … 2024-03-28 91.34% 17.50% 1.628x
154 2019-04-30 … 2024-04-30 86.99% 15.50% 1.619x
155 2019-05-31 … 2024-05-31 90.19% 18.12% 1.610x
156 2019-06-28 … 2024-06-28 88.14% 17.99% 1.595x
157 2019-07-31 … 2024-07-31 83.28% 17.70% 1.557x
158 2019-08-30 … 2024-08-30 85.76% 18.41% 1.569x
159 2019-09-30 … 2024-09-30 88.60% 18.65% 1.590x
160 2019-10-31 … 2024-10-31 90.28% 17.87% 1.614x
161 2019-11-29 … 2024-11-29 96.83% 18.64% 1.659x
162 2019-12-31 … 2024-12-31 89.77% 17.62% 1.613x
163 2020-01-31 … 2025-01-31 92.45% 18.07% 1.630x
164 2020-02-28 … 2025-02-28 89.07% 19.00% 1.589x
165 2020-03-31 … 2025-03-31 89.23% 19.24% 1.587x
166 2020-04-30 … 2025-04-30 82.05% 16.49% 1.563x
167 2020-05-29 … 2025-04-30 81.95% 15.80% 1.571x
168 2020-06-30 … 2025-06-30 80.68% 18.19% 1.529x
169 2020-07-31 … 2025-07-31 71.17% 17.87% 1.452x
170 2020-08-31 … 2025-08-29 70.44% 16.69% 1.461x
171 2020-09-30 … 2025-09-30 75.84% 18.57% 1.483x
172 2020-10-30 … 2025-09-30 79.19% 19.43% 1.500x
173 2020-11-30 … 2025-11-28 72.66% 17.77% 1.466x
174 2020-12-31 … 2025-12-31 75.52% 16.92% 1.501x
175 2021-01-29 … 2025-12-31 49.33% 17.20% 1.274x
176 2021-02-26 … 2026-01-30 56.97% 17.04% 1.341x
177 2021-03-31 … 2026-03-31 53.48% 14.07% 1.346x
178 2021-04-30 … 2026-04-30 61.13% 16.03% 1.389x
179 2021-05-28 … 2026-04-30 62.09% 16.22% 1.395x
Notes
mode=explore; family=contrarian-52w-regime-momentum-recovery-quality-hybrid New hybrid family built as a conflict relay rather than a blended average: every stock earns four sleeve scores (leader, repair, franchise, stabilizer), but the active regime branch only lets one sleeve dominate after evidence gates resolve direct conflicts between momentum leadership and 52-week-high contrarian repair. Deep-drawdown names are disqualified unless short-term repair and trend have already turned, leaders are demoted when they are too extended or fundamentally hollow, and defensive quality-income franchises pre-empt both whenever breadth and tape quality weaken. This preserves the champion family's off-high recovery edge, adds the state-relay discipline of the best regime/momentum hybrids, and introduces explicit value-income ballast only when the tape actually asks for it. Deliberate metric coverage this run: momentum uses 1m, 3m, 6m, and 12_1 while 12m is deliberately zeroed; trend/recovery uses both 200d distance and 52-week-high distance; volatility uses realized_vol_3m; liquidity uses avg_daily_dollar_volume_3m and trading_days_3m while share volume is deliberately zeroed; income rotates to both dividend_yield_ttm_pct and dividend_ttm; valuation rotates to pe and forward_pe while peg is deliberately zeroed; growth uses revenue_growth_pct, operating_income_growth_pct, and forward_eps while eps_growth_pct and free_cash_flow_growth_pct are deliberately zeroed; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a branch-specific tilt. Deliberate weight-0 metrics: return_12m_pct, avg_daily_volume_3m, peg, eps_growth_pct, free_cash_flow_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, free_cash_flow_ttm.
Lesson notes
#879 · degrade · relative_return Δ -0.0763 · parent exp_758 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-regime-momentum-recovery-quality-hybrid: relative_return 1.3495x (delta -0.0763 vs exp_758); win-rate 100.0%, worst-window 1.081138, dispersion 26.6488%.
Monthly picks — top stocks selected each month (whole timeline)
timeline — 240 months · top 15 each
Month 123456789101112131415
2006-07-31 GOOGL GOOG MNST MAY ILMN GE AAPL CPB MSFT GL XOM HSY MRK CL CVG
2006-08-31 MAY GOOGL GOOG ILMN AKAM XOM SLG ADM AIG AAPL T MSFT INTC MRK BXP
2006-09-29 MAY AAPL AKAM GOOGL GOOG ILMN ALGN LVS WMT T XOM ORCL AT ADM TWX
2006-10-31 MAY AKAM GOOGL GOOG AT AAPL DECK IBM ATI UAL BKNG ALGN BMET ILMN INTC
2006-11-30 MAY MA ICE GOOGL GOOG AAPL AKAM ATI ALGN DECK ILMN REGN AT GS CSCO
2006-12-29 MAY ICE CF MA ATI ALGN AT C AAPL UAL EXPE GOOGL GOOG BMET WYNN
2007-01-31 MAY ICE MA MGM CF GT WYNN ALGN AT AAPL CSCO LVS EOP BMET KMX
2007-02-28 MAY CF ICE ALGN MGM GT FSLR BKNG DLX ON ALB MA ATI AAPL VMC
2007-03-30 MAY CF GT DLX ANDV NRG MGM AAPL OI BKNG CE ALB MAT CLF GOOG
2007-04-30 MAY GT CF ANDV DLX NRG MOS CE BKNG PWR OI ETR PEG TEX AAPL
2007-05-31 MAY GT AAPL CLF FSLR CF AMZN DLX MA ALGN OI ANDV DECK AL ALXN
2007-06-29 MAY KMG FSLR CF AAPL AL MA MOS GT DECK AMZN DLX AXON CLF ALGN
2007-07-31 FSLR AL AAPL CF MAY ALGN JEC DJ ALXN MDR NOV AXON FCX ATGE AMZN
2007-08-31 AAPL AL ALGN KMG CF FSLR GRMN AMZN OI ISRG GOOG NOV JEC ALXN GME
2007-09-28 AAPL GRMN CF AMZN AL MOS WYNN MPWR GME NOV KMG FTI SLB LVS CMG
2007-10-31 AAPL MOS CF ISRG FSLR GOOG BBBY AL CMG WYNN GOOGL FLR NOV GRMN AMZN
2007-11-30 FSLR AAPL ISRG CF MOS GOOG GOOGL AL PODD CMG JEC PRGO OI BKNG ILMN
2007-12-31 FSLR MOS GOOG AAPL GOOGL CF PRGO ISRG JNJ CNX MO PENN PG CL ADM
2008-01-31 MOS AAPL GOOG GOOGL MSFT MO CL JNJ PRGO INCY XOM CVG CF PG BRK-B
2008-02-29 MOS EOG CF RRC CTRA TTWO CLF AAPL FSLR GOOG ILMN OI DVN HP XOM
2008-03-31 AAPL FSLR MEE MOS NFLX THC PRGO ESV CVG CL SWN XOM CHD UDR CSX
2008-04-30 MOS FSLR AAPL CF CLF MEE MA GOOG ESV GOOGL APA SWN MPWR THC CVG
2008-05-30 MEE FSLR MOS ESV CLF SWN CF BTUUQ AAPL BCR MA HP APA APOL ATGE
2008-06-30 MEE ESV AAPL SWN CLF BTUUQ BCR HP MOS JBL DF NBR TTWO VRTX XOM
2008-07-31 AAPL SWN ESV BCR MEE ROH MOS DF BTUUQ XOM APOL FDO CELG ATGE MAY
2008-08-29 SWN BCR ESV DF AAPL FDO BTUUQ CELG APOL CLF ATGE FI FSLR CERN SRCL
2008-09-30 SWN BCR DF NFLX FDO XOM BRO EDS AAPL CELG MTB ESV FI TSCO BAC
2008-10-31 SWN BCR DF WWY AAL CLX ROH ORLY WFC CHRW CHD DLTR BRO PRGO FDO
2008-11-28 SWN XOM BCR DF DLTR TAP CHD CLX TDG PRGO VZ BMY ROH KR CASY
2008-12-31 XOM DAL DRI LDOS NFLX MNST SWN CHD CLX BALL AAPL KR DLTR LH MAT
2009-01-30 XOM SWN ROH NFLX MNST BCR VTRS DF GOOG LDOS CMS PNW WEC AAPL COR
2009-02-27 XOM AMZN HET AAP BR NFLX DRI HRL GOOG VRTX LDOS MNST BALL WMT EW
2009-03-31 XOM AN GOOG BR BBY CVX FDS KSS AAPL ILMN MNST T PCG EW ROH
2009-04-30 F XOM PENN AN DHI CMG MNST CVX AAPL BKNG VRTS GS ASH SWKS LKQ
2009-05-29 CAR SW GS F GNW VRTS AAPL EXPE CME ICE MS BKNG JPM GOOG ASH
2009-06-30 CAR F PALM AAPL AN GS DXCM ASH GOOG TJX WBD NFLX EHC SNDK WDC
2009-07-31 CAR F PALM ASH AAPL AN GT GILD STX GOOG GS ISRG XOM WFM BLDR
2009-08-31 CAR PALM F SSP GNW AAPL ASH GGP AN MSFT GILD IP BLDR MU BAC
2009-09-30 CAR PALM GNW SSP SANM AAPL ASH BKNG UIS SNDK THC WBD GILD MU MSFT
2009-10-30 CAR GNW SW HIG KMG GGP UIS BKNG DDS FCX SSP BC AAPL PALM SNDK
2009-11-30 CAR KMG GNW GGP UIS DDS BKNG FCX WFM SW AAPL STX SSP BC SNDK
2009-12-31 CAR GGP SANM AMD UIS DDS UAL BKNG KMG WFM SSP INCY WLL F LULU
2010-01-29 SANM CAR ACS UAL GGP INCY F AMD GNW NYT LYV BKNG WLL DDS DAL
2010-02-26 SANM CAR UAL ACS GNW UIS AAL F GGP LYV RX CLF WLL INCY SMCI
2010-03-31 SANM GNW UAL INCY CLF ETFC F LYV MTG SMCI GGP CAR WLL LULU VIAV
2010-04-30 UAL SANM GNW ETFC INCY MTG LYV BC DDS CAR WLL GGP SSP VSTNQ VIAV
2010-05-28 ETFC UAL VSTNQ WLL DDS SSP BC INCY SANM AAPL GGP AAL NFLX BBWI LULU
2010-06-30 ETFC UAL AAPL UST AAL LLY CVG DLTR T COR HSY KMB EW GS AKAM
2010-07-30 ETFC AAL UAL AAPL MBI FFIV AIG CCU C LVS GS HSY ALK VRTS URI
2010-08-31 WY ETFC AAPL CPQ EC CCU AKAM UST ERIE CVG GS LUMN CASY SW KMB
2010-09-30 ETFC NFLX LVS FFIV AKAM AAPL CCU BKNG VSTNQ GS EC MBI WLL VRTS CMI
2010-10-29 ETFC LVS NFLX FTNT UAL AAL AAPL BKNG FFIV WLL VRTS ACAS CMG MBI INCY
2010-11-30 ETFC LVS VRTS NFLX CMG FFIV UAL URI TSLA BKNG ACAS WLL AAPL FTNT DECK
2010-12-31 ETFC LVS VRTS ACAS URI WLL NFLX DECK LYB NXPI LULU FFIV BWA CMG AIG
2011-01-31 MAY ETFC LVS ACAS WLL AAPL URI VRTS DECK NFLX LULU FCX C SWKS CMI
2011-02-28 MAY ETFC URI IPGP VIAV NXPI AAPL NFLX LULU LVS MTW ACAS NVDA ANDV SWKS
2011-03-31 MAY IPGP ETFC URI AAPL NXPI ANDV VRTS NFLX ECHO SWKS NOV CAT ACAS LULU
2011-04-29 MAY IPGP LULU ETFC AAPL BIIB NXPI ANDV REGN ULTA EP MTW ECHO URI BBWI
2011-05-31 MAY IPGP DPZ EP REGN ABMD ETFC BKNG GMCR WCG KSU WFM COG LULU CBS
2011-06-30 MAY IPGP EP WCG COG ABMD ULTA BKNG CEPH LULU DPZ ETFC GMCR KSU DDS
2011-07-29 AIG IPGP VRTS AAPL CTRA EP LULU ULTA COG WCG BIIB DPZ ABMD CEPH MNST
2011-08-31 AIG AAPL UST KMB CL HSY MDLZ PPL CVG DLTR CTRA XEL WEC NI EXC
2011-09-30 AIG AAPL UST KMB HSY PPL DLTR CVG XEL MDLZ CL EXC FE CHD WEC
2011-10-31 AIG MAY AAPL CVG UST DLTR GOOG PPL KMB XEL MDLZ BIIB VFC CL EXC
2011-11-30 AAPL AIG MAY URI MSFT CVG AXON CTRA SJM GE FICO KO CNP BIIB DPZ
2011-12-30 AAPL MBI GNRC IBM MA AIG URI CVG PPL INTC GOOG CF GE EXC ACGL
2012-01-31 AAPL GNRC FBHS COG WCG URI MNST DPZ REGN GE MSFT GWW XOM DLTR CNC
2012-02-29 AAPL STX URI REGN MOH WCG COG GE EXPE MSFT EQIX BLDR TYL MNST V
2012-03-30 AAPL BLDR STX REGN EQIX MOH BKNG URI GE HFC ULTA EXPE MNST DPZ MSFT
2012-04-30 AAPL BLDR REGN EQIX STX BKNG MNST EC URI ULTA EXPE TJX FICO GE SHW
2012-05-31 AAPL AAL REGN BLDR MNST EC SHW BKNG EQIX TPL ISRG TJX ORLY LULU SBAC
2012-06-29 AAPL AAL BLDR EXPE MNST REGN BKNG SHW EQIX GE DLTR TPL STX DXCM SBAC
2012-07-31 AAPL EXPE AAL SHW STX EQIX MNST CSGP EW GE BKNG DG SBAC LEN MRK
2012-08-31 STX AAPL PHM EXPE LPX ANDV EQIX SHW GPS SBAC REGN VRTX GE STZ LEN
2012-09-28 PHM AAPL STX ANDV BLDR KBH LPX DHI LEN BBBY LYB SW REGN EXPE ALGN
2012-10-31 BBBY PHM AAPL KBH BLDR LPX STZ EXPE ANDV GNRC LEN DHI WHR LYB REGN
2012-11-30 BBBY PHM BLDR KBH GNRC LPX AAPL STZ WHR ANDV REGN META AXON PSX AAL
2012-12-31 LPX BBBY PHM REGN GNRC KBH AAPL WHR BAC SW AAL AXON THC VRTS GNW
2013-01-31 NFLX OMX LPX PHM THC VRTS KBH BLDR APO BBBY SW ANDV BAC AAPL VLO
2013-02-28 NFLX OMX VRTS APO THC LPX PHM MPC VLO GNRC SW CPAY KBH ANDV BC
2013-03-28 OMX FNMA NFLX FMCC VRTS MTG THC LPX HRB KBH KKR CPAY APO MPC SVU
2013-04-30 OMX FNMA FMCC MTG NFLX BBBY THC VRTS FSLR KBH APO ANDV GILD KKR HRB
2013-05-31 FNMA FMCC OMX TSLA NFLX FSLR MTG VRTS BBBY KBH SVU APO STZ KKR THC
2013-06-28 OMX FNMA FMCC TSLA BBBY NFLX MTG MU FSLR AAPL GME SVU CPAY WDC BBY
2013-07-31 OMX TSLA FNMA FMCC BBBY MTG GME NFLX SVU FSLR MU FANG GNW CSGP AAPL
2013-08-30 OMX TSLA MTG GME BBBY SVU NFLX META BBY FNMA INCY AAPL FANG MU FL
2013-09-30 OMX TSLA META NFLX MTG REGN AXON BBY BBBY GT KATE GME MU SVU FL
2013-10-31 OMX TSLA FMCC FNMA META AXON MU FANG AAPL NFLX KATE MTG BBY BKNG INCY
2013-11-29 OMX FNMA FMCC META MU INCY NFLX AAPL PBI DAL TKO AXON BBY MKTX KATE
2013-12-31 FNMA FMCC META INCY MU NFLX TKO KATE AAPL TSLA BBY PBI HII RRD TMUS
2014-01-31 FNMA FMCC INCY TKO ILMN META MU AAL TSLA KATE HII SMCI DXCM AAPL ETFC
2014-02-28 FMCC FNMA TSLA ILMN TKO META AAL INCY DXCM FRX MU TPL WYNN AAPL MGM
2014-03-31 FMCC FNMA TKO TSLA ILMN AAL META FRX DAL DXCM FANG TPL FSLR HP SWKS
2014-04-30 FMCC FNMA TSLA FANG FRX CAR SWKS META AAL MU TPL HP DAL NXPI NBR
2014-05-30 META FRX DAL TPL MU AAL FANG SWKS WLL TSLA ILMN AAPL FMCC HP CAR
2014-06-30 FANG META AAL TRGP NFX SWKS FRX DAL MU MMI WLL SMCI AAPL TPL FMCC
2014-07-31 SWKS TPL MU AAPL FANG META NFX FMCC FRX TRGP NBR WMB FNMA MMI CAR
2014-08-29 MMI ENPH SWKS CAR AAPL TPL MU LUV NFX GILD TRGP FANG META INTC HCA
2014-09-30 ENPH AAPL GILD TPL SWKS LUV MMI TRGP META URI T MU AVGO WMB GMCR
2014-10-31 ENPH MMI PANW AAPL SMCI SWKS EW LUV META GILD BBBY MU AVGO MNST GMCR
2014-11-28 PAYC PANW AAPL SMCI SWKS EW MMI MNST LUV META GMCR GILD MU INCY EA
2014-12-31 SWKS AXON AAPL PAYC PANW LUV EW EA SMCI MNST CNC UAL MMI AAL INCY
2015-01-30 SWKS AXON AAPL PANW KLAC KR PAYC LUV MNST EA EW CNC ALK GILD BBWI
2015-02-27 SWKS AAPL EA CNC SMCI KR MNST PANW PAYC MAY AVGO MMI LUV HSP LULU
2015-03-31 SWKS AAPL CNC INCY MNST PAYC EA BTUUQ PANW AVGO HSP CNXT ANDV KMG COR
2015-04-30 CZR BLDR SWKS PAYC KMG AAPL CNXT BTUUQ INCY HSP PANW EPAM CNC ABMD SSP
2015-05-29 CZR CNXT BLDR BTUUQ AXON SWKS KMG PAYC INCY ABMD AAPL VTSS HSP PANW CNC
2015-06-30 BTUUQ CZR AAPL SWKS GILD AXON NFLX ABMD PANW CNC DXCM HSP INCY IBKR CI
2015-07-31 BLDR BTUUQ CZR GILD AAPL ABMD PANW EA DXCM EBAY GE INCY CNC NFLX KRFT
2015-08-31 DXCM AAPL GE GILD META KLAC EBAY V BKNG EVHC NVR CVG NFLX CCI TKO
2015-09-30 AAPL GE GILD META UST CVG ACGL KLAC V BKNG CBOE NVR PSA CCI ATO
2015-10-30 SBUX AAPL AMZN CVG ABMD META KLAC FIX UST BKNG CBOE GOOG CZR LDOS GPN
2015-11-30 GE ABMD FIX AMZN AAPL META CZR ATVI GOOG GPN GILD NFLX TYL GOOGL LDOS
2015-12-31 AMZN ABMD AAPL GILD GE V ATVI CZR GOOG META NFLX GOOGL MA JKHY GMCR
2016-01-29 GE GOOG AMZN UST META V BLK AWK T ATO JKHY PSA CVG MAA KDP
2016-02-29 GE TSN CPRI GILD T META GOOG MAT BLK UST SPG ATO ECHO CMS XEL
2016-03-31 GE TSN MAT ABMD CZR T META LITE AAPL GOOG NEM SPG GOOGL AMZN ATO
2016-04-29 GE CLF TSN LITE META ABMD T NEM MTW CZR SPG EW DLR V JNJ
2016-05-31 GE X CZR META MTW AMD WB NVDA ABMD NAV MDR T TSN EVRG BKNG
2016-06-30 X GE NVDA OKE CLF META CZR MDR AMD ABMD DLR WPX T AWK ALB
2016-07-29 CLF AMD X NVDA GE WB META AAPL DHR WPX OKE DLR NEM MDR V
2016-08-31 AMD WB X NVDA CLF NEM DHR JOY WPX GNW OKE DXC NAV CNX ETSY
2016-09-30 WB AMD X NVDA LITE CLF GNW DHR JOY WPX WMB NAV NEM TPL CNX
2016-10-31 WB X AMD TPL NVDA DHR WPX LITE DXC JOY NAV CNX AAPL META SPGI
2016-11-30 FMCC FNMA CLF X AMD NVDA WB TPL WOR LITE WPX NBR STLD DHR COHR
2016-12-30 CLF FMCC FNMA NVDA AMD X UIS TPL BAC STLD NBR SLM CFG ZION TRGP
2017-01-31 FMCC FNMA AMD NVDA CLF X TPL NBR CSX TRGP BAC URI WB FCX SLM
2017-02-28 AMD CLF NVDA X TTD CSX BAC TPL SLM URI HWM COHR WDC NAV WB
2017-03-31 AMD NVDA X MU BAC INCY CSX CLF URI NAV WB SLM NRG ANET AAPL
2017-04-28 AMD NVDA KMG MU X ANET ALGN WDC DXC BAC CSX SLM TER AAPL IDXX
2017-05-31 KMG NVDA WB TTD XYZ AAPL TTWO VEEV MU ALGN TSLA CSX X ANET AMD
2017-06-30 NVDA CVNA XYZ WB TTD TSLA ANET LITE TTWO ALGN VEEV CSX AAPL ADSK VRTX
2017-07-31 NVDA XYZ LITE WB TTD ALGN VRTX NRG TTWO ANET CVNA MU AAPL BA VEEV
2017-08-31 NVDA WB NRG TTWO VRTX XYZ SEDG ALGN TPL BA IPGP MTW BBBY TSLA ANET
2017-09-29 NVDA WB BBBY TTWO XYZ ENPH SEDG NRG IPGP MTW ALGN BA TTD VRTX MU
2017-10-31 BBBY XYZ NVDA MU ALGN MTW TTWO WB SEDG TTD IPGP NRG ABBV CZR NVR
2017-11-30 ENPH BBBY MAY XYZ ALGN SEDG MU NVDA IPGP NRG ANET TTWO TWTR WB AAPL
2017-12-29 BBBY ENPH SEDG ALGN XYZ WB FSLR IPGP ANET MU NVDA NRG CZR TWTR TTWO
2018-01-31 BBBY NKTR MAY EC XYZ ANET ALGN SEDG WB ANF TWTR PENN MU FSLR AMZN
2018-02-28 NKTR BBBY EC XYZ ENPH MTCH NVDA AMZN SEDG ANET ALGN MU TWTR WB NFLX
2018-03-29 NKTR ENPH XYZ SEDG CCI MTCH AMZN MU META EC HET NVDA ETSY BA TWTR
2018-04-30 NKTR ENPH CCI HET MU EC CVNA AMZN CMG ETSY ANDV SEDG AAPL MTCH AXON
2018-05-31 ENPH NKTR CCI AXON THC HET TKO EC MU SEDG CVNA ETSY TPL AMZN V
2018-06-29 ENPH TKO CCI HET AXON NKTR CVNA NFLX THC ETSY XYZ MU AMZN TPL ALGN
2018-07-31 ENPH TKO HET CCI AXON CVNA ETSY THC XYZ MU AMZN ALGN TPL TTD ABMD
2018-08-31 HET CVNA TKO ENPH AXON XYZ TTD AMD DXCM ETSY AMZN ABMD MOH LULU UIS
2018-09-28 HET CCI CVNA AMD TKO XYZ TTD DXCM ABMD AXON UIS ETSY MOH AMZN LULU
2018-10-31 CCI HET UIS DXCM RHT CRM CBOE EXR MOH BEN AAPL AMZN MKC TKO ABMD
2018-11-30 HET AMZN CCI TTD ETSY RHT TKO ABMD TRIP AMD KDP EOG MOH DXCM MRK
2018-12-31 HET CCI EXR AMZN DLTR TKO SCG AET NEM UST KDP MRK ABS NRG CIEN
2019-01-31 HET FNMA FMCC ENPH AMZN AMD CCI TTD META ETSY NFLX AVP TKO INCY CIEN
2019-02-28 HET CCI FNMA FMCC ENPH EXR TTD ERIE CIEN ETSY RHT KEYS TKO AMZN BEN
2019-03-29 HET FNMA FMCC TTD ENPH CVNA ETSY CMG AVP AMZN SSP ERIE AMD NYT CCI
2019-04-30 HET TTD ENPH CVNA AVP AMD FMCC QCOM FNMA ETSY SMCI AMZN KEYS CCI VEEV
2019-05-31 HET ENPH AMZN FNMA EXR FMCC ERIE CCI MTCH VEEV META AMD AAPL AVP COTY
2019-06-28 HET ENPH CCI EXR AVP ERIE FNMA FMCC VEEV TTD AMZN MKTX AAPL PAYC AMD
2019-07-31 HET ENPH AVP TTD ERIE VEEV MKTX AMZN AAPL CCI PAYC CSGP MTCH BBBY PODD
2019-08-30 HET ENPH CCI AVP EXR SEDG MKTX AAPL BALL QCOM AMZN SBUX SBAC HSY MSFT
2019-09-30 HET EXR CCI ENPH AVP SEDG NCC CSCO HSY PODD AAPL GNRC BALL BX WEC
2019-10-31 HET AVP SEDG ENPH BLDR GNRC KBH PODD CCI TSLA AAPL ALGN LRCX KLAC NWL
2019-11-29 HET AVP AAPL TSLA BLDR PODD GNRC ENPH AMD SEDG LRCX NCC TER KLAC TGT
2019-12-31 HET ENPH TSLA THC AAPL CVNA AMD QRVO SWKS AVP BLDR NBR PODD LITE DXCM
2020-01-31 HET TSLA ENPH AAPL AMD PODD TDG LM SEDG PAYC CDAY SWKS NVDA SMCI AVP
2020-02-28 HET ENPH CCI TSLA EXR SEDG DXCM GEN LM UIS UST SAF AAPL TYL LDOS
2020-03-31 ENPH EXR UST CCI DXCM GEN DVN NCC LM AMT CLX TSLA PODD AAPL DVA
2020-04-30 ENPH TSLA EQT EXR RRC CCI DVN UST TE GEN DXCM CNX AMT CTRA KR
2020-05-29 TSLA ENPH DVN BBBY MRNA DDOG DXCM AMZN AAPL CRWD NCC EXR NVDA RRC CNXT
2020-06-30 BBBY TSLA CCI DDOG EXR MRNA ENPH ETSY AAPL DXCM AMZN UST AZO XYZ CRWD
2020-07-31 BBBY TSLA MRNA CCI DDOG DXCM EXR AAPL AMT NVDA XYZ REGN AMZN SEDG CVNA
2020-08-31 BBBY TSLA CCI AAPL CVNA AMT MRNA XYZ NVDA ETSY AMZN EXR GNRC AMD DXCM
2020-09-30 BBBY TSLA PENN TUP CCI AAPL XYZ AMT NVDA CVNA ENPH EXR AMD AMZN ETSY
2020-10-30 TUP TSLA ENPH CCI BBBY PENN SEDG FDX XYZ GNRC AMT AAPL BBWI NVDA TTD
2020-11-30 TUP TSLA CCI BBBY MRNA ENPH EXR GME AMT CPRI TTD XYZ SEDG PENN VIAC
2020-12-31 TSLA TUP ENPH GME MRNA PENN CPRI XYZ CLF CRWD TTD ETSY AMT BBBY KSS
2021-01-29 GME TSLA ENPH EXR MRNA TUP BBBY ETSY CRWD AAPL XYZ CVNA PENN AMZN SEDG
2021-02-26 GME CCI TSLA TUP VIAC AMT QEP NBR PSKY DISCA WBD TRIP PENN DISCK MRNA
2021-03-31 GME TUP VIAC TSLA TPL DISCA QEP DISCK CAR NBR DVN PENN CPRI TRIP KSS
2021-04-30 GME QEP TUP CAR TPL TSLA DISCA VIAC LPX DISCK BBWI ANF XEC MTW DVN
2021-05-28 GME DDS XEC NUE CAR DVN MTW ANF TUP LPX MAC TPL TSLA STLD FCX
2021-06-30 GME DDS MRNA RRD ASO MAC RRC XEC NAVI TSLA TRGP ANF DVN MDP MRO
2021-07-30 GME MRNA DDS RRD MDP NUE BX GNRC ASO RRC NVDA XEC FTNT SBNY BBWI
2021-08-31 GME MRNA RRD DDS MDP SBNY NUE BX FTNT NAVI NVDA SIVB CLF XEC TSLA
2021-09-30 MRNA RRD GME MDP SBNY RRC DDS IT BX CAR T SIVB TSLA FTNT XLNX
2021-10-29 GME CAR RRC RRD MRNA TSLA DVN DDS MRO M MDP JWN TRGP FANG MUR
2021-11-30 GME RRD CAR DDS TSLA EXR NVDA DVN MDP AMD MRO DDOG AMT MRNA BX
2021-12-31 CAR RRD TSLA NVDA BLDR DDS AMD DVN ON ANET MRO F GME DDOG EXR
2022-01-31 EXR DVN RRD MRO AMT TSLA EOG AAPL COP APA GS AZO F XOM FANG
2022-02-28 EXR DVN RRD MRO ATI AAPL MOS RRC TRGP GS COP EOG NI TSLA FANG
2022-03-31 CAR OXY EQT TSLA RRC RRD MOS DVN MUR CF EXR TRGP APA BKR HP
2022-04-29 EXR EQT AMT ABX HP CCI DDS CAR NUE RRC MCK T NBR MUR STLD
2022-05-31 EXR AMT EQT CCI CTRA ABX FHN OXY T EXE HRB MRK WRB NI EXC
2022-06-30 EXR AMT ABX CCI FHN ERIE MCK MRK WRB HRB ATO CNXT T DTE BMY
2022-07-29 EXR AMT CCI ABX LW FHN FSLR JKHY HRB MCK PSA TSLA CTRA ATO CAH
2022-08-31 EXR AMT CCI FSLR TE HRB ABX SMCI CAH MCK PSA LW FHN CEG GPC
2022-09-30 EXR AMT CCI DYN FSLR ABX TSLA FHN ERIE HRB HSY IBKR LW PSA NLSN
2022-10-31 EXR AMT CCI ABX FHN ERIE TKO BLK DXCM GPC MRK PSA LW HSY SJM
2022-11-30 UCL EXR FSLR TPL HES SMCI ODP UNM SANM ERIE FTI XOM PSA AXON HRB
2022-12-30 EXR UCL FSLR SMCI CCI ODP FTI HES TPL AMT COP XOM AXON MPC STLD
2023-01-31 UCL HES EXR ODP FTI FSLR BKNG CCI STLD MO UNM AMT DVN ABMD MPC
2023-02-28 UCL CCI AMT EXR FTI HES MTW FSLR OI ODP TEX STLD LVS GNW BKNG
2023-03-31 UCL AMT SMCI MTW FSLR NVDA FTI AXON OI VLO COTY HES CCI ATI LVS
2023-04-28 UCL CCI EXR AMT NVDA SMCI FSLR META COTY AXON FICO DECK LVS BLDR TKO
2023-05-31 SMCI EXR NVDA AMT PLTR BKNG TSLA CCI BLDR APP META LW AMD ABX FSLR
2023-06-30 SMCI NVDA TSLA EXR BLDR PLTR RCL VRT META PSA BKNG CCL CVNA UBER AVGO
2023-07-31 SMCI CVNA EXR NVDA TSLA META CCI AMT VRT PLTR RCL BLDR CCL APP BKNG
2023-08-31 CVNA EXR SMCI NVDA VRT APP CCI TSLA BLDR META RCL ANF BKNG AMT PLTR
2023-09-29 EXR SMCI NVDA VRT ANF TSLA CVNA CCI DELL BKNG APP FTI PLTR META VST
2023-10-31 EXR CCI VRT NVDA ANF AMT CBOE BKNG CME AFL FTI AIZ MRSH BRK-B L
2023-11-30 ANF VRT EXR NVDA COIN APP META GPS CVNA FNMA AMT TSLA CRWD FTI SMCI
2023-12-29 CVNA COIN ANF FNMA VRT GPS NVDA APP FMCC CRWD TSLA EXR UBER X SMCI
2024-01-31 SMCI ANF FNMA VRT ADCT FMCC CVNA NVDA CRWD DYN COIN APP AMD EXR META
2024-02-29 SMCI ADCT CVNA ANF NVDA VRT COIN FNMA DYN CRWD FMCC APP AMD VST META
2024-03-28 SMCI ADCT CVNA NVDA COIN VRT ANF DYN FNMA VST FMCC APP GPS GE WSM
2024-04-30 CVNA SMCI ADCT NVDA VRT VST ANF DYN COIN APP CCI GE FMCC WSM EME
2024-05-31 CVNA VST VRT NVDA ANF SMCI DELL FMCC APP DYN FNMA COIN NRG HOOD ADCT
2024-06-28 NVDA ANF CVNA VST DYN VRT APP SMCI DELL FMCC CEG HOOD EME NRG MU
2024-07-31 LUMN NVDA CVNA DYN ANF VST APP THC HOOD LU COIN ANET VRT EXR PBI
2024-08-30 LUMN DYN NVDA CVNA PBI VST THC EXR ANF FICO IRM GDDY PLTR AVGO NRG
2024-09-30 LUMN NVDA CVNA DYN APP VST PBI THC COHR GEV EXR PLTR FICO LU GDDY
2024-10-31 CVNA LUMN APP NVDA VST GEV PLTR COHR EXR FICO TPL LB UAL VNO SLG
2024-11-29 APP LUMN CVNA FMCC FNMA TPL NVDA PLTR VST HOOD GEV AXON TSLA UAL COHR
2024-12-31 APP CCI EXR PLTR FMCC TSLA LUMN CVNA FNMA NVDA LB VST AXON HOOD UAL
2025-01-31 APP FMCC FNMA PLTR CCI HOOD TSLA CVNA VST AXON UAL GEV TPR ALK IBKR
2025-02-28 FNMA FMCC APP EXR HOOD PLTR CCI TPR ALK UAL TPL NVDA CVNA IBKR PBI
2025-03-31 EXR FNMA FMCC AMT VRSN SSP BRO CCU WBA CME CAH BRK-B TPL CNP CA
2025-04-30 EXR PLTR FNMA AMT VRSN CNP CME FMCC COR MCK CA EXC HOOD ATO PM
2025-05-30 FNMA FMCC PLTR ADCT APP TSLA AMT NVDA HOOD GEV NRG AZO VRSN CNP AXON
2025-06-30 FNMA FMCC HOOD PLTR CAR GEV AMT HWM APP AXON NRG CVNA EXR CCI PM
2025-07-31 HOOD PLTR EXR GEV FNMA CAR FMCC APP UCL NVDA TPR AMT SMCI JBL CVNA
2025-08-29 HOOD FNMA UCL PLTR FMCC GEV LITE APP NVDA FIX EXR CAR STX CNXT ECHO
2025-09-30 FNMA FMCC HOOD APP LITE ECHO WDC PLTR STX NVDA AMT CIEN FIX GEV AVGO
2025-10-31 HOOD FMCC EXR LITE APP FNMA WDC CIEN MU TE STX LUMN NKTR NVDA FIX
2025-11-28 LITE ECHO WDC CIEN EXR MU HOOD NKTR TE STX NVDA WBD GOOG LRCX FIX
2025-12-31 LITE TE ECHO EXR WDC CIEN MU NKTR WBD STX GOOG ALB COHR NVDA GOOGL
2026-01-30 TE ECHO MU LITE WDC STX ALB CIEN WBD NEM LRCX NKTR NVDA COHR EXR
2026-02-27 LITE WDC MU TE CIEN STX COHR ECHO TER GLW VIAV FIX LRCX ALB WBD
2026-03-31 CCI LITE EXR CIEN WDC APA VIAV MU LYB DOW NVDA NBR ABI PCS SEDG
2026-04-30 LITE EXR CIEN WDC VIAV MU STX CCI COHR ECHO INTC NBR TER FIX GLW
2026-05-29 CCI MU EXR LITE WDC INTC CIEN STX VIAV DELL AMD ECHO MRVL COHR FIX
2026-06-26 MU WDC INTC STX CCI LITE DELL MRVL AMD CIEN VIAV DD TE FLEX GLW
Scoring script (python)
FORMULA_NAME = "Contrarian 52W Regime Momentum Recovery Quality Hybrid (Conflict Relay, v1177)"
LOGIC_VARIANT_COUNT = 4
NOTES = """mode=explore; family=contrarian-52w-regime-momentum-recovery-quality-hybrid
New hybrid family built as a conflict relay rather than a blended average: every stock earns four sleeve scores (leader, repair, franchise, stabilizer), but the active regime branch only lets one sleeve dominate after evidence gates resolve direct conflicts between momentum leadership and 52-week-high contrarian repair. Deep-drawdown names are disqualified unless short-term repair and trend have already turned, leaders are demoted when they are too extended or fundamentally hollow, and defensive quality-income franchises pre-empt both whenever breadth and tape quality weaken. This preserves the champion family's off-high recovery edge, adds the state-relay discipline of the best regime/momentum hybrids, and introduces explicit value-income ballast only when the tape actually asks for it.
Deliberate metric coverage this run: momentum uses 1m, 3m, 6m, and 12_1 while 12m is deliberately zeroed; trend/recovery uses both 200d distance and 52-week-high distance; volatility uses realized_vol_3m; liquidity uses avg_daily_dollar_volume_3m and trading_days_3m while share volume is deliberately zeroed; income rotates to both dividend_yield_ttm_pct and dividend_ttm; valuation rotates to pe and forward_pe while peg is deliberately zeroed; growth uses revenue_growth_pct, operating_income_growth_pct, and forward_eps while eps_growth_pct and free_cash_flow_growth_pct are deliberately zeroed; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a branch-specific tilt. Deliberate weight-0 metrics: return_12m_pct, avg_daily_volume_3m, peg, eps_growth_pct, free_cash_flow_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, free_cash_flow_ttm."""

def score_universe(stocks, regime, ctx):
    metrics = [
        "return_1m_pct",
        "return_3m_pct",
        "return_6m_pct",
        "momentum_12_1_pct",
        "from_200d_ma_pct",
        "from_52w_high_pct",
        "realized_vol_3m",
        "avg_daily_dollar_volume_3m",
        "trading_days_3m",
        "dividend_yield_ttm_pct",
        "dividend_ttm",
        "pe",
        "forward_pe",
        "revenue_growth_pct",
        "operating_income_growth_pct",
        "forward_eps",
        "operating_margin_pct",
        "free_cash_flow_margin_pct",
    ]
    z = {}
    for metric in metrics:
        z[metric] = ctx.z(metric)

    by_symbol = {}
    for stock in stocks:
        symbol = stock.get("symbol")
        if symbol is not None:
            by_symbol[symbol] = stock

    def raw(symbol, field):
        stock = by_symbol.get(symbol)
        if stock is None:
            return None
        return stock.get(field)

    def zval(symbol, field):
        return z[field].get(symbol)

    def weighted_average(parts):
        total = 0.0
        weight_sum = 0.0
        for value, weight in parts:
            if value is None:
                continue
            total += value * weight
            weight_sum += weight
        if weight_sum <= 0.0:
            return 0.0
        return total / weight_sum

    def drawdown_preference(symbol, sweet_low, sweet_high):
        dd = raw(symbol, "from_52w_high_pct")
        if dd is None:
            return None
        if dd > sweet_high:
            return -0.4 - (dd - sweet_high) / 12.0
        if dd < sweet_low:
            return -0.3 - (sweet_low - dd) / 18.0
        mid = (sweet_low + sweet_high) / 2.0
        half = (sweet_high - sweet_low) / 2.0
        if half <= 0:
            return 0.0
        return 1.15 - abs(dd - mid) / half

    def cap_tilt(symbol):
        cap = raw(symbol, "market_cap")
        if cap is None:
            return 0.0, 0.0
        if cap < 4e9:
            return 0.55, -0.45
        if cap < 12e9:
            return 0.25, -0.20
        if cap > 80e9:
            return -0.30, 0.50
        if cap > 25e9:
            return -0.10, 0.20
        return 0.0, 0.0

    def liquidity_penalty(symbol):
        adv = zval(symbol, "avg_daily_dollar_volume_3m")
        days = zval(symbol, "trading_days_3m")
        penalty = 0.0
        if adv is not None and adv < -0.85:
            penalty -= 0.45
        if days is not None and days < -0.75:
            penalty -= 0.35
        return penalty

    breadth = regime.get("breadth", 0.0) or 0.0
    tape_momo = regime.get("median_momentum_12_1_pct", 0.0) or 0.0
    tape_trend = regime.get("median_from_200d_ma_pct", 0.0) or 0.0
    tape_vol = regime.get("avg_realized_vol_3m", 0.0) or 0.0
    bull = bool(regime.get("bull"))

    if bull and breadth >= 0.62 and tape_momo >= 5.0 and tape_trend >= 3.0 and tape_vol <= 34.0:
        branch = "expansion"
    elif bull and breadth >= 0.45 and tape_trend >= -1.0 and tape_vol <= 39.0:
        branch = "rotation"
    elif (not bull) and breadth >= 0.40 and tape_trend >= -7.0 and tape_vol <= 43.0:
        branch = "repair"
    else:
        branch = "defense"

    scores = {}
    for symbol in by_symbol:
        small_cap_tilt, large_cap_tilt = cap_tilt(symbol)
        dd_repair = drawdown_preference(symbol, -38.0, -12.0)
        dd_shallow = drawdown_preference(symbol, -24.0, -6.0)

        leader = weighted_average([
            (zval(symbol, "momentum_12_1_pct"), 1.35),
            (zval(symbol, "return_6m_pct"), 1.10),
            (zval(symbol, "return_3m_pct"), 0.70),
            (zval(symbol, "from_200d_ma_pct"), 0.75),
            (zval(symbol, "avg_daily_dollar_volume_3m"), 0.35),
            (-zval(symbol, "realized_vol_3m") if zval(symbol, "realized_vol_3m") is not None else None, 0.40),
            (zval(symbol, "forward_eps"), 0.30),
            (zval(symbol, "free_cash_flow_margin_pct"), 0.25),
        ])
        if dd_shallow is not None:
            leader += 0.20 * dd_shallow
        if raw(symbol, "from_52w_high_pct") is not None and raw(symbol, "from_52w_high_pct") > -2.0:
            leader -= 0.25
        leader += liquidity_penalty(symbol)

        repair = weighted_average([
            (dd_repair, 1.45),
            (zval(symbol, "return_1m_pct"), 0.95),
            (zval(symbol, "return_3m_pct"), 0.70),
            (zval(symbol, "from_200d_ma_pct"), 0.80),
            (zval(symbol, "momentum_12_1_pct"), 0.50),
            (-zval(symbol, "realized_vol_3m") if zval(symbol, "realized_vol_3m") is not None else None, 0.45),
            (zval(symbol, "revenue_growth_pct"), 0.35),
            (zval(symbol, "operating_income_growth_pct"), 0.45),
            (zval(symbol, "operating_margin_pct"), 0.30),
            (zval(symbol, "avg_daily_dollar_volume_3m"), 0.30),
        ])
        repair += 0.18 * small_cap_tilt
        repair += liquidity_penalty(symbol)

        franchise = weighted_average([
            (zval(symbol, "operating_margin_pct"), 1.00),
            (zval(symbol, "free_cash_flow_margin_pct"), 1.00),
            (-zval(symbol, "realized_vol_3m") if zval(symbol, "realized_vol_3m") is not None else None, 0.95),
            (zval(symbol, "dividend_yield_ttm_pct"), 0.55),
            (-zval(symbol, "forward_pe") if zval(symbol, "forward_pe") is not None else None, 0.45),
            (-zval(symbol, "pe") if zval(symbol, "pe") is not None else None, 0.35),
            (zval(symbol, "from_200d_ma_pct"), 0.40),
            (zval(symbol, "avg_daily_dollar_volume_3m"), 0.35),
            (zval(symbol, "trading_days_3m"), 0.25),
            (zval(symbol, "forward_eps"), 0.30),
        ])
        franchise += 0.22 * large_cap_tilt
        franchise += liquidity_penalty(symbol)

        stabilizer = weighted_average([
            (zval(symbol, "dividend_yield_ttm_pct"), 0.90),
            (zval(symbol, "dividend_ttm"), 0.55),
            (-zval(symbol, "pe") if zval(symbol, "pe") is not None else None, 0.55),
            (-zval(symbol, "forward_pe") if zval(symbol, "forward_pe") is not None else None, 0.45),
            (-zval(symbol, "realized_vol_3m") if zval(symbol, "realized_vol_3m") is not None else None, 0.70),
            (zval(symbol, "free_cash_flow_margin_pct"), 0.55),
            (zval(symbol, "operating_margin_pct"), 0.45),
            (zval(symbol, "from_200d_ma_pct"), 0.35),
            (zval(symbol, "trading_days_3m"), 0.25),
            (zval(symbol, "revenue_growth_pct"), 0.30),
        ])
        stabilizer += 0.18 * large_cap_tilt
        stabilizer += liquidity_penalty(symbol)

        leader_gate = 0
        repair_gate = 0
        franchise_gate = 0
        stabilizer_gate = 0

        if zval(symbol, "momentum_12_1_pct") is not None and zval(symbol, "momentum_12_1_pct") > 0.05:
            leader_gate += 1
        if zval(symbol, "return_6m_pct") is not None and zval(symbol, "return_6m_pct") > 0.00:
            leader_gate += 1
        if raw(symbol, "from_200d_ma_pct") is not None and raw(symbol, "from_200d_ma_pct") > 0.0:
            leader_gate += 1
        if zval(symbol, "realized_vol_3m") is not None and zval(symbol, "realized_vol_3m") < 0.65:
            leader_gate += 1
        if zval(symbol, "avg_daily_dollar_volume_3m") is not None and zval(symbol, "avg_daily_dollar_volume_3m") > -0.60:
            leader_gate += 1

        dd_raw = raw(symbol, "from_52w_high_pct")
        if dd_raw is not None and dd_raw <= -10.0 and dd_raw >= -45.0:
            repair_gate += 1
        if raw(symbol, "return_1m_pct") is not None and raw(symbol, "return_1m_pct") > 0.0:
            repair_gate += 1
        if raw(symbol, "from_200d_ma_pct") is not None and raw(symbol, "from_200d_ma_pct") > -4.0:
            repair_gate += 1
        if zval(symbol, "operating_income_growth_pct") is not None and zval(symbol, "operating_income_growth_pct") > -0.25:
            repair_gate += 1
        if zval(symbol, "avg_daily_dollar_volume_3m") is not None and zval(symbol, "avg_daily_dollar_volume_3m") > -0.75:
            repair_gate += 1

        if zval(symbol, "operating_margin_pct") is not None and zval(symbol, "operating_margin_pct") > 0.0:
            franchise_gate += 1
        if zval(symbol, "free_cash_flow_margin_pct") is not None and zval(symbol, "free_cash_flow_margin_pct") > 0.0:
            franchise_gate += 1
        if zval(symbol, "realized_vol_3m") is not None and zval(symbol, "realized_vol_3m") < 0.0:
            franchise_gate += 1
        if zval(symbol, "dividend_yield_ttm_pct") is not None and zval(symbol, "dividend_yield_ttm_pct") > -0.35:
            franchise_gate += 1
        if (
            (zval(symbol, "pe") is not None and zval(symbol, "pe") < 0.55) or
            (zval(symbol, "forward_pe") is not None and zval(symbol, "forward_pe") < 0.55)
        ):
            franchise_gate += 1

        if zval(symbol, "dividend_yield_ttm_pct") is not None and zval(symbol, "dividend_yield_ttm_pct") > -0.25:
            stabilizer_gate += 1
        if zval(symbol, "dividend_ttm") is not None and zval(symbol, "dividend_ttm") > -0.25:
            stabilizer_gate += 1
        if zval(symbol, "realized_vol_3m") is not None and zval(symbol, "realized_vol_3m") < 0.15:
            stabilizer_gate += 1
        if zval(symbol, "free_cash_flow_margin_pct") is not None and zval(symbol, "free_cash_flow_margin_pct") > -0.10:
            stabilizer_gate += 1
        if raw(symbol, "from_200d_ma_pct") is not None and raw(symbol, "from_200d_ma_pct") > -8.0:
            stabilizer_gate += 1

        conflict_penalty = 0.0
        if leader > franchise + 0.25 and repair_gate < 3 and dd_raw is not None and dd_raw < -35.0:
            conflict_penalty -= 0.35
        if repair > leader + 0.20 and (raw(symbol, "return_1m_pct") is None or raw(symbol, "return_1m_pct") <= 0.0):
            conflict_penalty -= 0.40
        if leader_gate < 3:
            leader -= 0.30
        if repair_gate < 3:
            repair -= 0.30
        if franchise_gate < 3:
            franchise -= 0.18
        if stabilizer_gate < 3:
            stabilizer -= 0.12

        if branch == "expansion":
            if leader_gate >= 3 and leader >= repair - 0.10:
                dominant = leader
            elif repair_gate >= 4:
                dominant = repair
            elif franchise_gate >= 3:
                dominant = franchise
            else:
                dominant = max(leader, repair, franchise)
            score = dominant * 0.72 + franchise * 0.14 + repair * 0.14
            if leader_gate >= 4 and raw(symbol, "from_200d_ma_pct") is not None and raw(symbol, "from_200d_ma_pct") > 4.0:
                score += 0.10
            if dd_raw is not None and dd_raw < -42.0:
                score -= 0.18
        elif branch == "rotation":
            if repair_gate >= 4 and repair > leader + 0.05:
                dominant = repair
            elif franchise_gate >= 3 and franchise > leader:
                dominant = franchise
            elif leader_gate >= 3:
                dominant = leader
            else:
                dominant = max(repair, franchise, leader)
            score = dominant * 0.64 + franchise * 0.20 + stabilizer * 0.16
            if dd_raw is not None and dd_raw <= -12.0 and dd_raw >= -30.0 and raw(symbol, "return_1m_pct") is not None and raw(symbol, "return_1m_pct") > 0.0:
                score += 0.12
        elif branch == "repair":
            if repair_gate >= 3 and raw(symbol, "return_1m_pct") is not None and raw(symbol, "return_1m_pct") > 0.0:
                dominant = repair
            elif franchise_gate >= 3:
                dominant = franchise
            elif stabilizer_gate >= 3:
                dominant = stabilizer
            else:
                dominant = max(repair, franchise, stabilizer)
            score = dominant * 0.68 + franchise * 0.20 + leader * 0.12
            if raw(symbol, "from_200d_ma_pct") is not None and raw(symbol, "from_200d_ma_pct") > -1.0:
                score += 0.08
        else:
            if franchise_gate >= 3:
                dominant = franchise
            elif stabilizer_gate >= 3:
                dominant = stabilizer
            elif repair_gate >= 4 and raw(symbol, "return_1m_pct") is not None and raw(symbol, "return_1m_pct") > 0.0:
                dominant = repair
            else:
                dominant = max(franchise, stabilizer, repair)
            score = dominant * 0.74 + stabilizer * 0.16 + repair * 0.10
            if zval(symbol, "realized_vol_3m") is not None and zval(symbol, "realized_vol_3m") > 1.0:
                score -= 0.20

        scores[symbol] = score + conflict_penalty

    return scores