Install
openclaw skills install ripe-scannerFree stock and crypto momentum scanner with social sentiment analysis. Scans S&P 500, Nasdaq 100, and crypto for momentum signals using RSI, EMA, Bollinger Squeeze, volume, and social sentiment from StockTwits and Reddit. Use when asked about momentum, hot stocks, ripe signals, social sentiment, market scanning, or stock screening.
openclaw skills install ripe-scannerZero-cost, fully local momentum scanner covering 600+ stocks and 15 crypto assets. Combines technical scoring (RSI, EMA, Bollinger Squeeze, volume) with social sentiment (StockTwits + Reddit WSB). Tracks signal history for win rate verification.
No API keys required. No rate limits. Runs entirely on your machine.
pip install yfinance pandas numpy
All scripts: ~/.openclaw/workspace/skills/ripe-scanner/scripts/
python3 scripts/ripe-scan.py top [--limit 10] [--min-score 70] [--sentiment] [--no-crypto]
Ranked table of highest-scoring momentum signals across the full universe.
python3 scripts/ripe-scan.py lookup TSLA NVDA BTC-USD
Full profile per ticker: score, technicals, sentiment breakdown, key drivers.
python3 scripts/ripe-scan.py sentiment TSLA AAPL
StockTwits bull/bear ratio + Reddit WSB mention frequency and sentiment.
python3 scripts/ripe-scan.py pulse [--sentiment]
Bird's-eye market overview: badge distribution, top ripe signals, overbought warnings, biggest movers.
python3 scripts/ripe-scan.py changes
Detects newly ripe signals, big upgrades/downgrades, and score jumps vs the last snapshot.
python3 scripts/ripe-scan.py snapshot [--sentiment]
Saves today's scores to disk. Run daily (e.g., via cron) to build history for win rate tracking.
python3 scripts/ripe-scan.py history
Shows cumulative win rate for past "ripe" signals (1-day and 5-day returns).
| Component | Weight | Source |
|---|---|---|
| RSI (14) trend zone | 20% | yfinance |
| EMA 20/50 alignment | 20% | yfinance |
| Bollinger Squeeze | 15% | yfinance |
| Volume surge vs 20d avg | 15% | yfinance |
| 52-week high proximity | 10% | yfinance |
| Social sentiment | 20% | StockTwits + Reddit |
| Badge | Score | Meaning |
|---|---|---|
| 🍌 Ripe | 80–100 | Strong momentum + positive sentiment |
| 🟡 Ripening | 60–79 | Building momentum, watchlist candidate |
| 🟠 Overripe | 80–100 (RSI>75) | Overbought — caution |
| ⚪ Neutral | 40–59 | No clear signal |
| 🔴 Rotten | 0–39 | Weak momentum + negative sentiment |
WATCHLIST_EXTRA or CRYPTO_TICKERS in the script| Source | Data | Rate Limit |
|---|---|---|
| yfinance | Price, volume, technicals | ~2000 req/hr (batched) |
| StockTwits API | Bull/bear sentiment | No key needed, ~200 req/hr |
| Reddit JSON | WSB mentions + upvotes | No key needed, ~60 req/min |
/tmp/ripe_scanner_cache.jsonDaily snapshots stored in ~/.openclaw/workspace/memory/ripe_scanner/snapshots/.
Signal log at ~/.openclaw/workspace/memory/ripe_scanner/signals_log.json.
Run snapshot daily to:
changes command (vs previous day comparison)🏆 TOP 5 MOMENTUM SIGNALS
Symbol Score Badge Price 1d 5d RSI Sent
------------------------------------------------------------------------
$MU 94 🍌 ripe $ 426.13 +5.1% +9.4% 51 100
↳ Price above EMA20 & EMA50, Bollinger Squeeze, RSI 51 healthy
$XOM 91 🍌 ripe $ 156.12 +1.7% +3.8% 61 100
↳ Uptrend confirmed, Squeeze detected, Near 52-week high
₿$BTC-USD 78 🟡 ripening $67432.10 +2.3% -1.2% 55 72
↳ RSI 55 healthy momentum, Strong bullish social sentiment
--sentiment flag on top and pulse for more accurate scores (adds ~2 min)--sentiment, social score defaults to 50 (neutral) — technicals only--no-crypto to exclude crypto assets from scanspython3 ripe-scan.py snapshot --sentiment via cron for daily trackingchanges to catch breakout transitions earlyMIT — free for personal and commercial use.