Real-Time Native Interface
A glimpse into the METRADE mobile experience
The Prediction Pipeline
How METRADE processes data into actionable signals
Step 1: Quantitative Data Engineering
Market data is aggregated using a custom downloader pipeline. This includes historical price action via yfinance, technical indicators (ta), and Google Trends search interest (pytrends) to build a robust feature set.
Step 2: Soft-Voting Ensemble Model
Our core intelligence leverages an EnsembleModel architecture. It averages prediction probabilities across multiple optimized classifiers, including XGBoost and scikit-learn algorithms, tuned via our custom ML optimization module.
Step 3: Live Signal Generation
Operating via a scheduled backend (apscheduler), the predictor module continuously evaluates fresh market data against the trained ensemble, generating live confidence scores for target tickers.
Step 4: FastAPI Delivery
Signals are exposed through a high-performance FastAPI application. When prediction thresholds are met, the payload is delivered to the Flutter app for real-time native push notifications.
Engineered for Precision
A look under the hood at our technical implementation
Flutter UI & State
Built with Flutter 3.10+, utilizing the provider package for reactive state management, and fl_chart for rendering smooth, native financial data visualizations directly on the user's device.
XGBoost & Scikit-Learn
Our predictive core leverages gradient boosting via XGBClassifier, optimized through extensive hyperparameter tuning and feature ablation studies.
FastAPI Backend
Our live prediction environment is served by a high-performance, asynchronous FastAPI application, utilizing apscheduler for automated, continuous market evaluations and signal routing.
Firebase Backend Suite
Fully integrated with Firebase: firebase_auth handles secure user sessions (including Google Sign-In), while cloud_firestore syncs user portfolios and alert bounds in real-time.
Data Infrastructure
Raw tick data, Google Trends interest, and processed CSV/Parquet files are managed by a custom Python downloader and processor pipeline to ensure the ML models have clean, synchronized inputs.
FCM Push Architecture
Leverages flutter_local_notifications paired with Firebase Cloud Messaging to ensure instantaneous, background-aware signal delivery directly to the user's lock screen.