playitsmart.nl

Terug naar home

6 augustus 2026 · 6 min lezen

Post #1

Te veel Amsterdam

Een verdeling die niet klopte, en wat ik vond toen ik ging kijken waarom

Na een maand of twee paper trading viel me iets op aan mijn eigen BUY-signalen. Er stond te veel Amsterdam in.

Niet één rare uitschieter. Een verhouding. Mijn universum bestaat uit ruwweg vijfhonderd Amerikaanse aandelen en vijftig Nederlandse. Daar zitten aan de Amerikaanse kant de grote groeiers tussen, de namen waar je een systeem als dit op zou verwachten. En toch drukte die kleine Nederlandse hoek zich steeds naar boven in de ranglijst.

Wat het gevoel versterkte: het waren niet eens namen waar ik zelf enthousiast van werd. Solide bedrijven, prima, maar niet het soort waarvan je denkt dat een momentum-systeem er als eerste op zou springen.

Ik kon niets aanwijzen. Geen foutmelding, geen tegenspraak, geen enkel getal dat schreeuwde dat er iets mis was. Alleen een verdeling die scheef aanvoelde.

De vraag die ik eigenlijk had

Wat me nieuwsgierig maakte was iets anders dan "waar zit de fout". Ik wilde weten hoe zo'n factorscore zich in de tijd gedraagt.

Mijn systeem geeft elk aandeel elke dag een score, opgebouwd uit vier onderdelen. Die score bepaalt of er gekocht wordt. Maar ik had nooit gezien hoe zo'n score zich over maanden ontwikkelt. Loopt hij mee met de koers? Loopt hij vooruit? Of zwabbert hij ergens rond zonder verband?

Als je systeem koopt op basis van een stijgende score, dan wil je toch weten of een stijgende score iets betekent.

Dus liet ik een pagina bouwen. Per aandeel de koers naast de totaalscore. De vier factoren los van elkaar. Drie jaar historie in één beeld.

Niet om een bug te vinden. Om te kijken.

Een halve seconde

De eerste grafiek die ik opende, gaf meteen antwoord. Alleen niet op mijn vraag.

De scorelijn liep netjes mee, maakte dan opeens een sprong omhoog, en stond een dag later weer terug. Geen beweging in de koers die dat verklaarde. Een zaagtand waar een lijn hoorde te lopen.

Dit is het punt waar het interessant wordt. Ik heb niets berekend. Geen query gedraaid, geen analyse gedaan. Mijn ogen zagen in minder dan een seconde dat een lijn iets deed wat een lijn niet hoort te doen, en de rest van mijn hoofd was nog aan het opstarten.

Dat is geen bijzondere prestatie. Dat is standaarduitrusting. Mensen zijn slecht in het optellen van kolommen en fenomenaal in het zien dat een patroon breekt. Het is de reden dat je een bekende herkent in een menigte voordat je bewust doorhebt dat je iemand ziet.

En het is precies het zintuig dat je niet gebruikt als je naar tabellen kijkt.

Waarom niets dit had gevangen

De zaagtand bleek een echte fout. Het systeem keek voor momentum een vast aantal handelsdagen terug, maar gebruikte daarvoor de gecombineerde kalender van de Amerikaanse en de Nederlandse beurs. Op een dag dat Wall Street dicht was en Amsterdam open, of andersom, landde die terugblik op een dag waarop de eigen beurs geen koers had. Geen koers betekent geen momentum. En dan rekende het systeem de totaalscore rustig door zonder die factor.

Geen foutmelding. Geen lege waarde in de tabel. Gewoon een score die er volstrekt normaal uitzag en op de verkeerde manier tot stand was gekomen. Op sommige dagen gebeurde dat voor een hele beurs tegelijk.

Twee redenen waarom niets dit ving. De eerste is banaal: er stonden nul tests op dat onderdeel. De tweede is fundamenteler. Ook met tests had niemand dit gevangen, want je moet weten dat twee beurzen verschillende feestdagen hebben en dat een terugblik van 147 dagen daardoor mis kan grijpen. Dat is een aanname die zo diep in de code zit dat je hem alleen ziet als iets zichtbaar maakt dat hij fout is.

