gitmyhub

quant-rsi-monitor

Python ★ 27 updated 23d ago

A lightweight open-source tool for tracking daily RSI(6) signals on a stock watchlist.

A self-hosted dashboard that tracks your stock watchlist, calculates daily RSI(6) values automatically from Yahoo Finance, and sends you a Telegram alert when any stock looks oversold.

PythonFlaskReactSQLiteDockerYahoo Finance APITelegram APIsetup: moderatecomplexity 3/5

Quant Signal Monitor is a self-hosted tool that tracks a personal watchlist of stocks and calculates a specific technical indicator called RSI(6) for each one on a daily schedule. RSI, or Relative Strength Index, is a number between 0 and 100 that traders use to judge whether a stock has been oversold (a low RSI) or overbought (a high RSI). The "6" refers to the lookback period: it calculates the indicator using the last six trading days of closing prices. The README is bilingual in English and Chinese.

The workflow is straightforward. You add stock symbols to a watchlist, and the system fetches daily closing price data automatically from Yahoo Finance, with Stooq as a fallback if Yahoo is unavailable. It then applies a mathematical smoothing method to calculate the RSI, saves a snapshot, and optionally sends you a Telegram message if any stock's RSI falls below a threshold you define. A web dashboard shows the watchlist and current RSI values in a table on desktop or cards on mobile.

The project is explicitly not an automated trading system. It is described as a monitoring and decision-support tool, intended to reduce the time spent manually checking each stock every day. It does not place orders or connect to any brokerage.

Under the hood, the backend is a Python Flask web server that uses a job queue and a single background worker so that refresh tasks never run in parallel and a failure on one stock does not block the others. Data is stored in a SQLite database. The frontend is built with React. The system can also be run with Docker. Setup involves copying an example environment file, filling in optional Telegram credentials, and starting either the backend alone or the full stack with a single Python script. The project includes separate documentation files for architecture, scheduling, the API, and deployment.

Where it fits