Reddish-Trends GitHub Details, Stars and Alternatives | OpenRepoFinder
HaiderMalikk / repository
Reddish-Trends
Reddish Trends is a Reddit powered stock market analyzer. This is a unique website that uses reddit to uncover stock data and anaylize sentiment data using algorithms, add financial data using yahoo finance and provide feedback using AI. the webiste uses Next.js, Javascript, Typescript, Tailwind and CSS. Feedback: reddishtrends@googlegroups.com
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
72
Community adoption25% weight
13
Maintenance state20% weight
100
License clarity10% weight
0
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Reddish Trends — Social Media Stock Market Analyst
Reddish Trends blends Reddit vibes with market data to surface the stocks people actually care about — then explains why. This repo contains the frontend and the backend glue that turns noisy Reddit posts into actionable signals.
Optional LLM enrichment for human-friendly summaries
Playable API for quick experiments
Core backend highlights (expanded)
Sentiment ingestion — Robust Reddit pipeline that fetches title, body and a capped set of top-level comments, builds a single "full_text" context blob per post, and computes compound sentiment so every symbol is scored against a consistent context window.
Market enrichment — Fast enrichment layer that pulls period-based OHLC, computes percentage moves and a 14-period RSI, and returns a consistent data shape so UI and ranking logic remain stable even when symbols are missing or delisted.
Ranking component — a compact, deterministic, explainable ranking system built for reliability and product clarity. This ranking is the signature piece of the engine and is designed to surface signals that matter to traders and product users, not noise.
Why it's special: It intentionally prioritizes repeatable, cross-community traction over single-post hype. The algorithm is deterministic, fast, and easy to audit — ideal for a consumer-facing product where explainability is essential.
The 3-step ranking funnel:
Per-subreddit peak selection — pick the symbol(s) with the strongest sentiment in each community (local maxima). This isolates locally meaningful signals.
Cross-subreddit frequency — reward symbols that appear as local peaks in multiple communities. Frequency across communities is interpreted as stronger, more generalizable signal.
Subreddit mention-weight tie-break — when frequency ties occur, break ties using the local mention count (how many times the symbol was mentioned where it was strongest). This promotes symbols with deep local traction as well as broad reach.
Modulation & safety:
Sentiment normalization and optional thresholds reduce false positives from small-sample extremes.
Parameters (per-subreddit peak depth, minimum-frequency threshold, mention-weight multiplier) are configurable to tune sensitivity for production.
Benefits:
Explainable: every ranked symbol maps back to the specific posts/comments that produced it, enabling "why" explanations in the UI.
Deterministic: same inputs => same ranking, which is essential for reproducibility and debugging.
Lightweight: no heavy ML model required for the core ranking, keeping cost and complexity low.
Tiny conceptual usage (pseudocode):
# Run the pipeline for subreddits
analysis = orchestration.run_general_analysis(["wallstreetbets","stocks"], limit=20)
# Get the headline signals
top = ranking_component.get_top_stock(analysis)
worst = ranking_component.get_worst_stock(analysis)
rising = ranking_component.get_rising_stock(analysis, limit=3)
# Each item contains symbol, sentiment, count, linked post and enriched market fields
API & scheduler (engine service) — endpoints expose cached summaries (Top/Worst/Rising) and a playground for ad-hoc queries. A scheduler refreshes the cache daily and a startup check ensures the cache is fresh on deploy.
LLM summarization (optional) — concise JSON-formatted AI analysis that augments each headline symbol with human-readable commentary, confidence, and short recommendations (purely explanatory, not investment advice).
Reddit fetching & preprocessing algorithm 🧩
We fetch and prepare Reddit content using a predictable, low-noise pipeline that's part of the sentiment ingestion step above:
Fetch posts from a subreddit by type (hot / new / top / rising / controversial).
For "top" and "controversial" respect an optional time_filter (hour/day/week/month/year/all).
Load only top-level comments and limit them per-post via comment_limit for predictable latency.
Combine title, body, link and top comments into a single "full_text" blob for sentiment analysis and ticker extraction.
Extract tickers using a simple regex for $TICKER tokens (e.g. $TSLA, $AAPL) and compute average sentiment per symbol.
Normalize compound sentiment to improve ranking impact (small multiplier).
Quick view of the core behaviors (conceptual)
# Engine behaviors (conceptual)
# - fetch N posts per subreddit and up to comment_limit top-level comments
# - build full_text = title + body + top comments and run sentiment analysis
# - extract tickers via r"\$[A-Z]+" and aggregate counts + sentiment per ticker
# - enrich tickers with market data and run the 3-step ranking filter
Quickstart — run & call the API ⚡
Run the backend engine
# Backend engine lives in its own repo — follow the Engine README to run the service:
# https://github.com/HaiderMalikk/Reddish-Trends-Engine
# When running locally the engine exposes API endpoints on port 5000 by default
# Conceptual: use the engine's modules to run the pipeline and extract signals
# analysis = orchestration_module.run_general_analysis(["wallstreetbets","stocks"], limit=10)
# top = ranking_component.get_top_stock(analysis)
# rising = ranking_component.get_rising_stock(analysis, limit=3)