Veljko Radan

Language: SvenskaEN

← All articles

vss – an investment tool built with AI

57,000 lines of code in seven weeks, without writing code by hand. The tool measures; I decide.

Veljko Radan · · 4 min read

vss – value-screen sentinel – is an investment tool I built over seven weeks in the autumn of 2026, together with an AI coding agent. It screens about two thousand listed companies, reads their own annual and quarterly reports, works out what growth today's price is assuming, and watches the companies I care about every night. It is about 57,000 lines of Python with around 2,800 automated tests, and the whole project is public.

It never tells me to buy anything. It measures; I decide. The point of the tool is not to find winners, but to stop me from fooling myself – and to keep a record I can check afterwards.

Four rules the tool enforces

  • Figures only from the company's own filings. Every number carries the report, the period and the line it came from. A number without a source does not go in.
  • My view is written down before I see the market's. I register my growth expectation – base, bear and bull, with reasons – before the tool calculates what the price implies. A view written after seeing the price does not count. The idea is borrowed from pre-registration in clinical trials.
  • A failed test is final. A company that fails on something other than price does not come back because the price fell. Only a new fact can bring it back.
  • Every refusal is tracked. Most companies get a no. Each one is recorded with the price on the day and measured against the index afterwards, so I find out whether my no's were right.

How the AI is used – and how it isn't

The same discipline as in my article on AI agents in operations, applied to money:

  • The model copies; it does not judge. When a company publishes a report, a language model extracts the figures together with the exact sentence each one came from. The report is read twice, and a figure the two readings disagree on is thrown out. If the quoted sentence does not contain the number, the number is dropped automatically.
  • Judgement is code and rules, not AI. The warning signs are checked by fixed functions, and every rule the method follows is a dated, written ruling – 129 of them so far, each with the reason and what it cost. A rule is never quietly loosened because a particular company was almost through.
  • Nothing is written without my acceptance. The agent proposes figures and finds problems; the fair values, the verdicts and the buy decisions are mine.
  • New automation starts in shadow mode. The automatic report reader logs what it would have said and sends nothing until its readings have been checked by hand.

What it found

Some of its most useful moments were refusals. A chip maker passed every mechanical check, but 91 % of its sales went to a single customer – a question I cannot judge better than the market, so it was dropped. A well-known business had fallen 57 %, but once I had written down my own growth view, the tool showed that the price was already assuming more growth than I believed in. It caught a glitch in a price feed that made one company look 52 % down when it was roughly flat. And building it carefully meant finding its own faults too: a watcher that would have re-sent 779 old filings, and a held position that had silently dropped out of monitoring.

See it