A terminal-based quantitative tool developed to identify market opportunities using Pivot Point structures and RSI momentum. Disclaimer: This tool provides data-driven signals only, not investment advice.
(No Python or installation required. Access directly from your browser!)
- Streamlit: Web Application Framework
- yFinance: Market Data API
- Pandas: Data Manipulation
- Plotly: High-performance Interactive Charting
- Reads price data for an asset (for example, a stock or crypto pair)
- Calculates RSI for a selected period (commonly
14) - Generates advice such as
Buy,Sell, orHold - Prints or logs values so you can monitor momentum over time
If you want to run Sift on your own machine or inspect the source code:
- Prerequisites Ensure you have Python 3.9 or higher installed on your system.
bash
# Clone the repository
git clone [https://github.com/YOUR_USERNAME/Sift-RSI.git](https://github.com/YOUR_USERNAME/Sift-RSI.git)
cd "Sift [RSI]"
# Install dependencies
python3 -m pip install -r requirements.txt
# Launch the app
python3 -m streamlit run rsi_monitor.py
RSI measures the speed and size of recent price moves.
For period N (usually 14):
- Compute price changes (
delta) between consecutive closes - Split into:
Gain: positive deltas (else 0)Loss: absolute value of negative deltas (else 0)
- Compute averages:
Average GainAverage Loss
- Compute relative strength:
RS = Average Gain / Average Loss
- Compute RSI:
RSI = 100 - (100 / (1 + RS))
After the first average, many RSI implementations use Wilder smoothing:
AvgGain_t = (AvgGain_(t-1) * (N - 1) + Gain_t) / N
AvgLoss_t = (AvgLoss_(t-1) * (N - 1) + Loss_t) / N
This reduces noise compared to using a simple rolling average every time.
Typical thresholds:
RSI >= 70: Overbought zoneRSI <= 30: Oversold zone30 < RSI < 70: neutral/mid zone
Advice mapping (common default):
SellorTake Profit: RSI is high (often>= 70), momentum may be overheatedBuyorWatch for Entry: RSI is low (often<= 30), price may be stretched downHold: RSI is in the middle range, no strong edge from RSI alone
Important: RSI is not a guarantee. Strong trends can keep RSI overbought/oversold for long periods.
RSI (Relative Strength Index): Momentum oscillator from0to100Period (N): Number of candles used in the RSI calculation (default14)Delta: Current close minus previous closeGain: Positive delta value, otherwise0Loss: Absolute value of negative delta, otherwise0Average Gain/Loss: Smoothed recent gain/loss valuesRS (Relative Strength):Average Gain / Average LossOverbought: RSI high region (often above70)Oversold: RSI low region (often below30)Signal: The generated advice (Buy,Sell,Hold)
Use RSI with confirmation:
- Trend direction (higher timeframe)
- Support/resistance levels
- Volume
- Stop-loss and position sizing
Cayden Zhang Freshman @ Georgetown University