Inspiration
Retail FX traders have always been at a disadvantage — either stuck with lagging indicators or black-box signals they can't interrogate. I wanted to build something that thinks the way a professional analyst does: form an independent view from data, then challenge that view before acting on it. The idea of making two ML models argue with each other — and then bringing in an AI analyst to referee — was the core spark.
What it does
FusionTrade AI is a multi-model trading intelligence platform. It runs two independent ML architectures — a CNN-LSTM sequence model and a PatchTST patch-based time-series transformer — across 18 FX pairs and Gold on 5 timeframes (5m through 4h). A fusion engine scores their agreement from 0–100. High agreement means HIGH CONVICTION. Disagreement means DIVERGENT — wait.
On top of the ML layer, Claude AI performs a two-phase independent analysis: first forming its own market view from raw OHLCV data and FinBERT news sentiment without seeing the ML signals, then in phase 2 explicitly stating whether it validates or challenges what the models produced. Traders get a signal they can question, not just one they have to trust.
How we built it
- LSTM models: CNN-LSTM architecture trained on historical OHLCV + technical indicators across 18 symbols × 5 timeframes = 90 models, hosted on HuggingFace (Rogendo/forex-lstm-models)
- PatchTST models: Patch-based time-series transformer for EUR/USD and Gold, hosted separately (Rogendo/forex-patchtst-models)
- FinBERT: Financial BERT for real-time news sentiment scoring per instrument
- Backend: FastAPI + Celery + Redis, with a daily prediction pipeline and newsletter system
- Frontend: React 18 + Vite + TailwindCSS with a terminal-dark trading interface, TradingView embedded charts, and live market session indicators
- Claude AI: Two-phase analysis via Anthropic API — independent bias formation then ML comparison
Challenges we ran into
Running TensorFlow (LSTM) and PyTorch (PatchTST) in the same FastAPI process without memory conflicts or import shadowing required careful lazy-loading and singleton management. A mismatch between training-time architecture hyperparameters (d_model, num_heads, d_ff) and inference-time config caused silent failures that were hard to diagnose — the model loaded but produced garbage outputs until we pinned the exact checkpoint architecture.
Market holiday handling was another — Yahoo Finance returns empty data on Easter and Christmas, which initially looked like a model failure. And getting two completely different ML frameworks to produce comparable, human-readable signals required a normalisation layer that went through several iterations before it felt right.
Accomplishments that we're proud of
Training 90 LSTM models and 7 PatchTST models across 18 instruments and hosting them all on huggingFace with a live inference pipeline pulling them on demand. The two-phase Claude analysis — where the AI genuinely challenges its own ML signals rather than just parroting them — produces outputs that feel closer to a real analyst's reasoning than anything we expected. The fusion scoring system, where multi-timeframe model agreement drives conviction level, emerged as surprisingly powerful in practice.
What I learned
Reproducibility in ML is everything. Architecture hyperparameters must be frozen and stored with the model weights — not reconstructed at inference time. We also learned that making AI useful in trading isn't about raw accuracy alone; it's about communicating uncertainty clearly. The fusion score and the "confirms vs challenges" verdict give traders something to reason about, not just a number to follow blindly.
What's next for Fusion-Trader
Expanding PatchTST coverage to all 18 symbols across all 5 timeframes. Adding live price streaming via WebSocket so signals update in real time rather than on a polling interval. Integrating MetaTrader 5 for direct execution on demo accounts — the MT5 executor is already built, it just needs a Windows VPS. Longer term: backtesting visualisation, signal performance tracking per model, and alert notifications so traders don't have to keep the dashboard open to catch a high-conviction setup.
Also, we may need to tweak model the parameters and retrain again...this time not using the limited yahoofinance opensource data, find sources like Alfa Vantage.
Log in or sign up for Devpost to join the conversation.