Lowland Capital

AI Project

Smallcap-radar

Scant X, Reddit, Bluesky, forums en Substack op vroege geruchten over 835 Europese small- en midcaps, en scoort ze op onafhankelijke bevestiging in plaats van op volume.

LLMMarketsSignalsPython

Wat het doet

Drie keer per beursdag loopt er een oogstronde langs vijf bronnen en komt eruit wat over één van 835 Europese small- en midcaps gaat: Benelux, DACH, Scandinavië, Frankrijk en Italië. Elke naam in dat universum is geverifieerd — de constituentenlijsten komen van een LLM met web search, maar wat niet naar een echte ticker op de juiste beurs resolvet bij de symbolenzoeker valt af. Dat filtert verzonnen bedrijven eruit voordat ze ruis kunnen maken.

Per ronde: X via het x_search-tool van xAI (de volledige Benelux/DACH-kern plus een roterend venster over de overige landen), Brave voor forums en nieuws (IEX-forum, wallstreet-online, boersennews), de publieke RSS-feeds van zestien beleggingssubreddits, Bluesky, en site:substack.com-zoekopdrachten op de bedrijfsnamen van die ronde. Dat levert zo’n 600 berichten op. Daarvan blijven er na filtering een handvol over.

De truc

Het lastige aan geruchten is niet ze vinden, maar het onderscheid tussen speculatie en een persbericht dat je twee uur te laat leest. Een LLM beoordeelt daarom elk bericht op vier dingen: gaat dit werkelijk over dít bedrijf (niet over een naamgenoot, niet over een sectorgenoot in een opsomming), wat is de claim in één feitelijke zin, is dit onbevestigd geklets of al officieel aangekondigd, en leest het als promotie.

De score volgt daarna niet uit volume maar uit onafhankelijke bevestiging: hoeveel verschillende bronnen, hoe betrouwbaar de zwaarste daarvan, hoe hard de claim (een bod weegt zwaarder dan een productaankondiging) en hoe zeker het filter was. Een cluster dat volledig uit al gepubliceerd nieuws bestaat gaat expliciet omlaag, met de vlag al gepubliceerd. Eén bron blijft één bron. Speculatie over een aangekondigde deal — dat het bod te laag is, dat de aanmeldingsdrempel niet gehaald wordt — telt juist wél als gerucht, want dat is precies waar de koers nog beweegt.

De praktijk bevestigt dat die weging het werk doet. Het hoogst scorende signaal tot nu toe was Schneider Electric’s bod van € 70 per aandeel op Shelly Group: negen berichten uit drie onafhankelijke bronnen, met daarin een open brief van aandeelhouders dat het bod te laag was. Daarnaast bijvoorbeeld RHI Magnesita dat vergevorderde gesprekken over de overname van Vesuvius bevestigde, en fusiegeruchten rond 1&1.

Architectuur

FastAPI + SQLite, één systemd-timer voor de oogst en een dashboard dat de gescoorde geruchten toont met bronlinks en koersreactie. Elke ruwe post blijft bewaard met bron, auteur en tijdstempel, zodat achteraf te reconstrueren is waarom iets scoorde.

Twee dingen waren omwegen waard. Reddit heeft self-service API-registratie afgeschaft; nieuwe toegang loopt via een goedkeuringsformulier met weken wachttijd. De publieke Atom-feeds werken wel, met een krappe rate limit van ruwweg één verzoek per 45 seconden — dus zestien subreddits gebundeld in vier gecombineerde feeds, met ruime pauzes ertussen. Substack blokkeert datacenter-IP’s volledig, dus die stukken worden niet zelf opgehaald maar via Brave gevonden; dat vindt bovendien de nieuwsbrief die je nog niet kende, zolang die over een bedrijf uit het universum schrijft.

Wat het niet is

Geen handelssignaal en geen aanbeveling. Van de zeshonderd berichten per ronde gaan er meer dan vijfhonderd nergens over, en een score van 4 uit één bron zegt vooral dat één iemand iets beweerde. De waarde zit in de bovenkant van de lijst: het geval waar binnen een dag meerdere onafhankelijke bronnen hetzelfde vertellen over een bedrijf dat te klein is voor de analistendekking.