Skip to content

jkdevelopx/stock_dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“Š StockSense Pro

Intelligent Market Analytics Platform for Real-Time Stock Screening

Built by Wichaya Kanlaya | LinkedIn | Portfolio

Python Streamlit License

๐Ÿš€ Live Demo | ๐Ÿ“น Video Demo | ๐Ÿ“„ Documentation


๐ŸŽฏ Project Overview

StockSense Pro is a sophisticated stock screening and technical analysis platform that empowers investors with data-driven insights. The system processes real-time market data, applies advanced technical indicators, and delivers actionable intelligence through an intuitive web interface.

Key Achievement

Built a full-stack financial analytics application processing 50+ stocks with 10+ technical indicators in under 30 seconds, deployed on cloud infrastructure.


โœจ Features

๐Ÿ” Smart Stock Screening

  • Real-time data integration via Yahoo Finance API
  • Custom composite scoring algorithm (0-100 scale)
  • Multi-factor analysis: Momentum, RSI, Volume, Moving Averages

๐Ÿ“Š Advanced Visualization

  • Interactive candlestick charts with Plotly
  • Multi-indicator overlays (MA20, MA50, MA200, RSI, MACD)
  • Volume profile analysis with color-coded bars

๐ŸŽฏ Intelligent Filtering

  • Signal strength classification (Strong/Moderate/Weak)
  • Sector-based filtering (Technology, Healthcare, Finance, etc.)
  • Performance metrics (1D, 1W, 1M returns)

๐Ÿ“ˆ Portfolio Management

  • Personal watchlist with persistent storage
  • Bulk analysis capabilities
  • CSV export functionality

๐Ÿ› ๏ธ Technical Architecture

Tech Stack

Layer Technology Purpose
Frontend Streamlit 1.25+ Interactive web UI
Data Processing Pandas, NumPy Data manipulation & computation
Visualization Plotly 5.20+ Interactive charts
Data Source yfinance API Real-time market data
Deployment Docker, Cloud Containerized deployment

System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚         Presentation Layer              โ”‚
โ”‚         (Streamlit Web UI)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚       Application Layer                 โ”‚
โ”‚  โ€ข Stock Scanner Engine                 โ”‚
โ”‚  โ€ข Technical Analysis Processor         โ”‚
โ”‚  โ€ข Scoring Algorithm                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          Data Layer                     โ”‚
โ”‚  โ€ข Yahoo Finance API                    โ”‚
โ”‚  โ€ข Historical Price Data                โ”‚
โ”‚  โ€ข Company Fundamentals                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Data Flow

User Input โ†’ API Request โ†’ Data Cleaning โ†’ 
Indicator Calculation โ†’ Scoring โ†’ Visualization โ†’ 
Interactive Analysis

๐Ÿงฎ Scoring Algorithm

The proprietary scoring algorithm combines multiple technical factors:

Score = Weighted Sum of:
  โ€ข 32% - Momentum (21-day price change)
  โ€ข 20% - Volume Spike (current vs average)
  โ€ข 18% - RSI Position (relative strength)
  โ€ข 12% - MA Alignment (trend direction)
  โ€ข 10% - Higher Lows Pattern (accumulation)
  โ€ข 8%  - Revenue Growth (fundamental)

Result: 0-100 scale
  ๐ŸŸข Strong:    Score โ‰ฅ 65
  ๐ŸŸก Moderate:  45 โ‰ค Score < 65
  ๐Ÿ”ด Weak:      Score < 45

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.11+
  • pip package manager

Installation

# Clone repository
git clone
cd stocksense-pro

# Install dependencies
pip install -r requirements.txt

# Run application
python -m streamlit run streamlit_mcrf_dashboard.py

Docker Deployment

# Build image
docker build -t stocksense-pro .

# Run container
docker run -p 8501:8501 stocksense-pro

Access at: http://localhost:8501


๐Ÿ“Š Key Metrics & Performance

Metric Value
Data Processing Speed 50 stocks in ~30 seconds
Technical Indicators 10+ calculated per stock
Supported Universes 8 pre-configured lists
Chart Types 3 (Candlestick, Volume, RSI)
API Response Time < 300ms (cached)

