Market intelligence engine
Language models are good at explaining and terrible at arithmetic. This system puts the quantitative work where it belongs, in code, and uses the model for the part it is actually good at.
The problem
- Sector
- Financial analysis
- Methods
- LLM + classical quant
- Models
- Frontier + self-hosted
- Role
- Sole engineer
Retail investors get raw data or generic commentary, rarely analysis tied to a specific position. The tempting shortcut is to hand a model the numbers and ask it to reason, which produces confident prose built on arithmetic nobody checked.
Here the split is explicit. Indicators, backtests and statistics are computed deterministically; the model reads those results, weighs conflicting signals and writes the explanation. It never calculates anything it then reports.
Architecture
Decisions worth defending
Two models, chosen by task
News sentiment runs across thousands of articles, which is volume work with a narrow output. That goes to a self-hosted open-weight model. Weighing conflicting signals into a view goes to a frontier model. The split is the difference between a viable cost base and an unviable one.
Arithmetic never touches the model
Every number in a report comes from computed output passed in as context. The model's job is interpretation. A system that lets a language model calculate a return and then report it is one silent error away from being worse than useless.
Backtesting is the honesty mechanism
A signal that sounds compelling and has never been tested against history is an opinion. Running it over historical data first is what separates analysis from narrative, and it is the same instinct as building an evaluation harness before tuning a retrieval system.
Stack
Data
- Market price feeds
- News scraping
- RSS aggregation
- pandas, NumPy
Analysis
- Sentiment scoring
- Technical indicators
- Strategy backtesting
- Auditor checks
Models
- Frontier reasoning model
- Self-hosted open weights
- Runtime availability checks
Output
- PDF report generation
- Spreadsheet export
- Alerting service
- WebSocket updates