Skip to content

Repository files navigation

Stock Cycle Analysis Dashboard

A comprehensive Streamlit application for analyzing stock price cycles and identifying potential buy/sell opportunities.

Features

  • Interactive Price Charts - Candlestick charts with volume analysis
  • Technical Indicators - RSI, MACD, Moving Averages
  • Buy/Sell Signals - Automated signal generation based on multiple indicators
  • Support & Resistance - Automatic level detection
  • Cycle Analysis - Peak and trough identification
  • Multiple Timeframes - Supports various periods and data granularities
  • Real-time Data - Fetches live data from Yahoo Finance

Installation

  1. Clone or navigate to the project directory

    cd /Users/karan/MyProjects/nasdaq
  2. Install dependencies

    poetry install
  3. Activate the virtual environment

    poetry shell

Usage

  1. Run the Streamlit app

    streamlit run app.py
  2. Use the application

    • Enter a stock ticker symbol (e.g., AAPL, GOOGL, TSLA)
    • Select time period and data granularity
    • Choose analysis features to display
    • Click "Fetch Data" to analyze

Technical Indicators

  • Moving Averages: SMA 20, SMA 50
  • RSI: Relative Strength Index with overbought/oversold levels
  • MACD: Moving Average Convergence Divergence with histogram
  • Support/Resistance: Automatic level detection using peak analysis

Signal Generation

The app generates buy/sell signals based on:

  • Price relationship to moving averages
  • RSI momentum indicators
  • MACD crossovers and histogram
  • Multi-condition filtering for signal strength

Project Structure

nasdaq/
├── app.py                 # Main Streamlit application
├── modules/
│   ├── __init__.py        # Package initialization
│   ├── data_fetcher.py    # Yahoo Finance data integration
│   ├── cycle_analyzer.py  # Technical analysis algorithms
│   └── charts.py          # Plotly visualization components
├── pyproject.toml         # Poetry dependencies
└── README.md             # This file

Dependencies

  • streamlit - Web application framework
  • yfinance - Yahoo Finance data API
  • plotly - Interactive charts
  • pandas - Data manipulation
  • numpy - Numerical computations
  • scipy - Scientific computing for peak detection

Deployment

Deployed as streamlit app in the streamlit community workspace. Two versions of the app exists. one is mobile friendly and the other one is for a wider screen.

License

MIT License - Feel free to modify and distribute.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages