exp_1196

Contrarian 52-Week Hybrid (Repair Relay with Scarcity-Value Arbitration, v1196)

← All V2 experiments
Relative return
1.363x
Excess vs bench
36.34%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
56.09%
Mean benchmark gain
14.08%
Mean excess gain
42.01%
Dispersion (ref)
25.54%
Win-rate vs bench (ref)
100.00%
Worst / best ratio (ref)
1.079x / 1.707x
Logic variants
5
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 29.48% 2.22% 1.267x
2011-07-01 … 2016-06-30 42.38% 13.74% 1.252x
2016-07-01 … 2021-06-30 98.14% 20.63% 1.643x
2021-07-01 … 2026-06-26 82.39% 15.48% 1.579x
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.363x · beat benchmark in 179/179
#WindowStrategyBenchmarkRatio
1 2006-07-31 … 2011-07-29 26.42% 1.79% 1.242x
2 2006-08-31 … 2011-08-31 23.87% 0.21% 1.236x
3 2006-09-29 … 2011-08-31 20.50% -0.14% 1.207x
4 2006-10-31 … 2011-10-31 20.57% 0.23% 1.203x
5 2006-11-30 … 2011-11-30 16.93% -0.05% 1.170x
6 2006-12-29 … 2011-11-30 17.21% -0.32% 1.176x
7 2007-01-31 … 2012-01-31 17.62% 0.93% 1.165x
8 2007-02-28 … 2012-01-31 16.74% 1.43% 1.151x
9 2007-03-30 … 2012-03-30 19.70% 3.09% 1.161x
10 2007-04-30 … 2012-04-30 18.90% 2.42% 1.161x
11 2007-05-31 … 2012-05-31 14.69% 0.60% 1.140x
12 2007-06-29 … 2012-06-29 13.04% 1.92% 1.109x
13 2007-07-31 … 2012-07-31 12.70% 2.69% 1.097x
14 2007-08-31 … 2012-08-31 14.06% 2.95% 1.108x
15 2007-09-28 … 2012-09-28 12.88% 3.20% 1.094x
16 2007-10-31 … 2012-10-31 12.26% 2.60% 1.094x
17 2007-11-30 … 2012-11-30 12.28% 3.45% 1.085x
18 2007-12-31 … 2012-12-31 11.88% 3.69% 1.079x
19 2008-01-31 … 2013-01-31 16.17% 5.85% 1.098x
20 2008-02-29 … 2013-02-28 19.54% 6.82% 1.119x
21 2008-03-31 … 2013-03-28 22.21% 7.73% 1.134x
22 2008-04-30 … 2013-04-30 22.93% 7.51% 1.143x
23 2008-05-30 … 2013-04-30 22.28% 7.81% 1.134x
24 2008-06-30 … 2013-06-28 26.53% 9.33% 1.157x
25 2008-07-31 … 2013-07-31 31.35% 10.48% 1.189x
26 2008-08-29 … 2013-07-31 31.59% 10.52% 1.191x
27 2008-09-30 … 2013-09-30 37.91% 11.48% 1.237x
28 2008-10-31 … 2013-10-31 47.32% 15.76% 1.273x
29 2008-11-28 … 2013-10-31 52.68% 17.46% 1.300x
30 2008-12-31 … 2013-12-31 54.04% 18.44% 1.301x
31 2009-01-30 … 2013-12-31 55.11% 20.64% 1.286x
32 2009-02-27 … 2014-01-31 58.11% 21.63% 1.300x
33 2009-03-31 … 2014-03-31 57.18% 20.60% 1.303x
34 2009-04-30 … 2014-04-30 48.60% 19.00% 1.249x
35 2009-05-29 … 2014-04-30 47.23% 18.32% 1.244x
36 2009-06-30 … 2014-06-30 49.29% 19.01% 1.254x
37 2009-07-31 … 2014-07-31 44.26% 17.39% 1.229x
38 2009-08-31 … 2014-08-29 42.50% 17.70% 1.211x
39 2009-09-30 … 2014-09-30 40.05% 16.64% 1.201x
40 2009-10-30 … 2014-09-30 44.60% 17.08% 1.235x
41 2009-11-30 … 2014-11-28 41.99% 16.82% 1.215x
42 2009-12-31 … 2014-12-31 40.27% 16.28% 1.206x
43 2010-01-29 … 2014-12-31 42.58% 17.23% 1.216x
44 2010-02-26 … 2015-01-30 40.92% 15.80% 1.217x
45 2010-03-31 … 2015-03-31 40.56% 15.40% 1.218x
46 2010-04-30 … 2015-04-30 38.32% 15.38% 1.199x
47 2010-05-28 … 2015-04-30 40.54% 17.09% 1.200x
48 2010-06-30 … 2015-06-30 44.06% 17.45% 1.226x
49 2010-07-30 … 2015-06-30 43.66% 16.43% 1.234x
50 2010-08-31 … 2015-08-31 41.63% 15.76% 1.223x
51 2010-09-30 … 2015-09-30 38.69% 13.61% 1.221x
52 2010-10-29 … 2015-09-30 37.86% 13.06% 1.219x
53 2010-11-30 … 2015-11-30 39.72% 15.09% 1.214x
54 2010-12-31 … 2015-12-31 39.71% 13.55% 1.230x
55 2011-01-31 … 2016-01-29 35.60% 11.90% 1.212x
56 2011-02-28 … 2016-01-29 36.19% 11.53% 1.221x
57 2011-03-31 … 2016-03-31 38.87% 12.90% 1.230x
58 2011-04-29 … 2016-04-29 38.03% 12.39% 1.228x
59 2011-05-31 … 2016-05-31 37.90% 12.94% 1.221x
60 2011-06-30 … 2016-06-30 39.80% 13.30% 1.234x
61 2011-07-29 … 2016-07-29 45.60% 14.52% 1.271x
62 2011-08-31 … 2016-08-31 47.74% 15.19% 1.283x
63 2011-09-30 … 2016-09-30 49.19% 16.32% 1.283x
64 2011-10-31 … 2016-10-31 45.10% 14.02% 1.273x
65 2011-11-30 … 2016-11-30 50.04% 14.66% 1.309x
66 2011-12-30 … 2016-12-30 50.15% 14.92% 1.307x
67 2012-01-31 … 2017-01-31 48.55% 14.63% 1.296x
68 2012-02-29 … 2017-02-28 47.04% 14.78% 1.281x
69 2012-03-30 … 2017-02-28 46.12% 14.43% 1.277x
70 2012-04-30 … 2017-04-28 42.42% 14.61% 1.243x
71 2012-05-31 … 2017-05-31 46.85% 15.98% 1.266x
72 2012-06-29 … 2017-05-31 47.60% 15.44% 1.279x
73 2012-07-31 … 2017-07-31 47.51% 15.43% 1.278x
74 2012-08-31 … 2017-08-31 47.59% 15.12% 1.282x
75 2012-09-28 … 2017-08-31 47.54% 14.77% 1.285x
76 2012-10-31 … 2017-10-31 51.15% 16.12% 1.302x
77 2012-11-30 … 2017-11-30 51.50% 16.79% 1.297x
78 2012-12-31 … 2017-12-29 50.02% 16.93% 1.283x
79 2013-01-31 … 2018-01-31 50.82% 17.57% 1.283x
80 2013-02-28 … 2018-02-28 52.19% 16.21% 1.310x
81 2013-03-28 … 2018-02-28 50.09% 15.81% 1.296x
82 2013-04-30 … 2018-04-30 46.58% 14.25% 1.283x
83 2013-05-31 … 2018-05-31 40.46% 14.57% 1.226x
84 2013-06-28 … 2018-05-31 44.10% 14.97% 1.253x
85 2013-07-31 … 2018-07-31 42.93% 14.83% 1.245x
86 2013-08-30 … 2018-07-31 43.41% 15.59% 1.241x
87 2013-09-30 … 2018-09-28 45.69% 15.84% 1.258x
88 2013-10-31 … 2018-10-31 35.75% 12.89% 1.202x
89 2013-11-29 … 2018-10-31 35.49% 12.60% 1.203x
90 2013-12-31 … 2018-12-31 30.96% 9.93% 1.191x
91 2014-01-31 … 2019-01-31 32.34% 12.37% 1.178x
92 2014-02-28 … 2019-02-28 32.89% 12.38% 1.183x
93 2014-03-31 … 2019-03-29 35.54% 12.76% 1.202x
94 2014-04-30 … 2019-04-30 37.88% 13.73% 1.212x
95 2014-05-30 … 2019-04-30 37.03% 13.54% 1.207x
96 2014-06-30 … 2019-06-28 37.35% 12.81% 1.218x
97 2014-07-31 … 2019-07-31 39.73% 13.30% 1.233x
98 2014-08-29 … 2019-07-31 39.16% 12.80% 1.234x
99 2014-09-30 … 2019-09-30 40.85% 12.70% 1.250x
100 2014-10-31 … 2019-10-31 40.15% 12.91% 1.241x
101 2014-11-28 … 2019-10-31 39.77% 12.60% 1.241x
102 2014-12-31 … 2019-12-31 42.98% 14.16% 1.252x
103 2015-01-30 … 2019-12-31 42.84% 14.85% 1.244x
104 2015-02-27 … 2020-01-31 43.40% 14.04% 1.257x
105 2015-03-31 … 2020-03-31 42.67% 8.56% 1.314x
106 2015-04-30 … 2020-04-30 49.01% 11.65% 1.335x
107 2015-05-29 … 2020-05-29 47.98% 12.61% 1.314x
108 2015-06-30 … 2020-06-30 51.74% 13.64% 1.335x
109 2015-07-31 … 2020-07-31 55.58% 14.60% 1.358x
110 2015-08-31 … 2020-08-31 62.01% 18.07% 1.372x
111 2015-09-30 … 2020-09-30 61.50% 17.05% 1.380x
112 2015-10-30 … 2020-10-30 57.23% 14.60% 1.372x
113 2015-11-30 … 2020-11-30 67.14% 17.43% 1.423x
114 2015-12-31 … 2020-12-31 68.13% 18.65% 1.417x
115 2016-01-29 … 2021-01-29 102.53% 19.26% 1.698x
116 2016-02-29 … 2021-02-26 95.42% 19.79% 1.631x
117 2016-03-31 … 2021-03-31 98.26% 19.42% 1.660x
118 2016-04-29 … 2021-03-31 99.93% 19.66% 1.671x
119 2016-05-31 … 2021-05-28 100.91% 20.42% 1.668x
120 2016-06-30 … 2021-06-30 100.36% 21.06% 1.655x
121 2016-07-29 … 2021-06-30 98.14% 20.63% 1.643x
122 2016-08-31 … 2021-08-31 97.50% 21.75% 1.622x
123 2016-09-30 … 2021-09-30 92.53% 20.22% 1.602x
124 2016-10-31 … 2021-10-29 98.44% 22.50% 1.620x
125 2016-11-30 … 2021-11-30 97.50% 21.87% 1.621x
126 2016-12-30 … 2021-11-30 99.08% 21.75% 1.635x
127 2017-01-31 … 2022-01-31 88.49% 20.17% 1.568x
128 2017-02-28 … 2022-02-28 90.52% 18.51% 1.608x
129 2017-03-31 … 2022-03-31 91.93% 19.46% 1.607x
130 2017-04-28 … 2022-03-31 94.55% 19.46% 1.629x
131 2017-05-31 … 2022-05-31 89.28% 15.59% 1.638x
132 2017-06-30 … 2022-06-30 85.65% 13.08% 1.642x
133 2017-07-31 … 2022-07-29 87.78% 15.16% 1.631x
134 2017-08-31 … 2022-08-31 83.51% 13.72% 1.614x
135 2017-09-29 … 2022-08-31 84.68% 13.56% 1.626x
136 2017-10-31 … 2022-10-31 76.07% 11.86% 1.574x
137 2017-11-30 … 2022-11-30 77.57% 12.52% 1.578x
138 2017-12-29 … 2022-11-30 79.16% 12.46% 1.593x
139 2018-01-31 … 2023-01-31 75.50% 11.01% 1.581x
140 2018-02-28 … 2023-02-28 71.96% 11.03% 1.549x
141 2018-03-29 … 2023-02-28 72.65% 11.72% 1.545x
142 2018-04-30 … 2023-04-28 69.81% 13.01% 1.503x
143 2018-05-31 … 2023-05-31 72.06% 12.95% 1.523x
144 2018-06-29 … 2023-05-31 70.77% 13.01% 1.511x
145 2018-07-31 … 2023-07-31 79.66% 14.67% 1.567x
146 2018-08-31 … 2023-08-31 75.02% 13.51% 1.542x
147 2018-09-28 … 2023-08-31 74.47% 13.56% 1.536x
148 2018-10-31 … 2023-10-31 72.98% 12.60% 1.536x
149 2018-11-30 … 2023-11-30 77.53% 14.58% 1.549x
150 2018-12-31 … 2023-12-29 86.39% 17.26% 1.590x
151 2019-01-31 … 2024-01-31 85.70% 16.27% 1.597x
152 2019-02-28 … 2024-01-31 82.70% 15.94% 1.576x
153 2019-03-29 … 2024-03-28 95.72% 17.50% 1.666x
154 2019-04-30 … 2024-04-30 92.12% 15.50% 1.663x
155 2019-05-31 … 2024-05-31 96.28% 18.12% 1.662x
156 2019-06-28 … 2024-06-28 93.42% 17.99% 1.639x
157 2019-07-31 … 2024-07-31 87.55% 17.70% 1.594x
158 2019-08-30 … 2024-08-30 89.58% 18.41% 1.601x
159 2019-09-30 … 2024-09-30 92.66% 18.65% 1.624x
160 2019-10-31 … 2024-10-31 95.77% 17.87% 1.661x
161 2019-11-29 … 2024-11-29 102.57% 18.64% 1.707x
162 2019-12-31 … 2024-12-31 94.17% 17.62% 1.651x
163 2020-01-31 … 2025-01-31 98.75% 18.07% 1.683x
164 2020-02-28 … 2025-02-28 94.15% 19.00% 1.631x
165 2020-03-31 … 2025-03-31 91.47% 19.24% 1.606x
166 2020-04-30 … 2025-04-30 83.69% 16.49% 1.577x
167 2020-05-29 … 2025-04-30 83.69% 15.80% 1.586x
168 2020-06-30 … 2025-06-30 82.81% 18.19% 1.547x
169 2020-07-31 … 2025-07-31 79.75% 17.87% 1.525x
170 2020-08-31 … 2025-08-29 78.13% 16.69% 1.527x
171 2020-09-30 … 2025-09-30 83.85% 18.57% 1.551x
172 2020-10-30 … 2025-09-30 86.57% 19.43% 1.562x
173 2020-11-30 … 2025-11-28 77.44% 17.77% 1.507x
174 2020-12-31 … 2025-12-31 81.54% 16.92% 1.553x
175 2021-01-29 … 2025-12-31 59.73% 17.20% 1.363x
176 2021-02-26 … 2026-01-30 68.37% 17.04% 1.439x
177 2021-03-31 … 2026-03-31 65.14% 14.07% 1.448x
178 2021-04-30 … 2026-04-30 76.11% 16.03% 1.518x
179 2021-05-28 … 2026-04-30 76.68% 16.22% 1.520x
Notes
mode=explore; family=contrarian-52w-hybrid New hybrid family that combines deep 52-week contrarian repair, regime-aware momentum leadership, and quality/value durability, but resolves conflicts with an explicit relay instead of a static blend. The arbitration is deliberate: panic tapes require repair evidence before honoring drawdowns, clean bull tapes let trend win only when extension is controlled, euphoric tapes tax crowded leaders and rotate toward fresher repair or durable value, transitional tapes compare repair and momentum directly, and narrow/defensive tapes route toward compounders unless a rebound case is overwhelming. Deliberate metric coverage this run: active momentum uses return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, and momentum_12_1_pct; trend/recovery uses both from_200d_ma_pct and from_52w_high_pct; volatility uses realized_vol_3m; liquidity uses avg_daily_volume_3m, avg_daily_dollar_volume_3m, and trading_days_3m; income uses dividend_yield_ttm_pct and dividend_ttm; valuation uses pe, forward_pe, and peg; growth uses eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, and forward_eps; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a raw tilt/gate rather than a z-score rank. Deliberate weight-0 metrics this run: revenue_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm. Sparse fundamentals are normalized by present weight inside each sleeve so missing fields do not mechanically dominate selection.
Lesson notes
#894 · degrade · relative_return Δ -0.0229 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-hybrid: relative_return 1.3634x (delta -0.0229 vs exp_1137); win-rate 100.0%, worst-window 1.078972, dispersion 25.5384%.
Monthly picks — top stocks selected each month (whole timeline)
timeline — 240 months · top 15 each
Month 123456789101112131415
2006-07-31 AAPL GOOG GOOGL MSFT AMGN XOM GE DCNAQ MDT NVDA GEN NEE AEP JNJ IBM
2006-08-31 MAY AKAM ILMN MNST AAPL NVDA ATI REGN EME AT ADM SLG LVS TYL DECK
2006-09-29 MAY AKAM ILMN AT MNST BKNG NVDA LVS AAL DLR EME IVZ MA ATI INCLF
2006-10-31 MAY DECK MA AKAM BKNG AT ALGN NVDA INCLF LVS ILMN ATI BMET BLS ICE
2006-11-30 MAY MA ICE ALGN ATI DECK AKAM NVDA ILMN REGN UAA UAL AT MTW ALB
2006-12-29 MAY MA UAL ICE ATI NVDA ALGN MTW AT ILMN ALB LVS WST CF DECK
2007-01-31 MAY MA ICE MGM WYNN GT AKAM CF ALGN AT UAL BMET KMX LVS INCY
2007-02-28 MAY FSLR CF ICE ALGN MGM MA GT ATI TDG ON ALB BKNG DLX EOP
2007-03-30 MAY FSLR CF GT BKNG MGM ATI MOS ANDV DLX ICE ALB MA CE OI
2007-04-30 MAY FSLR GT CF ANDV AMZN ALGN MOS BKNG OI NRG DLX TEX CMI REGN
2007-05-31 MAY FSLR GT ALGN CF CLF AMZN ANDV MA OI DLX DECK WBD CE CMI
2007-06-29 MAY FSLR KMG CF MA GT AL ALGN AAPL OI DLX AXON MOS DECK AMZN
2007-07-31 MAY FSLR CF KMG AL ALGN AXON MA ISRG AAPL AMZN OI DECK MOS DJ
2007-08-31 CF KMG FSLR ALGN ISRG AL GRMN AMZN AAPL OI GME NVDA MOS BKNG CMI
2007-09-28 CF KMG GRMN AMZN MOS WYNN FSLR MPWR AL OI PODD ISRG NOV GME BKNG
2007-10-31 CF MOS ISRG FSLR PODD BBBY AAPL WYNN GME NOV CMG GRMN MPWR LULU AL
2007-11-30 FSLR CF ISRG MOS PODD AAPL BKNG DECK JEC CMG PRGO MA GME GOOG AL
2007-12-31 FSLR MOS CF ISRG AAPL PRGO BKNG CNX DECK OI CMG J MA DE JEC
2008-01-31 AAPL JCI POOL MAY HD GOOG VTRS BC GOOGL COO PFE MSFT BLDR PHM AMAT
2008-02-29 AAPL JCI MAY MCO CSCO XOM HAL CMCSA MMM KSS TXN HSY PFE F CPB
2008-03-31 AAPL JCI MSFT MAY GE BBWI TMUS AAMRQ LXK AMZN HD CMCSA ADI MO XOM
2008-04-30 AAPL GOOG GOOGL JCI ON CSCO C BBBY SPGI XOM NTAP INTC BX F HAL
2008-05-30 FSLR MEE MOS ESV CLF CF SWN MA BTUUQ BCR HP BBBY ILMN CNX APOL
2008-06-30 AAPL GOOG GOOGL MSFT MAY XOM AMGN JBL ED NVDA XRX MRK SPGI CVX PEG
2008-07-31 AAPL GS BAC GE PFE TLAB MSI AMGN INTC ELV PG WHR MSFT NVDA UAA
2008-08-29 SWN MBI BCR DF ESV ROH CLF FSLR CF APOL ATGE CELG FDO MOS FI
2008-09-30 AAPL NVDA MSFT GE AXON XOM C BAC ULTA CSCO MMM HPQ SBUX LLY F
2008-10-31 AAPL NVDA GOOG GOOGL UAL MSFT XOM AAL TXN BA INTC MU DAL CAG CSCO
2008-11-28 AAPL GOOG GOOGL MSFT XOM CAT ETN NVDA GE PH F CAG BKNG HPQ CSCO
2008-12-31 AAPL GOOGL GOOG NVDA GS XOM KMG MSFT RCL AMZN SNDK ANF HON MRVL GRMN
2009-01-30 AAPL NVDA GOOG GOOGL XOM SW MOS WDC GGP MDR SNDK WLL ODP VLO LVLT
2009-02-27 AAPL NVDA MOS XOM GOOG GOOGL FCX GS ANF CF EBAY MSFT MA HAL CRL
2009-03-31 AAPL NVDA GGP ASH GOOG FCX BAC MOS MEE EBAY GOOGL CF WDC FMCC F
2009-04-30 AAPL NVDA BAC MGM ASH LVS GGP GOOG F HAL EBAY FCX ISRG MAC THC
2009-05-29 BAC AAPL GNW CAR NVDA GE MOS MAY C LVS GGP HAL CF GOOG EBAY
2009-06-30 CAR F VRTS PALM BAC GNW AN ASH SW BLDR FHN ORLY MTG WBD EOG
2009-07-31 CAR F PALM BLDR AN MTG GNW BAC FITB ASH WBD SWKS SW AAPL THC
2009-08-31 CAR PALM SSP F FNMA AIG BLDR MU GNW FMCC AN BKNG BAC C SNDK
2009-09-30 CAR PALM SSP SANM BKNG GNW SW MU UAL WBD SNDK AAPL BC THC ASH
2009-10-30 CAR SW GNW KMG C AAPL HIG BKNG PALM BC SNDK DDS VSTNQ F BAC
2009-11-30 CAR KMG GNW UIS GGP VSTNQ AAPL SW DDS FCX BAC STX SNDK C GILD
2009-12-31 CAR GGP AMD SANM DDS AAPL VSTNQ F UIS WFM SW BAC WLL LULU BKNG
2010-01-29 CAR SANM AMD GGP UAL INCY F GNW ACS RCL STX SW LULU DDS ASH
2010-02-26 CAR SANM GNW AAPL UAL ACS UIS F BAC GGP TMUS SNV AAL LYV ASH
2010-03-31 SANM GNW AAPL CAR UAL INCY GGP F MTG LYV TMUS SNV ETFC MAC WLL
2010-04-30 UAL GNW SANM INCY AAPL ETFC MTG LYV GGP CAR TMUS WLL SSP VIAV BBWI
2010-05-28 UAL ETFC BC SSP VSTNQ INCY SANM NFLX AAL DDS WLL GGP URI MTG LULU
2010-06-30 AAPL PALM C ABT T VZ LLY XOM AMGN BAC EXC DISH NVDA JNJ UNH
2010-07-30 UAL AAL ETFC AIG LVS FFIV NFLX ALK LULU SANM AKAM DECK VSTNQ NTAP AAPL
2010-08-31 AAPL NVDA XOM EBAY MRO PFE MSFT QCOM BAX GS AMGN JNJ MA DISH GOOGL
2010-09-30 ETFC NFLX FFIV BKNG AKAM VSTNQ LVS VRTS FTNT WLL NTAP UAL LYB MBI CMI
2010-10-29 ETFC NFLX LVS UAL FTNT AAL BKNG FFIV INCY WLL MBI AKAM NTAP VRTS CMG
2010-11-30 ETFC LVS NFLX TSLA UAL VRTS CMG FFIV AAL BKNG DECK URI MBI ACAS WLL
2010-12-31 ETFC VRTS NXPI LVS NFLX ACAS URI DECK LYB MBI WLL FFIV CMG LULU IPGP
2011-01-31 MAY ETFC AAPL BAC ACAS URI LVS NFLX WLL SVU VRTS STX CSCO DF GILD
2011-02-28 MAY ETFC AAPL NXPI URI BAC WY SVU LULU CSCO PHM NVDA STX MSFT C
2011-03-31 MAY AAPL ETFC URI IPGP NXPI BAC WY NVDA VRTS STX CSCO PHM V MSFT
2011-04-29 MAY AAPL IPGP ETFC LULU NXPI NVDA CSCO BAC MSFT FL BBY V BKNG PHM
2011-05-31 MAY AAPL IPGP ETFC BKNG AIG CSCO NVDA BAC MSFT MCO EP LULU ACAS MEE
2011-06-30 MAY IPGP EP ETFC REGN ULTA FTNT LULU DDS WCG BKNG DPZ ABMD COG NFLX
2011-07-29 MAY VRTS IPGP LULU CTRA DPZ ULTA AAPL NFLX EP REGN DDS WCG COG CMG
2011-08-31 AAPL MSFT CSCO NVDA GOOG GOOGL XOM INTC T PG ADI VZ AZO JPM ED
2011-09-30 AAPL NVDA GOOG GOOGL MSFT INTC GE MRVL TXN XOM DAL AMAT CSCO T ADBE
2011-10-31 AAPL NVDA AKAM AMAT DAL RCL F TEX GOOG GOOGL CSCO GM ADBE TXN ADI
2011-11-30 AAPL NVDA HPQ GOOGL GOOG XOM INTC FL PFE LOW BBY MRVL GE AKAM VZ
2011-12-30 AAPL GE MTG GOOGL GOOG MSFT CF PFE JPM XOM NVDA NFLX BAC ADBE AMGN
2012-01-31 FBHS REGN GNRC URI COG NFLX WCG FAST MNST STX ABMD ULTA CNC DPZ HFC
2012-02-29 REGN STX URI AAPL APTV BLDR MOH FBHS DPZ WCG NFLX HFC COG MNST ULTA
2012-03-30 REGN BLDR STX AAPL CPRI URI EQIX MNST NFLX ULTA DPZ HFC LULU MOH FAST
2012-04-30 REGN BLDR AAPL STX DPZ URI CPRI EQIX MNST BKNG EC ISRG M ORLY ROST
2012-05-31 AAL REGN BLDR AAPL MNST TRIP VRTX EQIX LULU SHW TJX ROST STX GPS SBUX
2012-06-29 AAL BLDR AAPL REGN TRIP MNST EQIX EXPE SHW LEN STX DHI DG GPS PHM
2012-07-31 AAPL REGN STX EXPE AAL SHW EQIX PHM ROST LEN MNST DG GPS CHTR ALGN
2012-08-31 STX PHM REGN GPS AAPL LPX ANDV LEN STZ EQIX DHI SHW BLDR PSX ROST
2012-09-28 PHM STX BLDR NOW ANDV REGN KBH GPS LPX LEN DHI LYB PSX EQIX ALGN
2012-10-31 PHM BLDR BBBY KBH LPX GNRC AAPL LEN WHR REGN DHI STZ SW ANDV AXON
2012-11-30 BLDR PHM BBBY KBH WHR GNRC LPX AAL PSX LEN STZ REGN ANDV MPC SW
2012-12-31 PHM REGN LPX BBBY WHR AAL KBH BLDR SW GNRC DDS ANDV AXON MPC DXC
2013-01-31 PHM OMX NFLX LPX THC BLDR WHR ANDV KBH VRTS MPC DXC VLO META PSX
2013-02-28 NFLX OMX LPX VRTS APO THC PHM MPC MTG VLO KBH ANDV BC GILD DAL
2013-03-28 OMX FNMA NFLX FMCC VRTS MPC LPX MTG THC CPAY CTRA ANDV KBH PHM GILD
2013-04-30 OMX AAPL FNMA FMCC NFLX VRTS KKR MTG THC KBH CAR GILD ANDV HRB NVDA
2013-05-31 FMCC FNMA AAPL OMX NFLX FSLR VRTS MTG TSLA KKR KBH JCP BBBY STZ APOL
2013-06-28 FMCC FNMA OMX TSLA BBBY FSLR NFLX MTG MU GME FANG WDC CPAY REGN SVU
2013-07-31 OMX FNMA TSLA FMCC AAPL BBBY MTG GME MU CLF SVU PFE FTNT JCP FSLR
2013-08-30 OMX TSLA MTG FNMA FMCC BBBY GME SVU NFLX META BBY FANG MU FL TRIP
2013-09-30 OMX TSLA NFLX MTG FMCC FNMA META AXON BBBY SVU BBY REGN GME CPAY FL
2013-10-31 OMX FMCC FNMA TSLA AXON MU MTG META INCY FANG NFLX KATE BBY DAL DXCM
2013-11-29 OMX FNMA FMCC AAPL MU NFLX META DAL PHM MTG ISRG JCP BBY INCY CSGP
2013-12-31 FNMA FMCC AAPL NFLX MU INCY META PHM KATE JCP ISRG BBY DAL TKO PBI
2014-01-31 FMCC FNMA INCY TKO ILMN MU TSLA DXCM KATE AAL NFLX ETFC BX CELG FLT
2014-02-28 FMCC FNMA AAPL TSLA ILMN TKO MU INCY META AAL NVDA JCP WYNN DXCM BX
2014-03-31 FMCC FNMA TSLA TKO ILMN AAL FRX DXCM UAA FANG FSLR TPL MU META DAL
2014-04-30 FMCC FNMA TSLA FANG MU FRX NXPI AAL CAR TPL TKO HP DAL AVGO SWKS
2014-05-30 META MU FRX FANG DAL AAL FMCC SWKS NXPI TPL ILMN URI TSLA FNMA TRGP
2014-06-30 AAL MMI META FMCC FANG MU FRX FNMA SMCI TRGP TPL NFX SWKS DAL CAR
2014-07-31 MU FMCC MMI FNMA FANG FRX TPL SWKS TRGP NFX WMB SMCI NBR LUV AAPL
2014-08-29 MMI ENPH FMCC MU SWKS LUV FNMA CAR TPL TRGP PAYC FANG INTC WMB URI
2014-09-30 ENPH TPL SWKS MMI LUV ANET GILD SMCI MU PANW AAPL URI TRGP AVGO HCA
2014-10-31 MMI PANW ENPH SMCI SWKS LUV AVGO MNST GILD MU EW GMCR SIAL VRTX ILMN
2014-11-28 PAYC PANW SMCI SWKS EW MMI LUV MNST AVGO EA GMCR VRTX AAPL RCL CNC
2014-12-31 PAYC LUV SWKS PANW AXON EW AAL MMI SMCI UAL EA CNC MNST DAL ALK
2015-01-30 SWKS PAYC AXON LUV EA PANW LULU KR MNST MMI BBWI AAPL CNC ALK UAL
2015-02-27 SWKS EA PANW SMCI CNC PAYC MMI LULU AAPL LUV ANDV BBWI KR AVGO MNST
2015-03-31 SWKS PAYC CNC EA PANW MNST AVGO CNXT EPAM ANDV INCY MMI HSP AAPL BBWI
2015-04-30 CZR BLDR CNXT PAYC SWKS PANW HSP INCY EPAM DXCM KMG MNST EA ABMD MAY
2015-05-29 CZR CNXT BLDR AXON SWKS PAYC KMG BTUUQ INCY DXCM MMI PANW ABMD VTSS HSP
2015-06-30 CZR BTUUQ SEDG BLDR AXON NFLX SWKS PANW CNC DXCM COTY GDDY AAPL CI PAYC
2015-07-31 BLDR CZR PANW NFLX MMI DXCM ABMD BTUUQ FIX EA AAPL MNST TKO INCY PAYC
2015-08-31 AAPL NVDA GE META INTC CCI BKNG NOV NTAP URI CAT SPG BAC EBAY CPRI
2015-09-30 AAPL NVDA GE META INTC BKNG SPG PG ORCL KLAC WMT BAC PLD O LUV
2015-10-30 AAPL NVDA GE URI GILD AMAT META BKNG INTC CAT CCI QCOM ORCL NEM PG
2015-11-30 ABMD FIX NFLX NVDA CZR ATVI TYL GPN AAPL AMZN GE LDOS CVC VRSN AYI
2015-12-31 ABMD CZR NVDA ATVI NFLX AMZN AYI GE GOOGL FSLR GOOG VRSN HRL AAPL LDOS
2016-01-29 AAPL GE NVDA WMT M MSFT MRVL X PFE META JWN WPX ETN ORCL GOOGL
2016-02-29 AAPL GE NVDA M X GILD BKNG NAV APOL JWN GME META UAL IBM DDS
2016-03-31 TSN CZR NVDA MAT ABMD NEM LITE GE ANF AAPL CPGX HRL PSA CPB META
2016-04-29 CLF XYZ NEM LITE AMD FCX CNX NVDA TSN CZR ABMD WB MTW MAY EW
2016-05-31 AMD NVDA WB DXC CZR ABMD MTW CLF OKE EVRG CNX ULTA MDR X META
2016-06-30 CLF NVDA AMD OKE DXC CZR X WB NEM ABMD MDR AWK DLR EVRG ALB
2016-07-29 AMD CLF NVDA DHR WB X NEM JOY DXC AAPL MDR WPX ABMD ALB AMAT
2016-08-31 AMD WB NVDA X DHR CLF JOY NEM WPX MDR NAV MKTX AMAT SPGI CNX
2016-09-30 AMD WB X NVDA DHR LITE CLF JOY AMAT WPX CNX MDR SPGI GNW VEEV
2016-10-31 AMD WB X NVDA LITE TPL DHR CNX WPX DXC NAV AMAT JOY GEN MDR
2016-11-30 CLF AMD X NVDA FMCC FNMA WB TPL CNX DHR WPX LITE DXC COHR WOR
2016-12-30 CLF FMCC AMD FNMA NVDA X TPL NBR STLD UIS OKE TRGP WPX DHR MBI
2017-01-31 CLF AMD NVDA FMCC FNMA X TPL TRGP URI NBR FCX WB NAV WPX SANM
2017-02-28 AMD CLF X NVDA TTD URI HWM CSX NAV WB SLM WDC BAC TPL DXC
2017-03-31 AMD NVDA X CLF WB MU URI HWM NAV CSX ANET INCY SLM BAC TTD
2017-04-28 AMD NVDA X KMG MU ANET WDC NAV AMAT IDXX CSX ALGN SLM TTD DXC
2017-05-31 NVDA KMG TTD WB XYZ MU ANET X LRCX CSX AMD WDC NAV IDXX ALGN
2017-06-30 NVDA XYZ TTD WB CVNA ANET CSX LITE TTWO ALGN TSLA VEEV BBY ADSK IPGP
2017-07-31 CVNA NVDA XYZ TTD WB LITE ANET ALGN MU TTWO NRG VEEV IPGP LRCX BA
2017-08-31 CVNA NVDA WB NRG XYZ TTWO ALGN BA TPL VRTX SEDG ANET IPGP LRCX PYPL
2017-09-29 NVDA WB TTWO BBBY IPGP XYZ NRG ANET ALGN SEDG BA MTW TTD MU TPL
2017-10-31 BBBY NVDA XYZ MU TTD SEDG ALGN TTWO MTW ANET WB NRG IPGP CZR LRCX
2017-11-30 ENPH BBBY XYZ SEDG ALGN MU NVDA ANET IPGP NRG NVR TTWO PENN TWTR FSLR
2017-12-29 BBBY ENPH SEDG XYZ ANET ALGN WB NRG TWTR MU FSLR IPGP NVR MAY PENN
2018-01-31 BBBY NKTR MAY ANET SEDG MU NVDA AAPL XYZ ALGN MTCH PENN CZR META TWTR
2018-02-28 NKTR BBBY SEDG XYZ NVDA EC ENPH MTCH ANET WB ALGN TWTR NFLX MU ABBV
2018-03-29 NKTR ENPH SEDG XYZ MTCH NCC MU ETSY NVDA MAY NFLX HET EC FSLR TWTR
2018-04-30 NKTR ENPH SEDG ETSY HET MTCH EC CVNA ANF AXON XYZ NVDA LULU NFLX TWTR
2018-05-31 ENPH NKTR AXON THC TKO HET CVNA SEDG ETSY EC TPL NFLX LULU XYZ CCI
2018-06-29 ENPH TKO HET NKTR AXON ETSY CVNA NFLX TTD XYZ THC TPL ALGN LULU CCI
2018-07-31 ENPH TKO HET AXON ETSY CVNA THC TTD XYZ TPL SVU ALGN NKTR ANF M
2018-08-31 HET CVNA ENPH TKO TTD XYZ AXON ETSY DXCM AMD LULU SVU MOH ABMD UIS
2018-09-28 HET CVNA TKO AMD TTD XYZ DXCM ETSY AXON ABMD UIS LULU FTNT PAYC MOH
2018-10-31 CCI AAPL AMZN BBWI NVDA TSLA EXR BEN F AVGO NFLX GIS TSN CBOE BKNG
2018-11-30 HET ETSY CCI TTD RHT SVU TKO KDP CVNA AMD DXCM MOH ABMD MKC AMZN
2018-12-31 CCI AMZN AAPL EXR NVDA XRAY EBAY BEN GIS AN MSFT NEM T PHM BKNG
2019-01-31 HET ENPH TTD FNMA FMCC ETSY CCI DXCM AMD CIEN TKO RHT PAYC WDAY MTCH
2019-02-28 HET ENPH FNMA FMCC TTD CCI ETSY NVDA CIEN PAYC KEYS DXCM MTCH ERIE RHT
2019-03-29 HET TTD FNMA FMCC ENPH ETSY AMD CMG CVNA EXR PAYC KEYS SSP ERIE NYT
2019-04-30 HET TTD CVNA ENPH MRNA AMD ETSY AVP PAYC VEEV SMCI FMCC CDNS SSP FNMA
2019-05-31 HET ENPH EXR FNMA FMCC CVNA MTCH TTD VEEV AVP PAYC AMD ERIE AMZN CCI
2019-06-28 HET ENPH EXR AVP ERIE TTD VEEV PAYC FNMA NVDA AMD FMCC SEDG MTCH BALL
2019-07-31 ENPH HET TTD AVP PAYC VEEV ERIE EXR MKTX MTCH BALL CDNS CMG FICO PODD
2019-08-30 ENPH HET EXR AVP SEDG MKTX BALL SBUX NCC NVDA MTCH PODD BX CCI HSY
2019-09-30 HET ENPH EXR SEDG AVP FNMA FMCC PODD NCC KLAC TER LRCX KBH CCI BLDR
2019-10-31 HET ENPH AVP SEDG FNMA FMCC GNRC PODD BLDR KLAC EXR KBH LRCX NWL TER
2019-11-29 HET ENPH AVP BLDR GNRC AAPL LRCX JBL SEDG NVDA TSLA LEG KLAC TER CVNA
2019-12-31 HET ENPH CVNA THC TSLA AAPL BLDR AMD AVP QRVO LRCX DXCM GNRC NVDA APO
2020-01-31 HET TSLA ENPH AAPL SEDG AMD PODD PAYC NVDA QRVO DDOG AVP GNRC BLDR DXCM
2020-02-28 EXR AAPL TSLA NVDA AMZN CCI ABMD MSFT SWN X CTRA LLY T DLTR ETSY
2020-03-31 EXR AAPL TSLA AMZN NVDA DVN MSFT CCI TDC ANET ABMD AOS MDP GOOG GOOGL
2020-04-30 DVN EXR AAPL AMZN TSLA NVDA AM RRC MSFT EQT BBBY TDC MRO TUP CCI
2020-05-29 EXR AAPL TUP NVDA AMZN DVN TSLA WPX NBR MSFT VIAC CCI NFLX BKNG PD
2020-06-30 TUP AAPL TSLA BA NVDA EXR APA OXY WPX AMZN IVZ MSFT UAL SPG F
2020-07-31 BBBY TSLA MRNA DDOG NVDA DXCM EXR CVNA SEDG TUP AAPL ENPH ETSY AMD REGN
2020-08-31 BBBY TSLA MRNA EXR CVNA NVDA AAPL AMD XYZ ETSY TUP SEDG GNRC PBI PENN
2020-09-30 BBBY TSLA PENN TUP CVNA ENPH GME EXR NVDA SEDG MRNA XYZ AMD BBWI GNRC
2020-10-30 BBBY TSLA TUP ENPH GME PENN SEDG EXR NVDA XYZ MRNA TTD BBWI ETSY CVNA
2020-11-30 BBBY TSLA MRNA TUP ENPH GME PLTR TTD EXR ETSY SEDG XYZ PENN DVN CPRI
2020-12-31 ENPH TSLA TUP BBBY MRNA PLTR GP GME ETSY XYZ TTD CRWD SEDG PENN CLF
2021-01-29 GME ENPH BBBY TSLA MRNA TUP ETSY PLTR CRWD PENN SEDG CVNA GP TTD XYZ
2021-02-26 GME EXR CCI TUP AAPL NVDA AMT AMZN VIAC DISH HFC XRX T ED PENN
2021-03-31 GME TUP EXR AAPL AMT VIAC BBBY CCI NVDA AMZN NBR PENN KSS REGN BBWI
2021-04-30 GME TUP EXR BBWI NVDA QEP CAR AAPL AMZN TPL VIAC ANF AMT DISCA CCI
2021-05-28 GME EXR AAPL NVDA AMZN CAR AMT BBWI CCI IVZ VRTX XEC CRM REGN TUP
2021-06-30 GME DDS AAPL AMZN PSKY TSLA ASO WBD BBWI ADCT ANF RRD NVDA PLTR TE
2021-07-30 GME DDS RRD AAPL AMZN MRNA NVDA BBWI PSKY MDP WBD ASO NAVI VIAC EXR
2021-08-31 GME MRNA DDS RRD MDP BX CLF NUE ASO SBNY XEC NAVI BBWI FTNT KKR
2021-09-30 GME MRNA RRD RRC CAR DDS MDP M JWN MRO DVN SBNY BX ALB IT
2021-10-29 GME CAR RRC MRNA RRD DDS MRO DVN APP M JWN MDP MUR TSLA TRGP
2021-11-30 CAR GME DDS RRD NVDA MRO DVN TSLA M RRC JWN AMD MDP MRNA EXR
2021-12-31 CAR GME RRD DDS NVDA MRO DVN BLDR EXR ON F TSLA ANET AMD FTNT
2022-01-31 CAR RRD DVN MRO DDS APA EOG EXR COP FANG MUR F NVDA ON BLDR
2022-02-28 NVDA EXR AAPL TSLA PENN MKTX AMD WBD LU AMZN UIS MDT MSFT EHC AMT
2022-03-31 CAR RRD DVN MRO OXY EXR RRC APA DDS MOS CF MUR COP TRGP HAL
2022-04-29 EXR AMT NVDA TSLA AAPL BIIB T LEG GILD MHK DISH ROST CCI FNMA WDC
2022-05-31 EXR NVDA AMT AMD AAPL CCI TSLA C CHTR CMCSA LEG MMM GILD BEN T
2022-06-30 EXR NVDA AMT AAPL MSFT TSLA MRNA WB CCI DPZ BIIB GOOGL AOS GILD GRMN
2022-07-29 NVDA EXR TSLA NFLX AMD AAPL MRNA AMZN PYPL AMT F MSFT ETSY VRT CCI
2022-08-31 EXR TSLA NVDA NFLX AAPL AMT PYPL HOOD AMZN DIS ETSY CSCO DPZ F WB
2022-09-30 EXR TSLA NVDA NFLX AAPL HOOD PLTR AMZN ETSY AMT PYPL CCI BBWI PFE MSFT
2022-10-31 EXR NVDA AAPL NFLX TSLA SPG AMT GPS BKNG M MAC KSS PBI CSCO MO
2022-11-30 UCL EXR FSLR TPL SMCI FTI HES VLO ODP OXY MPC NVDA SANM HP XOM
2022-12-30 UCL EXR SMCI FTI HES FSLR ODP TPL VLO MPC HP OXY XOM APA SLB
2023-01-31 UCL EXR FSLR FTI HES TSLA STLD VLO ODP NVDA CCI MPC ATI GP DDS
2023-02-28 UCL EXR FTI MTW TSLA SMCI FSLR OI STLD HES ASO URI VLO NVDA TEX
2023-03-31 UCL SMCI FSLR TSLA NVDA MTW EXR OI FTI AXON CCI FIX WYNN COTY LW
2023-04-28 UCL SMCI NVDA META FSLR FICO EXR AXON TKO LVS PHM WYNN COTY FTI TSLA
2023-05-31 TSLA NVDA EXR AAPL MSFT AMZN APP CRWD CVNA CCI GNRC VIAV GOOGL AMT BKNG
2023-06-30 SMCI CVNA NVDA RCL VRT CCL PLTR BLDR EXR NFLX META TSLA NCLH PHM UBER
2023-07-31 CVNA SMCI NVDA PLTR RCL EXR VRT CCL META BLDR ANF UBER UCL TSLA FTI
2023-08-31 CVNA SMCI VRT NVDA ANF APP UCL EXR BLDR RCL PLTR FTI PHM CCI CCL
2023-09-29 NVDA EXR TSLA WBA CF CCI DVN BAC KHC NBR TRV LNC SPG EPAM TRIP
2023-10-31 NVDA EXR CCI TSLA AAPL DG GIS CAG WBA M DVN CPB MRO UAA AEP
2023-11-30 ANF CVNA VRT COIN EXR GPS NVDA META SMCI PLTR CRWD APP DELL FNMA PHM
2023-12-29 CVNA COIN ANF VRT FNMA GPS NVDA APP CRWD SMCI FMCC UBER META X PHM
2024-01-31 SMCI ANF CVNA VRT ADCT FNMA NVDA CRWD COIN APP DYN FMCC META ANET UBER
2024-02-29 ADCT SMCI CVNA ANF VRT NVDA FNMA DYN APP CRWD FMCC COIN AMD DELL META
2024-03-28 SMCI CVNA ADCT NVDA ANF EXR VRT DYN CCI APP VST FNMA TSLA GE NKTR
2024-04-30 CVNA SMCI ADCT VRT ANF NVDA COIN VST APP DYN FMCC FNMA WSM HOOD GE
2024-05-31 CVNA VRT ANF VST SMCI NVDA FMCC FNMA DELL COIN APP GPS ADCT CEG DYN
2024-06-28 ANF CVNA NVDA VST SMCI APP VRT DYN DELL FMCC CEG FNMA HOOD COIN NRG
2024-07-31 CVNA ANF LUMN NVDA DYN VST APP VRT THC ANET COIN CEG FNMA GPS WSM
2024-08-30 LUMN DYN CVNA NVDA PBI THC VST ANF NRG GDDY FICO EXR HWM MMM SLG
2024-09-30 LUMN DYN CVNA NVDA APP VST PBI THC COHR GEV FICO LB ADCT IRM NRG
2024-10-31 CVNA LUMN APP LB NVDA VST GEV COHR DYN FICO PLTR ADCT CEG SLG THC
2024-11-29 APP CVNA LUMN CCI NVDA PLTR LB VST EXR FMCC TPL HOOD GEV UAL FNMA
2024-12-31 APP PLTR FMCC LUMN FNMA LB CVNA VST CCI HOOD UAL NVDA TSLA AXON TE
2025-01-31 APP FMCC FNMA PLTR HOOD CVNA VST LUMN UAL TSLA AXON GEV TPL ALK IBKR
2025-02-28 FMCC FNMA APP PLTR HOOD CCI PBI CVNA ALK EXR TPR NVDA ECHO UAL TPL
2025-03-31 NVDA EXR NEM DG F AMT DVN CE AOS WBA APA ELV TSLA ENPH PFE
2025-04-30 NVDA TSLA EXR DG F AMT MSFT NEM AOS DYN LMT STZ LDOS KHC GOOGL
2025-05-30 FNMA PLTR FMCC APP HOOD CVNA GEV AXON NRG NVDA NFLX NEM ADCT HWM PM
2025-06-30 FNMA FMCC HOOD PLTR APP CAR GEV CVNA LUMN AXON NRG HWM COIN NVDA VST
2025-07-31 HOOD FNMA PLTR FMCC APP GEV UCL CVNA CAR TPR NVDA NRG FIX VST SMCI
2025-08-29 FNMA ECHO HOOD FMCC PLTR UCL APP GEV LITE FIX SEDG CAR EXR WDC NVDA
2025-09-30 FNMA FMCC HOOD APP ECHO WDC PLTR LITE STX CIEN FIX WBD TE SEDG EXR
2025-10-31 FMCC FNMA HOOD TE ECHO WDC APP LITE MU CIEN LUMN STX PLTR WBD NKTR
2025-11-28 LITE WDC TE ECHO CIEN HOOD MU STX NKTR WBD KSS LRCX FMCC AVGO FNMA
2025-12-31 LITE TE ECHO WDC MU CIEN STX NKTR WBD SSP NEM HOOD FNMA KSS COHR
2026-01-30 TE LITE MU WDC ECHO STX CIEN LRCX SSP ALB NEM WBD COHR EXR NKTR
2026-02-27 LITE WDC MU TE CIEN STX ECHO LRCX COHR TER FIX GLW VIAV WBD NEM
2026-03-31 LITE WDC CIEN MU VIAV STX TER FIX COHR ECHO CCI VRT GLW EXR APA
2026-04-30 LITE WDC CIEN STX VIAV MU INTC COHR FIX TER ECHO CCI NBR EXR GLW
2026-05-29 LITE MU WDC STX CIEN INTC VIAV TE DELL ECHO AMD COHR MRVL FLEX TER
2026-06-26 MU WDC INTC STX LITE TE DELL DD CIEN MRVL VIAV AMD FLEX TER COHR
Scoring script (python)
FORMULA_NAME = "Contrarian 52-Week Hybrid (Repair Relay with Scarcity-Value Arbitration, v1196)"
LOGIC_VARIANT_COUNT = 5
NOTES = """mode=explore; family=contrarian-52w-hybrid
New hybrid family that combines deep 52-week contrarian repair, regime-aware momentum leadership, and quality/value durability, but resolves conflicts with an explicit relay instead of a static blend. The arbitration is deliberate: panic tapes require repair evidence before honoring drawdowns, clean bull tapes let trend win only when extension is controlled, euphoric tapes tax crowded leaders and rotate toward fresher repair or durable value, transitional tapes compare repair and momentum directly, and narrow/defensive tapes route toward compounders unless a rebound case is overwhelming.
Deliberate metric coverage this run: active momentum uses return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, and momentum_12_1_pct; trend/recovery uses both from_200d_ma_pct and from_52w_high_pct; volatility uses realized_vol_3m; liquidity uses avg_daily_volume_3m, avg_daily_dollar_volume_3m, and trading_days_3m; income uses dividend_yield_ttm_pct and dividend_ttm; valuation uses pe, forward_pe, and peg; growth uses eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, and forward_eps; quality uses operating_margin_pct and free_cash_flow_margin_pct; size uses market_cap only as a raw tilt/gate rather than a z-score rank. Deliberate weight-0 metrics this run: revenue_growth_pct, shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm. Sparse fundamentals are normalized by present weight inside each sleeve so missing fields do not mechanically dominate selection."""