๐Ÿ’ก Technical Highlights

1. Efficient Data Pipeline

  • Implemented caching strategy reducing API calls by 80%
  • Parallel processing ready architecture
  • Error handling for edge cases (delisted stocks, missing data)

2. Advanced Algorithms

# RSI Calculation (14-period)
delta = df['Close'].diff()
up = delta.clip(lower=0)
down = -1 * delta.clip(upper=0)
roll_up = up.rolling(14).mean()
roll_down = down.rolling(14).mean()
rs = roll_up / (roll_down + 1e-9)
df['RSI14'] = 100 - (100 / (1 + rs))

3. Interactive Visualization

  • Multi-subplot charts with synchronized zooming
  • Color-coded volume bars (red/green)
  • Dynamic legend filtering
  • Responsive design for mobile/desktop

4. Real-Time Updates

  • 5-minute cache TTL for live data
  • Automatic refresh mechanism
  • Last-updated timestamp display

๐Ÿ“ธ Screenshots

Dashboard Overview

Dashboard Main scanner interface with universe selection and filtering options

Results Table

Results Color-coded signal strength with performance metrics

Detailed Analysis

Chart Interactive candlestick chart with technical indicators

Technical Architecture

Architecture System design and data flow diagram


๐ŸŽ“ Skills Demonstrated

Technical Skills

  • โœ… Python Programming (Advanced)
  • โœ… Data Engineering & ETL Pipelines
  • โœ… API Integration (REST APIs)
  • โœ… Data Visualization (Plotly, Streamlit)
  • โœ… Financial Data Analysis
  • โœ… Docker & Containerization
  • โœ… Cloud Deployment
  • โœ… Version Control (Git)

Soft Skills

  • โœ… Problem Solving
  • โœ… System Design
  • โœ… User Experience (UX) Design
  • โœ… Technical Documentation
  • โœ… Performance Optimization

๐Ÿ“ Project Structure

stocksense-pro/
โ”œโ”€โ”€ streamlit_mcrf_dashboard.py    # Main application
โ”œโ”€โ”€ requirements.txt                # Python dependencies
โ”œโ”€โ”€ Dockerfile                      # Container configuration
โ”œโ”€โ”€ .streamlit/
โ”‚   โ””โ”€โ”€ config.toml                # Streamlit settings
โ”œโ”€โ”€ screenshots/                    # Portfolio images
โ”œโ”€โ”€ README.md                       # This file
โ””โ”€โ”€ docs/
    โ”œโ”€โ”€ architecture.md            # Technical design docs
    โ””โ”€โ”€ deployment.md              # Deployment guide

๐Ÿ”ฎ Future Enhancements

  • Backtesting Module - Historical strategy performance
  • Risk Management Tools - Stop-loss & position sizing
  • News Sentiment Analysis - AI-powered news integration
  • Multi-Timeframe Analysis - Hourly/Daily/Weekly signals
  • Portfolio Tracking - Real-time P&L monitoring
  • Mobile App - React Native companion app

๐Ÿค Contributing

Contributions welcome! Please read CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see LICENSE file for details.


โš ๏ธ Disclaimer

Important: StockSense Pro is an educational tool designed for learning purposes only. This application does NOT provide financial advice, investment recommendations, or trading signals.

  • โœ… Use for learning technical analysis
  • โœ… Use for market research
  • โŒ Do NOT use as sole basis for trading
  • โŒ Always consult licensed financial advisors

Risk Warning: Trading stocks involves substantial risk. Past performance does not guarantee future results.


๐Ÿ‘ค About the Developer

Wichaya Kanlaya
Data Engineer | Financial Technology Enthusiast

I'm passionate about building data-driven solutions that make complex financial information accessible. StockSense Pro showcases my skills in full-stack development, data engineering, and financial analytics.

Connect with me:


๐Ÿ™ Acknowledgments

  • Yahoo Finance API for market data
  • Streamlit team for the amazing framework
  • Plotly for interactive visualization tools
  • Open-source community for inspiration

โญ Star this repo if you find it useful!

Made with โค๏ธ by Wichaya Kanlaya

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages