maandag 29 november 2010

Hoe kunstmatige koersen te maken.

In een vorige blog wijdde ik aandacht aan de hypothese tussen èchte en kunstmatige koersen. Ik gaf een drietal grafieken en de lezer zou moeten kunnen raden welke aandelen of andere beleggingsinstrumenten daarmee werden weegegeven.

Toch was het niet vreselijk moeilijk om te zien dat die grafieken gemáákt waren. Ik had immers, gestuurd door het met behulp van een computer opgooien van een munt, steeds één euro erbij (kop) of eraf (munt) gedaan. En dat is onrealistisch, want iedereen weet dat de verschillen van twee beurskoersen, zeg op opeenvolgende dagen, een percentage is van de koers. Het maakt dus een heel verschil of je een koers rond de € 10 bekijkt of rond de € 100. Meestal namelijk is het dagelijks verschil zo rond de 1% en bij dat tweede aandeel is dat dus ongeveer één euro, maar bij dat eerste aandeel zou een verschil van één euro maar liefst 10% betekenen, een koersuitslag die zelfs in een hectische beurs hoogst uitzonderlijk is.

Het verschil tussen een percentage of vast bedrag is niet onaanzienlijk: als ik er 100 keer één euro bij doe heb ik
€ 200, terwijl als ik er 100 keer 1% bij doe, komt het op € 270,48. En net zo, als ik er 100 keer een euro afdoe op € 0 uitkom, terwijl 100 keer met 1% verminderen je van € 100 nog altijd op € 36,60 overhoudt.
Het zou dus de voorkeur verdienen er niet steeds een bedrag bij op te tellen of af te trekken, afhankelijk van de kop of munt, maar een percentage erbij op te tellen of af te trekken.

Toch heeft zo’n percentage een bezwaar, wat een bedrag erbij of eraf doen niet heeft. Als ik er één euro afdoe en daarna weer één euro erbij, kom ik weer op hetzelfde bedrag uit. En omgekeerd ook. Dus een bedrag erbij tellen is het tegengestelde - de inverse bewerking – van een bedrag eraf trekken.
Maar niet bij percentages. Het duidelijkst is dat te zien bij wat grotere percentages, zeg 50%. Als ik € 100 met 50% vermeerder en dan met 50% verminder kom ik op 50% x € 150 = € 75 en dat is een stuk minder dan waar ik mee begon. Ook eerst verminderen en dan vermeerderen levert iets anders op dan het beginbedrag: 150% x € 50 = € 75.
Dit kan worden opgelost als je je realiseert dat een percentage toevoegen eigenlijk betekent: vermenigvuldigen. Dus 50% toevoegen is keer anderhalf = 3/2 . En het tegengestelde daarvan is niet: 50% nemen, dus met 1/2 vermenigvuldigen, maar: vermenigvuldigen met het omgekeerde, dus met 2/3. Dan krijgen we: 2/3 x € 150  = € 100 en 3/2 x € 75 = € 100.
Samengevat: we krijgen een realistischer beeld als we bij het opgooien van een munt bij kop het bedrag met 101/100 vermenigvuldigen en bij munt met 100/101.

Als ik nu van de drie varianten grafieken zou maken – in blauw met een vaste euro erbij of eraf, in rood met 1% erbij of eraf en in groen met 101/100 of met 100/101 vermenigvuldigd – dan krijgen we de volgende twee (toevallige) plaatjes.


Het is duidelijk, uit de eerste grafiek, dat de blauwe variant desastreus kan uitpakken, zoals we hierboven al zagen met 100 keer een euro eraf. We komen, in dit geval, zelfs op een negatief bedrag van € 60!

En uit de tweede grafiek blijkt dat ook bij een positieve ontwikkeling die (blauwe) variant achterblijft

Overigens is het natuurlijk niet erg realistisch om iedere keer met een vast bedrag of percentage te vermeerderen of verminderen of met een vaste factor te vermenigvuldigen. Die zullen een spreiding moeten vertonen.
Hoewel niet gezegd kan worden dat een aandeel, of welke beleggingsmogelijkheid dan ook zich volgens het ene of het andere scenario voltrekt, lijkt het meest realistisch het model met een variabele factor te nemen. Daartoe nemen we een factor die lognormaal verdeeld is, dat is een wiskundige uitdrukking voor de volgende figuur.

Deze komt vrij goed overeen met wat een aandeel zoal laat zien, zij het dat vaak een zgn. “fat tail” wordt vertoond, waarbij sommige waarden rechts in de realiteit groter zijn. Maar deze benadering is goed genoeg voor mijn doel, artificiële koersen genereren.

Samengevat doe ik dat dus als volgt.
  1. ik genereer willekeurige getallen tussen 0 en 1
  2. die zet ik met behulp van de inverse normale cumulatieve verdeling om in getallen die normaal verdeeld zijn
  3. daarvan neem ik de e-macht en krijg vervolgens getallen die lognormaal verdeeld zijn, zo als in de laatste grafiek
  4. die vermenigvuldig ik cumulatief en met de beginwaarde om zo een kunstmatige koers te verkrijgen
De enige variabelen die ik gebruik zijn het gemiddelde en de spreiding van de normale cumulatieve verdeling. Voor het gemiddelde zal ik altijd 0 kiezen, dus is het gemiddelde van de lognormale verdeling dan 1, de spreiding kan ik variëren, die komt overeen met wat in de beleggingstheorie de volatiliteit wordt genoemd.
100 willekeurige koersen
Als ik die kunstmatige koersen heb, zoals hierboven waar er 100 willekeurig gegenereerd zijn, kan ik allerlei strategieën uittesten. Want als ze niet op willekeurige koersen werken is het de vraag of ze überhaupt wel werken.