ACTIVE_METRICS = (
    "return_1m_pct",
    "return_3m_pct",
    "return_6m_pct",
    "return_12m_pct",
    "momentum_12_1_pct",
    "from_200d_ma_pct",
    "from_52w_high_pct",
    "realized_vol_3m",
    "avg_daily_volume_3m",
    "avg_daily_dollar_volume_3m",
    "trading_days_3m",
    "dividend_yield_ttm_pct",
    "dividend_ttm",
    "pe",
    "forward_pe",
    "peg",
    "eps_growth_pct",
    "operating_income_growth_pct",
    "free_cash_flow_growth_pct",
    "forward_eps",
    "operating_margin_pct",
    "free_cash_flow_margin_pct",
)

def score_universe(stocks, regime, ctx):
    z_cache = {}
    for metric in ACTIVE_METRICS:
        try:
            z_cache[metric] = ctx.z(metric)
        except Exception:
            z_cache[metric] = {}

    def z(metric, symbol):
        bucket = z_cache.get(metric) or {}
        value = bucket.get(symbol)
        if value is None:
            return None
        return value

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

    def clamp(x, lo, hi):
        if x < lo:
            return lo
        if x > hi:
            return hi
        return x

    bull = 1.0 if regime.get("bull") else 0.0
    breadth = regime.get("breadth")
    if breadth is None:
        breadth = 0.5
    avg_vol = regime.get("avg_realized_vol_3m")
    if avg_vol is None:
        avg_vol = 28.0
    med_mom = regime.get("median_momentum_12_1_pct")
    if med_mom is None:
        med_mom = 0.0
    med_dist = regime.get("median_from_200d_ma_pct")
    if med_dist is None:
        med_dist = 0.0

    if breadth < 0.46 or avg_vol > 34.0 or med_dist < -7.0:
        regime_branch = 0  # stress / washout
    elif bull and breadth > 0.70 and med_mom > 14.0 and med_dist > 10.0 and avg_vol < 22.0:
        regime_branch = 1  # euphoric / crowded
    elif bull and breadth > 0.58 and med_mom > 5.0 and med_dist > 2.0 and avg_vol < 28.0:
        regime_branch = 2  # clean bull
    elif med_mom > -2.0 or med_dist > -2.0:
        regime_branch = 3  # transition / rebound
    else:
        regime_branch = 4  # narrow / defensive

    scores = {}

    for stock in stocks:
        symbol = stock["symbol"]

        r1 = z("return_1m_pct", symbol)
        r3 = z("return_3m_pct", symbol)
        r6 = z("return_6m_pct", symbol)
        r12 = z("return_12m_pct", symbol)
        m121 = z("momentum_12_1_pct", symbol)
        d200 = z("from_200d_ma_pct", symbol)
        d52 = z("from_52w_high_pct", symbol)
        vol = z("realized_vol_3m", symbol)
        adv = z("avg_daily_volume_3m", symbol)
        addv = z("avg_daily_dollar_volume_3m", symbol)
        tdays = z("trading_days_3m", symbol)
        divy = z("dividend_yield_ttm_pct", symbol)
        divlvl = z("dividend_ttm", symbol)
        pe = z("pe", symbol)
        fpe = z("forward_pe", symbol)
        peg = z("peg", symbol)
        epsg = z("eps_growth_pct", symbol)
        opg = z("operating_income_growth_pct", symbol)
        fcfg = z("free_cash_flow_growth_pct", symbol)
        feps = z("forward_eps", symbol)
        opm = z("operating_margin_pct", symbol)
        fcfm = z("free_cash_flow_margin_pct", symbol)

        liquidity = blend(((0.25, adv), (0.45, addv), (0.30, tdays)))
        quality = blend(((0.55, opm), (0.45, fcfm)))
        value = blend(((0.35, -pe if pe is not None else None),
                       (0.40, -fpe if fpe is not None else None),
                       (0.25, -peg if peg is not None else None)))
        growth = blend(((0.30, epsg), (0.25, opg), (0.25, fcfg), (0.20, feps)))
        income = blend(((0.70, divy), (0.30, divlvl)))
        low_vol = -vol if vol is not None else 0.0

        drawdown_depth = blend(((0.60, -d52 if d52 is not None else None),
                                (0.40, -d200 if d200 is not None else None)))
        repair_evidence = blend(((0.45, r1), (0.35, r3), (0.20, d200)))
        repair = blend(((0.38, drawdown_depth),
                        (0.28, repair_evidence),
                        (0.14, value),
                        (0.10, quality),
                        (0.10, liquidity)))

        trend = blend(((0.22, r3),
                       (0.24, r6),
                       (0.18, r12),
                       (0.26, m121),
                       (0.10, d200)))

        durable = blend(((0.26, quality),
                         (0.20, value),
                         (0.16, growth),
                         (0.16, low_vol),
                         (0.12, income),
                         (0.10, liquidity)))

        extension = blend(((0.45, r1), (0.25, r3), (0.30, d52)))
        fragility = blend(((0.55, vol), (0.45, -liquidity)))

        market_cap = stock.get("market_cap")
        size_tilt = 0.0
        if market_cap is not None:
            if 1500000000 <= market_cap <= 40000000000:
                size_tilt = 0.18
            elif market_cap < 400000000:
                size_tilt = -0.18
            elif market_cap > 250000000000:
                size_tilt = -0.05

        trading_days = stock.get("trading_days_3m")
        if trading_days is not None:
            if trading_days < 56:
                size_tilt -= 0.10
            elif trading_days >= 62:
                size_tilt += 0.04

        no_repair_penalty = 0.0
        if drawdown_depth > 0.6 and repair_evidence < -0.1:
            no_repair_penalty = 0.45
        broken_quality_penalty = 0.0
        if quality < -0.55 and growth < -0.35:
            broken_quality_penalty = 0.30
        crowded_penalty = 0.0
        if extension > 0.95:
            crowded_penalty = 0.30
        if extension > 1.35:
            crowded_penalty += 0.25

        if regime_branch == 0:
            repair_gate = 0.0
            if repair_evidence > -0.05:
                repair_gate = 0.35
            score = (
                1.10 * repair
                + 0.30 * durable
                + 0.10 * low_vol
                + repair_gate
                + size_tilt
                - 0.90 * no_repair_penalty
                - 0.55 * broken_quality_penalty
                - 0.25 * fragility
            )
        elif regime_branch == 1:
            crowd_tax = 0.75 * crowded_penalty
            if repair > trend + 0.20:
                relay_bonus = 0.22
                score = (
                    0.95 * repair
                    + 0.45 * durable
                    + 0.10 * trend
                    + relay_bonus
                    + size_tilt
                    - 0.40 * broken_quality_penalty
                    - 0.20 * fragility
                )
            else:
                score = (
                    0.72 * trend
                    + 0.45 * durable
                    + 0.18 * value
                    + size_tilt
                    - crowd_tax
                    - 0.30 * broken_quality_penalty
                    - 0.15 * fragility
                )
        elif regime_branch == 2:
            trend_bonus = 0.0
            if trend > repair + 0.12 and extension < 1.10:
                trend_bonus = 0.24
            score = (
                0.92 * trend
                + 0.34 * durable
                + 0.22 * repair
                + trend_bonus
                + 0.5 * size_tilt
                - 0.45 * crowded_penalty
                - 0.18 * broken_quality_penalty
            )
        elif regime_branch == 3:
            if repair > trend + 0.15:
                arbitration = 0.18
                score = (
                    0.86 * repair
                    + 0.48 * durable
                    + 0.18 * trend
                    + arbitration
                    + size_tilt
                    - 0.40 * no_repair_penalty
                    - 0.20 * broken_quality_penalty
                )
            elif trend > repair + 0.20:
                arbitration = 0.14
                score = (
                    0.78 * trend
                    + 0.42 * repair
                    + 0.28 * durable
                    + arbitration
                    + 0.5 * size_tilt
                    - 0.25 * crowded_penalty
                    - 0.15 * broken_quality_penalty
                )
            else:
                score = (
                    0.58 * repair
                    + 0.52 * trend
                    + 0.32 * durable
                    + 0.5 * size_tilt
                    - 0.20 * crowded_penalty
                    - 0.15 * no_repair_penalty
                )
        else:
            defensive_bonus = 0.0
            if durable > 0.30:
                defensive_bonus = 0.18
            rebound_override = 0.0
            if repair > durable + 0.45 and repair_evidence > 0.0:
                rebound_override = 0.16
            score = (
                0.84 * durable
                + 0.30 * repair
                + 0.12 * income
                + defensive_bonus
                + rebound_override
                + 0.25 * size_tilt
                - 0.18 * crowded_penalty
                - 0.22 * broken_quality_penalty
                - 0.08 * fragility
            )

        if liquidity < -1.25:
            score -= 0.35
        if quality > 0.90 and growth > 0.40 and crowded_penalty == 0.0:
            score += 0.12
        if repair_evidence > 0.55 and drawdown_depth > 0.55 and value > 0.10:
            score += 0.10

        scores[symbol] = clamp(score, -6.0, 6.0)

    return scores