FX-Sense — AI-Powered FX Market Intelligence
Inspiration
FX markets move fast. A single hawkish comment from the Fed can reprice EUR/USD before most traders even see the headline. The signals that drive these moves — central bank language, macro data, geopolitical shocks — are out there, but scattered across dozens of sources.
We wanted to build something that pulls it all together: an AI-powered radar that watches the signal landscape continuously and translates raw noise into clear, interpretable trade ideas. Not a black box — a system that can tell you what it detected, why it matters, and what to do about it.
"FXSense gives you an institutional-grade FX radar from public data — a terminal-level experience you can run locally in minutes."
What It Does
FX Analyst monitors global information flows and converts them into structured, actionable FX insights in real time.
Inputs:
- Central bank communications — Fed, ECB, BoE, BoJ, RBA, BIS
- Global news and geopolitical events
- Macroeconomic releases and commodity signals
Outputs:
- Real-time FX trade signals with directional bias and full reasoning
- Sentiment scores across key macro drivers
- An automated FX Daily Brief — plain-language, generated by Gemini
- Near-term commodity and cross-asset impact forecasts
Live dashboard includes: FX price ribbon, world signal map, model trade cards, country headline feeds, commodity panel, and live news streams.
The core promise: not just what the market is doing — but why.
How We Built It
FX Analyst is a multi-layered pipeline: data in, intelligence out.
| Layer | Technology |
|---|---|
| Backend | FastAPI (REST endpoints + HTML templates) |
| Scraping | Custom collectors — central bank RSS, public news sources |
| NLP | Sentiment scoring, macro topic tagging, event detection |
| Signals | Rule-based engine mapping NLP output → currency bias |
| Live FX | Yahoo Finance, ~60s refresh |
| AI Brief | Gemini API |
| Stat model | Logistic regression on logged signals, tracked with MLflow |
| Frontend | HTML / CSS / JS — charts, world map, trade cards |
The pipeline in brief: Scrapers pull raw articles → Gemini converts them into structured records (event type, region, severity, policy stance) → NLP tags each record for sentiment and topic → the signal engine maps those tags to directional FX trades → everything surfaces on a live dashboard.
The logistic return model estimates 1-day signal success probability:
$$P(\text{signal success}) = \sigma\left(\beta_0 + \sum_{i=1}^{n} \beta_i x_i\right)$$
where $x_i$ are engineered features (sentiment score, event severity, topic class) and $\sigma$ is the sigmoid function.
Challenges We Ran Into
Heterogeneous data sources. News, central bank transcripts, and commodity feeds each arrive in different formats and at different frequencies. Normalizing them into a consistent feature pipeline without losing context required careful schema design and ongoing iteration.
Noise filtering. Many articles reference FX-relevant keywords without conveying a real signal. Getting Gemini to reliably distinguish meaningful policy events from background chatter meant tightly specifying the output schema and requiring explicit severity and relevance assessments.
Signal calibration. Too sensitive and the engine fires on noise. Too conservative and it misses real moves. Finding the right threshold required iterating on both the feature engineering and the rule logic simultaneously.
Data gaps. Yahoo Finance returns empty data on weekends and for certain tickers. Sources occasionally throttle or change formats. Live streams go offline. Building graceful fallbacks at every stage was essential to keeping the demo stable.
Accomplishments That We're Proud Of
- End-to-end FX intelligence pipeline — scraping through signals through live dashboard — shipped in under 24 hours
- Every trade card shows exactly which signals triggered it — fully interpretable, no black box
- Gemini used as a structured data parser inside a pipeline, not just a chatbot
- Feels like a mini Bloomberg terminal built entirely from public data
What We Learned
The biggest insight: signal design matters more than model complexity. Most of the system's predictive value came from carefully engineered features — sentiment labels, event severity scores, topic classifications — not from the model itself.
We also learned how powerful LLMs become when used within a pipeline rather than as the product. Gemini as a structured extractor — turning noisy articles into machine-readable records — unlocked the entire downstream modeling stack.
Resilience matters too. Every external data source has failure modes. Fallbacks and validation steps aren't optional — they're what separates a demo that works once from one that runs reliably.
What's Next for FX Analyst
- Expand to additional asset classes — rates, equities, volatility surfaces
- Upgrade the return model with gradient-boosted classifiers and richer feature sets
- Add scenario simulation — test hypothetical central bank shifts and see projected FX impact
- Voice briefings via ElevenLabs for an operational, real-time intelligence feel
- Incorporate alternative data — positioning, options flow, satellite-derived activity signals
- Expand to emerging market FX, where information asymmetry is greatest
Ultimately, FX Analyst is a foundation for a real-time macro intelligence layer — for traders, risk managers, or any business that needs to anticipate currency moves before they happen.
Built With
- css
- fastapi
- finance
- gemini
- html
- javascript
- ml
- mlflow
- natural-language-processing
- python
- quant
Log in or sign up for Devpost to join the conversation.