Logboek van een lancering – deel 3: het machine learning-model komt eraan, maar hoe werkt het?

De voorbije maand(en) stond Business AM in nauw contact met The Glue, de fintech-onderneming die onze site zal voorzien van een beursvoorspelmodel dat gebruik maakt van kunstmatige intelligentie (A.I.). Het eindproduct gaat eind september online, dus loopt de ontwikkeling van het model ten einde. Toch moet er nog een laatste horde genomen worden: de finetuning van de machine learning.

Het machine learning-model moet het marktsentiment “voorspellen” van 200 aandelen, over een tijdsbestek van 180 dagen.

De “voorspellingen” van het sentiment worden in 3 verschillende prestatiegraden uitgedrukt:

  • POSITIEF
  • NEUTRAAL
  • NEGATIEF

Een concreet voorbeeld? Stel: voor het Apple-aandeel verwacht het model een negatief sentiment. Dat wil zeggen dat de kans op een daling van de prijs van het aandeel groter is dan de kans op een stijging van de prijs van het aandeel.

Nu, achter dit model zit een algoritme – in principe de kip die de gouden eieren moet opleveren. Hoe werkt dat algoritme precies? We beginnen onze technische uitleg bij het absolute begin, omdat herhaling nooit kwaad kan bij een abstracte excursie als deze.

3 stappen

Een aanschouwelijke Powerpointpresentatie van The Glue streept aan dat 3 stappen belangrijk zijn bij het op punt stellen van een machine learning-model. Dit is het “proces”:

  • Training van het model;
  • Evaluatie van het model;
  • Daadwerkelijke voorspelling

Of de toekomst van een aandeel er over een tijdspanne van 180 dagen positief, neutraal, dan wel negatief uitziet; dit zijn de outputparameters.

Geen ‘Buy’, ‘Sell’ of ‘Hold’: te aanmatigend (en ook niet erg legaal, aangezien we geen financiële adviseurs zijn).

De parameters

Om output te verkrijgen, hebben we uiteraard eerst input nodig. En wat fungeert als input voor het algoritme; de data, is onderverdeeld in 2 verschillende categorieën: indicatoren en forecasts.

  • Indicatoren worden berekend of afgeleid van (historische) marktdata.
    • Onder meer de volgende indicatoren zijn ingevoerd met de focus op een voorspelling over 180 dagen: EMA10, EMA25, EMA50, SMA200, Bollingers Banden, etc.
    • Elke indicator leidt tot een intermediate (tussentijds) sentiment.
  • Forecasts: verschillende parameters zijn afkomstig van de website Trading Economics.
    • Voor het trainen van het machine learning-model worden historische gegevens gebruikt.
    • De volgende voorspelde informatie wordt opgehaald en gebruikt als input voor een voorspelling over 180 dagen: inflatie, consumentenprijsindex, bbp, groeipercentage bbp, bbp per hoofd van de bevolking, consumentenprijsindex, bnp, interbancair tarief, etc.
    • Ook hier bekomen we een tussentijds sentiment.

Voordat deze tussentijdse sentimenten als input worden gebruikt, gaat The Glue deze informatie eerst aanpassen met een “Quantile Transformer“.

  • Dit is een pre-processing van de data alvorens de machine learning op zoek kan gaan naar gewichten om aan de indicatoren en forecasts te hangen.
    • De reden waarom The Glue dit gebruikt is om uitzonderlijke data te filteren (af te vlakken) zodat deze de training van de machine learning niet beïnvloeden. Lees: zodat er geen groot belang wordt gehecht aan buitengewone factoren. 
Schematisch voorgesteld / bron: The Glue

Stap 1: de training van het model is een iteratief proces.

De eerste stap in onze technische expeditie, de training, is een iteratief proces waarbij tijdens elke iteratie aan elke inputparameter een gewicht wordt toegekend.

Het iteratief proces / bron: The Glue

Op deze manier leert het model welke input nuttig is en het model beter doet presteren. Deze input krijgt dan een zwaardere weging. Input waarvan het model weinig leert (er is bijvoorbeeld geen correlatie) zal bijgevolg een zeer klein gewicht krijgen.

Stap 2: Het model wordt gevalideerd met outputparameters.

Maar naast de inputparameters worden ook de verwachte outputparameters ingevoerd, zodat het model kan worden gevalideerd. Concreter: er wordt gevalideerd met behulp van de prijs.

  • Het model zal bijvoorbeeld een finaal sentiment berekenen voor 01/01/2010.
  • Dit sentiment wordt dan gevalideerd aan de hand van de prijs op 01/07/2010.

Tijdens elke iteratie wordt een model gedefinieerd, dat vervolgens wordt gevalideerd ten opzichte van de historische output van de getrainde data, maar ook de historische output van een validatie-dataset (evaluatie). Voor elke iteratie wordt een verlies, nauwkeurigheid, validatieverlies en validatienauwkeurigheid berekend.

De trainingdataset is verschillend van de validatie-dataset. De nauwkeurigheid die kan worden bereikt voor de trainingdataset is altijd hoger.

  • Voorbeeld van een trainingdataset: Historische gegevens van 100 aandelen van 01/01/2000 tot 1/1/2010.
  • Voorbeeld validatie-dataset: Historische gegevens van 5 aandelen van 01/01/2011 tot 01/01/2013.

Kortom: het model traint zichzelf om een aandeel op een bepaalde dag in een bepaalde output-klasse (POSITIEF, NEUTRAAL, NEGATIEF) onder te brengen.

De score is de kans die berekend is door het model dat een aandeel effectief in deze klasse hoort.

  • Bijvoorbeeld: met 60% kans zal een aandeel in de POSITIEVE klasse zitten.
  • De POSITIEVE klasse verwacht een stijging van het aandeel op 180 dagen.

De kok laat in zijn keuken kijken; dit was de voorlaatste logbookpost van Business AI. De vierde zal de daadwerkelijke lancering fêteren.

Unsplash

(mah, jvdh)

Meer