En toen de echte verklaring

De dag erna keek ik naar dezelfde soort grafiek voor een Frans mediabedrijf. Weer iets vreemds: de waarderingsscore maakte in december een val van boven naar beneden en bleef daar liggen. De koers deed niets.

Dit bleek de verklaring voor mijn oorspronkelijke gevoel.

Het systeem berekent hoe duur een bedrijf is over de laatste vier rapportages. Voor de meeste bedrijven zijn dat vier kwartalen, dus een jaar. Maar zesentwintig bedrijven in mijn universum rapporteren maar twee keer per jaar, en dat zijn er in Amsterdam opvallend veel. Voor hen waren vier rapportages dus twee jaar aan cijfers, gedeeld door de beurswaarde van vandaag.

Ze leken daardoor ongeveer twee keer zo goedkoop als ze werkelijk waren.

Tien van die zesentwintig stonden in de top vijf procent van mijn hele universum. Vier ervan zaten in mijn portefeuille. Dat was mijn te veel Amsterdam.

Na de correctie zakte die groep terug naar waar hij hoort. Waar er eerder tweeëntwintig Nederlandse namen in de bovenste vijf procent stonden, zijn het er nu vier.

Wat het kostte

De fouten zaten niet alleen in de scores van vandaag, maar in alle historische scores. Dus is er zes jaar aan data opnieuw doorgerekend, 1713 handelsdagen.

En de simulatie waarmee ik dit systeem heb onderbouwd is daarmee ongeldig geworden. Die was berekend op scores waarvan ik nu weet dat ze fout waren.

Dus draait die simulatie nu opnieuw. Terwijl ik dit schrijf gaat hij door zes jaar aan handelsdagen heen, en morgenochtend ligt er een uitkomst. Dat is spannend, en ik meen dat. Het kan zomaar zijn dat de helft van mijn rendement verdampt en dat ik naar een middelmatig systeem zit te kijken. Het kan ook zijn dat het overeind blijft en ik echt iets in handen heb.

Ik weet het niet. Dat is nogal het punt van een experiment.

Wat ik wel weet: welk getal er ook uitkomt, het is voor het eerst een getal dat klopt. En een lager cijfer waar je op kunt bouwen is bruikbaarder dan een hoger cijfer dat op zand staat.

Mijn oorspronkelijke vraag staat nog open

En dit is het eerlijke deel. Ik ging kijken of er een verband was tussen de factorscore en de koersontwikkeling. Dat verband heb ik niet gezien.

Bij één aandeel liep de score een half jaar omhoog terwijl de koers zakte. Dat is precies de omgekeerde beweging van wat je hoopt. Nu de fouten eruit zijn lijkt het beeld beter, maar lijken is geen weten.

Dus dat onderzoek moet nog beginnen. Niet per aandeel, want als je vijfhonderd grafieken afgaat vind je altijd wel tien die er overtuigend uitzien, en dan heb je ruis geselecteerd in plaats van signaal. Het moet over het hele universum tegelijk, met de meetmethode vooraf vastgelegd zodat ik hem achteraf niet kan bijbuigen naar wat ik hoopte te vinden.

Dat is de volgende stap.

Wat ik hieruit meeneem

Er is een verleiding om bij bouwen met AI te denken dat verificatie ook automatisch kan. Meer tests, meer checks, meer controles. Dat helpt, en ik heb er inmiddels honderden.

Maar een test controleert of iets doet wat je verwacht. Hij kan niet controleren of je verwachting klopte. Voor dat tweede heb je iets nodig dat wij toevallig heel goed kunnen en machines niet: kijken naar een beeld en voelen dat er iets niet deugt.

Het begon met een verdeling die scheef aanvoelde. Ik ging niet op zoek naar een fout, ik wilde begrijpen hoe mijn eigen systeem zich gedraagt. De fouten kwamen vanzelf naar boven toen ik ze zichtbaar maakte.

Dus als iets aan je systeem niet lekker voelt en je kunt het niet hard maken: maak er een plaatje van. Niet één, maar tien. Zet naast elkaar wat naast elkaar hoort te bewegen. En kijk dan gewoon.

Je hersenen doen de rest.

Wekelijks volgen?