Ripe Scanner — Free Momentum + Social Sentiment Scanner
Zero-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.
Requirements
CODEBLOCK0
Commands
All scripts: INLINECODE0
Scan Top Signals
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.
Individual Lookup
python3 scripts/ripe-scan.py lookup TSLA NVDA BTC-USD
Full profile per ticker: score, technicals, sentiment breakdown, key drivers.
Social Sentiment Only
python3 scripts/ripe-scan.py sentiment TSLA AAPL
StockTwits bull/bear ratio + Reddit WSB mention frequency and sentiment.
Market Pulse
python3 scripts/ripe-scan.py pulse [--sentiment]
Bird's-eye market overview: badge distribution, top ripe signals, overbought warnings, biggest movers.
Score Changes (vs Previous Day)
python3 scripts/ripe-scan.py changes
Detects newly ripe signals, big upgrades/downgrades, and score jumps vs the last snapshot.
Save Daily 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.
Signal History & Win Rate
python3 scripts/ripe-scan.py history
Shows cumulative win rate for past "ripe" signals (1-day and 5-day returns).
Scoring System (0–100)
| 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 |
Badges
| 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 |
Coverage
- - Stocks: S&P 500 + Nasdaq 100 + popular watchlist names (~600)
- Crypto: BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, DOT, MATIC, LINK, UNI, ATOM, LTC, NEAR
- Easily extensible — add tickers to
WATCHLIST_EXTRA or CRYPTO_TICKERS in the script
Data Sources (All Free)
| 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 |
Performance
- - Full scan (~600 tickers): 3–5 minutes (with sentiment for top 50)
- Individual lookup: ~5 seconds per ticker
- Results cached for 30 minutes at INLINECODE3
History & Snapshots
Daily snapshots stored in ~/.openclaw/workspace/memory/ripe_scanner/snapshots/.
Signal log at ~/.openclaw/workspace/memory/ripe_scanner/signals_log.json.
Run snapshot daily to:
- 1. Save all scores to disk
- Log "ripe" signals with entry prices
- Enable
changes command (vs previous day comparison) - Build win rate history over time
Example Output
CODEBLOCK8
Tips
- - Use
--sentiment flag on top and pulse for more accurate scores (adds ~2 min) - Without
--sentiment, social score defaults to 50 (neutral) — technicals only - Use
--no-crypto to exclude crypto assets from scans - Schedule
python3 ripe-scan.py snapshot --sentiment via cron for daily tracking - Compare with
changes to catch breakout transitions early
License
MIT — free for personal and commercial use.
Ripe Scanner — 免费动量 + 社交情绪扫描器
零成本、完全本地化的动量扫描器,覆盖600多只股票和15种加密资产。
结合技术评分(RSI、EMA、布林带收缩、成交量)与社交情绪
(StockTwits + Reddit WSB)。追踪信号历史以验证胜率。
无需API密钥。无速率限制。完全在本地运行。
环境要求
bash
pip install yfinance pandas numpy
命令
所有脚本位于:~/.openclaw/workspace/skills/ripe-scanner/scripts/
扫描顶级信号
bash
python3 scripts/ripe-scan.py top [--limit 10] [--min-score 70] [--sentiment] [--no-crypto]
按评分排序的全市场最高动量信号表格。
个股查询
bash
python3 scripts/ripe-scan.py lookup TSLA NVDA BTC-USD
每个标的完整档案:评分、技术指标、情绪分析、关键驱动因素。
仅社交情绪
bash
python3 scripts/ripe-scan.py sentiment TSLA AAPL
StockTwits多头/空头比率 + Reddit WSB提及频率和情绪。
市场脉搏
bash
python3 scripts/ripe-scan.py pulse [--sentiment]
鸟瞰市场概览:徽章分布、顶级成熟信号、超买警告、最大波动标的。
评分变化(与前一天对比)
bash
python3 scripts/ripe-scan.py changes
检测新出现的成熟信号、重大升级/降级,以及与上次快照相比的评分跳变。
保存每日快照
bash
python3 scripts/ripe-scan.py snapshot [--sentiment]
将今日评分保存至磁盘。每日运行(例如通过cron)以构建历史数据用于胜率追踪。
信号历史与胜率
bash
python3 scripts/ripe-scan.py history
显示过去成熟信号的累计胜率(1日和5日回报)。
评分系统(0–100)
| 组件 | 权重 | 数据源 |
|---|
| RSI(14)趋势区间 | 20% | yfinance |
| EMA 20/50对齐 |
20% | yfinance |
| 布林带收缩 | 15% | yfinance |
| 成交量激增 vs 20日均值 | 15% | yfinance |
| 52周高点接近度 | 10% | yfinance |
| 社交情绪 | 20% | StockTwits + Reddit |
徽章
| 徽章 | 评分 | 含义 |
|---|
| 🍌 成熟 | 80–100 | 强劲动量 + 积极情绪 |
| 🟡 成熟中 |
60–79 | 动量正在形成,关注候选 |
| 🟠
过熟 | 80–100(RSI>75) | 超买 — 需谨慎 |
| ⚪
中性 | 40–59 | 无明显信号 |
| 🔴
腐烂 | 0–39 | 弱势动量 + 消极情绪 |
覆盖范围
- - 股票:标普500 + 纳斯达克100 + 热门关注列表标的(约600只)
- 加密资产:BTC、ETH、SOL、BNB、XRP、ADA、DOGE、AVAX、DOT、MATIC、LINK、UNI、ATOM、LTC、NEAR
- 易于扩展 — 在脚本中添加标的至WATCHLISTEXTRA或CRYPTOTICKERS
数据源(全部免费)
| 数据源 | 数据内容 | 速率限制 |
|---|
| yfinance | 价格、成交量、技术指标 | 约2000次请求/小时(批量处理) |
| StockTwits API |
多头/空头情绪 | 无需密钥,约200次请求/小时 |
|
Reddit JSON | WSB提及 + 点赞数 | 无需密钥,约60次请求/分钟 |
性能
- - 全量扫描(约600个标的):3–5分钟(含前50名的情绪分析)
- 个股查询:每个标的约5秒
- 结果缓存30分钟,位于/tmp/ripescannercache.json
历史与快照
每日快照存储于~/.openclaw/workspace/memory/ripe_scanner/snapshots/。
信号日志位于~/.openclaw/workspace/memory/ripescanner/signalslog.json。
每日运行snapshot以:
- 1. 将所有评分保存至磁盘
- 记录成熟信号及其入场价格
- 启用changes命令(与前一天对比)
- 随时间构建胜率历史
示例输出
🏆 前5名动量信号
标的 评分 徽章 价格 1日 5日 RSI 情绪
$MU 94 🍌 成熟 $ 426.13 +5.1% +9.4% 51 100
↳ 价格位于EMA20和EMA50之上,布林带收缩,RSI 51健康
$XOM 91 🍌 成熟 $ 156.12 +1.7% +3.8% 61 100
↳ 上升趋势确认,检测到收缩,接近52周高点
₿$BTC-USD 78 🟡 成熟中 $67432.10 +2.3% -1.2% 55 72
↳ RSI 55健康动量,强劲看涨社交情绪
使用技巧
- - 在top和pulse命令中使用--sentiment标志以获得更准确的评分(增加约2分钟)
- 不使用--sentiment时,社交评分默认为50(中性)— 仅基于技术指标
- 使用--no-crypto排除加密资产扫描
- 通过cron定时运行python3 ripe-scan.py snapshot --sentiment以进行每日追踪
- 使用changes命令对比,及早捕捉突破转折信号
许可证
MIT — 免费用于个人和商业用途。