Core Concepts
The app separates two questions:
- Ticker Strength: whether the stock itself has strong trend, momentum, relative strength, and price action.
- ETF Support: whether the configured ETFs that hold the stock create a broad and consistent supportive backdrop.
ETF And Ticker Strength Score
ETFs and stocks use the same local 0-100 model. FMP provides raw daily OHLCV and ETF holdings data; this composite score is calculated locally.
| Component | Weight | Main Inputs |
|---|---|---|
| Trend | 25 | Close location versus SMA20 / SMA50 / SMA200 |
| Momentum | 25 | 20-day and 60-day returns |
| Relative Strength | 25 | 20-day and 60-day excess return versus SPY |
| Price Action | 25 | 20-day range position, drawdown from 60-day high, and volume/price quality |
score ≥ 65 is treated as strong, score ≤ 40 is treated as weak, and the middle range represents neutral, rotation, or transition regimes.
ETF Support Score
Support Score ranks the ETF backdrop for each ticker on a 0-100 scale:
| Input | Calculation | Purpose |
|---|---|---|
| Weighted ETF Score | Weighted average of ETF strength by the ticker's holding weight in each ETF | Measures the quality of the most relevant ETFs |
| Strong ETF Share | Strong ETF count divided by tracked ETF count | Separates broad support from a few isolated leaders |
| ETF Breadth | min(ETF count ÷ 5, 1) |
Rewards multi-ETF confirmation, capped at five ETFs |
| Universe Diversity | min(universe type count ÷ 3, 1) |
Rewards cross-confirmation across sector, thematic, and industry ETFs |
If ETF holding weights are missing, Weighted ETF Score falls back to a simple ETF strength average. Support Score does not include the ticker's own score, so the ETF backdrop and the stock itself can be evaluated independently. Support Score only uses tracked ETFs with local strength scores; the ticker detail exposure table also shows the full FMP ETF exposure list, and untracked ETFs do not enter the score.
ETF Consensus Labels
| Label | Rule | Interpretation |
|---|---|---|
| Broad Support | At least three strong ETFs and no weak ETFs | The ETF backdrop provides broad positive confirmation |
| Broad Headwind | At least two weak ETFs and no strong ETFs | Multiple ETF contexts are under pressure together |
| Mixed | Both strong and weak ETFs are present | Themes or industries are diverging |
| Limited | No rule above is met | Coverage is thin or consensus has not formed |
How To Use It
- Open Ticker Support and set Minimum ETFs to
3+or5+. - Sort Support descending and focus first on Broad Support tickers with Types ≥ 2.
- Compare Ticker Score. High support plus high ticker score means a strong stock inside a strong ETF context.
- High support plus a weaker ticker score means the backdrop is good, but the stock still needs its own price action to confirm.
- Broad Headwind plus low ticker score can be used to screen for downside continuation.
- Stocks that outperform a weak ETF can be found in the Rebound group inside an ETF's holdings view.
- Click a ticker to inspect the exact ETFs, holding weights, ETF strength, and relative performance versus SPY. This helps avoid results driven by one small ETF weight.
Strength Velocity
Historical strength can be interpreted with first and second derivatives:
- Velocity: the recent slope of the strength score. Positive values mean strength is improving; negative values mean it is deteriorating.
- Acceleration: the change in velocity. Positive values mean improvement is speeding up; negative values mean momentum is slowing.
The most useful combinations are usually a high absolute score with positive velocity, or an early repair setup where velocity and acceleration turn positive from a low-score area. Derivatives are noise-sensitive and should be read alongside absolute score, relative strength, and price structure.
RRG Rotation Trails
The home-page RRG uses 60-day relative return versus SPY on the X axis and RS20 - RS60 on the Y axis. Positive X indicates medium-term relative leadership; positive Y indicates improving short-term relative momentum. The 5D, 13D, and 21D controls show movement through Leading, Weakening, Lagging, and Improving quadrants.
To reduce overlap, the page defaults to sector ETFs and a 5-day trail. Every ETF's latest position remains visible, while only the six largest moves show trails by default. Hovering temporarily focuses any ETF; clicking keeps it focused and opens its detail view. Axis limits use the 95th percentile of absolute values so a single outlier does not compress the chart.
This is an RRG-style local approximation, not the proprietary JdK RS-Ratio / RS-Momentum calculation.
Data Scope And Updates
- Prices and holdings come from Financial Modeling Prep.
- Benchmark: SPY.
- Universe: configured sector, thematic, and industry ETFs.
- Each ETF analyzes at least the top 25 valid tickers by weight. If cumulative weight is below 80%, the app keeps adding holdings up to 50.
- Ticker Support only scores tracked ETFs with local strength scores; ticker detail pages show the full FMP ETF exposure list.
- The static site shows the latest build snapshot. The scheduled job updates after the U.S. market close.
Limits
- ETF holdings can lag real portfolio changes, and issuers update at different frequencies.
- A stock's weights across ETFs cannot be added into a total market ownership percentage.
- The model does not understand earnings, valuation, news, liquidity, options positioning, or macro events.
- Multiple ETFs can overlap heavily, so ETF count is not the same as independent information sources.
- Historical momentum can reverse. Real use still needs entry rules, invalidation levels, and risk budgets.