exp_1137

Contrarian 52-Week Recovery with Quality-Regime Momentum Arbitration (v1137)

← All V2 experiments
Relative return
1.386x
Excess vs bench
38.64%
Benchmark
CAPW_UNIV
Rolling windows
179 · monthly
Mean strategy gain
58.85%
Mean benchmark gain
14.08%
Mean excess gain
44.76%
Dispersion (ref)
31.34%
Win-rate vs bench (ref)
100.00%
Worst / best ratio (ref)
1.055x / 1.789x
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 22.87% 2.22% 1.202x
2011-07-01 … 2016-06-30 40.05% 13.74% 1.231x
2016-07-01 … 2021-06-30 109.21% 20.63% 1.734x
2021-07-01 … 2026-06-26 75.82% 15.48% 1.522x
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.386x · beat benchmark in 179/179
#WindowStrategyBenchmarkRatio
1 2006-07-31 … 2011-07-29 20.10% 1.79% 1.180x
2 2006-08-31 … 2011-08-31 18.55% 0.21% 1.183x
3 2006-09-29 … 2011-08-31 15.46% -0.14% 1.156x
4 2006-10-31 … 2011-10-31 13.21% 0.23% 1.130x
5 2006-11-30 … 2011-11-30 10.67% -0.05% 1.107x
6 2006-12-29 … 2011-11-30 11.56% -0.32% 1.119x
7 2007-01-31 … 2012-01-31 12.15% 0.93% 1.111x
8 2007-02-28 … 2012-01-31 11.39% 1.43% 1.098x
9 2007-03-30 … 2012-03-30 14.59% 3.09% 1.112x
10 2007-04-30 … 2012-04-30 14.41% 2.42% 1.117x
11 2007-05-31 … 2012-05-31 10.73% 0.60% 1.101x
12 2007-06-29 … 2012-06-29 9.61% 1.92% 1.075x
13 2007-07-31 … 2012-07-31 9.88% 2.69% 1.070x
14 2007-08-31 … 2012-08-31 11.53% 2.95% 1.083x
15 2007-09-28 … 2012-09-28 10.56% 3.20% 1.071x
16 2007-10-31 … 2012-10-31 10.09% 2.60% 1.073x
17 2007-11-30 … 2012-11-30 10.00% 3.45% 1.063x
18 2007-12-31 … 2012-12-31 9.44% 3.69% 1.055x
19 2008-01-31 … 2013-01-31 13.85% 5.85% 1.076x
20 2008-02-29 … 2013-02-28 16.22% 6.82% 1.088x
21 2008-03-31 … 2013-03-28 18.48% 7.73% 1.100x
22 2008-04-30 … 2013-04-30 17.58% 7.51% 1.094x
23 2008-05-30 … 2013-04-30 16.68% 7.81% 1.082x
24 2008-06-30 … 2013-06-28 22.37% 9.33% 1.119x
25 2008-07-31 … 2013-07-31 27.18% 10.48% 1.151x
26 2008-08-29 … 2013-07-31 27.57% 10.52% 1.154x
27 2008-09-30 … 2013-09-30 33.89% 11.48% 1.201x
28 2008-10-31 … 2013-10-31 38.30% 15.76% 1.195x
29 2008-11-28 … 2013-10-31 40.13% 17.46% 1.193x
30 2008-12-31 … 2013-12-31 41.80% 18.44% 1.197x
31 2009-01-30 … 2013-12-31 43.79% 20.64% 1.192x
32 2009-02-27 … 2014-01-31 48.33% 21.63% 1.220x
33 2009-03-31 … 2014-03-31 47.83% 20.60% 1.226x
34 2009-04-30 … 2014-04-30 45.20% 19.00% 1.220x
35 2009-05-29 … 2014-04-30 45.86% 18.32% 1.233x
36 2009-06-30 … 2014-06-30 48.85% 19.01% 1.251x
37 2009-07-31 … 2014-07-31 43.10% 17.39% 1.219x
38 2009-08-31 … 2014-08-29 42.67% 17.70% 1.212x
39 2009-09-30 … 2014-09-30 40.64% 16.64% 1.206x
40 2009-10-30 … 2014-09-30 44.31% 17.08% 1.233x
41 2009-11-30 … 2014-11-28 41.72% 16.82% 1.213x
42 2009-12-31 … 2014-12-31 39.27% 16.28% 1.198x
43 2010-01-29 … 2014-12-31 41.75% 17.23% 1.209x
44 2010-02-26 … 2015-01-30 40.34% 15.80% 1.212x
45 2010-03-31 … 2015-03-31 39.77% 15.40% 1.211x
46 2010-04-30 … 2015-04-30 38.04% 15.38% 1.196x
47 2010-05-28 … 2015-04-30 40.80% 17.09% 1.202x
48 2010-06-30 … 2015-06-30 43.36% 17.45% 1.221x
49 2010-07-30 … 2015-06-30 42.75% 16.43% 1.226x
50 2010-08-31 … 2015-08-31 40.39% 15.76% 1.213x
51 2010-09-30 … 2015-09-30 36.40% 13.61% 1.201x
52 2010-10-29 … 2015-09-30 35.79% 13.06% 1.201x
53 2010-11-30 … 2015-11-30 37.44% 15.09% 1.194x
54 2010-12-31 … 2015-12-31 37.22% 13.55% 1.208x
55 2011-01-31 … 2016-01-29 34.63% 11.90% 1.203x
56 2011-02-28 … 2016-01-29 35.58% 11.53% 1.216x
57 2011-03-31 … 2016-03-31 36.83% 12.90% 1.212x
58 2011-04-29 … 2016-04-29 35.49% 12.39% 1.206x
59 2011-05-31 … 2016-05-31 37.61% 12.94% 1.218x
60 2011-06-30 … 2016-06-30 37.62% 13.30% 1.215x
61 2011-07-29 … 2016-07-29 43.00% 14.52% 1.249x
62 2011-08-31 … 2016-08-31 45.29% 15.19% 1.261x
63 2011-09-30 … 2016-09-30 47.97% 16.32% 1.272x
64 2011-10-31 … 2016-10-31 44.88% 14.02% 1.271x
65 2011-11-30 … 2016-11-30 49.11% 14.66% 1.301x
66 2011-12-30 … 2016-12-30 48.56% 14.92% 1.293x
67 2012-01-31 … 2017-01-31 48.39% 14.63% 1.295x
68 2012-02-29 … 2017-02-28 46.77% 14.78% 1.279x
69 2012-03-30 … 2017-02-28 46.39% 14.43% 1.279x
70 2012-04-30 … 2017-04-28 43.08% 14.61% 1.248x
71 2012-05-31 … 2017-05-31 47.04% 15.98% 1.268x
72 2012-06-29 … 2017-05-31 47.65% 15.44% 1.279x
73 2012-07-31 … 2017-07-31 46.96% 15.43% 1.273x
74 2012-08-31 … 2017-08-31 47.43% 15.12% 1.281x
75 2012-09-28 … 2017-08-31 47.28% 14.77% 1.283x
76 2012-10-31 … 2017-10-31 51.69% 16.12% 1.306x
77 2012-11-30 … 2017-11-30 52.14% 16.79% 1.303x
78 2012-12-31 … 2017-12-29 51.27% 16.93% 1.294x
79 2013-01-31 … 2018-01-31 52.36% 17.57% 1.296x
80 2013-02-28 … 2018-02-28 53.38% 16.21% 1.320x
81 2013-03-28 … 2018-02-28 52.01% 15.81% 1.313x
82 2013-04-30 … 2018-04-30 49.09% 14.25% 1.305x
83 2013-05-31 … 2018-05-31 43.13% 14.57% 1.249x
84 2013-06-28 … 2018-05-31 46.27% 14.97% 1.272x
85 2013-07-31 … 2018-07-31 44.36% 14.83% 1.257x
86 2013-08-30 … 2018-07-31 45.27% 15.59% 1.257x
87 2013-09-30 … 2018-09-28 46.10% 15.84% 1.261x
88 2013-10-31 … 2018-10-31 38.17% 12.89% 1.224x
89 2013-11-29 … 2018-10-31 38.41% 12.60% 1.229x
90 2013-12-31 … 2018-12-31 34.88% 9.93% 1.227x
91 2014-01-31 … 2019-01-31 34.90% 12.37% 1.200x
92 2014-02-28 … 2019-02-28 32.72% 12.38% 1.181x
93 2014-03-31 … 2019-03-29 35.50% 12.76% 1.202x
94 2014-04-30 … 2019-04-30 37.04% 13.73% 1.205x
95 2014-05-30 … 2019-04-30 35.94% 13.54% 1.197x
96 2014-06-30 … 2019-06-28 37.47% 12.81% 1.219x
97 2014-07-31 … 2019-07-31 40.40% 13.30% 1.239x
98 2014-08-29 … 2019-07-31 39.91% 12.80% 1.240x
99 2014-09-30 … 2019-09-30 40.97% 12.70% 1.251x
100 2014-10-31 … 2019-10-31 40.04% 12.91% 1.240x
101 2014-11-28 … 2019-10-31 39.69% 12.60% 1.241x
102 2014-12-31 … 2019-12-31 42.64% 14.16% 1.250x
103 2015-01-30 … 2019-12-31 42.49% 14.85% 1.241x
104 2015-02-27 … 2020-01-31 43.71% 14.04% 1.260x
105 2015-03-31 … 2020-03-31 41.64% 8.56% 1.305x
106 2015-04-30 … 2020-04-30 48.61% 11.65% 1.331x
107 2015-05-29 … 2020-05-29 48.71% 12.61% 1.321x
108 2015-06-30 … 2020-06-30 50.61% 13.64% 1.325x
109 2015-07-31 … 2020-07-31 59.25% 14.60% 1.390x
110 2015-08-31 … 2020-08-31 66.66% 18.07% 1.412x
111 2015-09-30 … 2020-09-30 66.10% 17.05% 1.419x
112 2015-10-30 … 2020-10-30 61.22% 14.60% 1.407x
113 2015-11-30 … 2020-11-30 69.81% 17.43% 1.446x
114 2015-12-31 … 2020-12-31 70.88% 18.65% 1.440x
115 2016-01-29 … 2021-01-29 113.32% 19.26% 1.789x
116 2016-02-29 … 2021-02-26 108.72% 19.79% 1.742x
117 2016-03-31 … 2021-03-31 110.83% 19.42% 1.765x
118 2016-04-29 … 2021-03-31 113.52% 19.66% 1.784x
119 2016-05-31 … 2021-05-28 110.36% 20.42% 1.747x
120 2016-06-30 … 2021-06-30 111.11% 21.06% 1.744x
121 2016-07-29 … 2021-06-30 109.21% 20.63% 1.734x
122 2016-08-31 … 2021-08-31 111.61% 21.75% 1.738x
123 2016-09-30 … 2021-09-30 106.78% 20.22% 1.720x
124 2016-10-31 … 2021-10-29 113.19% 22.50% 1.740x
125 2016-11-30 … 2021-11-30 113.62% 21.87% 1.753x
126 2016-12-30 … 2021-11-30 115.49% 21.75% 1.770x
127 2017-01-31 … 2022-01-31 103.06% 20.17% 1.690x
128 2017-02-28 … 2022-02-28 104.17% 18.51% 1.723x
129 2017-03-31 … 2022-03-31 106.50% 19.46% 1.729x
130 2017-04-28 … 2022-03-31 109.03% 19.46% 1.750x
131 2017-05-31 … 2022-05-31 105.76% 15.59% 1.780x
132 2017-06-30 … 2022-06-30 100.06% 13.08% 1.769x
133 2017-07-31 … 2022-07-29 99.78% 15.16% 1.735x
134 2017-08-31 … 2022-08-31 97.50% 13.72% 1.737x
135 2017-09-29 … 2022-08-31 97.98% 13.56% 1.743x
136 2017-10-31 … 2022-10-31 89.74% 11.86% 1.696x
137 2017-11-30 … 2022-11-30 89.69% 12.52% 1.686x
138 2017-12-29 … 2022-11-30 91.47% 12.46% 1.703x
139 2018-01-31 … 2023-01-31 88.09% 11.01% 1.694x
140 2018-02-28 … 2023-02-28 83.49% 11.03% 1.653x
141 2018-03-29 … 2023-02-28 84.26% 11.72% 1.649x
142 2018-04-30 … 2023-04-28 80.95% 13.01% 1.601x
143 2018-05-31 … 2023-05-31 82.71% 12.95% 1.618x
144 2018-06-29 … 2023-05-31 82.36% 13.01% 1.614x
145 2018-07-31 … 2023-07-31 89.18% 14.67% 1.650x
146 2018-08-31 … 2023-08-31 85.38% 13.51% 1.633x
147 2018-09-28 … 2023-08-31 84.93% 13.56% 1.629x
148 2018-10-31 … 2023-10-31 83.45% 12.60% 1.629x
149 2018-11-30 … 2023-11-30 87.00% 14.58% 1.632x
150 2018-12-31 … 2023-12-29 96.26% 17.26% 1.674x
151 2019-01-31 … 2024-01-31 94.48% 16.27% 1.673x
152 2019-02-28 … 2024-01-31 94.48% 15.94% 1.677x
153 2019-03-29 … 2024-03-28 105.34% 17.50% 1.748x
154 2019-04-30 … 2024-04-30 101.45% 15.50% 1.744x
155 2019-05-31 … 2024-05-31 104.45% 18.12% 1.731x
156 2019-06-28 … 2024-06-28 102.54% 17.99% 1.717x
157 2019-07-31 … 2024-07-31 97.08% 17.70% 1.674x
158 2019-08-30 … 2024-08-30 99.16% 18.41% 1.682x
159 2019-09-30 … 2024-09-30 102.28% 18.65% 1.705x
160 2019-10-31 … 2024-10-31 104.77% 17.87% 1.737x
161 2019-11-29 … 2024-11-29 111.22% 18.64% 1.780x
162 2019-12-31 … 2024-12-31 104.44% 17.62% 1.738x
163 2020-01-31 … 2025-01-31 107.59% 18.07% 1.758x
164 2020-02-28 … 2025-02-28 103.63% 19.00% 1.711x
165 2020-03-31 … 2025-03-31 101.94% 19.24% 1.694x
166 2020-04-30 … 2025-04-30 94.68% 16.49% 1.671x
167 2020-05-29 … 2025-04-30 93.71% 15.80% 1.673x
168 2020-06-30 … 2025-06-30 95.67% 18.19% 1.656x
169 2020-07-31 … 2025-07-31 87.22% 17.87% 1.588x
170 2020-08-31 … 2025-08-29 84.96% 16.69% 1.585x
171 2020-09-30 … 2025-09-30 91.83% 18.57% 1.618x
172 2020-10-30 … 2025-09-30 95.05% 19.43% 1.633x
173 2020-11-30 … 2025-11-28 85.23% 17.77% 1.573x
174 2020-12-31 … 2025-12-31 88.15% 16.92% 1.609x
175 2021-01-29 … 2025-12-31 59.32% 17.20% 1.359x
176 2021-02-26 … 2026-01-30 67.75% 17.04% 1.433x
177 2021-03-31 … 2026-03-31 64.42% 14.07% 1.441x
178 2021-04-30 … 2026-04-30 71.98% 16.03% 1.482x
179 2021-05-28 … 2026-04-30 71.78% 16.22% 1.478x
Notes
mode=explore; family=contrarian-52w-recovery-quality-regime-momentum-hybrid New hybrid family that combines deep 52-week contrarian repair, recovery-quality durability filtering, and regime-aware momentum leadership, but resolves their conflicts explicitly instead of averaging them. Each regime branch decides whether a stock should be treated as a washout repair, a skeptical transition candidate, an orderly trend leader, or a defensive compounder; deep drawdowns only earn full credit when repair evidence and business quality agree, while strong trend names can outrank contrarian rebounds only in cleaner tapes. Deliberate metric coverage: actively use the full momentum cluster (return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, momentum_12_1_pct), both recovery metrics (from_200d_ma_pct, from_52w_high_pct), volatility (realized_vol_3m), all three liquidity checks (avg_daily_volume_3m, avg_daily_dollar_volume_3m, trading_days_3m), both income metrics (dividend_yield_ttm_pct, dividend_ttm), all three valuation ratios (pe, forward_pe, peg), a rotated growth set (eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, forward_eps), both quality margins (operating_margin_pct, free_cash_flow_margin_pct), and one size tilt (market_cap). Deliberately weight revenue_growth_pct plus raw level metrics shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm at zero this run to keep the family structurally distinct and avoid double-counting correlated price-level information. Sparse fundamentals are normalized by present weight inside each sleeve before arbitration.
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%.
#884 · degrade · relative_return Δ -0.3981 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-hybrid: relative_return 0.9882x (delta -0.3981 vs exp_1137); win-rate 29.6089%, worst-window 0.942569, dispersion 4.3772%.
#880 · degrade · relative_return Δ -0.3603 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-hybrid: relative_return 1.0261x (delta -0.3603 vs exp_1137); win-rate 83.2402%, worst-window 0.977525, dispersion 5.2058%.
#876 · degrade · relative_return Δ -0.0030 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-regime-momentum-hybrid: relative_return 1.3833x (delta -0.0030 vs exp_1137); win-rate 100.0%, worst-window 1.071692, dispersion 31.1981%.
#872 · degrade · relative_return Δ -0.0618 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-regime-momentum-hybrid: relative_return 1.3246x (delta -0.0618 vs exp_1137); win-rate 100.0%, worst-window 1.099061, dispersion 18.8019%.
#867 · degrade · relative_return Δ -0.2631 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-regime-momentum-hybrid: relative_return 1.1233x (delta -0.2631 vs exp_1137); win-rate 98.8827%, worst-window 0.988343, dispersion 15.562%.
#863 · degrade · relative_return Δ -0.3010 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-regime-momentum-hybrid: relative_return 1.0854x (delta -0.3010 vs exp_1137); win-rate 100.0%, worst-window 1.006559, dispersion 9.4001%.
#856 · degrade · relative_return Δ -0.3765 · parent exp_1137 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-recovery-quality-hybrid: relative_return 1.0098x (delta -0.3765 vs exp_1137); win-rate 67.0391%, worst-window 0.968538, dispersion 4.9309%.
#846 · improve · relative_return Δ 0.0169 · parent exp_1104 · Jul 21, 2026 · auto/explore; benchmark CAPW_UNIV
explore/contrarian-52w-recovery-quality-regime-momentum-hybrid: relative_return 1.3864x (delta +0.0169 vs exp_1104); win-rate 100.0%, worst-window 1.055402, dispersion 31.336%.
Monthly picks — top stocks selected each month (whole timeline)
timeline — 240 months · top 15 each
Month 123456789101112131415
2006-07-31 GOOG GOOGL AAPL MSFT XOM MNST MRK MO VLO GS ORCL CMCSA PFE GE CVX
2006-08-31 MAY AAPL GOOG GOOGL AKAM ILMN NVDA MSFT XOM ADM AT INTC MRK EME SLG
2006-09-29 MAY AAPL GOOG GOOGL AKAM NVDA ILMN ORCL AT XOM MSFT BKNG CSCO MRK GS
2006-10-31 MAY AAPL GOOG GOOGL NVDA AKAM DECK AT MSFT BKNG ILMN GS XOM ATI CSCO
2006-11-30 MAY AAPL GOOG GOOGL NVDA MA ICE CSCO ATI MSFT AKAM DECK GS XOM AT
2006-12-29 MAY AAPL GOOG GOOGL NVDA ICE AT MA CSCO MSFT BMET ALGN CF AKAM ATI
2007-01-31 MAY AAPL GOOG GOOGL ICE MA ALGN CF GT MGM CSCO WYNN MSFT AKAM GS
2007-02-28 MAY AAPL ICE CF GOOG GOOGL ALGN MA MGM GT BKNG ATI GS ALB EOP
2007-03-30 MAY AAPL GT CF GOOG GOOGL DLX ANDV BKNG ATI GS CE OI NRG MGM
2007-04-30 MAY AAPL GT ANDV GOOG CF GOOGL AMZN ALGN OI DLX BKNG NRG XOM GS
2007-05-31 MAY AAPL GT AMZN CLF FSLR GOOG CF MA GOOGL DLX ANDV ALGN DECK OI
2007-06-29 MAY AAPL FSLR KMG CF GOOG MA GOOGL AL GT DECK AMZN MOS OI NVDA
2007-07-31 AAPL MAY FSLR AL AMZN GOOG CF GOOGL ALGN MA KMG NVDA ISRG FCX OI
2007-08-31 AAPL CF AMZN ALGN KMG AL GOOG NVDA GRMN GOOGL ISRG FSLR OI GME NOV
2007-09-28 AAPL CF AMZN GRMN KMG MOS MPWR NVDA NOV GOOG WYNN AL GOOGL FSLR GME
2007-10-31 AAPL CF MOS ISRG GOOG FSLR GOOGL BBBY CMG AMZN FCX GS NOV AL GME
2007-11-30 FSLR AAPL GOOG ISRG GOOGL CF MOS BKNG JEC CMG PODD DECK AMZN GS MSFT
2007-12-31 AAPL GOOG GOOGL FSLR MOS MSFT GS CF PRGO ISRG CNX XOM MA ADM INTC
2008-01-31 AAPL GOOG GOOGL MOS MSFT GS XOM MO WMT JNJ GE CF INCY IBKR CNX
2008-02-29 MOS AAPL CF GOOG XOM DVN APA OXY EOG WMT PRGO CVX GE GOOGL GS
2008-03-31 AAPL MOS GOOG CF FSLR MA GE XOM MEE PRGO WMT MSFT APA IBM DVN
2008-04-30 AAPL GOOG MOS CF FSLR MA XOM MEE WMT GOOGL CLF APA ESV CVX IBM
2008-05-30 MOS FSLR AAPL MEE CLF MA ESV CF SWN GOOG BTUUQ BCR HP CNX BKNG
2008-06-30 AAPL MEE MOS GOOG ESV MA CLF SWN XOM BTUUQ BCR CVX NBR FSLR COP
2008-07-31 AAPL SWN BCR ESV GOOG MOS MA DF CF IBM APOL MEE ATGE BTUUQ FDO
2008-08-29 SWN AAPL BCR ESV DF MBI CLF FSLR MOS APOL CF ATGE CELG FDO FI
2008-09-30 AAPL SWN BCR D DF WMT XOM GOOG WFC FDO MCD MDLZ JNJ APOL IBM
2008-10-31 AAPL GOOG XOM D WFC WMT SWN MCD PG AMGN ABT BCR JPM JNJ GIS
2008-11-28 AAPL XOM D GOOG WMT PG MCD DLTR WFC ABT AON JNJ CASY AMGN KR
2008-12-31 XOM AAPL GOOG MCD WMT PG WFC AMGN JNJ ABT DLTR BMY AON CVX AZO
2009-01-30 XOM AAPL GOOG MCD ABT CVX PG GILD JNJ WMT DLTR AMGN GOOGL BMY AZO
2009-02-27 XOM GOOG AAPL AZO GOOGL WMT MCD CVX NFLX IBM ORLY ABT JNJ PCG VRTX
2009-03-31 XOM GOOG AAPL AZO UPS IBM CVX NFLX WMT MCD BMY DLTR GOOGL JNJ DRI
2009-04-30 GOOG AAPL XOM F AZO UPS AN GS IBM NFLX GOOGL DRI MNST CVX ORLY
2009-05-29 AAPL GOOG GS XOM IBM UPS F MS AZO BKNG MCD GOOGL VRTS CVX DRI
2009-06-30 CAR F PALM AAPL AN NFLX ORLY WBD GS GOOG FHN FFIV BAC DXCM AZO
2009-07-31 CAR F PALM AAPL AN BLDR BAC WBD ASH SWKS GOOG ORLY BKNG STX CMG
2009-08-31 CAR PALM F AAPL BAC BLDR MU GNW BKNG SSP AN WBD ASH GOOG SW
2009-09-30 CAR PALM AAPL GNW BKNG SW WBD MU ASH SSP SNDK THC SANM GS F
2009-10-30 CAR SW GNW AAPL KMG HIG BKNG GGP F UIS BC PALM DDS SNDK FCX
2009-11-30 CAR KMG GNW GGP UIS BKNG AAPL DDS SW SNDK GOOG WFM INCY F FCX
2009-12-31 CAR GGP SANM AMD UAL AAPL UIS F BKNG WFM DDS WLL MU LULU SW
2010-01-29 CAR SANM F GNW GGP INCY UAL SW AAPL ACS FITB BKNG AMD RCL LULU
2010-02-26 CAR SANM GNW UAL ACS F GGP UIS AAPL AAL CLF BAC LYV ASH WLL
2010-03-31 SANM GNW UAL INCY CLF MTG CAR F LYV GGP AAPL ETFC LULU WLL LVS
2010-04-30 UAL SANM GNW INCY ETFC CAR LYV SSP WLL GGP AAPL MTG BC DDS VSTNQ
2010-05-28 UAL ETFC AAL NFLX AAPL SSP VSTNQ BC SANM WLL INCY DDS GGP LULU ALK
2010-06-30 AAPL ETFC C UAL GS AZO NFLX NEM LLY COR KDP UST EW DLTR AKAM
2010-07-30 AAPL GS C ETFC AAL LVS FFIV MBI GOOG CCU TMUS NTAP UAL CMI F
2010-08-31 WY AAPL NEM ETFC LVS CCU AZO EC NFLX C AKAM GS CPQ PM CB
2010-09-30 ETFC NFLX LVS FFIV AAPL AKAM VSTNQ BKNG WLL NEM NTAP CMI UAL VRTS CCU
2010-10-29 ETFC LVS NFLX UAL AAL FFIV AAPL BKNG WLL CMG FTNT VRTS ACAS NTAP EC
2010-11-30 ETFC LVS NFLX VRTS CMG FFIV UAL AAPL BKNG WLL DECK URI AAL ACAS FTNT
2010-12-31 ETFC LVS NFLX VRTS ACAS WLL URI LYB AAPL BWA FFIV BKNG DECK LULU MBI
2011-01-31 MAY ETFC LVS NVDA NFLX AAPL URI ACAS WLL C WY VRTS AIG BKNG SWKS
2011-02-28 MAY ETFC URI IPGP NVDA NXPI LVS AAPL WY NFLX VRTS VIAV C LULU ACAS
2011-03-31 MAY IPGP ETFC URI NFLX WY NXPI VRTS AAPL LULU ANDV ECHO CAT NVDA NOV
2011-04-29 MAY IPGP ETFC LULU NXPI AAPL NFLX NVDA ULTA CAT BKNG ANDV FTNT EP WY
2011-05-31 MAY IPGP ETFC EP NFLX BKNG ABMD AAPL FTNT VLO WCG LULU NVDA GMCR COG
2011-06-30 MAY IPGP EP LULU ULTA NFLX WCG FTNT ABMD COG BKNG GMCR KSU WFM ETFC
2011-07-29 MAY IPGP LULU VRTS AAPL CTRA NFLX AIG ULTA DPZ EP VLO CMG GOOG WYNN
2011-08-31 AAPL CF AIG GOOG AZO DPZ IBM CTRA PM MDLZ CL UST DLTR KMB JNJ
2011-09-30 AAPL GOOG AIG AZO IBM UST KMB DLTR MDLZ CF DPZ DG CL PPL HSY
2011-10-31 AAPL GOOG AIG CF AZO DPZ IBM GOOGL DLTR BIIB VFC PM KLAC DG MDLZ
2011-11-30 AAPL GOOG AIG GOOGL PM MA V IBM AZO DLTR VZ DPZ INTC ISRG CTRA
2011-12-30 AAPL GOOG GOOGL AKAM GNRC MBI GE CF URI V PM ISRG TRGP MRK KLAC
2012-01-31 AAPL GNRC URI COG WCG DPZ FAST MNST STX ULTA CNC DLTR TYL ABMD V
2012-02-29 AAPL STX URI REGN DPZ WCG FAST MNST COG MOH ULTA HFC V EQIX TYL
2012-03-30 AAPL BLDR STX REGN URI EQIX MNST DPZ ULTA HFC BKNG FAST V ISRG MOH
2012-04-30 AAPL REGN BLDR STX URI MNST EQIX DPZ BKNG EC ORLY ISRG V ROST TJX
2012-05-31 AAPL REGN BLDR MNST EQIX AAL SHW STX TJX ORLY ROST LULU DLTR ISRG EC
2012-06-29 AAPL BLDR EQIX MNST REGN SHW AAL STX EXPE TJX LEN DG TRIP PHM BKNG
2012-07-31 AAPL STX EXPE REGN SHW EQIX PHM ROST LEN V GPS TJX MNST EXR AMGN
2012-08-31 STX AAPL PHM GPS ANDV REGN LPX LEN EQIX SHW EXPE BLDR STZ DHI CDNS
2012-09-28 PHM AAPL STX BLDR ANDV KBH EXPE LEN LYB GPS LPX EQIX GOOG REGN ALGN
2012-10-31 PHM BBBY BLDR AAPL KBH LPX GNRC LEN EXPE WHR STZ AXON GOOG DHI REGN
2012-11-30 PHM BBBY BLDR AAPL LPX WHR KBH STZ ANDV REGN GILD AAL GNRC LEN EXPE
2012-12-31 PHM LPX REGN BBBY WHR KBH BAC SW ANDV AAL AAPL OMX BLDR AXON STX
2013-01-31 PHM OMX NFLX LPX KBH THC VRTS WHR BLDR ANDV SW MPC APO VLO HCA
2013-02-28 NFLX OMX VRTS LPX APO THC MPC ANDV CPAY PHM GILD SW VLO KBH HRB
2013-03-28 OMX NFLX KKR VRTS THC MTG KBH FNMA LPX FMCC CPAY GILD MPC ANDV HRB
2013-04-30 OMX NFLX FNMA FMCC KKR MTG VRTS BBBY THC APO KBH FSLR CAR GILD ANDV
2013-05-31 FNMA FMCC OMX NFLX FSLR MTG KKR BBBY VRTS KBH TSLA STZ GOOG GILD PHM
2013-06-28 OMX FNMA FMCC TSLA BBBY NFLX KKR MTG MU GOOG GME FSLR WDC GILD STX
2013-07-31 OMX FNMA TSLA FMCC BBBY MTG NFLX SVU GME KKR FSLR GOOG GILD GNW BAC
2013-08-30 OMX TSLA MTG FNMA FMCC NFLX GME BBBY BBY SVU META FL REGN GOOG CPAY
2013-09-30 OMX TSLA NFLX MTG META REGN MU AXON SVU KATE FMCC BBY BBBY FNMA GME
2013-10-31 OMX TSLA FMCC FNMA META MU MTG AXON FANG AAPL BBY REGN NFLX KATE FL
2013-11-29 OMX FNMA FMCC NFLX MU META INCY AAPL DAL MTG KATE GOOG BKNG MKTX TKO
2013-12-31 FNMA FMCC NFLX META INCY MU AAPL KATE TSLA BX GOOG TKO RRD ETFC CELG
2014-01-31 FNMA FMCC INCY TKO ILMN META TSLA MU NFLX GOOG DXCM AAPL KATE BX WYNN
2014-02-28 FNMA FMCC TSLA ILMN TKO META GOOG INCY MU FRX DXCM NFLX WYNN AAPL BX
2014-03-31 FMCC FNMA TKO TSLA ILMN AAL META GOOG FRX FANG FSLR DAL URI AAPL MU
2014-04-30 FMCC FNMA TSLA MU FANG FRX DAL META CAR SWKS AAL AAPL NXPI HP URI
2014-05-30 META MU AAL FRX DAL TPL FANG AAPL LUV SWKS ILMN WLL AVGO FMCC NXPI
2014-06-30 META MU FANG AAL AAPL FRX WLL NFX ILMN SWKS MMI TRGP NBR LUV SMCI
2014-07-31 MU AAPL META SWKS FRX TPL FMCC FANG LUV SMCI FNMA NFX WMB NBR URI
2014-08-29 MMI AAPL ENPH SWKS LUV TPL CAR MU GILD URI NFX META FMCC FANG INTC
2014-09-30 AAPL SWKS LUV ENPH GILD TPL MMI SMCI MU META PANW AVGO TRGP URI NXPI
2014-10-31 MMI PANW AAPL ENPH SMCI SWKS MU LUV EW GILD ILMN META GMCR MNST AMGN
2014-11-28 PAYC AAPL PANW SWKS LUV EW MNST MMI SMCI MU META GMCR EA NXPI AVGO
2014-12-31 SWKS LUV AAPL AXON PANW RCL EW PAYC EA UAL MMI SMCI MU AAL MNST
2015-01-30 SWKS AAPL AXON LUV EA PANW RCL KR PAYC MNST LULU CNC EW ALK BBWI
2015-02-27 AAPL SWKS PANW EA MNST PAYC CNC SMCI KR LUV HSP ANDV MMI BBWI LULU
2015-03-31 SWKS AAPL CNC PANW EA MNST PAYC INCY HSP KR COR AVGO ANDV KMG MOH
2015-04-30 SWKS AAPL CZR BLDR PAYC PANW KMG CNXT HSP EA INCY ABMD DXCM MNST NFLX
2015-05-29 CNXT SWKS CZR BTUUQ AXON INCY NFLX AAPL PANW PAYC AVGO BLDR CNC MMI KMG
2015-06-30 BTUUQ NFLX GILD SWKS AAPL CZR AXON CNC PANW DXCM COTY BLDR CI EA INCY
2015-07-31 BLDR NFLX CZR PANW GILD ABMD AAPL DXCM BTUUQ EA FIX MNST MMI HSP SBUX
2015-08-31 AAPL SBUX GILD BLDR GOOG EBAY GE AZO DXCM MHK BKNG V CCI CZR KLAC
2015-09-30 AAPL SBUX GOOG GILD GE AZO PSA KLAC BKNG META V CCI SPG EBAY MA
2015-10-30 AAPL GOOG SBUX AMZN META GE BKNG NVDA AZO KLAC GOOGL ABMD GILD PSA NEM
2015-11-30 ABMD NVDA GE NFLX AMZN GOOG FIX CZR ATVI AAPL TYL GOOGL META PSA GPN
2015-12-31 GE AMZN GOOG ABMD AAPL GMCR META NVDA ATVI PSA GOOGL MSFT FSLR GILD MCD
2016-01-29 GE GOOG META AAPL PSA MCD GOOGL ABMD AZO V MSFT T CCI PM MO
2016-02-29 GE GOOG META TSN T AAPL PSA SPG GOOGL MCD KLAC VZ PM ABMD AZO
2016-03-31 NVDA TSN GE CZR ABMD GOOG MAT META PSA LITE KLAC HRL ANF T NEM
2016-04-29 NVDA NEM TSN ABMD META CZR CLF LITE GE MTW WB EW GOOG AMD EVRG
2016-05-31 NVDA AMD CZR ABMD WB META AMZN DXC MDR EVRG MTW GOOG ULTA DLR ALB
2016-06-30 NVDA CLF AMD X OKE CZR DLR AWK DXC AMZN WB ABMD EVRG NEM MDR
2016-07-29 CLF AMD NVDA WB X NEM DHR CNX MDR WPX SPGI AMZN ABMD JOY DLR
2016-08-31 AMD WB NVDA X DHR SPGI CLF WPX AMAT JOY NEM MDR NAV DXC OKE
2016-09-30 WB AMD NVDA X LITE DHR CLF SPGI WPX JOY AMAT CNX NAV OKE MDR
2016-10-31 NVDA AMD X WB TPL DHR SPGI LITE DXC CNX WPX JOY NAV AMAT GEN
2016-11-30 NVDA AMD CLF X FMCC WB FNMA DHR TPL CNX STLD SPGI WPX NBR BAC
2016-12-30 NVDA CLF AMD X FMCC FNMA BAC TPL DHR WPX NBR NAV OKE TRGP RF
2017-01-31 NVDA AMD X CLF FNMA FMCC URI TPL BAC CSX TRGP NBR NAV WB WPX
2017-02-28 AMD NVDA CLF X BAC CSX URI NAV WB SLM SPGI RF TPL INCY TTD
2017-03-31 AMD NVDA X BAC ANET MU CSX URI CLF NAV KMG WB SLM IDXX INCY
2017-04-28 NVDA AMD KMG X ANET CSX WDC IDXX MU AMAT LRCX BAC DXC NAV ALGN
2017-05-31 NVDA TTD KMG XYZ WB CSX MU ANET X LRCX AMAT TTWO WDC ALGN NAV
2017-06-30 NVDA XYZ ANET WB CSX TTD LITE ALGN TTWO TSLA VEEV META AMAT IPGP MU
2017-07-31 NVDA XYZ WB ALGN TTD ANET LITE MU TTWO NRG BA META VRTX LRCX SEDG
2017-08-31 NVDA WB TTWO NRG XYZ ALGN VRTX ANET SEDG TPL IPGP BA MU LRCX META
2017-09-29 NVDA WB TTWO XYZ BBBY MU IPGP NRG ANET SEDG TTD ALGN BA LRCX MTW
2017-10-31 NVDA BBBY XYZ MU ALGN SEDG TTWO TTD MTW IPGP ANET LRCX NRG WB NVR
2017-11-30 BBBY ENPH NVDA XYZ MU ALGN SEDG ANET IPGP NRG TTWO NVR TWTR FSLR PENN
2017-12-29 BBBY NVDA SEDG ENPH MU ANET XYZ WB FSLR ALGN NRG TWTR PENN TTWO IPGP
2018-01-31 BBBY NKTR NVDA XYZ ANET MU EC ALGN SEDG TWTR WB BA PENN CZR TTWO
2018-02-28 NKTR NVDA BBBY SEDG MU XYZ ENPH MTCH ANET EC ALGN TWTR NFLX BA WB
2018-03-29 NKTR ENPH NVDA SEDG MU XYZ MTCH ETSY EC NFLX HET NXPI AMZN TWTR FSLR
2018-04-30 NKTR HET MU AMZN EC META CMG ETSY ENPH AXON ANDV NFLX ANF SEDG CVNA
2018-05-31 ENPH NKTR AXON MU THC TKO NVDA HET ETSY CVNA NFLX SEDG EC TPL CCI
2018-06-29 ENPH TKO HET NKTR AXON ETSY NFLX CVNA ANF NVDA XYZ MU CCI TTD THC
2018-07-31 ENPH HET TKO AXON ETSY CVNA MU ANF THC NVDA SVU CCI XYZ ABMD AMZN
2018-08-31 HET CVNA TKO ENPH XYZ TTD AXON AMD ETSY DXCM CCI LULU NVDA ABMD AMZN
2018-09-28 HET TKO CVNA AMD XYZ TTD CCI DXCM ETSY ABMD UIS AXON LULU NVDA FTNT
2018-10-31 CCI HET AAPL MOS DXCM AMZN MRK EXR MKC TJX ESRX UIS KDP SPG HCA
2018-11-30 HET CCI MOS AMZN RHT EXR TTD MRK ETSY AMD EOG SBUX TRIP PBI MKC
2018-12-31 CCI HET EXR MRK AMZN AET CME GOOG ESRX MKC O KDP AZO CHD DUK
2019-01-31 HET FNMA FMCC CCI AMZN AMD ENPH EXR META MOS NFLX EOG RHT XLNX AVP
2019-02-28 HET ENPH TTD CCI ETSY FNMA FMCC RHT CIEN KEYS ERIE PAYC DXCM CMG SSP
2019-03-29 HET TTD ENPH FNMA FMCC EXR ETSY CCI CMG AMD LLY CDNS AVP AZO CVNA
2019-04-30 HET TTD ENPH CVNA EXR AMD AVP CCI ETSY VEEV CDNS FMCC FNMA PAYC AZO
2019-05-31 HET ENPH EXR CCI AMZN FNMA FMCC ERIE VEEV MTCH AVP AAPL GOOG LLY MKTX
2019-06-28 HET ENPH AVP ERIE EXR TTD CCI FNMA VEEV PAYC FMCC BALL MTCH AMD MKTX
2019-07-31 HET ENPH TTD EXR AVP CCI VEEV PAYC MTCH SBUX FICO ERIE MKTX BALL CDNS
2019-08-30 HET ENPH EXR CCI AVP SEDG MKTX BALL NVDA SBUX PODD SBAC MTCH CMG HSY
2019-09-30 HET ENPH AVP EXR SEDG CCI PODD NCC FNMA KLAC FMCC AAPL KBH HSY CMG
2019-10-31 HET ENPH AVP EXR GNRC SEDG CCI BLDR AAPL NVDA KLAC KBH LRCX PODD T
2019-11-29 HET AVP NVDA ENPH AAPL PODD BLDR CVNA EXR GNRC DXCM CCI TSLA TGT LITE
2019-12-31 HET ENPH TSLA NVDA AAPL THC CVNA AVP SEDG QRVO AMD BLDR CCI SWKS LRCX
2020-01-31 HET TSLA ENPH AAPL NVDA PODD CCI EXR LLY QCOM TDG SEDG AVP CPRT GNRC
2020-02-28 HET EXR TSLA CCI LLY AAPL GOOG DXCM LM AMZN WHR QCOM GEN TYL NVDA
2020-03-31 EXR TSLA ENPH CCI AAPL DXCM AMZN GOOG DVN UST GEN AMT REGN NVDA KR
2020-04-30 TSLA ENPH EXR CCI DVN AMZN DXCM AAPL GOOG GEN AMT NVDA UST REGN MSFT
2020-05-29 TSLA ENPH EXR CCI DVN AMZN AAPL DXCM NVDA GOOG DDOG AMT GEN REGN WST
2020-06-30 TSLA CCI BBBY DDOG AAPL EXR NVDA AMZN AMT DXCM GOOG XYZ MSFT AZO CLX
2020-07-31 BBBY TSLA MRNA NVDA ENPH DXCM AAPL SEDG AMD CVNA CCI XYZ DDOG ETSY REGN
2020-08-31 BBBY TSLA NVDA AAPL AMD CVNA XYZ ENPH MRNA ETSY SEDG AMZN GNRC EXR PENN
2020-09-30 BBBY TSLA PENN NVDA TUP ENPH GME CVNA XYZ EXR SEDG AMD AAPL CCI TTD
2020-10-30 TSLA TUP BBBY ENPH NVDA PENN GME EXR SEDG XYZ TTD GNRC FDX ETSY BBWI
2020-11-30 TSLA BBBY TUP MRNA ENPH GME TTD NVDA XYZ ETSY SEDG PENN CVNA FCX EXR
2020-12-31 TSLA TUP ENPH GME BBBY MRNA PENN CRWD XYZ ETSY CLF NVDA SEDG TTD CPRI
2021-01-29 GME TSLA ENPH MRNA NVDA CCI BBBY TUP EXR ETSY CRWD NOW XYZ PENN AAPL
2021-02-26 GME TUP VIAC EXR TSLA CCI DVN PSKY NBR QEP WBD TPR NVDA PENN DISCA
2021-03-31 GME TUP VIAC QEP TPL EXR CLF CAR DISCA DISCK TSLA CPRI KSS PENN CCI
2021-04-30 GME TUP QEP CAR BBWI EXR XEC TPL MRNA NVDA LPX FCX CPRI ANF TPR
2021-05-28 GME DDS CAR EXR XEC NVDA BBWI FCX NUE ASO MTW TUP DVN IVZ ANF
2021-06-30 GME DDS NVDA MRNA RRD ANF ASO RRC BBWI DVN NAVI XEC MDP BX EXR
2021-07-30 GME MRNA DDS RRD NVDA BX MDP BBWI NUE CLF FTNT MBI NAVI GOOG XEC
2021-08-31 GME MRNA RRD DDS NVDA MDP KKR BX SBNY ASO NAVI FTNT XEC NUE GOOG
2021-09-30 GME MRNA RRD RRC NVDA MDP CAR DDS MRO DVN KKR TRGP BX SBNY M
2021-10-29 GME CAR RRD DDS MRNA NVDA KKR TSLA RRC MRO DVN MDP M BX JWN
2021-11-30 CAR GME DDS NVDA RRD TSLA MRO EXR AMD DVN BX MRNA MDP M DDOG
2021-12-31 RRD CAR GME NVDA EXR MRO BLDR DVN DDS TSLA ON F AMD SBNY BX
2022-01-31 TSLA MRO EXR DVN COP EOG NVDA RRD WFC AAPL HAL OXY CVX APA FANG
2022-02-28 EXR MRO DVN RRD CVX EOG WFC COP TRGP MCK XOM AAPL CB WY ABBV
2022-03-31 COP EXR TSLA OXY MOS EQT CF CAR RRC CVX NVDA HP BKR MUR CNX
2022-04-29 EXR COP AMT EQT CCI CVX DVN EOG MCK XOM T TRGP BMY MRO DLTR
2022-05-31 EXR APA VLO AMT CCI EQT XOM CVX DVN EOG OXY T MRO MPC CTRA
2022-06-30 EXR AMT VLO CCI APA T XOM MCK MRK BMY OXY EOG CVX FHN ABX
2022-07-29 EXR AMT VLO CCI APA XOM OXY TSLA CVX MCK HRB DVN PSA EQT LW
2022-08-31 EXR AMT DVN CCI TSLA HRB MPC COP MCK OXY PSA AZO CAH EQT CF
2022-09-30 EXR AMT DVN CCI TSLA MPC COP FSLR AZO HRB ERIE FHN CAH MCK PSA
2022-10-31 EXR DVN AMT COP MPC CCI AZO FSLR CVX ERIE HES MRK MCK XOM FHN
2022-11-30 UCL FSLR VLO SMCI TPL HES MPC FTI ODP OXY XOM ERIE SANM CAH COP
2022-12-30 UCL VLO FSLR MPC HES FTI SMCI ODP EXR TPL XOM COP SLB OXY APA
2023-01-31 UCL VLO FSLR FTI HES MPC STLD ODP DDS ATI AXON DYN FLR EXR LVS
2023-02-28 UCL VLO NVDA FTI EXR MTW SMCI FSLR MPC TSLA HES STLD TEX OI URI
2023-03-31 UCL NVDA SMCI FSLR VLO TSLA EXR AXON MPC MTW OI FTI BKNG CCI COTY
2023-04-28 UCL NVDA SMCI FSLR META EXR LVS FICO AXON PHM TKO BKNG COTY DECK DHI
2023-05-31 EXR NVDA SMCI AMT CCI META GOOG TSLA BKNG AVGO BLDR FICO CPRT LW PHM
2023-06-30 SMCI NVDA CVNA VRT RCL BLDR META PLTR TSLA NFLX CCL EXR AVGO GE PHM
2023-07-31 SMCI CVNA NVDA PLTR RCL META VRT BLDR CCL EXR UBER TSLA AVGO TTD PHM
2023-08-31 CVNA SMCI NVDA VRT APP ANF EXR BLDR TSLA PLTR ROST NFLX RCL META AVGO
2023-09-29 EXR NVDA TSLA CCI VRT GOOG BKNG APP ANF SMCI PSX META VST AZO APO
2023-10-31 EXR NVDA CCI VRT ANF META FTI CBOE PSX AMT VST CME AZO GOOG TSLA
2023-11-30 ANF NVDA VRT CVNA PHM EXR COIN GPS META SMCI APP PLTR CRWD CRM TSLA
2023-12-29 CVNA COIN ANF NVDA FNMA VRT EXR PHM GPS APP CRWD FMCC META UBER SMCI
2024-01-31 SMCI NVDA ANF VRT FNMA CVNA EXR CRWD PHM FMCC APP META ANET DELL UBER
2024-02-29 SMCI NVDA CVNA ANF ADCT VRT COIN APP EXR DYN CRWD FNMA META VST GE
2024-03-28 SMCI CVNA NVDA VRT ADCT ANF COIN FNMA DYN VST APP EXR GPS FMCC WSM
2024-04-30 CVNA SMCI NVDA ADCT VRT ANF VST DYN EXR APP GE COIN FMCC DELL FNMA
2024-05-31 CVNA NVDA ANF VST VRT SMCI APP DYN CEG DELL FMCC COIN FNMA EXR GPS
2024-06-28 NVDA ANF CVNA SMCI VST DYN APP VRT EXR DELL CEG FMCC HOOD COIN FNMA
2024-07-31 NVDA CVNA ANF DYN LUMN VST EXR APP THC VRT CEG HWM ANET LU CCI
2024-08-30 LUMN NVDA DYN CVNA EXR ANF THC VST PBI CCI GDDY NRG APP IRM HWM
2024-09-30 LUMN NVDA CVNA APP DYN VST EXR CCI THC PBI GEV PLTR COHR CEG FICO
2024-10-31 CVNA LUMN NVDA APP VST EXR GEV PLTR COHR CCI TPL FICO SLG CEG DYN
2024-11-29 APP CVNA LUMN PLTR NVDA VST FMCC TPL HOOD FNMA AXON CCI UAL EXR TSLA
2024-12-31 APP PLTR LUMN FMCC NVDA TSLA FNMA CVNA VST CCI HOOD UAL LB EXR AXON
2025-01-31 APP FMCC PLTR FNMA HOOD CVNA TSLA VST NVDA UAL AXON CCI LUMN IBKR GEV
2025-02-28 FNMA FMCC APP PLTR HOOD CCI NVDA EXR TPR CVNA PBI TPL ALK UAL ECHO
2025-03-31 EXR NEM AMT AZO VRSN PM NVDA FOXA FNMA MO CME CCU T BRO CAH
2025-04-30 EXR FNMA PLTR AMT NEM VRSN AZO PM NFLX CNP NVDA FMCC CME MCK COR
2025-05-30 FNMA FMCC PLTR TSLA HOOD ADCT NEM NVDA UCL APP NRG EXR GEV CVNA AXON
2025-06-30 FNMA HOOD FMCC PLTR NEM CAR APP GEV NVDA CVNA HWM AXON NRG NFLX TSLA
2025-07-31 HOOD PLTR FNMA FMCC GEV APP NEM NVDA CVNA UCL CAR TPR SMCI STX FIX
2025-08-29 FNMA HOOD FMCC PLTR APP ECHO UCL GEV NVDA LITE NEM CVNA FIX STX CAR
2025-09-30 HOOD FNMA FMCC APP PLTR ECHO WDC STX LITE NVDA NEM CIEN FIX WBD GEV
2025-10-31 HOOD FMCC MU FNMA TE WDC APP LITE PLTR CIEN LUMN STX AMD ECHO DYN
2025-11-28 LITE ECHO MU WDC HOOD CIEN STX NKTR TE WBD GOOG KSS AVGO NEM LRCX
2025-12-31 LITE TE ECHO WDC MU CIEN WBD STX NKTR NEM GOOG HOOD NVDA COHR SSP
2026-01-30 TE MU WDC LITE ECHO STX CIEN LRCX WBD NEM ALB GOOG COHR NVDA NKTR
2026-02-27 LITE WDC MU CIEN TE STX COHR FIX ECHO TER VIAV LRCX GLW NEM WBD
2026-03-31 LITE CCI CIEN EXR APA VIAV MU LYB WDC DOW NVDA NBR FTI GILD CF
2026-04-30 LITE WDC CIEN MU STX VIAV INTC CCI COHR EXR ECHO FIX NBR GLW AMD
2026-05-29 MU LITE WDC STX INTC CIEN DELL AMD TE CCI VIAV ECHO COHR MRVL FLEX
2026-06-26 MU WDC INTC LITE STX DELL MRVL CIEN AMD TE VIAV GLW DD TER LRCX
Scoring script (python)
FORMULA_NAME = "Contrarian 52-Week Recovery with Quality-Regime Momentum Arbitration (v1137)"
LOGIC_VARIANT_COUNT = 4
NOTES = """mode=explore; family=contrarian-52w-recovery-quality-regime-momentum-hybrid
New hybrid family that combines deep 52-week contrarian repair, recovery-quality durability filtering, and regime-aware momentum leadership, but resolves their conflicts explicitly instead of averaging them. Each regime branch decides whether a stock should be treated as a washout repair, a skeptical transition candidate, an orderly trend leader, or a defensive compounder; deep drawdowns only earn full credit when repair evidence and business quality agree, while strong trend names can outrank contrarian rebounds only in cleaner tapes.
Deliberate metric coverage: actively use the full momentum cluster (return_1m_pct, return_3m_pct, return_6m_pct, return_12m_pct, momentum_12_1_pct), both recovery metrics (from_200d_ma_pct, from_52w_high_pct), volatility (realized_vol_3m), all three liquidity checks (avg_daily_volume_3m, avg_daily_dollar_volume_3m, trading_days_3m), both income metrics (dividend_yield_ttm_pct, dividend_ttm), all three valuation ratios (pe, forward_pe, peg), a rotated growth set (eps_growth_pct, operating_income_growth_pct, free_cash_flow_growth_pct, forward_eps), both quality margins (operating_margin_pct, free_cash_flow_margin_pct), and one size tilt (market_cap). Deliberately weight revenue_growth_pct plus raw level metrics shares_outstanding, close, adj_close, high_52w, ma_200d, eps_ttm, revenue_ttm, operating_income_ttm, and free_cash_flow_ttm at zero this run to keep the family structurally distinct and avoid double-counting correlated price-level information. Sparse fundamentals are normalized by present weight inside each sleeve before arbitration."""

