πŸ“ˆ Halal Spread Scanner

Updated 2026-07-10 22:32 UTC Β· horizon 10 trading days (~2 weeks) Β· 29 halal-screened tickers
Ranked by Setup Score β€” how coiled each name is now. High score = volatility compressed, a move loading. The Β± column and 1Οƒ targets show how far price could travel up or down over the horizon (~68% within Β±1Οƒ). A both-ways (straddle-style) setup tool β€” direction is a weak hint only.
#TickerPriceScoreSqueeze Β±10dImpliedVolDown 1ΟƒUp 1ΟƒLeanHV%EarningsDebt%Cash%
1 SHOP 122.54 62 β€” Β±9.1% 10.8% πŸ”΄ rich 111.38 133.70 Bullish 46 25d 0% 4%
2 CRM 163.32 60 β€” Β±7.2% 8.7% πŸ”΄ rich 151.57 175.07 Bullish 36 53d 32% 9%
3 AMD 557.89 59 πŸ”’ 1d Β±15.7% 14.7% β€’ fair 470.21 645.57 Bullish 79 24d 0% 1%
4 XOM 138.88 53 β€” Β±5.3% 5.2% β€’ fair 131.47 146.29 Bearish 27 20d 8% 1%
5 SPUS 57.78 51 πŸ”’ 1d Β±3.7% β€” β€” 55.62 59.94 Bullish 19 β€” β€” β€”
6 NOW 107.71 46 β€” Β±11.1% 16.1% πŸ”΄ rich 95.73 119.69 Bullish 56 ⚠ 11d 2% 5%
7 NVDA 210.96 46 β€” Β±7.0% 7.3% β€’ fair 196.23 225.69 Neutral 35 46d 0% 1%
8 GOOGL 357.18 40 β€” Β±6.2% 9.0% πŸ”΄ rich 334.86 379.50 Neutral 31 ⚠ 11d 2% 3%
9 TXN 311.46 34 β€” Β±12.7% 15.2% πŸ”΄ rich 271.83 351.09 Neutral 64 ⚠ 11d 5% 2%
10 MSFT 385.10 33 β€” Β±7.2% 6.5% β€’ fair 357.23 412.97 Bullish 36 18d 4% 3%
11 HLAL 72.05 32 β€” Β±3.9% β€” β€” 69.21 74.88 Bullish 20 β€” β€” β€”
12 INTC 109.84 32 β€” Β±18.3% 19.6% β€’ fair 89.72 129.96 Bearish 92 ⚠ 12d 8% 6%
13 LLY 1,188.58 31 β€” Β±6.8% 6.8% β€’ fair 1,107.48 1,269.68 Bullish 34 25d 4% 0%
14 AMZN 245.34 31 β€” Β±6.7% 6.6% β€’ fair 228.87 261.81 Bullish 34 19d 9% 5%
15 PLTR 126.79 30 β€” Β±11.3% 9.7% β€’ fair 112.50 141.08 Bullish 57 23d 0% 3%
16 QCOM 189.16 28 β€” Β±13.0% β€” β€” 164.49 213.83 Bearish 66 18d 8% 5%
17 CVX 176.40 28 β€” Β±5.4% β€” β€” 166.93 185.87 Neutral 27 20d 13% 2%
18 MU 979.30 26 β€” Β±22.9% β€” β€” 754.87 1,203.73 Bearish 115 74d 1% 2%
19 ARM 323.39 25 β€” Β±19.8% β€” β€” 259.39 387.39 Bearish 99 18d 0% 1%
20 AVGO 399.97 23 πŸ”₯ β–² Β±9.7% β€” β€” 361.17 438.77 Neutral 49 54d 3% 1%
21 ADBE 223.64 22 β€” Β±9.5% β€” β€” 202.40 244.88 Bullish 48 61d 8% 6%
22 UBER 74.54 21 β€” Β±9.0% β€” β€” 67.86 81.22 Bullish 45 25d 8% 4%
23 MRVL 235.81 20 β€” Β±20.7% β€” β€” 186.99 284.63 Bearish 104 47d 3% 2%
24 TSLA 407.76 19 β€” Β±11.8% β€” β€” 359.76 455.76 Bullish 59 ⚠ 11d 1% 3%
25 LRCX 350.33 11 β€” Β±20.3% β€” β€” 279.13 421.53 Bearish 102 18d 1% 1%
26 AMAT 602.50 10 β€” Β±20.1% β€” β€” 481.49 723.51 Bearish 101 33d 2% 2%
27 META 669.21 8 β€” Β±10.8% β€” β€” 596.63 741.79 Bullish 54 18d 5% 5%
28 AAPL 315.32 6 β€” Β±6.9% β€” β€” 293.67 336.97 Bullish 34 19d 2% 1%
29 JNJ 256.98 0 β€” Β±6.1% β€” β€” 241.25 272.71 Bullish 31 ⚠ 4d 9% 4%

