ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Flujos de trabajo
  3. Diario WSB Sentiment Analisis Pipeline
Flujo de trabajo

Diario WSB Sentiment Analisis Pipeline

Automatizado diario analisis de sentimiento of r/wallstreetbets y r/stocks. Extraer ticker menciones, puntuacion sentiment, detectar momentum spikes.

Comenzar gratisDocumentacion API

Resumen

Este pipeline ejecuta cada manana antes de mercado open to analizar Reddit trading subreddits for ticker menciones y sentiment senales. It consultas Scavio Reddit endpoint for r/wallstreetbets y r/stocks discussions, extrae ticker symbols, counts mencion frecuencia, y compara contra un 7-dia promedio movil to detectar momentum spikes. Salida es un ranked senal feed sorted by mencion pico magnitude.

Desencadenador

Cron programar (diario at 8:00 AM EST, antes de mercado open)

Programación

Ejecuta diario at 8:00 AM EST antes de mercado open

Pasos del flujo de trabajo

1

Consulta Reddit trading subreddits

Search Scavio Reddit endpoint for reciente publicaciones de r/wallstreetbets, r/stocks, y r/opciones.

2

Extraer ticker symbols

Analizar publicacion titles y fragmentos for uppercase ticker patrones, filtrado out comun English words.

3

Count mencion frecuencia

Tally menciones per ticker y comparar contra el 7-dia promedio movil de anterior ejecuta.

4

Puntuacion sentiment per ticker

Clasificar publicacion context as bullish, bearish, o neutral basado on palabra clave patrones in fragmentos.

5

Generar ranked senal feed

Sort tickers by mencion pico magnitude y salida un ranked JSON feed con sentiment puntuaciones.

Implementacion en Python

Python
import requests
import json
import re
from collections import Counter
from datetime import datetime
from pathlib import Path

API_KEY = "your_scavio_api_key"
TICKER_RE = re.compile(r"\b[A-Z]{2,5}\b")
SKIP_WORDS = {"THE","AND","FOR","ARE","BUT","NOT","YOU","ALL","CAN","HAS","HER","WAS","ONE","OUR","OUT","HIS","HOW","ITS","MAY","NEW","NOW","OLD","SEE","WAY","WHO","DID","GET","HIM","LET","SAY","SHE","TOO","USE","WSB","IMO","TBH","YOLO","FOMO","HODL"}

BULLISH = {"bull","moon","buy","calls","long","squeeze","rocket","tendies","gain","pump"}
BEARISH = {"bear","puts","short","crash","dump","sell","tank","loss","drill","rug"}

def scan_subreddit(query: str) -> list[dict]:
    res = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "reddit", "query": query},
        timeout=15,
    )
    res.raise_for_status()
    return res.json().get("organic", [])

def extract_signals(posts: list[dict]) -> dict:
    ticker_counts = Counter()
    ticker_sentiment = {}
    for post in posts:
        text = f"{post.get('title', '')} {post.get('snippet', '')}"
        tickers = [t for t in TICKER_RE.findall(text) if t not in SKIP_WORDS]
        words = set(text.lower().split())
        bull_score = len(words & BULLISH)
        bear_score = len(words & BEARISH)
        sentiment = "bullish" if bull_score > bear_score else "bearish" if bear_score > bull_score else "neutral"
        for t in tickers:
            ticker_counts[t] += 1
            if t not in ticker_sentiment:
                ticker_sentiment[t] = {"bullish": 0, "bearish": 0, "neutral": 0}
            ticker_sentiment[t][sentiment] += 1
    return {"counts": ticker_counts, "sentiment": ticker_sentiment}

def run():
    date = datetime.utcnow().strftime("%Y-%m-%d")
    all_posts = []
    for query in ["wallstreetbets today", "stocks trading today", "options plays today"]:
        all_posts.extend(scan_subreddit(query))

    signals = extract_signals(all_posts)
    top_tickers = signals["counts"].most_common(15)

    feed = {
        "date": date,
        "posts_scanned": len(all_posts),
        "signals": [
            {"ticker": t, "mentions": c, "sentiment": signals["sentiment"].get(t, {})}
            for t, c in top_tickers
        ],
    }

    Path(f"wsb_signals_{date}.json").write_text(json.dumps(feed, indent=2))
    print(f"WSB signal scan {date}: {len(all_posts)} posts, {len(top_tickers)} tickers")
    for t, c in top_tickers[:5]:
        s = signals["sentiment"].get(t, {})
        print(f"  ${t}: {c} mentions (bull:{s.get('bullish',0)} bear:{s.get('bearish',0)})")

if __name__ == "__main__":
    run()

Implementacion en JavaScript

JavaScript
const API_KEY = "your_scavio_api_key";
const SKIP = new Set(["THE","AND","FOR","ARE","BUT","NOT","YOU","ALL","CAN","HAS","WSB","IMO","YOLO","FOMO"]);
const BULL = new Set(["bull","moon","buy","calls","long","squeeze","gain"]);
const BEAR = new Set(["bear","puts","short","crash","dump","sell","loss"]);

async function scanReddit(query) {
  const res = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ platform: "reddit", query }),
  });
  return (await res.json()).organic ?? [];
}

const posts = [];
for (const q of ["wallstreetbets today", "stocks trading today"]) posts.push(...await scanReddit(q));
const counts = {};
for (const p of posts) {
  const text = `${p.title ?? ""} ${p.snippet ?? ""}`;
  for (const m of text.matchAll(/\b[A-Z]{2,5}\b/g)) {
    if (!SKIP.has(m[0])) counts[m[0]] = (counts[m[0]] ?? 0) + 1;
  }
}
const top = Object.entries(counts).sort((a, b) => b[1] - a[1]).slice(0, 10);
top.forEach(([t, c]) => console.log(`$${t}: ${c} mentions`));

Plataformas utilizadas

Reddit

Comunidad, publicaciones y comentarios en hilos de cualquier subreddit

Preguntas frecuentes

Este pipeline ejecuta cada manana antes de mercado open to analizar Reddit trading subreddits for ticker menciones y sentiment senales. It consultas Scavio Reddit endpoint for r/wallstreetbets y r/stocks discussions, extrae ticker symbols, counts mencion frecuencia, y compara contra un 7-dia promedio movil to detectar momentum spikes. Salida es un ranked senal feed sorted by mencion pico magnitude.

Este flujo de trabajo usa un cron programar (diario at 8:00 am est, antes de mercado open). Ejecuta diario at 8:00 AM EST antes de mercado open.

Este flujo de trabajo usa las siguientes plataformas de Scavio: reddit. Cada plataforma se llama a traves del mismo endpoint de API unificado.

Si. El plan gratuito de Scavio incluye 50 creditos al registrarte sin tarjeta de credito. Es suficiente para probar y validar este flujo de trabajo antes de escalarlo.

Diario WSB Sentiment Analisis Pipeline

Automatizado diario analisis de sentimiento of r/wallstreetbets y r/stocks. Extraer ticker menciones, puntuacion sentiment, detectar momentum spikes.

Obtener tu clave APILeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad