A full-stack algorithmic trading dashboard designed to automate the scanning, signal detection, and risk management for a "Trend + Consolidation + Breakout" momentum strategy.
- Automated Scanning: Scans a universe of US Tech stocks using
yfinancedaily data. - Pattern Recognition: Identifies "Riser" (Momentum) and "Tread" (Consolidation) patterns automatically.
- Risk Management: Auto-calculates Stop Loss (at Low of Day or 1ATR) and Position Sizing (2% Risk).
- Transparency: "Screening Audit" log explains exactly why stocks were rejected.
- Visual Interface: Dark-mode financial terminal UI with interactive Recharts.
- Backend: Python 3.10+, FastAPI, Pandas, NumPy, yfinance.
- Frontend: React, Vite, Tailwind CSS, Recharts, Lucide Icons.
Navigate to the backend directory and install dependencies:
cd backend
pip install -r requirements.txtNavigate to the frontend directory and install dependencies:
cd frontend
npm installIn a terminal, run the FastAPI server:
cd backend
# Starts server at http://127.0.0.1:8000
python -m uvicorn app.main:app --reloadIn a separate terminal, start the React development server:
cd frontend
npm run devOpen your browser and navigate to the URL shown in the frontend terminal (usually http://localhost:5173).
trading-system/
├── backend/
│ ├── app/
│ │ ├── main.py # API Endpoints & Orchestration
│ │ ├── screener.py # Data Fetching & Filtering Logic
│ │ ├── signaller.py # Pattern Recognition Algorithm
│ │ └── executor.py # Risk Management Math
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # UI Components (Charts, Tables)
│ │ └── App.jsx # Main Dashboard Layout
└── README.md