How it works

The idea β€” volatility cycles

Volatility breathes: it contracts, then expands. When a stock coils β€” its trading range squeezes tight and recent volatility drops to the low end of its own range β€” an outsized move usually follows within days. The catch is the direction isn't knowable in advance. So this tool ranks how coiled each name is and shows how far it could travel both ways.

Where the numbers come from

Each weekday after the US close a GitHub Action pulls ~1 year of daily prices for every halal-screened ticker, recomputes the indicators (Bollinger Bands, Keltner Channels, TTM squeeze, ATR, historical volatility) with no look-ahead, and redeploys this page. Nothing to run by hand β€” just refresh.

What each column means

  • Score (0–100) β€” how coiled the name is right now; higher = a move is more imminent. The chip shades greenβ†’red with the score.
  • Squeeze β€” πŸ”’ Nd = Bollinger Bands inside the Keltner Channels (the β€œTTM squeeze”) and building for N days. πŸ”₯ β–²/β–Ό = the squeeze just released (the entry trigger) and which way it broke.
  • Β±10d β€” the 1-sigma historical expected move over the horizon, as a % of price.
  • Implied / Vol β€” the option-implied move and whether it's cheap / fair / rich vs. history. Cheap = market underpricing the move (favours buying a straddle); rich = overpricing it. Priced for the top names only.
  • Down 1Οƒ / Up 1Οƒ β€” price targets one standard deviation either side. ~68% of moves land inside Β±1Οƒ, ~95% inside Β±2Οƒ.
  • Earnings β€” calendar days to the next report. ⚠ means it lands inside the horizon: a big expected move there is normal, not edge.
  • Lean β€” a faint directional hint from squeeze momentum. A tiebreaker only β€” do not trade on it alone.
  • HV% β€” annualised historical volatility (how jumpy the name has been).
  • Debt% / Cash% β€” the Shariah financial-ratio check: interest-bearing debt and cash as a share of market cap. Both must stay under ~33%. Every name shown has passed.
Score = compression (low Bollinger-bandwidth %ile, ≀35) + room to expand (low historical-vol %ile, ≀20) + active TTM squeeze, longer = more (≀45) Expected move (1Οƒ) = price Γ— daily Οƒ Γ— √(horizon days) Halal screen = permissible industry AND interest-bearing debt / market cap < 33% AND cash & equivalents / market cap < 33% (AAOIFI / S&P Islamic style)

How to use these signals

  1. Start at the top. The highest scores are the most coiled β€” where a move is most likely to fire soon. Treat the list as a watchlist, not buy orders.
  2. Trade the move, not a guess at direction. This is a both-ways setup. It pairs naturally with non-directional option plays (a straddle / strangle), or with waiting for the breakout and trading whichever way it resolves.
  3. Use the Β± band as your expected move. Compare it to what options are pricing: if a straddle costs less than the 1Οƒ band implies, the expected move may be β€œcheap”; if more, it’s β€œrich”. The Down / Up targets are your reference levels.
  4. Wait for the squeeze to release. πŸ”’ with rising days means energy is building β€” not yet a trigger. The signal is the fire: when the bands expand back out. Many traders enter on the release, in the direction it breaks.
  5. Check the calendar first. A big expected move into earnings is normal, not edge. Know the catalyst (earnings, Fed, product event) before assuming the squeeze tells the whole story.
  6. Manage risk. The band is a probability, not a promise β€” roughly 1 move in 3 breaks outside Β±1Οƒ. Size positions so a 2Οƒ move against you is survivable.
  7. Re-verify halal compliance. The universe is fetched from Shariah ETFs and re-checked on industry + debt/cash ratios β€” but the 5%-income purification rule isn’t automated. Confirm each name and purify incidental impure income (Zoya / Musaffa).
πŸ“ˆ Year-to-year price charts Β· πŸ”¬ Does the score work? β€” backtest Β· Raw data: signals.csv Β· signals.json Β· auto-refreshed each weekday after the US close.
⚠️ Educational tool, not financial advice, and not a fatwa. The universe is pulled from Shariah-compliant ETFs and re-screened on industry + debt/cash ratios (an approximation of AAOIFI / S&P Islamic methodology). It does not automate the 5%-income purification rule, and ratios change quarterly β€” re-verify each name (Zoya / Musaffa) before trading.