def score_universe(stocks, regime, ctx):
    def zmap(metric):
        return ctx.z(metric)

    Z = {
        "return_1m_pct": zmap("return_1m_pct"),
        "return_3m_pct": zmap("return_3m_pct"),
        "return_6m_pct": zmap("return_6m_pct"),
        "return_12m_pct": zmap("return_12m_pct"),
        "momentum_12_1_pct": zmap("momentum_12_1_pct"),
        "from_200d_ma_pct": zmap("from_200d_ma_pct"),
        "from_52w_high_pct": zmap("from_52w_high_pct"),
        "realized_vol_3m": zmap("realized_vol_3m"),
        "avg_daily_volume_3m": zmap("avg_daily_volume_3m"),
        "avg_daily_dollar_volume_3m": zmap("avg_daily_dollar_volume_3m"),
        "trading_days_3m": zmap("trading_days_3m"),
        "dividend_yield_ttm_pct": zmap("dividend_yield_ttm_pct"),
        "dividend_ttm": zmap("dividend_ttm"),
        "pe": zmap("pe"),
        "forward_pe": zmap("forward_pe"),
        "peg": zmap("peg"),
        "eps_growth_pct": zmap("eps_growth_pct"),
        "operating_income_growth_pct": zmap("operating_income_growth_pct"),
        "free_cash_flow_growth_pct": zmap("free_cash_flow_growth_pct"),
        "forward_eps": zmap("forward_eps"),
        "operating_margin_pct": zmap("operating_margin_pct"),
        "free_cash_flow_margin_pct": zmap("free_cash_flow_margin_pct"),
        "market_cap": zmap("market_cap"),
    }

    def val(symbol, metric):
        series = Z.get(metric)
        if not series:
            return None
        return series.get(symbol)

    def weighted(symbol, terms):
        total = 0.0
        present = 0.0
        for metric, weight, sign in terms:
            v = val(symbol, metric)
            if v is None:
                continue
            total += weight * sign * v
            present += weight
        if present <= 0.0:
            return 0.0
        return total / present

    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")
    avg_vol = regime.get("avg_realized_vol_3m")
    median_200d = regime.get("median_from_200d_ma_pct")

    if breadth is None:
        breadth = 0.5
    if avg_vol is None:
        avg_vol = 30.0
    if median_200d is None:
        median_200d = 0.0

    if bull >= 1.0 and breadth >= 0.62 and median_200d >= 1.5 and avg_vol <= 29.0:
        branch = "orderly_trend"
    elif bull >= 1.0 and (breadth < 0.62 or avg_vol > 29.0):
        branch = "skeptical_transition"
    elif bull < 1.0 and (median_200d < -2.0 or avg_vol >= 36.0):
        branch = "risk_off"
    else:
        branch = "washout_repair"

    scores = {}
    for stock in stocks:
        symbol = stock["symbol"]

        repair = weighted(symbol, [
            ("from_52w_high_pct", 0.26, -1),
            ("from_200d_ma_pct", 0.22, +1),
            ("return_1m_pct", 0.10, +1),
            ("return_3m_pct", 0.14, +1),
            ("realized_vol_3m", 0.08, -1),
            ("avg_daily_dollar_volume_3m", 0.08, +1),
            ("trading_days_3m", 0.05, +1),
            ("market_cap", 0.07, -1),
        ])

        trend = weighted(symbol, [
            ("momentum_12_1_pct", 0.26, +1),
            ("return_6m_pct", 0.22, +1),
            ("return_12m_pct", 0.14, +1),
            ("from_200d_ma_pct", 0.16, +1),
            ("from_52w_high_pct", 0.08, +1),
            ("realized_vol_3m", 0.07, -1),
            ("avg_daily_volume_3m", 0.07, +1),
        ])

        quality = weighted(symbol, [
            ("operating_margin_pct", 0.21, +1),
            ("free_cash_flow_margin_pct", 0.21, +1),
            ("operating_income_growth_pct", 0.14, +1),
            ("free_cash_flow_growth_pct", 0.14, +1),
            ("eps_growth_pct", 0.08, +1),
            ("forward_eps", 0.06, +1),
            ("dividend_ttm", 0.05, +1),
            ("avg_daily_dollar_volume_3m", 0.06, +1),
            ("trading_days_3m", 0.05, +1),
        ])

        value_support = weighted(symbol, [
            ("peg", 0.34, -1),
            ("forward_pe", 0.28, -1),
            ("pe", 0.14, -1),
            ("dividend_yield_ttm_pct", 0.14, +1),
            ("market_cap", 0.10, -1),
        ])

        defense = weighted(symbol, [
            ("realized_vol_3m", 0.24, -1),
            ("from_200d_ma_pct", 0.16, +1),
            ("from_52w_high_pct", 0.10, +1),
            ("operating_margin_pct", 0.13, +1),
            ("free_cash_flow_margin_pct", 0.12, +1),
            ("dividend_yield_ttm_pct", 0.08, +1),
            ("avg_daily_dollar_volume_3m", 0.08, +1),
            ("trading_days_3m", 0.05, +1),
            ("peg", 0.04, -1),
        ])

        recovery_proof = weighted(symbol, [
            ("from_200d_ma_pct", 0.34, +1),
            ("return_1m_pct", 0.16, +1),
            ("return_3m_pct", 0.20, +1),
            ("realized_vol_3m", 0.12, -1),
            ("avg_daily_volume_3m", 0.08, +1),
            ("trading_days_3m", 0.10, +1),
        ])

        drawdown_depth = weighted(symbol, [
            ("from_52w_high_pct", 1.0, -1),
        ])

        durability = weighted(symbol, [
            ("operating_margin_pct", 0.28, +1),
            ("free_cash_flow_margin_pct", 0.24, +1),
            ("operating_income_growth_pct", 0.16, +1),
            ("free_cash_flow_growth_pct", 0.16, +1),
            ("dividend_yield_ttm_pct", 0.08, +1),
            ("forward_pe", 0.08, -1),
        ])

        conflict_bias = drawdown_depth - trend
        reconciliation = clamp(0.5 + 0.7 * recovery_proof + 0.5 * durability - 0.4 * trend, -1.0, 1.0)

        if branch == "washout_repair":
            repair_weight = 0.58 + 0.12 * clamp(conflict_bias, -0.5, 1.0)
            trend_weight = 0.07
            quality_weight = 0.23
            defense_weight = 0.12
            score = (
                repair_weight * repair +
                trend_weight * trend +
                quality_weight * quality +
                defense_weight * defense +
                0.12 * reconciliation -
                0.16 * clamp(drawdown_depth - recovery_proof - durability, 0.0, 2.0)
            )
        elif branch == "skeptical_transition":
            trend_share = clamp(0.34 + 0.18 * (trend - drawdown_depth), 0.20, 0.52)
            repair_share = clamp(0.32 + 0.16 * (drawdown_depth - trend), 0.18, 0.50)
            quality_share = 0.24
            defense_share = 1.0 - trend_share - repair_share - quality_share
            score = (
                trend_share * trend +
                repair_share * repair +
                quality_share * quality +
                defense_share * defense +
                0.10 * value_support +
                0.14 * clamp(recovery_proof + durability - abs(conflict_bias), -1.0, 1.5)
            )
        elif branch == "orderly_trend":
            score = (
                0.47 * trend +
                0.16 * repair +
                0.21 * quality +
                0.08 * value_support +
                0.08 * defense +
                0.10 * clamp(trend + durability - max(drawdown_depth - 0.4, 0.0), -1.0, 2.0)
            )
        else:
            score = (
                0.43 * defense +
                0.24 * quality +
                0.14 * value_support +
                0.11 * trend +
                0.08 * repair +
                0.10 * clamp(durability - drawdown_depth + recovery_proof, -1.5, 1.5)
            )

        scores[symbol] = score

    return scores