projects→alpha-news

Alpha News / an LLM pipeline for financial news

Reading the news so I don't have to — and showing its sources

A 5-stage LLM pipeline that reads financial news every hour and reports the market effects, with evidence for each claim.

compass news
Status: live, runs every hour Type: LLM pipeline Stack:
  • aisuite
  • Hetzner VPS
  • OpenAI API
  • Python
  • Tavily
  • Telegram

Status: Live, runs every hour · Stack: Python, Tavily, OpenAI (gpt-4o-mini), aisuite, Telegram, Hetzner VPS

The problem

Financial news never stops, and most of it doesn’t matter. The few stories that do rarely say what they mean for markets: you have to work out the second-order effects yourself. LLMs can help, but they have a bad habit: they answer with general economic rules (“rates up usually means…”) instead of what today’s news actually says. I wanted a summary I could trust, where every claim points back to a real article.

What I built

A pipeline that runs every hour on my server. It fetches the latest financial news, filters out the noise, works out which assets and sectors each relevant story could move, and sends me a short Telegram message: the market effects, the trends building over the last 24 hours, and numbered sources for every point. Once a day it writes a summary that becomes context for the next days.

How it works

  1. Fetch: Tavily search pulls the latest news; already-seen articles are skipped.
  2. Five LLM stages, each returning structured JSON:
    • Title filter: fast and liberal; when in doubt, it passes.
    • Article filter: reads the full article and is conservative: event type, scope, companies affected.
    • Second-order effects: for each article, which asset or sector moves, which way, and the evidence: the exact fact in the article that triggers it.
    • Consolidation: merges and de-duplicates effects across articles, keeping track of which sources support each one.
    • Trend detection: compares with the last 24 hours of runs to spot reinforcing trends and contradictions.
  3. Provenance by design: prompts reject reasoning that sounds like a general rule (“typically”, “often”) instead of today’s event. The Telegram message cites sources like [1, 3].
  4. Daily memory: a nightly report summarises confirmed trends and contradictions, and feeds them back as context.
  5. Measured, not guessed: three query variants rotate hourly as an A/B/C test, and a local dashboard tracks token usage, cost per model and every LLM response.
  6. Fails loudly: if a run crashes, I get a Telegram alert with the error.

A lesson in cost

Newer isn’t always cheaper. I tested GPT-5 models live on this pipeline: their hidden reasoning tokens multiplied output by 4.8x to 7x. Running everything on gpt-5-nano cost more than gpt-4o-mini ($6.87 vs $5.33 a month), despite a third of the input price. The real lever was fewer tokens, not a cheaper model: more than half of the spend came from replaying 24 hours of history every hour.

What it could do for you

The same pattern works for any flood of information your team has to watch: competitor news, regulation changes, supplier updates, industry press. It reads everything, keeps what matters, explains the impact for your business, and shows where each claim comes from, so you can trust it and check it in one click.

contact

Let's talk.

Need help with something? Looking for a professional who's reliable and believes in karma*?

Tell me about it here, or send me an email. I reply within two working days.

* which means value and integrity come first; reward follows.