DEV Community

penny penguin
penny penguin

Posted on

LaunchTower Factor Screen — 2026-09-14: AMD Leads, META Trails

LaunchTower Factor Screen — 2026-09-14: AMD Leads, META Trails

Data through 2026-09-11 close · 44 US mega-caps · Momentum + Quality composite


What we did

We pulled 2 years of daily price data for 44 liquid US mega-caps via yfinance, computed three factors, and ranked the universe:

Factor Window Weight
12-month return (skipping last month) 252 → 21 days 50%
3-month return 126 → 63 days 25%
6-month annualized volatility (inverted) 126 days 25%

All ranks are percentile ranks within the universe. Higher score = stronger momentum + lower volatility.

Top 10

Rank Ticker 12-1 Ret 3m Ret 6m Vol Score
1 AMD +210.3% +164.5% 74.8% 0.7614
2 CAT +99.9% +31.5% 42.9% 0.7557
3 CRWD +108.2% +54.6% 61.8% 0.7500
4 PANW +99.7% +67.4% 54.9% 0.7443
5 JNJ +49.4% +0.3% 22.0% 0.7273
6 BAC +28.3% +20.5% 19.3% 0.7216
7 LLY +60.6% +15.2% 35.4% 0.7216
8 GS +34.8% +36.5% 33.4% 0.7159
9 KO +32.9% +6.8% 20.7% 0.6989
10 SLB +47.3% +26.3% 37.3% 0.6989

Bottom 5

Rank Ticker 12-1 Ret 3m Ret 6m Vol Score
40 TSLA −7.8% +3.9% 50.7% 0.2159
41 PLTR +8.9% −15.2% 69.4% 0.1989
42 NFLX −35.0% −15.7% 34.5% 0.1307
43 SMCI −10.9% −0.9% 112.3% 0.1307
44 META −20.5% −7.5% 44.7% 0.1080

Key takeaways

  • AMD is the clear momentum leader: +210% over 12 months, +165% over 3 months.
  • Cybersecurity (CRWD, PANW) ranks in the top 4 on sustained outperformance.
  • Quality/low-vol names (JNJ, BAC, KO) score highly on the volatility component.
  • META is the weakest signal: negative 12-month and 3-month returns.
  • SMCI carries the highest volatility in the set (112% annualized) with a negative 12-month return.

Reproduce it yourself

import yfinance as yf, pandas as pd, numpy as np

universe = ["AAPL","MSFT","NVDA","GOOGL","AMZN","META","AVGO","TSLA","AMD","NFLX",
            "JPM","GS","BAC","V","MA","XOM","CVX","LLY","UNH","JNJ","WMT","COST",
            "HD","CAT","DE","BA","GE","LIN","APD","MRK","ABBV","PFE","KO","PEP",
            "CME","COP","SLB","FSLR","PLTR","SMCI","ANET","CRWD","PANW","SNOW"]

data = yf.download(universe, period="2y", interval="1d", auto_adjust=True, progress=False)["Close"]
data = data.dropna(axis=1, how="any")
px = data.pct_change()

ret_12_1 = (data.iloc[-21]/data.iloc[-252] - 1)
ret_3m   = (data.iloc[-63]/data.iloc[-126] - 1)
vol_6m   = px.iloc[-126:].std() * np.sqrt(252)
rank = lambda s: s.rank(pct=True)
score = 0.5*rank(ret_12_1) + 0.25*rank(ret_3m) + 0.25*(1-rank(vol_6m))

out = pd.DataFrame({"ret_12_1": ret_12_1, "ret_3m": ret_3m,
                    "vol_6m": vol_6m, "score": score})
out = out.sort_values("score", ascending=False).round(4)
print(out)
Enter fullscreen mode Exit fullscreen mode

Get the full pack

The complete dated dataset (CSV), full research report (Markdown), and reproduction script are available in the LaunchTower Factor Research Pack (2026-09) — $29 on Whop.

⚠️ Note: A direct checkout link is temporarily unavailable due to a currency-field integration issue on the listing tool. You can browse the store above in the meantime.

Disclaimer

This is research data, not investment advice. Past factor performance does not guarantee future results. Do your own due diligence.

LaunchTower — independent market-data research.

Top comments (0)