ALGORI THMI C TRADI NG & QUANTI TATI VEFI NANCE SOPHI ESLOT&SEBASTI AN SNI JDERS 1FEBRUARI201 4 Algorithmic Trading & Quantitative Finance Een onderzoek naar het ontwikkelen van een geautomatiseerd handelssysteem Een profielwerkstuk Aangeboden aan het Gemeentelijk Gymnasium Hilversum Op 1 februari 2014 Door S.C. Slot & S.R. Snijders Begeleider H.B. van de Vegt Samenvatting Het doel van dit profielwerkstuk is het ontwikkelen van een winstgevend geautomatiseerd handelssysteem. Hier gaat een hoop theorie aan vooraf. Allereerst is het belangrijk de werking van de markt en de verschillende producten waarvan gebruikt gemaakt wordt te leren kennen. Vervolgens wordt er gekeken naar de verschillende manieren waarop de markt geanalyseerd kan worden. We kiezen ervoor ons handelssysteem te baseren op kwantitatieve analyse. Hierna bekijken we hoe koersen op een wiskundige manier beschreven kunnen worden. De functie van een koers blijkt te bestaan uit een willekeurig deel en een niet-willekeurig deel, dat exponenti¨ele groei ondervindt. Ook zijn de rendementen normaal verdeeld. Indien gebruik wordt gemaakt van grote tijdstappen, heeft het niet-willekeurige deel de overhand, en wanneer er gebruikt wordt gemaakt van kleine tijdstappen, domineert het willekeurige deel de prijs van het product. Van dit model maken we een continu model door de tijdstappen naar 0 te laten gaan, en door middel van Itˆ o’s lemma stellen we een formule op voor het koersverloop van een aandeel. Aangezien we zo min mogelijk risico willen lopen, maken we voor onze strategie gebruik van het concept hedging. We kopen twee gecorreleerde producten, en het verschil in prijs noemen we de spread. Deze twee producten moeten mean-reverting zijn. Via Itˆo’s Lemma bewijzen we echter dat twee gecorreleerde aandelen niet met zekerheid mean-reverting zijn. Er moet dus gezocht worden naar een andere manier om deze eigenschap te garanderen. Een manier om te verzekeren dat de spread het benodigde mean-reverting gedrag vertoont is het gebruik maken van derivaten van hetzelfde product. We kiezen voor een strategie waarbij gebruik wordt gemaakt van een ETP en zijn onderliggende product. In het specifiek worden door ons de VXX ETN en de VIX Futures gebruikt. Analyse van de historische koersdata laat zien dat de spread van deze producten inderdaad normaal verdeeld is, en de Dickey Fuller Test bewijst dat de spread ook mean-reverting is. De spread kan gemodelleerd worden met behulp van het Ornstein-Uhlenbeck model en Itˆo’s Lemma. De verkregen functie van de spread wordt gebruikt om een functie van de winst op te stellen, het zogenaamde CASO model. Deze functie voorspelt aan de hand van enkele variabelen de winst en targetdivergentie. Door de invloed van de verschillende parameters (targetdivergentie, commissiekosten, vertraging) te testen op de historische koersdata, vinden we optima om bij te handelen. Deze verwerken we vervolgens in het geautomatiseerde handelsmodel. Dit model gebruiken we als handelsstrategie en testen we met behulp van real-time koersdata. Het systeem maakt uiteindelijk op ´e´en dag handelen een gecorrigeerde winst van 9,109.00 dollar. Dit komt overeen met een rendement van 2.47%. Er moeten echter wel enkele kanttekeningen worden gemaakt bij deze resultaten. Bij het handelen met echt geld is het onzeker of dezelfde resultaten behaald kunnen worden. 1 Inhoudsopgave 1 Financi¨ ele markten en analysetechnieken 1.1 Inleiding op financi¨ele markten . . . . . . 1.1.1 Werking van handelen . . . . . . . 1.2 Inleiding op enkele financi¨ele producten . 1.2.1 Opties . . . . . . . . . . . . . . . . 1.2.2 Futures . . . . . . . . . . . . . . . 1.2.3 ETF’s . . . . . . . . . . . . . . . . 1.3 Het maken van een analyse . . . . . . . . 1.3.1 Fundamentele analyse . . . . . . . 1.3.2 Technische analyse . . . . . . . . . 1.3.3 Kwantitatieve analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 7 7 7 7 7 8 8 10 2 Financi¨ ele wiskunde I 2.1 Modellen voor het verloop van koersen 2.1.1 Het binominale model . . . . . 2.1.2 Rendement en volatiliteit . . . 2.1.3 Het normale model . . . . . . . 2.2 Stochastiche calculus . . . . . . . . . . 2.2.1 Brownse beweging . . . . . . . 2.2.2 Itˆ o’s Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 12 15 17 17 19 3 Algorithmisch handelen I 3.1 Hedging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Pairs trading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 22 4 Financi¨ ele wiskunde II 4.1 Spread modellering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 5 Algorithmisch handelen II 5.1 Zoektocht naar geschikte trading pairs 5.2 VIX ETP/Underlying arbitrage . . . . 5.2.1 De VIX Index . . . . . . . . . . 5.2.2 VX Futures . . . . . . . . . . . 5.2.3 ETN’s . . . . . . . . . . . . . . 5.2.4 De VXX ETN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 27 27 27 27 28 6 Verwerking data I 6.1 Historische data . . . . . . 6.2 Bewerking van de data . . 6.3 Optimalisering RT Index . 6.4 Analyse van de spread . . 6.5 Dickey Fuller Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 30 31 34 41 7 Financi¨ ele wiskunde III 7.1 Arbitrage optimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . 8 Verwerking data II 8.1 Invloed van gekozen targetdivergentie . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Invloed van commissiekosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Invloed van vertraging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 47 50 9 Financi¨ ele wiskunde IV 9.1 Correlatie historische winst en CASO . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Ornstein-Uhlenbeck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Integratie Ornstein-Uhlenbeck met CASO model . . . . . . . . . . . . . . . . . . . 53 53 54 55 10 De praktijk 10.1 Uitvoering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 60 11 Conclusie 62 12 Discussie 63 A Overzicht gebruikte notaties 72 B CASO waarden 73 C Geschreven MATLAB code 78 D Geschreven EasyLanguage code voor TradeStation 89 E Ruwe data handelsdag 91 3 Inleiding Tegenwoordig wordt meer dan 50% [23] van alle orders op de Amerikaanse aandelenmarkt gegenereerd door zogeheten High Frequency Trading Firms: professionele bedrijven die door middel van computeralgoritmes proberen winst te behalen op de aandelenbeurs. Er is echter zeer weinig openbare informatie over deze groep handelaren beschikbaar. Bedrijven die opereren in de industrie van de geautomatiseerde aandelenhandel houden hun methodes en strategie¨en bij voorkeur verborgen voor het algemene publiek. Op dit moment is de wereld van het ‘automated trading’ daarom vrij ontoegankelijk voor de ‘gewone’ belegger (retail trader). In dit profielwerkstuk doen wij onderzoek naar de theorie achter het geautomatiseerde handelen en bestuderen wij of de vooralsnog alleen in institutionele kringen toegepaste algoritmische trading strategie¨en gebruikt kunnen worden op particulier niveau en winst kunnen opleveren voor retail traders. Allereerst geven we een introductie op aandelenhandel in het algemeen. Vervolgens wordt ingegaan op de mathematische modellering van aandelenkoersen en andere aspecten die belangrijk zijn om handelsstrategie¨en op te stellen. Met deze informatie proberen we een strategie te ontwikkelen, welke we vervolgens backtesten op historische data. Aan de hand van de resultaten concluderen we of deze aanpak theoretisch gezien winst oplevert. Uiteindelijk testen we met behulp van een zelf gebouwd trading systeem of het daadwerkelijk mogelijk is om met de gevonden methode winst te maken door deze aan- en verkoopbeslissingen te laten maken op basis van real time aandelenkoersen. Hierbij verklaren we de strategie succesvol als deze een rendement genereert dat minstens gelijk is aan de risicovrije rente. 4 Hoofdstuk 1 Financi¨ ele markten en analysetechnieken 1.1 Inleiding op financi¨ ele markten Om uiteindelijk winst te behalen op de financi¨ele markten, is het belangrijk om eerst de werking hiervan te begrijpen. Een van de eenvoudigste financi¨ele instrumenten is een aandeel, ook wel een effect genoemd (of naar de Engelse termen: equity, stock of share). Een aandeel is het bezit van een klein stukje van een bedrijf. Wanneer je een goed idee hebt en een bedrijf wilt starten is het nodig om kapitaal op te halen. Dit kun je doen door het verkopen van toekomstige winsten in de vorm van een bezit in je bedrijf. Investeerders betalen geld en in ruil daarvoor wordt vastgelegd dat ze eigenaar zijn van een deel van je bedrijf. Zo’n contract noemt men een aandeel. Een bedrijf kan altijd meer kapitaal ophalen door extra aandelen uit te geven. Wanneer een klein bedrijf groter groeit kunnen nieuwe aandelen worden verkocht aan een steeds groter publiek. Uiteindelijk kan een bedrijf ervoor kiezen om zijn aandelen te laten verhandelen op een gereguleerde aandelenmarkt. Hier kunnen de aandelen van het bedrijf worden gekocht en verkocht tussen beleggers. Hierdoor wordt het ophalen van kapitaal voor een bedrijf effici¨enter en goedkoper. Met het kopen van een aandeel op de aandelenmarkt ben je in feite voor een klein stukje medeeigenaar van het bedrijf waarvan je het aandeel koopt en als de waarde van het bedrijf aan de beurs toeneemt, maak je winst bij het verkopen van het aandeel. De prijs van het aandeel verandert voortdurend en door deze veranderingen in prijs te gebruiken is het mogelijk om koerswinst te behalen. De prijs van een aandeel komt tot stand door het fundamentele marktmechanisme van vraag en aanbod. Als de vraag stijgt bij gelijkblijvend aanbod, dan stijgt de prijs van het aandeel en als het aanbod stijgt bij gelijkblijvende vraag, daalt de prijs. Aan een verandering in vraag of aanbod kunnen meerdere oorzaken ten grondslag liggen zoals veranderingen binnen het bedrijf of veranderingen van de conjunctuur. Om in te kunnen schatten hoe de koers van een bedrijf zal gaan veranderen, proberen beleggers zo veel mogelijk informatie over het bedrijf en het aandeel te verzamelen. Dit doen zij onder andere door rapporten van analisten te lezen en het verloop van de koers in het verleden te bekijken. In figuur 1.1 is het verloop van de prijs van het aandeel van Apple weergegeven [66]. Te zien is dat de prijs aan veel veranderingen onderhevig is en op de lange termijn een stijgende lijn laat zien. Had je dus in 2006 een aandeel gekocht, en het in 2012 weer verkocht, dan zou je door dit verschil in prijs winst gemaakt hebben. Dit soort trends op de lange termijn zijn echter lastig te voorspellen en eventuele resultaten laten lang op zich wachten. Deze lange-termijn trends worden vaak veroorzaakt door fundamentele veranderingen binnen het bedrijf en andere factoren die moeilijk in een mathematisch model te vatten zijn en daardoor nauwelijks beoordeeld kunnen worden door computerprogramma’s. Computers zijn echter wel van toegevoegde waarde wanneer men kijkt naar prijsveranderingen op de korte termijn. Computers kunnen hier veel rekenkracht op loslaten en zijn, in tegenstelling tot mensen, in staat om razendsnel te beslissen. Bij geautomatiseerd handelen ligt de focus hierdoor sterk op de korte termijn. Waar menselijke handelaren hun besluit tot het kopen van een aandeel laten afhangen van allerlei factoren, zoals de aard en de toekomststrategie 5 700 600 500 400 300 200 100 0 02−Jan−2005 12−Nov−2007 21−Sep−2010 31−Jul−2013 Figuur 1.1: Tijdsreeks van aandeel Apple van 2005 tot 2013 van het bedrijf, om zo in te kunnen schatten hoe deze in de toekomst zal gaan presteren, neemt het geautomatiseerde handelssysteem slechts de huidige en historische koersen van het aandeel mee in de snelle besluitvorming. We hebben hier dan ook te maken met een andere vorm van beleggen: daytrading. Daytrading houdt in dat je de aandelen die je koopt binnen een korte periode (binnen een dag) weer verkoopt, om zo de volgende dag weer met een schone lei te beginnen. Daytraders proberen te profiteren van kleine prijsverschillen en de korte termijnbewegingen van de markt. Door veel transacties te maken zijn daytraders in staat om winsten te behalen. 1.1.1 Werking van handelen Dat je winst kan maken bij een stijgende markt, of bij een stijgende prijs van een aandeel, wisten we al. Je koopt het product simpelweg voor een lage prijs, en probeert het weer te verkopen als de prijs hoger is. Het verschil in prijs is hier je winst. Deze manier van kopen en verkopen noemen we long gaan. Het is echter ook mogelijk winst te behalen bij een prijsdaling; dit noemen we shortselling, of short gaan. Shortselling houdt eigenlijk in dat je producten verkoopt die je op dat moment niet daadwerkelijk bezit. Het proces bestaat uit meerdere stappen: 1. Je leent een product van een handelaar in aandelen, een broker, en verkoopt dit product meteen voor de prijs P1. 2. Je bezit nu de waarde van het verkochte product, maar je moet nog wel hetzelfde product terugleveren aan de broker. Dus, nu koop je met het geld dat je net verdiend hebt hetzelfde product tegen prijs P2. Dit product geef je terug aan de broker. 3. Het verschil tussen P1 en P2 is je winst of verlies: als P1 groter was dan P2, heb je winst gemaakt. Is het andersom, dan heb je verlies gemaakt. Shortselling is dus ook iets dat je alleen doet als je verwacht dat de prijs daalt, want alleen dan maak je winst. 6 1.2 Inleiding op enkele financi¨ ele producten Het simpelste financi¨ele product is, zoals in het stuk hiervoor al uitgelegd, het aandeel. Daarnaast bestaan er natuurlijk grondstoffen (commodities) en obligaties (bonds). Bovendien zijn er vele andere financi¨ele instrumenten, welke men derivaten noemt, aangezien ze hun waarde ontlenen aan andere producten. 1.2.1 Opties Het bekendste derivaat is de optie. Bij het kopen van een optie schaf je het recht aan om een bepaald product op een bepaald tijdstip voor een van tevoren afgesproken prijs te kopen. Als deze afgesproken prijs anders is dan de marktprijs van het product op het uitoefenmoment (het tijdstip ´ en optie geeft altijd het recht 100 aandelen te kopen uit het optiecontract), is er winst te behalen. E´ of te verkopen. Opties zijn te verdelen in twee soorten: 1. Callopties: dit zijn opties waarmee je het recht krijgt om een bepaald onderliggend product op een vastgestelde datum voor een vastgestelde prijs te kopen, ongeacht de marktprijs op dat moment. Als je verwacht dat de toekomstige marktprijs hoger is dan de huidige marktprijs, is het verstandig om callopties te kopen: je winst bestaat dan uit het verschil tussen de marktprijs en de op de optie vastgestelde prijs op het uitoefenmoment. 2. Putopties: dit zijn opties waarmee je het recht krijgt om een bepaald onderliggend product op een vastgestelde datum voor een vastgestelde prijs te verkopen, ongeacht de marktprijs op dat moment. Als je verwacht dat de toekomstige marktprijs lager is dan de huidige marktprijs, is het winstgevend om putopties te kopen: je winst bestaat wederom uit het verschil tussen de marktprijs en de op de optie vastgestelde prijs. NB: Amerikaanse en Europese opties werken verschillend. Met een Amerikaanse opties kun je je recht tot het kopen of verkopen van een bepaald product gedurende de hele looptijd uitoefenen, terwijl je met een Europese optie dit recht alleen op de afloopdatum, ook wel het uitoefenmoment genoemd, kunt uitoefenen. Vanaf dit moment bedoelen we met het woord ‘optie’ altijd de Europese optie, tenzij anders aangegeven. 1.2.2 Futures Futures werken bijna hetzelfde als opties. Het enige verschil is dat je bij het kopen van een future verplicht bent om het product te kopen of verkopen voor de afgesproken prijs op het uitoefenmoment. Bij futures is het echter vereist om een zogenaamde margin aan te houden. Het koersverschil wordt namelijk aan het eind van elke dag berekend en van het margin bedrag afgehaald. 1.2.3 ETF’s De afkorting ETF staat voor Exchange-Traded Fund, het doel van het fonds is de koper de mogelijkheid tot blootstelling aan een combinatie van verschillende beleggingsproducten te bieden. De simpelste vorm van de ETF is de indextracker. Deze is opgebouwd uit een combinatie van verschillende aandelen of derivaten, opdat het fonds exact dezelfde samenstelling heeft als een bepaalde index. Het doel van de indextracker is namelijk de index waarop hij gebaseerd is zo nauwkeurig mogelijk te volgen. Een voorbeeld hiervan is de SPY, dit is een ETF op de S&P 500 index. Een andere ETF is de zogenaamde ‘sector ETF’, dit is een fonds dat alleen aandelen van bedrijven uit een bepaalde sector koopt. Een bekende sector ETF is de XLF, een ETF dat bestaat uit aandelen uit de financi¨ele sector. 1.3 Het maken van een analyse Aan het besluit om een bepaald aandeel te kopen gaat een hoop onderzoek vooraf. Het is erg belangrijk om je transactie ergens op te baseren. Er zijn drie verschillende manieren om dit aan te pakken: fundamentele analyse, technische analyse en kwantitatieve analyse. 7 1.3.1 Fundamentele analyse Bij het maken van een fundamentele analyse probeert de analist alle factoren waarvan hij of zij denkt dat ze meewegen in het verloop van de koers van het bedrijf ´e´en voor ´e´en te bekijken en in te schatten of deze factoren het verloop van de koers gunstig of juist ongunstig zullen be¨ınvloeden. Onder de analisten verschillen de meningen over welke factoren dit precies zijn en hoe ze de koers be¨ınvloeden, maar er wordt aangenomen dat ze in drie categorie¨en te verdelen zijn: • Macro-economische factoren, zoals de conjunctuur en de rente. Deze factoren be¨ınvloeden alle aandelen, zij het misschien niet op dezelfde wijze. • Meso-economische factoren, factoren die iets zeggen over de ontwikkeling van een bepaalde bedrijfstak. Bedrijfstakken van bedrijven die primaire goederen produceren zullen bijvoorbeeld minder last hebben van een laagconjunctuur dan bedrijfstakken van bedrijven die luxegoederen produceren. • De laatste en belangrijkste groep factoren is de micro-economische factoren. Hierbij wordt gekeken naar de ontwikkelingen binnen ´e´en bepaald bedrijf. Een belangrijke bron van informatie over het functioneren van dit bedrijf is het jaarverslag, waarin onder andere de winsten verliesrekening en de balans te vinden zijn. Fundamentele analyse is echter lastig uit te voeren door een computer. Er moet rekening gehouden worden met vele parameters die niet altijd in een model te vatten zijn. Figuur 1.2: Een overzicht met enkele fundamentele indicatoren in Bloomberg [11] 1.3.2 Technische analyse In tegenstelling tot de fundamentele analisten geloven technische analisten in het feit dat alle op dit moment relevante informatie al in de prijs van een aandeel verwerkt is en dat het dus geen zin heeft om al deze informatie nog een keer te bekijken. De enige gegevens die er voor een technische analyse 8 160 120 140 100 120 80 80 Prijs Prijs 100 60 60 40 40 20 20 0 0 2 4 6 Tijd 8 10 0 12 0 1 2 3 4 Tijd 5 6 7 8 Figuur 1.3: Een voorbeeld van een steunniveau (links) en weerstandniveau (rechts) toe doen zijn de huidige en historische koersen. Bij het maken van een technische analyse wordt geprobeerd een trend te vinden in de grafiek van de aandelenkoers. Technisch analisten proberen bij hun analyse bepaalde patronen te ontdekken. Patronen waar vaak naar wordt gezocht zijn de zogenaamde steun en weerstandsniveaus. Een steun is een prijsniveau waar de prijs van een aandeel bij een daling van de koers moeilijk onder lijkt te kunnen komen. De kans is groot dat de prijs eerst een aantal keer ‘afketst’ terug naar boven, voordat hij er uiteindelijk toch doorheen gaat of juist weer stijgt. Dit is te zien in figuur 1.3. Een weerstand is het tegenovergestelde van een steun. Het is een prijsniveau waar een aandeel bij een stijgende koers niet boven lijkt te kunnen komen; de kans is groter dat hij er een tijdje onder blijft hangen. Als de koers van een aandeel uiteindelijk toch door de weerstand heen breekt, wordt deze weerstand de nieuwe steun. Ditzelfde geldt bij het doorbreken van een steun; als de prijs van een aandeel tot onder de steun zakt, wordt het oude steunniveau de nieuwe weerstand. Dit is te zien in figuur 1.3 en in figuur 1.4. Figuur 1.4: Hoe weerstand verandert in een steun (hier komt betere afbeelding) Bij technische analyse wordt niet alleen gebruik gemaakt van veelvoorkomende patronen in de koersen, maar ook van bepaalde rekenkundig verkregen indicatoren. Een van deze indicatoren is het moving average (voortschrijdend gemiddelde). Dit houdt in dat het gemiddelde van de slotkoersen gedurende een bepaalde periode wordt genomen, en per dag wordt aangepast. Bijvoorbeeld, als het om een 10-daags moving average gaat, en je dus 10 slotkoersen bij elkaar optelt en deelt door 10, is het eerste MA het gemiddelde van de slotkoersen van dag 1-10, en het tweede MA het gemiddelde van de slotkoersen van dag 2-11. Op deze manier is het mogelijk om het moving average in dezelfde grafiek te laten zien als het verloop van de koers, en hier conclusies uit te trekken. Het moving average helpt de kleine uitschieters weg te filteren, om zo de trend duidelijker te zien. Ieder moving 9 average is te berekenen met behulp van de volgende formule1 n P MA = pM −(n−1) i=1 n waarbij het gaat om een n -daags moving average met de prijzen p op de dagen M − (n − 1) tot en met M . In het algemeen wordt aangenomen dat een koers die boven het MA staat een positieve indicator is voor het verdere verloop van de koers, en een koers die lager is dan het MA een verwachte daling van de koers aangeeft. 700 600 500 400 300 200 100 0 02−Jan−2005 27−Nov−2007 21−Oct−2010 14−Sep−2013 Figuur 1.5: Een 100-daags moving average van het aandeel Apple In figuur 1.5 is zowel de koers van de aandelen van Apple als het 100-daags moving average te zien [66]. De snijpunten van de twee lijnen zijn momenten waarop het gunstig kan zijn om het aandeel te kopen of te verkopen; op het moment dat de koers zich eerst een tijdje onder het MA bevindt en dan het MA snijdt, om er vervolgens bovenuit te komen, is het vaak gunstig het aandeel te kopen. Andersom geldt ook dat als de koers het MA snijdt en eronder komt, dit een signaal kan zijn om het aandeel te verkopen. Uit meerdere studies is echter gebleken dat de voorspellende kracht van technische analyse vaak te wensen overlaat [13, 43]. Daarom gaan we verder met de volgende vorm van analyse: kwantitatieve analyse. 1.3.3 Kwantitatieve analyse De grens tussen technische en kwantitatieve analyse is een grijs gebied. Over het algemeen genomen gebruikt men bij kwantitatieve analyse methoden uit de statistiek om iets te zeggen over de prijs van een aandeel of ander financieel product. Er wordt bijna uitsluitend gebruik gemaakt van historische prijsdata. Wiskundige modellen dienen hierbij als ondersteuning om de beweging van het aandeel te begrijpen. Dit is handig, aangezien handelscomputers slechts in staat zijn om cijfers te verwerken. In dit profielwerkstuk zal daarom uitsluitend gebruik worden gemaakt van kwantitatieve analyse. Als basis voor de meeste modellen wordt het standpunt ingenomen dat de bewegingen van de koers 1 Zie voor een overzicht van gebruikte notaties bijlage A 10 van een aandeel op de korte termijn geheel willekeurig zijn. Door historische data te analyseren kan echter wel een uitspraak worden gedaan over de kansen behorend bij de prijsveranderingen. Om iets te begrijpen van kwantitatieve analyse is het belangrijk om te kijken hoe we aandelenkoersen kunnen modelleren. Bij kwantitatieve analyse wordt immers gebruik gemaakt van modellen om het koersverloop van aandelen te analyseren. Daarom wordt in het volgende hoofdstuk geprobeerd een wiskundige benadering van een aandelenkoers te vinden. 11 Hoofdstuk 2 Financi¨ ele wiskunde I 2.1 2.1.1 Modellen voor het verloop van koersen Het binominale model Voor het modelleren van aandelen gaan we ervan uit dat prijzen van aandelen een zekere willekeurigheid bevatten. Dat betekent niet direct dat we geenszins in staat zijn om aandelenprijzen te modelleren, maar dat het moet gebeuren vanuit het oogpunt van de statistiek en kansberekening. Met het uitgangspunt dat een aandeel een willekeurig pad, ook wel random walk, volgt, kunnen we ons eerste simpele model opstellen. Hoewel dit model de werkelijkheid niet heel realistisch beschrijft, is dit een eerste stap richting een juiste benadering. We beginnen met een bedrag van $100. Zie dit als de prijs van een aandeel. Vervolgens gooien we met een munt. Wanneer je kop gooit vermenigvuldig je het bedrag met 1.01.1 Wanneer je munt gooit vermenigvuldig je het bedrag met 0.99. Gooi nu de munt weer op en vermenigvuldig het nieuwe bedrag met 1.01 of 0.99. Er zijn nu vier mogelijkheden voor het uiteindelijke bedrag: 1.012 × 100, 1.01 × 0.99 × 100 = 0.99 × 1.01 × 100 en 0.992 × 100. Wanneer je deze stappen vaker herhaalt krijg je een willekeurig pad dat al redelijk lijkt op dat van een aandeel. Een specifiek experiment is weergeven in figuur 2.1. We hebben hier bewust gekozen ons bedrag te vermenigvuldigen met een vaste factor. In plaats daarvan hadden we er ook voor kunnen kiezen om er een vaste hoeveelheid bij op te tellen of vanaf te trekken. Dit is een zeer belangrijk aspect van de koers van financi¨ele producten; op het moment dat de prijs van een aandeel hoger wordt stijgt ook de grootte van de dagelijkse prijsveranderingen. De prijsveranderingen blijven proportioneel met de hoogte van de prijs van het aandeel. Daarnaast kan in dit gekozen model de aandelenprijs niet negatief worden, net als bij echte aandelenprijzen. Wanneer we een vermenigvuldigingsmodel gebruiken krijgen we een goede benadering van een zogeheten lognormale random walk, ook wel meetkundige rij genoemd. Wanneer we een optelregel gebruiken krijgen we een benadering van een normale random walk of rekenkundige rij. Hoewel de bovengenoemde eigenschappen kloppend zijn, zit er ´e´en groot nadeel aan deze modelmatige benadering van aandelenkoersen: het model stelt dat het aandeel of omhoog, of omlaag kan gaan met een vaste verhouding. Er zijn dus slechts twee mogelijkheden voor de prijs van ‘morgen’. Daarom wordt dit model ook wel het binominale model genoemd. Dit is overduidelijk onrealistisch. 2.1.2 Rendement en volatiliteit Wanneer je ergens in investeert, verwacht je natuurlijk dat het in waarde toeneemt, zo ook bij aandelen. Deze extra waarde noemen we rendement of return. Met het woord rendement wordt de procentuele groei van de waarde van je aandeel bedoeld, samen met eventueel ontvangen dividenden 1 Alle getallen zullen vanaf hier in de Amerikaanse notatie gegeven worden, dat wil zeggen dat een punt wordt gebruikt om de decimalen van het getal te scheiden. 12 120 115 110 105 100 95 Aantal keer gooien 90 0 10 20 30 40 50 60 70 80 90 100 Figuur 2.1: Een simpele simulatie van een aandelenkoers over een bepaalde periode: Rendement = Verandering in waarde aandeel + ontvangen dividenden Originele waarde aandeel Het is belangrijk om onderscheid te maken tussen procentuele of relatieve groei, en absolute groei. Stel, we kunnen investeren in twee aandelen die beiden $10 per jaar in waarde toenemen. Aandeel A heeft een waarde van $100 en aandeel B heeft een waarde van $1000. Aandeel A is dan duidelijk een betere investering. Na ´e´en jaar is aandeel A $110 waard en aandeel B $1010. Beide zijn gestegen met $10, maar aandeel A is toegenomen met 10% en aandeel B met slechts 1%. Als je $1000 hebt om te investeren kun je beter tien aandelen A kopen dan ´e´en aandeel B. Dit voorbeeld toont ons dat we bij het onderzoeken van koersen de nadruk moeten leggen op rendementen. De absolute verandering van de prijs is namelijk vele malen minder relevant dan de relatieve verandering van de koers. Om de rendementen van verschillende aandelen in te schatten moeten we bepalen hoeveel onzekerheid er aanwezig is in de waarde van de effecten. Later pogen we rendementen en hun onzekerheid in een beter model voor de prijs van aandelen te vatten. In figuur 2.2 zien we het koersverloop van Goldman Sachs (GS) van september 2012 tot september 2013 [66]. Dit is een typische plot van een financieel instrument. Het aandeel laat over deze periode een opwaartse trend zien, maar dit is niet per definitie gegarandeerd. De onvoorspelbaarheid van het koersverloop is een belangrijk kenmerk van financi¨ele producten. Omdat er zoveel willekeur in de prijs zit, moet elk model gebaseerd worden op toeval en kansberekening. Aangezien we eerder al hebben geconcludeerd dat de rendementen belangrijker zijn dan de absolute waarde van aandelenprijzen, kijken we nu hoe we deze rendementen kunnen berekenen. Als we de prijs van het aandeel op de ide dag noteren met Si , dan wordt het rendement van dag i tot dag i + 1 gegeven door: Si+1 − Si = Ri Si Hierbij negeren de eventuele dividenden die op aandelen worden uitbetaald. Het gemiddelde van de rendementen wordt dan gegeven door: R= M 1 X Ri M i=1 13 170 160 150 140 130 120 110 100 03−Sep−2012 02−Jan−2013 03−May−2013 01−Sep−2013 Figuur 2.2: Goldman Sachs Group Inc. van september 2012 tot september 2013 De standaarddeviatie wordt gebruikt om aan te geven hoe de waarden rond het gemiddelde verspreid zijn. Deze wordt als volgt berekend: v u n u 1 X (xi − x)2 σ=t n − 1 i=1 Hierin is n het aantal waarden, xi de waarde van een getal in de reeks, en x het gemiddelde van de waarden. De standaarddeviatie van rendementen wordt ook wel de volatiliteit genoemd, en deze geeft de bewegelijkheid van een aandeel aan. De standaarddeviatie van de verzameling rendementen wordt nu dus gegeven door v u M u 1 X σ=t (Ri − R)2 M − 1 i=1 waarin M het aantal rendementen in de verzameling is (eentje minder dan het aantal prijzen, aangezien het rendement bestaat uit het verschil tussen twee prijzen). Hoe hoger de volatiliteit, hoe bewegelijker het aandeel. Hier komen we later op terug. Wanneer we deze formules gebruiken komen we voor het aandeel GS uit op een gemiddeld rendement van 0.0015 en een standaarddeviatie van 0.0153 per dag. De standaarddeviatie is vele malen groter dan het gemiddelde rendement (σ > R). Dit is typerend voor financi¨ele producten op de korte termijn. Van dag tot dag is er vooral ruis waarneembaar. Het kan soms maanden duren voordat je een trend kunt waarnemen. 14 Rendementen Goldman Normaalverdeling 30 25 Dichtheid 20 15 10 5 0 −0.06 −0.04 −0.02 0 Rendement 0.02 0.04 0.06 Figuur 2.3: Histogram van de rendementen van Goldman Sachs Group Inc. en normale verdeling 2.1.3 Het normale model De normale verdeling In figuur 2.3 is een histogram weergeven van de rendementen van Goldman Sachs Inc. Geplot in dezelfde figuur is de functie van de normale verdeling2 1 x−µ 2 1 √ e− 2 ( σ ) σ 2π waarbij σ de standaarddeviatie is en µ het gemiddelde van de verdeling. De verdelingen zijn niet identiek, maar ze zijn min of meer hetzelfde. Wanneer we geloven dat de empirische rendementen genoeg lijken op de normale verdeling, en deze dus een goede benadering vormt van de verdeling van de rendementen, kunnen we dit verwerken tot een nieuw model. Als we nu de rendementen schrijven als een combinatie van een gemiddelde groei en een willekeurige variabele φ krijgen we het volgende: Ri = Si+1 − Si = gemiddelde + standaarddeviatie × φ Si Hierin is φ een willekeurige variabele, getrokken uit de standaardnormale verdeling met µ = 0 en σ = 1. Dit vormt een goede basis voor een nieuw model waarin we groei over de lange tijd splitsen van de willekeurigheid op de korte termijn. Daarnaast zijn er op deze manier van tijdsstap tot tijdsstap oneidig veel mogelijke prijsveranderingen, met elk hun eigen kans van voorkomen. Dit is al vele malen beter dan het binominale model, waarin slechts twee prijsveranderingen mogelijk waren. Tijdsschaal niet-willekeurige deel Tot nu toe hebben we alleen gekeken naar metingsintervallen van ´e´en dag, maar wat gebeurt er met onze rendementen en standaarddeviatie als we kijken naar intervallen van bijvoorbeeld een uur of een week? Hoe veranderen deze als gevolg van veranderingen van de tijdsduur? 2 De normale verdeling is een klokvormige verdeling, met op de horizontale as het gemiddelde µ en de standaarddeviatie σ van dit gemiddelde, en op de verticale as de kans op een bepaalde waarde x. De normale verdeling is een continue kansverdeling, wat wil zeggen dat het aantal mogelijke waarden binnen deze kansverdeling oneindig is. De verdeling is afhankelijk van de µ en de σ van de waarden binnen de verzameling. De totale oppervlakte onder de normaalkromme is altijd 1. 15 We noemen de tijdsstap δt. Het gemiddelde van de rendementen schaalt evenredig met de grootte van de tijdsstap. Dit betekent dat hoe groter de tijd tussen de meetmomenten is, des te meer de prijs gemiddeld zal zijn bewogen, en des te groter (of kleiner) het rendement zal zijn. We kunnen schrijven: gemiddelde rendement = µ δt Dit is dezelfde µ die we eerder hebben gezien en die het gemiddelde jaarlijkse rendement voorstelt, ook wel drift genoemd. We nemen aan dat µ constant blijft. Wanneer we de afwijkingen van het gemiddelde op de korte termijn (dus σ × φ) even buiten beschouwing laten, zien we dat het rendement gelijk is aan µ maal δt. In formules: Si+1 − Si = µ δt Si Dit kunnen we omschrijven tot: Si+1 = Si (1 + µ δt) Wanneer het aandeel begint op S0 , met t = 0, dan geldt na ´e´en tijdsstap t = δt dat S1 = S0 (1 + µ δt) en na twee tijdsstappen t = 2δt dat S2 = S1 (1 + µ δt) = S0 (1 + µ δt)2 en na M tijdsstappen t = M δt = T dat: SM = S0 (1 + µ δt)M Wanneer de we toewerken naar een continu model en de tijdsstappen δt naar nul gaan met de totale tijd T constant is dit: SM = S0 (1 + µ δt)M Hierin is δt een breuk die steeds kleiner wordt, als er meer tijd verstrijkt. Vanwege deze mathematische definitie van ex : x n ex = lim 1 + n→∞ n Kunnen we dit als volgt schrijven: SM = S0 (1 + µ δt)M = S0 eM ln(1+µ δt) ≈ S0 eµM δt = S0 eµT Dit is een belangrijke observatie aangezien een aandeel zonder de aanwezigheid van het willekeurige deel (σ × φ) dus een eponenti¨ele groei ondervindt. Nu we dit weten is het zaak om de willekeurige term, die we zojuist buiten beschouwing hebben gelaten, mee te schalen. Hoe gaat dit in zijn werk? Tijdsschaal willekeurige deel Wanneer we terugkijken naar de functie voor de standaarddeviatie van de rendementen v u M u 1 X σ=t (Ri − R)2 M − 1 i=1 en we kijken naar een vast tijdsbestek T dan zien we duidelijk dat als we onze tijdsstappen δt tussen de rendementen kleiner maken, M (het aantal rendementen) omgekeerd evenredig groeit. Dit betekent dat de variantie, gegeven door (Ri − R)2 lineair schaalt met de tijd. Hierdoor schaalt de standaarddeviatie met de wortel van de tijd. De standaarddeviatie is immers de wortel van de variantie. Dit betekent dat over een periode T geldt 1 standaarddeviatie = σ δt 2 16 Wanneer we de niet-willekeurige component samenvoegen met de willekeurige component voor de rendementen kunnen we het volgende samenstellen: Ri = 1 Si+1 − Si = µ δt + σφ δt 2 Si Hierin is φ een willekeurige component, getrokken uit een normale verdeling met µ = 0 en σ = 1. Hieruit volgt: 1 Si+1 − Si = µSi δt + σSi φ δt 2 Het linker gedeelte is de verandering van de prijs van i naar i + 1 en het rechter gedeelte is hier ons ‘model’. Het is belangrijk om te beseffen dat we niet in staat zijn om de prijs van morgen te voorspellen. We geven slechts een kansverdeling van de mogelijke prijzen op de volgende tijdsstap. We zien met dit model ook direct waarom de volatiliteit domineert op de korte termijn. Aangezien 1 σ maal δt 2 gaat en µ maal δt, zal voor een zeer kleine waarde van δt de volatiliteit belangrijker zijn dan de drift (µ). De wortel van een dusdanig klein getal is namelijk altijd groter dan het getal zelf. Echter, wanneer de tijdsstappen groter worden, krijgt de drift de overhand en wordt de volatiliteit minder belangrijk. Dit is direct zichtbaar in de aandelenkoersen; op de lange termijn is er vaak een trend waarneembaar terwijl de prijs zich op de korte termijn willekeuriger lijkt te bewegen. 2.2 Stochastiche calculus Aangezien ons nieuwe model gebaseerd is op kansberekening, krijgen we te maken met stochastiche wiskunde. Dit is het onderdeel van de wiskunde dat zich bezighoudt met willekeurige processen en functies. Deze tak van de wiskunde zal in de loop van dit hoofdstuk behandeld worden. 2.2.1 Brownse beweging De willekeurige beweging uit ons huidige model kan ook wel een Brownse beweging genoemd worden. Deze heeft een aantal bijzondere eigenschappen waar we zometeen op terug zullen komen. Het discrete model We hebben net gezien: 1 Si+1 − Si = µSi δt + σSi φ δt 2 Vooralsnog is dit een discreet model, dat wil zeggen dat het alleen voor beperkte waarden van de tijdsstap δt geldt. We kunnen schrijven: 1 ∆S = µSδt + σSφ δt 2 De verandering in S over een kleine tijdsstap δt wordt dus gegeven door het verwachte rendement, de drift (µ), keer de tijd (δt) plus een stochastiche component. Hierbij is φ nog steeds dezelfde willekeurige component, getrokken uit een normale verdeling met µ = 0 en σ = 1. Met deze vergelijking kunnen we een zogenaamde Monte Carlo simulatie uitvoeren om het prijsverloop van een aandeel te simuleren. We starten met een prijs van 100. Vervolgens voeren we deze waarde in in onze formule. Hieruit volgt een nieuwe waarde voor S op de volgende tijdsstap, die we weer invoeren in de formule. Wanneer we dit N keer doen, krijgen we een willekeurige grafiek zoals figuur 2.4, voor een arbitraire waarde van de drift en volatiliteit. Zoals te zien begint dit al aardig op het koersverloop van een aandeel te lijken. Hoewel we met behulp van dit model het verloop van een aandeel redelijk kunnen simuleren, is het lastig om er berekeningen mee uit te voeren. Het is immers een discreet proces. Om er zinvolle berekeningen mee uit te kunnen voeren moeten we toewerken naar een continue functie. Dat wil zeggen dat onze tijdsstap naar de limiet nul gaat. 17 106 105 104 103 S 102 101 100 99 98 97 Simulatie 1 Simulatie 2 Simulatie 3 0 100 200 300 400 500 N 600 700 800 900 1000 Figuur 2.4: Drie Monte Carlo simulaties van een aandelenpad met N = 1000 en S0 = 100 Eigenschappen van het continue Brownse model Allereerst moeten we stilstaan bij een paar belangrijke mathematische eigenschappen van ons model. Wanneer we het niet-willekeurige gedeelte buiten beschouwing laten en ons even focussen op het stochastische (willekeurige) gedeelte kunnen we de volgende eigenschappen waarnemen: 1. Markov Ons model is alleen afhankelijk van de vorige waarde van S. Alle eerdere waarden van S tot aan Si zijn irrelevant voor de waarde van Si+1 . Dit noemen het we Markov kenmerk. Dit komt overeen met het geloof van technische analisten dat alle relevante informatie van een aandeel in de prijs van nu zit verwerkt, en oudere prijzen dus van geen enkel belang zijn. 2. Martingaal De verwachte prijs van het aandeel op het volgende moment is gelijk aan de prijs van het aandeel op dit moment. Oftewel: E[Si+1 ] = Si Als de verwachte prijs anders zou zijn, dan zou de prijs immers nu al veranderen. 3. Kwadratische variantie schaalt lineair met tijd 1 Laten we ons stochastische onderdeel φδt 2 tijdelijk de functie G(t) noemen. Hierdoor is 1 G(t) = φδt 2 waarbij φ nog steeds een variabele is getrokken uit een normale verdeling, N (0,1). Wanneer we de tijdsstap δt bekijken kunnen we deze steeds kleiner maken door een hulpvariabele n te nemen. We hebben: r δt G(t) = n × φ n We nemen voor n een grote waarde. δt wordt door een groot getal gedeeld, en is dus klein. G(t) wordt hierbij als het ware opgebouwd uit de som van een hoop verschillende kansvariabelen getrokken uit de normale verdeling. Door deze grote hoeveelheid gaat gelden dat E[G(t)] = 0 vanwege het feit dat de µ van φ gelijk is aan 0 (deze is immers getrokken uit N (0,1)). Daarnaast is belangrijk dat de kwadratische variantie evenredig schaalt met de tijd. We kunnen stellen dat E[G(t)2 ] = t. Dit is duidelijk te zien als we de functie G(t) kwadrateren. Dit geeft G(t)2 = φ2 δt. Zoals eerder vermeld, is φ een variabele getrokken uit de normale verdeling N (0,1). De verwachte waarde voor φ2 is dus 1. 18 Het continue Brownse model 1 Wanneer we voor δt de limiet nul bereiken noemen we φ δt 2 een Wiener proces. We kunnen het 1 dan schrijven als dW . Dit is niets anders dan φ δt 2 in een omgeving waar δt bijna nul is. Er geldt 2 nog steeds dat E[dW ] = 0 en E[dW ] = dt. Als we ons model op een Wiener manier opschrijven in een omgeving waarin de limiet naar nul gaat krijgen we de volgende differentiaalvergelijking: dS = µSdt + σSdW (2.1) Dit is een van de belangrijkste formules uit de kwantitatieve analyse en vormt de basis voor vele theorie¨en. Stochastische differentiaalvergelijkingen zoals deze kunnen worden bewerkt door middel van Itˆo’s Lemma, een theorie die hierna wordt uitgelegd. 2.2.2 Itˆ o’s Lemma Omdat we te maken hebben met stochastische calculus gelden er andere regels dan voor normale calculus. Een van de belangrijkste hulpmiddelen in de stochastische calculus is Itˆo’s Lemma [7, 37, 64, 65]. Dit wordt hieronder verder toegelicht. Stel we hebben een functie g(x) met ´e´en variabele, dan is de Taylorreeks3 van deze functie g(x + dx) = g(x) + 1 d2 g 2 1 d3 g 3 dg dx + dx + · · · dx + dx 2 dx2 6 dx3 dus: dg 1 d2 g 2 1 d3 g 3 dx + dx + dx + · · · dx 2 dx2 6 dx3 En voor een functie g(x,y) met twee variabelen is de Taylor serie: ∆g(x) = ∆g(x,y) = dg dg 1 d2 g 2 d2 g 1 d2 g 2 dx + dy + dx + dx dy + dy + · · · 2 dx dy 2 dx dx dy 2 dy 2 Een Itˆo functie bestaat uit een functie a en b welke afhangen van (x,t), waarin een Wiener proces verwerkt zit, dus: dx = a(x,t) dt + b(x,t) dW Of zonder argumenten: dx = a dt + b dW f (x,t) is een functie afhankelijk van dit Itˆo proces en t. Dan kunnen we met behulp van de Taylorreeks schrijven: df = df df 1 d2 f 2 d2 f 1 d2 f 2 dx + dt + dx + dx dt + dt 2 dx dt 2 dx dx dt 2 dt2 Invullen voor dx levert: df = df df 1 d2 f 2 2 d2 f 1 d2 f 2 2 2 (a dt + b dW ) + dt + (a dt + ab dW dt + b dW ) + (a dt + b dW )dt + dt dx dt 2 dx2 dx dt 2 dt2 (2.2) Itˆo maakt gebruik van de een aantal eerdergenoemde kenmerken: • De kwadratische variantie schaalt lineair met de tijd. Hierbij geldt dat E[dW 2 ] = dt. Volgens Itˆo geldt dat in de limiet naar nul dW 2 → dt. • Aangezien limd→0 dt, wordt dt2 verwaarloosbaar klein en geldt dt2 → 0. • Omdat E[dW ] = 0 geldt dat het gemiddelde E[dW dt] = 0. • De variantie van dW dt is E[dW 2 dt2 ] = E[dtdt2 ] = E[dt3 ]. Volgens eerder genoemde redenen geldt dt3 → 0 dus dW dt → 0. 3 de Taylorreeks is een wiskundig hulpmiddel om een benadering van een functie op te stellen. 19 dW dt dW dt 0 dt 0 0 In de bovenstaande tabel zijn de regels van Itˆo’s Lemma overzichtelijk samengevat. Vergelijking 2.2 wordt, als we deze kenmerken meenemen, dus: df = df df 1 d2 f 2 (b dt) (a dt + b dW ) + dt + dx dt 2 dx2 Hieruit volgt de algemene definitie voor Itˆo’s Lemma: df df df 1 d2 f 2 df = b dt + + a+ b dW dt dx 2 dx2 dx (2.3) Dus een functie als k(S) = ln(S) met de differentiaalvergelijking met Wienerproces dS = µSdt + σSdW kunnen we met behulp van Itˆ o’s Lemma omschrijven. De a van Itˆo’s Lemma is in dit geval dus µS, en de b is σS. Verder geldt: • df dt = 0, aangezien de variabele t niet voorkomt. • df dx = • d2 f dx2 1 S, = aangezien de afgeleide van ln(x) = x1 . 1 S2 , aangezien de tweede afgeleide van ln(x) = 1 x2 . Deze regels toepassend, krijgen we: 1 2 2 1 1 σ S dt + σS dW dk(S) = 0 + µS − S 2S 2 S Na het wegstrepen van een aantal keer S, volgt: 1 dk(S) = µ − σ 2 dt + σ dW 2 Integreren levert: k(S) = 1 µ − σ 2 t + σ (W (t) − W (0)) 2 Aangezien k(S) = ln(S) geldt dat de orspronkelijke functie S(t) wordt gegeven door: 1 2 S(t) = e(µ− 2 σ )t+σ(W (t)−W (0)) We hebben hiermee de oorspronkelijke differentiaalvergelijking van het continue model omgeschreven tot een bruikbare functie. We zullen deze methode later weer gebruiken om soortgelijke functies op te stellen. 20 Hoofdstuk 3 Algorithmisch handelen I 3.1 Hedging Nu we een redelijk goed werkende formule hebben om het verloop van de prijs van een aandeel weer te geven, wordt het tijd om deze kennis te gebruiken om winst te maken. Ons doel is een zo hoog mogelijk rendement met een zo laag mogelijk risico te behalen. Een goede manier om dit te doen is door middel van het zogenaamde ‘hedging’. Dit principe houdt in dat je het risico dat voortkomt uit het bezitten van een bepaald product afdekt met het bezitten van een ander product1 . Hiervoor zijn in het simpelste voorbeeld twee aandelen nodig met een negatieve correlatie. Een (erg) eenvoudig voorbeeld hiervan kan optreden bij de koersen van een bedrijf dat zonnebrand produceert en een bedrijf dat paraplu’s produceert. Als in ons voorbeeld even geldt dat altijd regent, ´ of altijd zonnig is, dan zouden de koersen van de bedrijven tegengestelde bewegingen maken. Dit wordt veroorzaakt door het feit dat als de zon schijnt, mensen wel zonnebrand nodig hebben, maar geen paraplu’s. Bij regen treedt dit effect omgekeerd op. Jammer genoeg is de echte wereld niet zo simpel, dus moeten we actief op zoek naar twee aandelen met een negatieve correlatie. De correlatie tussen twee aandelen wordt berekend met Pearsons correlatieco¨effici¨ent, deze is als volgt: Pn ¯ ¯ i=1 (Xi − X)(Yi − Y ) qP ρ = qP n n ¯ 2 ¯ 2 i=1 (Xi − X) i=1 (Yi − Y ) Oftewel: Pn ρ= i = 1(S1i − S¯1 )(S2i − S¯2 ) σS1 σS2 Als we eenmaal twee aandelen met een negatieve correlatieco¨effici¨ent hebben gevonden, zullen hun koersen er bijvoorbeeld zo uitzien als in figuur 3.1. Dit zogeheten ‘delta neutral’ portfolio wordt in de praktijk echter vaker geconstrueerd door long en short te gaan in twee aandelen die juist sterk positief gecorreleerd zijn. Het verschil in prijs tussen de twee aandelen noemt men de ‘spread’. Deze wordt gegeven door: |S1 − S2 | In de financi¨ele wereld wordt echter vaak gebruikt |ln(S1 ) − ln(S2 )| aangezien (zoals eerder besproken) de prijsveranderingen van een aandeel proportioneel zijn met het huidige prijsniveau. Door het logaritme te nemen wordt het berekenen van de spread van twee aandelen met een zeer verschillend prijsniveau vergemakkelijkt. 1 We hebben het hier specifiek over delta hedging, waarbij de waardeverandering van de gehele portfolio tot nul wordt gereduceerd. 21 SPY SH 1.5 1.25 1 0.75 0.5 01−Jan−2008 01−Jan−2010 01−Jan−2012 Figuur 3.1: Genormaliseerde koersen van SPDR S&P 500 (SPY) en ProShares Short S&P500 (SH) 3.2 Pairs trading Als we nu twee aandelen gevonden hebben met een correlatie ρ, zal de spread van de twee aandelen mogelijk terugkeren naar een bepaald historisch gemiddelde. Dit gedrag noemen we meanreverting. Bij pairs trading probeert men gebruik te maken van eventueel mean-reverting gedrag van aandelen. Stel nu dat we twee aandelen hebben, aandeel A en aandeel B, waarvan eerder is vastgesteld dat ze positief gecorreleerd zijn en mean-reverting. De gemiddelde spread is ook historisch bepaald. Als de prijzen van A en B nu op een bepaald moment verder uit elkaar liggen, doordat de prijs van A gestegen is en de prijs van B is gedaald, en de spread dus groter is dan de gemiddelde spread, kan er winst behaald worden. Men weet dat de spread zal terugkeren naar het gemiddelde, dus dat de prijs van aandeel A zal dalen ten opzichte van de prijs van aandeel B. Omdat deze strategie markt-neutraal is, maakt het niet uit in welke richting de markt zich beweegt, alleen de onderlinge beweging van de twee aandelen is van belang. Een pairs trader zou op dit moment dus short gaan op aandeel A, en long gaan op aandeel B. Als de prijs van aandeel A daalde, zou hij winst maken, en als de prijs van aandeel B steeg, zou hij ook winst maken. In afbeelding 3.2 is duidelijk te zien dat de correlatie van aandelen niet altijd constant hoeft te blijven. Dit kan een probleem opleveren bij pairs trading. 22 Figuur 3.2: JCJ Index: door opties ge¨ımpliceerde correlatie van aandelen in de S&P 500 Index 23 Hoofdstuk 4 Financi¨ ele wiskunde II 4.1 Spread modellering Het eerder genoemde pairs trading heeft dus een spread nodig die mean-reverting is. Een correlatie tussen de aandelen is echter niet voldoende om vast te stellen dat de spread inderdaad meanreverting is, zo wordt hieronder bewezen. Stel we hebben twee aandelen waarvan de rendementen gecorreleerd zijn met ρ, waarvoor geldt dat −1 < ρ < 1. Voor deze aandelen gaan we weer uit van het continue model zoals beschreven in hoofdstuk 2, Financi¨ele wiskunde I: dS1 = µ1 S1 dt + σ1 S1 dW1 dS2 = µ2 S2 dt + σ2 S2 dW2 Stel we hebben een functie f (S1 ,S2 ) dan kunnen we via Taylor schrijven: df = df d2 f df 1 d2 f 2 1 d2 f 2 dS + dS dS1 + dS2 + dS dS + 1 2 dS1 dS2 2 dS12 1 dS1 dS2 2 dS22 2 Invullen voor S1 en S2 en delen met dtλ met λ > 1 weglatend, aangezien deze verwaarloosbaar klein worden, levert: df = µ1 S1 df df df df dt + σ1 S1 dW1 + µ2 S2 dt + σ2 S2 dW2 dS1 dS1 dS2 dS2 1 d2 f d2 f 1 d2 f + σ12 S12 2 dW12 + σ1 σ2 S1 S2 dW1 dW2 + σ22 S22 2 dW22 2 dS1 dS1 dS2 2 dS2 Er gelden nog steeds de volgende ˆIto regels: E[dWi ] = 0 en E[dWi2 ] = dt De Wiener processen zijn echter gecorreleerd, dus er geldt: E[dW1 dW2 ] = ρdt Wanneer we dit invullen krijgen we: df = µ1 S1 df df df df dt + σ1 S1 dW1 + µ2 S2 dt + σ2 S2 dW2 dS1 dS1 dS2 dS2 1 d2 f d2 f 1 d2 f + σ12 S12 2 dt + σ1 σ2 S1 S2 ρdt + σ22 S22 2 dt 2 dS1 dS1 dS2 2 dS2 24 Er geldt dus: df = df d2 f df 1 2 2 d2 f 1 2 2 d2 f µ1 S1 + µ2 S2 + σ1 S1 2 + σ1 σ2 S1 S2 ρ + σ2 S2 2 dt dS1 dS2 2 dS1 dS1 dS2 2 dS2 df df + σ1 S1 dW1 + σ2 S2 dW2 dS1 dS2 Wanneer we voor de spread de volgende functie hebben ξ = ln(S1 ) − ln(S2 ) met • df dS1 = • df dS2 is dus ook • d2 f dS12 = − S12 , aangezien de tweede afgeleide van ln(x) = − x12 . • 2 d f dS22 • 2 1 S1 , aangezien de afgeleide van ln(x) = x1 . 1 S2 1 is dus ook − S12 2 d f dS1 dS2 = 0, aangezien .... dan levert dit op: dξ = µ1 S1 1 1 1 1 1 1 − µ2 S2 − σ12 S12 2 + σ1 σ2 S1 S2 × 0 × ρ + σ22 S22 2 S1 S2 2 S1 2 S2 + σ1 S1 dt 1 1 dW1 − σ2 S2 dW2 S1 S2 dt, σ1 en σ2 buiten haakjes halen geeft: 1 1 dξ = µ1 − µ2 − σ12 + σ22 dt + σ1 dW1 − σ2 dW2 2 2 En nu integreren we, zodat we de oorspronkelijke functie hebben: 1 2 1 2 ξ(t) = µ1 − µ2 − σ1 + σ2 t + σ1 (W1 (t) − W1 (0)) − σ2 (W2 (t) − W2 (0)) 2 2 Als de correlatie ρ tussen de Wiener processen niet exact 1 of -1 is, is dit weer een Brownse beweging (willekeurige beweging). We kunnen nu concluderen dat twee aandelen die elk een Brownse beweging volgen en gecorreleerde rendementen hebben een spread opleveren die niet met zekerheid mean-reverting is, maar willekeurig. Voor de pairs trading strategie is het echter essentieel dat de spread mean-reverting is. Dit bewijs laat ons zien dat je met twee gecorreleerde aandelen via pairs trading geen gegarandeerde winst zult maken. 25 Hoofdstuk 5 Algorithmisch handelen II 5.1 Zoektocht naar geschikte trading pairs We hebben net aangetoond dat er met twee gecorreleerde aandelen via pairs trading geen gegarandeerde winst te behalen valt, aangezien gecorreleerde aandelen niet per se mean-reverting zijn. Een strategie waar wel gegarandeerde winst mee behaald kan worden, is arbitrage. Arbitrage is het het tegelijkertijd kopen en verkopen van een aandeel om zo ‘risicovrije’ winst te behalen. De simpelste vorm van arbitrage is mogelijk als hetzelfde effect wordt verhandeld op twee verschillende beurzen. Wanneer de prijs op de ene locatie verschilt van die op de andere locatie, kan er een risicoloze winst worden gemaakt door het product tegelijkertijd op de plek met de lagere prijs te kopen en op de plek met de hogere prijs te verkopen, aangezien je weet dat de prijzen vanzelf weer gelijk zullen worden. In praktijk zijn er door de globalisatie en automatisering van de markten echter nog maar weinig van dit soort mogelijkheden. Het maakt huidige investeerders niet uit of ze het product van plek A of plek B kopen, alles gaat immers elektronisch. Er zal daarom tussen de locatiesmweinig verschil in vraag en aanbod bestaan, de drijfveer is achter deze prijsverschillen. Deze simpele vorm van arbitrage is in de praktijk dus niet haalbaar, en eerder is al gebleken dat pairs trading met gecorreleerde aandelen ook geen winstgarantie biedt. Dit wordt veroorzaakt door het feit dat je er niet vanuit kunt gaan dat de spread van de twee aandelen het benodigde mean-reverting gedrag vertoont. Daarnaast verandert de correlatie tussen de aandelen voortdurend vanwege fundamentele redenen. Voor een succesvolle strategie moeten we dus op zoek naar een koppel van producten waarvan we redelijkerwijs kunnen aannemen dat de spread altijd meanreverting zal zijn. Een manier om dit te garanderen is door te handelen in producten die in wezen exact hetzelfde zijn, dus derivaten met hetzelfde onderliggende product. Je weet dan met zekerheid dat een eventuele spread mean-reverting zal zijn aangezien de onderliggende waarde van de producten hetzelfde is. Deze zijn echter erg lastig te vinden. Om deze strategie uit te kunnen voeren, moeten we op zoek naar een andere vorm van dit principe. In dit profielwerkstuk opperen wij een door onszelf bedachte variant van deze arbitragestrategie die slechts sinds enkele jaren mogelijk is geworden, de ETP/Underlying arbitage. Zoals eerder uiteengezet is een ETP, Exchange-Traded Product, (in ons geval een ETN) een belegginsproduct waarbij de koper wordt blootgesteld aan de waardeverandering van de door het ETP al dan niet direct gehouden producten. Het doel van het ETP is dus om net zo van koers te veranderen als zijn benchmark. Wanneer de koers van het ETP afwijkt van de waarde van de producten die het bevat is er arbitrage mogelijk. Als bijvoorbeeld een graan ETF duurder is dan het graan zelf, is er een spread aanwezig, en kan men long gaan in graan en short gaan in het ETF. Omdat de producten in feite hetzelfde zijn zal de spread die is ontstaan weer verdwijnen, en dan kan er winst worden behaald. ETP’s bestaan echter omdat het voor consumenten vaak lastig is om de producten die ze bevatten aan te schaffen of te houden. Het bovengenoemde voorbeeld met graan illustreert dit. Het ETF is makkelijk verhandelbaar, maar het is onhandig om graan te kopen of verkopen. Je krijgt dan te maken met opslagkosten en verschillende kwaliteiten. Dit is vanuit het oogpunt van algorithmisch handelen ongewenst. Ook ETP’s die bestaan uit zeer veel verschillende componenten zijn onbruikbaar. Voor een pairs trading strategie moet je dan simultaan handelen in een hoop verschillende 26 producten, en de kans dat er iets fout gaat omdat ´e´en van de producten niet tegelijkertijd met de andere producten te verkrijgen is wordt dan groter. De ETP’s die gebruikt worden voor deze strategie moeten dus bestaan uit enkele makkelijk verhandelbare, gestandaardiseerde producten. De zogenaamde VIX ETF’s en ETN’s voldoen aan deze criteria. 5.2 5.2.1 VIX ETP/Underlying arbitrage De VIX Index Simpel gezegd is de VIX Index een geannualiseerde waarde van de geimpliceerde volatiliteit van een combinatie van korte termijn opties op de S&P 500 index. Aandelenindexen, zoals de S&P 500 (SPX), worden berekend aan de hand van de prijzen van de onderliggende aandelen. De VIX Index is echter gebaseerd op opties in plaats van aandelen, waarbij de prijs van iedere optie de marktverwachting van de toekomstige volatiliteit weergeeft. De prijs van opties is immers afhankelijk van de volatiliteit van het onderliggende product (wanneer een hogere volatiliteit wordt verwacht zullen opties relatief duurder zijn). Om de VIX Index te berekenen worden verschillende call- en putopties van huidige termijn en opties van de volgende termijn gebruikt. De VIX geeft hiermee de 30-daagse verwachte volatiliteit van de S&P 500 index aan, gestandaardiseerd naar een periode van ´e´en jaar. Een waarde van de VIX Index van 20 betekent dus dat de S&P 500 over een periode van 30 dagen een volatiliteit van 20% per annum verwacht. Over 30 dagen is dit dus 20% √ . 12 Na de komst van de VIX Index zijn er verscheidene hierop gebaseerde derivaten op de markt gebracht. Hierdoor is het mogelijk geworden om direct in verwachte volatiliteit te handelen. Dit is een bijzonder concept aangezien volatiliteit op zichzelf niet tastbaar is. Om in de VIX Index te kunnen handelen bestaan er futures op de index (ticker VX). Daarnaast bestaan er ETF’s en ETN’s gebaseerd op deze futures. Voorbeelden hiervan zijn VXX, UVXY en VXZ. Zie voor een duidelijk overzicht figuur 5.1. Aandelen S&P500 Index Opties Geïmpliceerde Volatiliteit VIX Index Futures 5.2.2 VX Futures Een belangrijk derivaat dat is gebaseerd op de VIX Index, zijn de CBOE VIX Futures. Hierbij geldt de VIX Index vanzelfsprekend ETF’s / ETN’s als onderliggende index van de futures. Anders dan bij futures op grondstoffen vindt er bij de VIX Futures op het uitoefenmoment geen aflevering van een daadwerkelijk product plaats. De VIX Futures zijn ‘cash-settled’. Dat wil zeggen dat er alleen een afre- Figuur 5.1: Opbouw VIX kening plaatsvindt op basis van de waarde van de onderliggende Index en afgeleide producten VIX Index. Ieder VIX Futures contract heeft een vermenigvuldigingsfactor van $1000. Iedere verandering van $0.05 in de prijs van het contract zorgt dus voor een winst of verlies van $50. 5.2.3 ETN’s Een ETN (Exchange-Traded Note) lijkt qua principe erg op een ETF: het product is verhandelbaar op een exchange en heeft als doel de investeerder exposure te bieden aan een verzameling van andere producten die zijn opgenomen in een index. De wijze waarop dit gebeurt is echter verschillend. Waar een ETF als het ware een aandeel is in een speciaal fonds dat de betreffende producten bezit, is dit bij een ETN anders geregeld. Een ETN is een ongedekt schuldbewijs dat op een 27 beurs wordt verhandeld. De ‘lening’ van de investeerders aan de bank heeft een vaste waarde en is bij de creatie van een ETN vastgelegd (aan de hand van de waarde van de referentie-index). De bank die de ETN uitgeeft betaalt over deze lening geen rente of periodieke aflossingen. Zij belooft echter om aan het einde van de looptijd van de ETN de waarde van de index terug te betalen aan de houder van de ETN, de investeerder dus. Het is bij een ETN voor de bank dus niet nodig om de daadwerkelijke effecten te bezitten, als de bank maar in staat is om aan het einde aan haar verplichtingen te voldoen. Om te garanderen dat de koers van de ETN niet te ver af gaat wijken van de referentie-index heeft de bank een ‘redemption / creation’ mechanisme opgesteld. Hiermee kunnen institutionele beleggers de onderliggende producten van de index in grote blokken omruilen voor ETN’s, en ETN’s omruilen voor onderliggende producten. Dit garandeert dat een evetuele premium of discount van de ETN ten opzichte van de index na verloop van tijd teniet zal worden gedaan. Bij een premium van de ETN ten opzichte van de onderliggende producten zullen de beleggers de onderliggende producten omruilen voor ETN’s. Hierdoor neemt het aanbod van de ETN’s toe en die van de onderliggende producten af. De prijzen zullen daardoor convergeren. Wanneer er een discount is gebeurt het omgekeerde. Short Term VIX Futures Index iPath (Uitgever ETN) Referentie VIX Futures 2e maand Investeringen Nominale waarde note Schuld (Indexwaarde - Fees) Referentie VIX Futures 1e maand Indexwaarde VXX ETN Notes Betaling Notes Futures Futures Notes Barclays Bank PLC Redemption / Creation Exchange Investeerders Figuur 5.2: Schematisch overzicht opbouw VXX ETN 5.2.4 De VXX ETN Een specifiek voorbeeld van zo’n product is de VXX ETN. De structuur is weergeven in figuur 5.2. In het geval van de VXX ETN wordt gepoogd exposure te cre¨eren aan een constante looptijd van korte termijn VIX Index futures, welke de ge¨ımpliceerde volatiliteit van de S&P 500 index weergeven op verschillende punten in de voorwaardse volatiliteitscurve. Om dit te bereiken wordt op basis van de futures van de huidige en komende maand een nieuwe indexwaarde berekend, de S&P 500 VIX Short-Term Futures Index TR (hierna STF Index, niet te verwarren met de VIX Index), welke een investeringsstrategie simuleert op basis van een gewogen gemiddelde van een long positie in VIX futures, opdat deze samen een constante looptijd hebben van 1 maand. Deze index dient als referentie voor de waarde van de ETN. 28 Om een constante looptijd van 1 maand te cre¨eren wordt gebruik gemaakt van het zogeheten ‘rolling’. Wanneer je futures hebt die worden uitgeoefend in de maand augustus en je deze inruilt voor futures die worden uitgeoefend in de maand september noemt men dit ‘rolling’: je rolt als het ware je exposure door naar de volgende maand. De STF Index maakt dagelijks gebruik van het rolling proces en ruilt iedere dag een deel van de futures van de huidige maand in voor die van de volgende maand door deze te kopen en te verkopen. Stel, we nemen de expiratiedatum van de alle futures op de eerste dag van de maand. Om een gemiddelde exposure van 1 maand te cre¨eren zal de STF Index dus op 1 augustus volledig bestaan uit september futures, die op 1 september verlopen. Op 1 september zal de index volledig bestaan uit oktober futures. Tussen 1 augustus en 1 september bestaat de index uit een mix van september en oktober futures. Iedere dag na 1 augustus wordt een deel van de september futures verkocht en een gelijke nominale waarde aan oktober futures gekocht. Deze hoeveelheid is evenredig met het aantal futures contracten van de huidige maand op de vorige dag en omgekeerd evenredig met de lengte van de huidige roll periode. Op deze manier wordt de initi¨ele positie in huidige maand contracten progressief verwisseld met een positie in de volgende maand contracten gedurende de periode van ´e´en maand, totdat de volgende roll periode begint en de oude volgende maand contracten de nieuwe huidige maand contracten zijn geworden. Dit principe is makkelijk weer te geven in de volgende twee formules (met wf,1 als wegingsfactor van de eerste maands futures en wf,2 als wegingsfactor van de tweede maands futures): dr wf,1 = dt dt − dr ws,2 = dt Hierbij bedraagt dt het totale aantal werkdagen in de huidige roll periode, beginnend met en inclusief de eerste CBOE VIX Futures uitoefendatum en eindigend met, maar exclusief de volgende CBOE VIX Futures uitoefendatum. dr is hierbij het totale aantal werkdagen in een roll periode, beginnend met, en inclusief de volgende werkdag, en eindigend met, maar exclusief de volgende CBOE VIX Futures uitoefendatum. De roll periode begint op de dinsdag voorafgaande aan aan de maandelijkse CBOE VIX Futures uitoefendatum, welke valt op de woensdag 30 kalenderdagen voorafgaande aan de S&P 500 optie expiratiedatum voor de volgende maand. De roll periode loopt tot de dinsdag voorafgaande aan de volgende maands CBOE VIX Futures uitoefendatum. 29 Hoofdstuk 6 Verwerking data I 6.1 Historische data Om verder onderzoek op dit gebied uit te voeren maken we gebruik van historische data. Deze prijsdata hebben wij verkregen via Bloomberg L.P. [11]. We hebben data van zes dagen opgeslagen, te weten 31 mei, 24 juni, 22 juli, 10 september, 8 oktbober en 4 november. Hierbij hebben we ernaar gestreefd om dagen met verschillende volatiliteitsniveaus van de markt te selecteren. We hebben de VIX Index als referentie gebruikt. 21 VIX Index 20 19 18 17 16 15 14 13 12 11 01−Jan−2013 03−May−2013 02−Sep−2013 02−Jan−2014 Figuur 6.1: Historische koers VIX Index met gekozen data 6.2 Bewerking van de data Na het vergaren van de benodigde historische data via Bloomberg, is de tijd aangebroken om de data te analyseren. Allereerst hebben we de start- en eindtijden van alle data gelijk gemaakt (bij sommige producten was er sprake van after-hours trading). Daarna hebben we alle gegevens in MATLAB1 ge¨ımporteerd om de berekeningen uit te kunnen voeren. Eerst moesten we echter nog van de ticks prijzen per seconde maken, met een zelfgeschreven functie2 . Ook moest rekening gehouden worden met het feit dat op vrijdag 8 november 2013, Barclays Bank een 1-for-4 reverse split heeft uitgevoerd op de VIX futures ETN [6], waarvoor de data van Bloomberg automatisch 1 MATLAB is een softwarepakket, geproduceerd door The Mathworks. Het kan worden gebruikt voor een verscheidenheid aan wiskundige toepassingen op het gebied van functies, statistiek, algoritmen en economische analyses. Hierbij wordt gebruik gemaakt van zogenaamde ’M’ code, waarmee gegevens kunnen worden bewerkt en geanalyseerd. 2 Zie bijlage C voor alle geschreven MATLAB codes 30 was gecorrigeerd. Om de huidige prijzen toch met de historische data te kunnen vergelijken, hebben we alle prijzen door vier moeten delen. De spread wordt, zoals eerder beschreven, gegeven door de prijs van de VXX, min de prijs van de VXX.IV. Er ontstond echter een probleem, gezien het feit dat de VXX.IV slechts een eenmaal per 15 seconden ge¨ updatet wordt, en de rest van de data wel minstens eenmaal per seconde ge¨ updatet wordt. Daarnaast loopt de index achter op de koersen van de VXX en de futures, zoals nader toegelicht in de indicative value disclaimer [5]: The indicative value calculation is provided for reference purposes only. It is not intended as a price or quotation, or as an offer or solicitation for the purchase, sale, redemption or termination of the iPath ETNs, nor do they reflect hedging or transaction costs, credit considerations, market liquidity, or bid-offer spreads. Published Index levels from the index sponsor may occasionally be subject to delay or postponement. Any such delays or postponements will affect the current Index level and therefore the indicative value of the iPath ETNs. The actual trading price of the iPath ETNs may be different from their indicative value. Om een zinvolle analyse van de spread te kunnen maken hebben we besloten een nieuwe index te cre¨eren om de spread mee te kunnen berekenen. We noemen deze de real time index, oftewel RT Index. Deze RT Index heeft exact dezelfde samenstelling van futures als de VXX.IV Index, maar is gebaseerd op secondendata. Om te compenseren voor het effect van historisch ondergane contango3 en andere prijseffecten moet daarnaast de hedgeratio tussen de RT Index en de VXX.IV Index, β worden bepaald. 6.3 Optimalisering RT Index Om de correcte hedge ratio, β, te bepalen van de RT Index t.o.v. de IV Index moeten we ook rekening houden met het feit dat de data van de IV Index achterloopt op de RT Index met γ seconden, gezien de aard van de calculatie van deze index. Ons doel is om de cumulatieve afwijking van de RT Index t.o.v. de IV Index zo laag mogelijk te houden. We hebben twee datasets, ieder van lengte n waarbij geldt dat I = {. . . } de verzameling van waarden van de IV Index is en R = {. . . } de verzameling waarden van de RT Index is. Onze cumulatieve afwijking van de IV Index ten op zichte van de RT Index, afhankelijk van β en γ, wordt gegeven door de functie : V (β,γ) = n−γ X (|Ik+γ − Rk β|) γ ∈ N k Om dit probleem op te lossen cre¨eren we een matrix A met waarden ai,j = n−i+1 X (|Ik+i−1 − Rk jdβ|) k met {i,j} ∈ N waarbij geldt dat i = γ + 1 en j = accurate berekening van β. We krijgen dus: a1,1 a1,2 a2,1 a2,2 Am,p = . .. .. . am,1 am,2 β dβ en dβ het interval is benodigd voor een ··· ··· .. . a1,p a2,p .. . ··· am,p Waarvoor dus geldt: Pn Pn (|I − Rk 2dβ|) ··· k (|Ik − Rk dβ|) Pn−1k k Pn−1 (|I − R dβ|) (|I − R 2dβ|) ··· k+1 k k+1 k k k Am,p = .. .. .. . . . Pn−m Pn−m (|I − R dβ|) (|I − R 2dβ|) · · · k+m k k+m k k k Pn k (|Ik − Rk pdβ|) Pn−1 (|Ik+1 − Rk pdβ|) k .. . Pn−m (|Ik+m − Rk pdβ|) k 3 Het feit dat de futures van de tweede maand duurder zijn dan de futures van de eerste maand wordt ook wel contango genoemd. 31 In de matrix Am,p zijn we op zoek naar min[ai,j ]. Deze vinden we met behulp van een computerberekening. Wanneer we min[ai,j ] hebben gelocaliseerd kunnen we met behulp van i en j via γ = i − 1 en β = jdB de waarden van γ en β achterhalen waarvoor de fout in onze waarde van de RT Index ten opzichte van de IV Index minimaal is. We hoeven de cumulatieve afwijkingen ai,j niet te corrigeren voor de afname van het aantal gesommeerde waarden aangezien in onze berekening geldt dat γ n. Nu we de hedge ratio β bepaald hebben, is het mogelijk de RT Index op te stellen. Hiertoe hebben we een functie geschreven, die berekent uit hoeveel front en hoeveel second month futures de VXX.IV op een bepaald moment bestaat. De RT Index kan hiermee als volgt samengesteld worden: RT = β(Sf × wf + Ss × ws ) Waarbij Sf en Ss de prijzen zijn van de eerste en tweede maands futures en wf en ws de respectievelijke wegingsfactoren. In de figuren 6.2(a) tot en met 6.2(f) staan zowel de Hedgeratio β, als de vertraging γ, als de cumulatieve afwijking RT Index t.o.v. de VXX.IV Index. De resulataten van deze optimalisatie zijn weergeven in tabel 6.1. Datum 31 mei 24 juni 22 juli 10 sept 8 okt 4 nov vertraging VXX.IV, RT (s)4 24 27 28 28 36 23 Hedge Ratio RT IV (β) 1.1771 1.1371 1.0564 0.9362 0.8879 0.8524 Tabel 6.1: Tabel met de optimale waarden voor de Hedgeratio β en de vertraging 4 de vertraging van de VXX.IV Index t.o.v.de RT Index 32 1100 Cumulatieve afwijking RT Index t.o.v. IV Index Cumulatieve afwijking RT Index t.o.v. IV Index 700 600 500 400 300 200 1000 100 0 900 800 700 600 500 400 300 0 20 40 60 1.1785 1.178 1.1775 1.1765 1.177 1.176 20 1.1755 40 60 Hedgeratio Delay 1.1375 1.1365 1.137 1.136 1.1355 Hedgeratio (b) 24 juni 550 Cumulatieve afwijking RT Index t.o.v. IV Index 700 Cumulatieve afwijking RT Index t.o.v. IV Index 1.138 Delay (a) 31 mei 600 500 400 300 200 100 0 500 450 400 350 300 250 200 150 0 20 40 60 1.058 1.0575 1.057 1.0565 1.056 1.0555 20 1.055 40 60 Hedgeratio Delay 0.9375 0.937 0.9365 0.936 0.9355 0.935 Hedgeratio Delay (c) 22 juli (d) 10 september 750 400 700 Cumulatieve afwijking RT Index t.o.v. IV Index Cumulatieve afwijking RT Index t.o.v. IV Index 1.1385 650 600 550 500 450 400 350 300 0 350 300 250 200 150 100 0 20 40 60 0.889 0.8885 0.888 0.8875 0.887 20 0.8865 40 60 Hedgeratio Delay Delay (e) 8 oktober 0.8535 0.8525 0.853 Hedgeratio (f) 4 november Figuur 6.2: Optimale hedge ratio en delay RT en IV Index 33 0.852 0.8515 6.4 Analyse van de spread Nu we een nieuwe index (RT Index) hebben om mee te werken in plaats van de VXX.IV, kunnen we de spread bepalen. De spread wordt gegeven door: |S1 − S2 | In ons geval is dat dus: |Svxx − Srt | We gebruiken hier bewust geen logaritmische spread aangezien het hier om zeer kleine verschillen gaat. Na per dag op alle tijdstippen t de spread bepaald te hebben, hebben we de grootte van de spread tegen het aantal keer voorkomen uitgezet. We stellen dus een kansdistributie op. Ook stellen we de normale verdeling voor deze kansdistributie op, zoals in de figuren op de volgende pagina’s voor elke dag te zien is. De eerste figuur (a) van elke pagina laat de spread uitgezet tegen de tijd zien. In de tweede figuur (b) is de spread als een histogram uitgezet tegen het aantal keer voorkomen van die bepaalde spread. De diagram is dus tegelijkertijd te beschouwen als een kansverdeling. In dezelfde figuur is de normale verdeling van deze kansdistributie geplot. De derde figuur, (c), laat de normale verdeling en de probability plot van de spread zien. Hieruit kan de afwijking van de spread ten opzichte van de normale verdeling worden afgelezen, en het is bij elk van de gekozen dagen duidelijk zichtbaar dat de spread vooral bij de uiteinden afwijkt van de normale verdeling. De statistieken van iedere meting zijn weergeven in tabel 6.2. 34 0.08 0.06 0.04 Spread ($) 0.02 0 −0.02 −0.04 −0.06 −0.08 16:00:00 17:00:00 18:00:00 19:00:00 Tijd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd Spread Verdeling 35 Spread Verdeling 0.9999 0.999 30 0.99 0.95 0.9 Probability Density 25 20 15 0.75 0.5 0.25 0.1 0.05 10 5 0 −0.06 0.0001 −0.04 −0.02 0 Spread ($) 0.02 0.04 0.06 −0.06 (b) spread met normale verdeling −0.04 −0.02 0 Spread 0.02 0.04 (c) spread met probability plot Figuur 6.3: Spread grafieken van 31 mei 35 0.06 0.08 0.06 0.04 Spread ($) 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 16:00:00 17:00:00 18:00:00 19:00:00 Tijd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd 25 Spread Verdeling 0.9999 Spread Verdeling 0.999 0.995 0.99 20 0.95 0.9 Density Probability 15 0.75 0.5 0.25 10 0.1 0.05 0.01 0.005 5 0.0001 0 −0.08 −0.06 −0.04 −0.02 0 Spread ($) 0.02 0.04 0.06 −0.08 (b) spread met normale verdeling −0.06 −0.04 −0.02 0 Spread ($) 0.02 0.04 (c) spread met probability plot Figuur 6.4: Spread grafieken van 24 juni 36 0.06 0.2 0.15 Spread ($) 0.1 0.05 0 −0.05 16:00:00 17:00:00 18:00:00 19:00:00 Tijd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd 30 Spread Verdeling Spread Verdeling 25 0.9999 0.999 20 Probability Density 0.99 15 0.95 0.9 0.75 0.5 10 0.25 0.1 0.05 5 0.0001 0 −0.02 0 0.02 0.04 Spread ($) 0.06 0.08 0.1 −0.02 (b) spread met normale verdeling 0 0.02 0.04 0.06 0.08 Spread ($) 0.1 0.12 0.14 (c) spread met probability plot Figuur 6.5: Spread grafieken van 22 juli 37 0.16 0.18 0.1 0.08 Spread ($) 0.06 0.04 0.02 0 −0.02 −0.04 16:00:00 17:00:00 18:00:00 19:00:00 TIjd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd Spread Verdeling 35 0.9999 Spread Verdeling 0.999 30 0.99 0.95 0.9 Probability Density 25 20 15 0.75 0.5 0.25 0.1 0.05 10 5 0.0001 0 −0.02 0 0.02 0.04 0.06 0.08 −0.02 Spread ($) 0 0.02 0.04 0.06 Spread ($) (b) spread met normale verdeling (c) spread met probability plot Figuur 6.6: Spread grafieken van 10 september 38 0.08 0.06 0.04 Spread ($) 0.02 0 −0.02 −0.04 −0.06 16:00:00 17:00:00 18:00:00 19:00:00 Tijd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd Spread Verdeling 25 0.9999 Spread Verdeling 0.999 0.99 20 Probability Density 0.95 0.9 15 10 0.75 0.5 0.25 0.1 0.05 5 0.0001 0 −0.06 −0.04 −0.02 0 Spread ($) 0.02 0.04 0.06 −0.06 (b) spread met normale verdeling −0.04 −0.02 0 Spread ($) 0.02 0.04 (c) spread met probability plot Figuur 6.7: Spread grafieken van 8 oktober 39 0.06 0.06 0.05 0.04 0.03 Spread ($) 0.02 0.01 0 −0.01 −0.02 −0.03 −0.04 16:00:00 17:00:00 18:00:00 19:00:00 Tijd 20:00:00 21:00:00 22:00:00 (a) spread uitgezet tegen de tijd 45 Spread Verdeling Spread Verdeling 40 0.9999 0.999 35 0.99 0.95 0.9 Probability Density 30 25 20 0.75 0.5 0.25 0.1 0.05 15 10 0.0001 5 0 −0.04 −0.03 −0.02 −0.01 0 0.01 Spread ($) 0.02 0.03 0.04 0.05 0.06 −0.04 (b) spread met normale verdeling −0.03 −0.02 −0.01 0 0.01 Spread ($) 0.02 0.03 0.04 (c) spread met probability plot Figuur 6.8: Spread grafieken van 4 november 40 0.05 0.06 Datum 31 mei 24 juni 22 juli 10 sept 8 okt 4 nov µξ 0.0798166 -0.00664618 0.0360119 0.0378299 -0.00455212 0.0152216 σµ 1.20681E-4 1.19260E-4 1.21405E-4 1.08929E-4 1.11755E-4 8.42112E-5 σξ 0.0184610 0.0182436 0.0185717 0.0166633 0.0170956 0.0128821 σσ 8.53370E-6 8.43321E-5 8.58487E-5 7.70268E-5 7.90251E-5 5.95482E-5 Tabel 6.2: Spread statistieken 6.5 Dickey Fuller Test Hoewel het feit dat de spread mean-reverting is in de aard van het product lijkt vast te liggen, moeten we dit natuurlijk kunnen bewijzen voordat we onze modellen hierop baseren. Dit doen we door middel van de Augmented Dickey Fuller Test. Hiermee onderzoeken we of de spread een stationair proces is. De ADF test maakt hierbij gebruik van het feit dat bij een mean-reverting proces de prijsverandering proportioneel is met de huidige prijs. We gebruiken hierbij het model: ∆yt = α + βt + ηyt−1 + δ1 ∆yt−1 + · · · + δp−1 ∆yt−p+1 + εt Bij ons vallen echter α, βt en δ1 ∆yt−1 + · · · + δp−1 ∆yt−p+1 weg, omdat er bij onze spread als het goed is geen sprake is van drift, lag of een tijdstrend. We houden over: ∆yt = ρyt−1 + εt , De ADF test kijkt of de nulhypothese H0 : ρ = 0 kan worden verworpen tegen de alternatieve hypothese HA : ρ < 0. Bij ρ = 0 geldt namelijk dat de verandering in y geheel afhankelijk is van de willekeurige term εt en dat y dus een random walk is. Wanneer deze hypothese kan worden verworpen kunnen we stellen dat y naar alle waarschijnlijkheid geen random walk uitvoert. In tabel 6.3 zijn de p-waarden, t statistieken en kritieke waarden van de test weergeven. We kunnen concluderen dat de spread op geen van de dagen een random walk uitvoert. We kunnen voor de modellering van onze spread dus een mean-reverting model gebruiken. Datum 31-mei 24-jun 22-jul 10-sep 08-okt 04-nov p-waarde < 0.001 < 0.001 < 0.001 < 0.001 < 0.001 < 0.001 t waarde -24.7022 -45.2334 -11.8875 -10.4595 -39.5824 -14.8302 kritieke waarde 5% -1.9416 -1.9416 -1.9416 -1.9416 -1.9416 -1.9416 kritieke waarde 1% -2.5662 -2.5662 -2.5662 -2.5662 -2.5662 -2.5662 Tabel 6.3: Augmented Dickey Fuller Test statistieken 41 Hoofdstuk 7 Financi¨ ele wiskunde III 7.1 Arbitrage optimum Nu we de spread hebben onderzocht moeten we zien te achterhalen bij welke waarde van de spread we onze handelsstrategie het beste kunnen uitvoeren. Hierbij zullen we eerst een zelf bedacht theoretisch model opstellen en dit vervolgens vergelijken met de historische data. We zijn dus op zoek naar een target level van de spread die ons het meeste winst zal opleveren. Laten we eerst uitgaan van een strategie waarbij we een positie innemen op het moment dat we een afwijkende spread waarnemen, en de positie sluiten op het moment dat de spread is teruggekeerd naar zijn ‘normale’ niveau. We noemen dit normale niveau λ. We beginnen met het corrigeren van de spread door er λ van af te trekken. Hierdoor kunnen we makkelijk berekeningen doen aangezien de spread nu rond 0 fluctueert, in plaats van rond de waarde λ. Hiervoor moeten we echter eerst de waarde λ bepalen. Dit zouden we natuurlijk kunnen doen door het gemiddelde (mean) van de spread over de hele dag te nemen. Wanneer echter blijkt dat de spread vanuit ons niveau λ vaker omhoog afwijkt dan naar beneden, zal onze berekening van λ significant hoger uitvallen dan de echte waarde van λ. We moeten dus eerst controleren of dit niet het geval is. Dit doen we door de λ te vinden waarvoor geldt dat de standaarddeviatie van de absolute waarden van de spread minus λ minimaal is. Op deze manier elimineren we het effect van een scheve verhouding van positieve en negatieve uitwijkingen op λ. Dus: v u N u1 X min[σ] = min t (|Si − λ|) N i=1 Wanneer we dit numeriek oplossen plotten we op de horizontale as λ en op de verticale as σ. We kunnen dan het minimum bepalen. Dit is de waarde voor λ, gecorrigeerd voor een onevenwichtige verdeling van positieve en negatieve uitwijkingen. Vervolgens vergelijken we dit met de waarden voorspeld door een simpel gemiddelde. Er ontstaat een plot zoals in figuur 7.1. We zien dat op alle dagen het verschil in de waarden tussen beide methoden verwaarloosbaar is. We kunnen voor onze waarde λ dus gewoon het gemiddelde van de spread gebruiken. Nu onze spread gecorrigeerd is voor λ en rond het punt 0 fluctueert kunnen we verder gaan met het opstellen van ons model. Vanaf nu wordt met ‘spread’ de genormaliseerde (dus minus λ) van de spread bedoeld. We gaan er nog steeds van uit dat de spread normaal verdeeld is. Houd in gedachte dat de formule van de normale distributie werd gegeven door (x−µ)2 1 √ e− 2σ2 σ 2π waarbij σ de standaarddeviatie is van de verdeling en µ de gemiddelde waarde van deze verdeling. De µ is in dit geval dus nul vanwege de correctie met behulp van λ. De winst van iedere trade wordt gegeven door de openingsspread minus de commissiekosten. We stappen immers uit de trade op het moment dat de waarde van de spread nul is. Wanneer we een lage waarde van de spread nemen (die vaak voorkomt) om onze trades bij uit te voeren kunnen we vaak handelen met een kleine 42 0.02 0.018 0.016 0.014 0.012 0.01 0.008 0.006 −0.05 31 mei 24 juni 22 juli 10 september 8 oktober 4 november std methode mean methode −0.04 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 Figuur 7.1: Bepaling λ via mean en standaarddeviatie methode vergeleken winst. De commissiekosten zijn dan echter relatief hoog. Wanneer we een hoge waarde van de spread nemen (die weinig voorkomt), kunnen we minder vaak handelen met een hogere winst. De commissiekosten zijn dan relatief laag. We moeten een goede balans vinden tussen vaak handelen en hoge commissiekosten en weinig handelen en lage commissiekosten. De winst P kunnen we mathematisch als volgt opschrijven: Z ∞ Z ∞ 2 2 ξd ξd 1 1 √ e− 2σ2 dξd − c √ e− 2σ2 dξd P = 2 ξd σ 2π σ 2π ξd ξd Hierin noteren we de target spreaddeviatie als ξd en de commissiekosten als c opschrijven. We noemen dit het CASO model (Convergence Arbitrage Strategy Optimum). We beschrijven nu hoe deze formule tot stand is gekomen. Wanneer we een target spreaddeviatie ξd vaststellen van bijvoorbeeld minimaal 2 cent, dan zal er niet gehandeld worden als de spread lager is dan 2 cent. Van alle mogelijkheden van 2 cent en hoger zal gebruik worden gemaakt. Omdat de spread normaal verdeeld is, wordt het relatieve voorkomen van de spread boven de 2 cent gegeven door de cumulatieve normale distributie van ξd tot ∞. Het relatieve aantal keren dat de strategie wordt uitgevoerd wordt dus gegeven door Z ∞ 2 ξd 1 √ e− 2σ2 dξd σ 2π ξd Dit levert per keer ξd op en kost per keer c. We krijgen dus Z ∞ Z ∞ 2 2 ξd ξd 1 1 √ e− 2σ2 dξd − c √ e− 2σ2 dξd P = ξd σ 2π σ 2π ξd ξd Dit moeten we echter nog met een factor 2 vermenigvuldigen aangezien het ons niet uitmaakt of de spread −2 of +2 is. Wanneer we dit niet zouden doen, zouden alleen de positieve waarden worden gebruikt. We kunnen hier mooi gebruik maken van het feit dat de normale verdeling symmetrisch is. We kunnen dit makkelijk opschrijven als: Z ∞ 2 ξd 1 √ e− 2σ2 dξd (7.1) P = 2(ξd − c) σ 2π ξd We zijn op zoek naar de maximale waarde van deze functie. Deze kunnen we vinden wanneer we de afgeleide van P gelijk stellen aan 0 en het geheel oplossen voor ξd . Dus: Z ∞ ξ2 d 1 − 2σd2 √ e 2(ξd − c) dξd = 0 dξd σ 2π ξd 43 Als we de afgeleide gaan nemen krijgen we voor Z ∞ 2 ξd 1 √ e− 2σ2 dξd σ 2π ξd gewoon: 2 ξd 1 − √ e− 2σ2 σ 2π Dus Z ∞ Z ∞ 2 2 ξd ξd 1 d 1 √ e− 2σ2 dξd − 2c √ e− 2σ2 dξd = 0 2ξh dξd σ 2π σ 2π ξd ξd wordt via de kettingregel Z ∞ 2 2 2 ξd ξd ξd 1 1 1 √ e− 2σ2 dξd − 2ξd √ e− 2σ2 + 2c √ e− 2σ2 = 0 2 σ 2π σ 2π σ 2π ξd vereenvoudigd: 2(c − ξh ) 2 ξd 1 √ e− 2σ2 σ 2π Z ∞ + 2c ξd 2 ξd 1 √ e− 2σ2 σ 2π dξd = 0 (7.2) We zien echter dat dit een probleem oplevert. Vanwege de kettingregel blijft de functie Z ∞ 2 ξd 1 √ e− 2σ2 dξd σ 2π ξd in onze formule staan. Het is echter bewezen dat deze functie geen exacte oplossing heeft [22]. We zullen het geheel dus numeriek op moeten lossen. Wanneer we de winst plotten als functie van de targetdivergentie van de spread volgens formule (7.1) krijgen we een figuur van de vorm zoals weergeven in figuur 7.2. Deze figuur laat zien dat maximale winst wordt behaald als er gehandeld wordt bij een spread van ongeveer 2 cent. Hierbij is uitgegaan van commissiekosten van 1 cent, een tijdelijke assumptie om het verloop van de functie te illustreren. De figuur klopt relatief gezien wel, maar de absolute waarde van de winst is nog niet te bepalen. Dit proberen we later op te lossen. Daarnaast is het zo dat er verlies gemaakt wordt wanneer er gehandeld wordt bij een spread van minder dan 1 cent. Dit is niet te zien in de figuur, maar moet wel opgemerkt worden. Theoretische winst Maximale winst 0.01 0.02 0.03 0.04 0.05 Divergence target ($) 0.06 0.07 Figuur 7.2: Theoretische winst bij verschillende targetdivergenties 44 0.08 Hoofdstuk 8 Verwerking data II In dit hoofdstuk onderzoeken we de invloed van de verschillende parameters en kijken we in hoeverre ons CASO model overeenkomt met de werkelijkheid. 8.1 Invloed van gekozen targetdivergentie Laten we allereerst kijken naar de invloed van de gekozen targetdivergentie (in de grafieken ook wel divergence target genoemd) voor de strategie. In figuur 8.1 is voor de historische data de winst bij verschillende targets te zien met commissiekosten van $0.01. We zien dat de vorm van de grafiek overeenkomt met de door CASO voorspelde vorm. Bij het backtestalgoritme wordt er bij een targetdivergentie van $0.01 echter nog steeds winst gemaakt. Dit komt door de discrete natuur van de aandelenprijzen. Dit probleem verdwijnt echter snel naarmate we dichter bij het optimum komen. De grafieken in figuur 8.1 geven alleen het verloop weer van de winst bij gelijkblijvende commissiekosten van $0.01. Hieruit kan de optimale targetdivergentie worden bepaald. In de volgende sectie wordt dit optimum gebruikt wanneer we de commissiekosten vari¨eren. 45 7 18 Winst Optimum 6 Winst Optimum 16 14 5 4 Winst ($) Winst ($) 12 3 10 8 6 2 4 1 2 0 0.01 0.02 0.03 0.04 0.05 0.06 Divergence target ($) 0.07 0 0.01 0.08 0.02 0.03 0.04 0.05 0.06 Divergence target ($) (a) 31 mei 5 Winst Optimum 4.5 4 4 3.5 3.5 3 3 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0.02 0.03 0.04 0.05 0.06 Divergence target ($) 0.07 Winst Optimum 4.5 Winst ($) Winst ($) 0.08 (b) 24 juni 5 0 0.01 0.07 0 0.01 0.08 0.02 (c) 22 juli 0.03 0.04 0.05 0.06 Divergence target ($) 0.07 0.08 (d) 10 september 14 2 Winst Optimum 12 Winst Optimum 1.8 1.6 1.4 8 Winst ($) Winst ($) 10 6 1.2 1 0.8 0.6 4 0.4 2 0.2 0 0.01 0.02 0.03 0.04 0.05 0.06 Divergence target ($) 0.07 0 0.01 0.08 (e) 8 oktober 0.02 0.03 0.04 0.05 0.06 Divergence target ($) (f) 4 november Figuur 8.1: Historische winst bij verschillende targetdivergenties 46 0.07 0.08 8.2 Invloed van commissiekosten We kunnen nu zowel de maximale winst als de optimale targetdivergentie plotten als functie van de commissiekosten c. Hiermee kunnen we de invloed van commissiekosten op onze tradingstrategie visualiseren. In figuur 8.2 is het CASO model geplot en vergeleken met historische data. De linker grafieken laten de maximale winst per dag als functie van de commissiekosten zien, en de rechter figuren laten de optimale targetspread als functie van de commissiekosten zien. De waarde van de maximale winst is hierbij genormaliseerd met factor ω om op de hoogte van de historische winsten te komen, iets waar we later op terugkomen. In de figuren 8.2(a), 8.2(a), 8.2(b) en 8.2(c) lijkt de historische data aardig overeen te komen met ons model. De historische plot en de voorspelde plot verlopen hetzelfde. Alleen op 22 juli (figuur 8.2(c)) wijkt de voorspelling van de optimale targetdivergentie af van de historische data. Daarnaast kon er op 24 juni (figuur 8.2(b)) en 22 juli (figuur 8.2(c)) historisch gezien meer winst gemaakt worden dan het CASO model laat zien. 47 14 0.08 Historisch CASO voorspeling 10 8 6 4 0.06 0.05 0.04 0.03 0.02 2 0 Historisch CASO voorspeling y=x 0.07 Optimale divergence target ($) Maximale winst per pair per dag ($) 12 0.01 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0.08 0.06 0.07 0.08 0.06 0.07 0.08 (a) 31 mei 35 0.08 Historisch CASO voorspeling 25 20 15 10 0.06 0.05 0.04 0.03 0.02 5 0 Historisch CASO voorspeling y=x 0.07 Optimale divergence target ($) Maximale winst per pair per dag ($) 30 0.01 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) (b) 24 juni 12 0.08 Historisch CASO voorspeling y=x 0.07 10 Optimale divergence target ($) Maximale winst per pair per dag ($) Historisch CASO voorspeling 8 6 4 0.06 0.05 0.04 0.03 0.02 2 0.01 0 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 (c) 22 juli 48 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 12 0.08 Historisch CASO voorspeling y=x 0.07 10 Optimale divergence target ($) Maximale winst per pair per dag ($) Historisch CASO voorspeling 8 6 4 0.06 0.05 0.04 0.03 0.02 2 0.01 0 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0.08 0.06 0.07 0.08 0.06 0.07 0.08 (a) 10 september 30 0.08 Historisch CASO voorspeling y=x 0.07 25 Optimale divergence target ($) Maximale winst per pair per dag ($) Historisch CASO voorspeling 20 15 10 0.06 0.05 0.04 0.03 0.02 5 0.01 0 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) (b) 8 oktober 10 0.08 Historisch CASO voorspeling 8 7 6 5 4 3 Historisch CASO voorspeling y=x 0.07 Optimale divergence target ($) Maximale winst per pair per dag ($) 9 0.06 0.05 0.04 0.03 0.02 2 0.01 1 0 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) 0.06 0.07 0 0.08 0 0.01 0.02 0.03 0.04 0.05 Commissiekosten ($) (c) 4 november Figuur 8.2: Maximale winst en optimale divergentietargets CASO model versus historische data 49 8.3 Invloed van vertraging Naast de invloed van de targetdivergentie en de commissiekosten kunnen we met de historische data de invloed van een eventuele vertraging berekenen. Aangezien de data uit de Verenigde Staten moet komen, moet worden verwerkt door de computer, en de orders weer verstuurd moeten worden naar de Exchanges zal er een zekere vertraging in het handelen zitten. In figuur 8.3 is de maximale winst en de procentuele winstdaling bij verschillende vertragingen geplot. Een vertraging van 1 seconde betekent dat de order op de koersinformatie van de volgende seconde wordt uitgevoerd. Een vertraging van 2 seconden betekent dat de order op de koersinformatie 2 seconden later wordt uitgevoerd. 50 14 12 −30 10 8 6 4 −40 −50 −60 −70 −80 2 0 Delay 1 sec Delay 2 sec −20 Procentuele winstdaling Maximale winst per pair per dag ($) −10 Delay 0 sec Delay 1 sec Delay 2 sec −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 (a) 31 mei 35 30 −20 25 20 15 10 −30 −40 −50 −60 −70 −80 5 0 Delay 1 sec Delay 2 sec −10 Procentuele winstdaling Maximale winst per pair per dag ($) 0 Delay 0 sec Delay 1 sec Delay 2 sec −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 (b) 24 juni −10 Delay 0 sec Delay 1 sec Delay 2 sec 10 −30 8 6 4 −40 −50 −60 −70 −80 2 0 Delay 1 sec Delay 2 sec −20 Procentuele winstdaling Maximale winst per pair per dag ($) 12 −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 (c) 22 juli 51 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 −10 Delay 0 sec Delay 1 sec Delay 2 sec 10 −30 8 6 4 −40 −50 −60 −70 −80 2 0 Delay 1 sec Delay 2 sec −20 Procentuele winstdaling Maximale winst per pair per dag ($) 12 −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 (a) 10 september −10 Delay 0 sec Delay 1 sec Delay 2 sec 25 −30 20 15 10 −40 −50 −60 −70 −80 5 0 Delay 1 sec Delay 2 sec −20 Procentuele winstdaling Maximale winst per pair per dag ($) 30 −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 (b) 8 oktober 8 7 −30 6 5 4 3 2 −40 −50 −60 −70 −80 1 0 Delay 1 sec Delay 2 sec −20 Procentuele winstdaling Maximale winst per pair per dag ($) −10 Delay 0 sec Delay 1 sec Delay 2 sec −90 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 −100 0.06 0 0.01 0.02 0.03 0.04 Commissiekosten ($) 0.05 0.06 (c) 4 november Figuur 8.3: Invloed van vertraging van de historische data met verschillende commissiekosten op de winst 52 Hoofdstuk 9 Financi¨ ele wiskunde IV 9.1 Correlatie historische winst en CASO We hebben inmiddels kunnen zien dat ons CASO model de relatieve hoogte van de winsten en de optimale targets goed kan voorspellen. De exacte hoogte van de winst kan hiermee echter nog niet worden bepaald. Wanneer we de door CASO voorspelde hoogte van de exacte winst en de historische winst plotten (zie figuur 9.1) en een correlatietest uitvoeren, krijgen we statistieken zoals weergeven in tabel 9.1. Voor de test geldt H0 : r = 0 en HA : r 6= 0. Hieruit kunnen we concluderen dat ons CASO model nog geen voorspellende kracht heeft met betrekking tot de exacte hoogte van de winst. Kennelijk mist er nog een dimensie in het model waardoor de bepaling van de exacte hoogte van de winsten mogelijk kan worden gemaakt. We gaan terug naar de theoretische basis om ons model te verbeteren. 30 Winst bij c = 0.0025 Winst bij c = 0.0050 Winst bij c = 0.0100 Historische winst ($) 25 20 15 10 5 0 1 1.5 2 2.5 3 3.5 CASO winst ($) 4 4.5 5 5.5 −3 x 10 Figuur 9.1: Correlatie van de door CASO voorspelde exacte winst en de historische winst Paar P0.0025 P0.0050 P0.0100 r2 0.176 0.193 0.171 p-waarde 0.407 0.384 0.415 Tabel 9.1: Correlatie tussen door CASO voorspelde winst en de historische winst 53 9.2 Ornstein-Uhlenbeck Om het CASO model te verebeteren grijpen we terug op de eerder ge¨ıntroduceerde stochastische differentiaalvergelijkingen en Itˆ o’s Lemma. We gaan de spread wiskundig modelleren en enkele aspecten invoegen in het CASO model. Hiermee veralgemeniseren we tegelijkertijd het CASO model opdat het gebruikt kan worden voor een veelvoud aan arbitragestrategie¨en. Aangezien we met de Augmented Dickey Fuller test hebben bewezen dat onze spread zoals verwacht mean-reverting is, kunnen we met zekerheid een mean-reverting model gebruiken om de spread wiskundig weer te geven. We kunnen hierbij gebruik maken van een specifieke stochastische differentiaalvergelijking: het Ornstein-Uhlenbeck model. Deze differentiaalvergelijking heeft de volgende vorm: dξ(t) = θ(λ − ξ) dt + σ dW Hierbij geldt dat θ de snelheid is waarmee de spread terugkeert naar het gemiddelde, θ > 0 en λ het gemiddelde van de spread over de lange termijn is. Wanneer de spread ξ groter of kleiner is dan λ, zal θ(λ − ξ) dt ervoor zorgen dat de spread convergeert naar λ. Stel, we hebben een functie f (ξ,t) afhankelijk van dit proces. De algemene definitie voor Itˆo’s Lemma was df df 1 d2 f 2 df b dt + + a+ b dW df = dt dx 2 dx2 dx voor een stochastische differentiaalvergelijking van de vorm: dx = a dt + b dW Stel we nemen voor de functie f het volgende: f (ξ,t) = ξeθt De a van Itˆ o’s Lemma is dan dus gelijk aan θ(λ − ξ), en de b is gelijk aan σ. Verder geldt: • df dt = θξeθt • df dξ = eθt • d2 f dξ 2 =0 Dit invullen levert: df (ξ,t) = θξeθt + eθt θ(λ − ξ) dt + σeθt dW iereenvoudigd: df = θλeθt dt + σeθt dW Integreren levert: Z t Z df = θλ 0 t eθp dp + σ Z 0 t eθp dWp 0 Hierbij is de als variabele gebruikte t tijdelijk vervangen door p om verwarring te voorkomen. Dit levert: Z t f (t) = f (0) + λ(eθt − 1) + σ eθp dWp 0 We hadden genomen: f (ξ,t) = ξ eθt Dus: ξ(t) = f (t) e−θt Onthoud dat e−θt hetzelfde is als 1 . eθt Ook geldt: ξ(0) = f (0) 54 Voor de nieuwe functie ξ(t) krijgen we dus: ξ(t) = ξ(0) 1 1 1 + λ(eθt − 1) θt + σ θt θt e e e t Z eθp dWp 0 Vereenvoudigen geeft: ξ(t) = ξ0 e−θt + λ(1 − e−θt ) + σe−θt Z t eθp dWp 0 Deze formule zullen we gebruiken om de spread voor te stellen. Aangezien de laatste component willekeurig is en een verwachte waarde heeft van 0 (het is immers een Wiener Proces), geldt: E [ξ(t)] = ξ0 e−θt + λ(1 − e−θt ) Dit correspondeert met onze parameter λ voor de lange-termijns verwachting van het gemiddelde als t → ∞. Daarnaast geldt voor de kwadratische variantie: 2 Z t Z t Z t −θt θp −θt θp 2 −2θt Var[ξ(t)] = Var σe e dWp = σe e dWp e2θp dp = =σ e 0 0 0 1 σ2 1 2θt 2 −2θt e − = 1 − e−2θt σ e 2θ 2θ 2θ Ook voor de variantie geldt dat als t → ∞ gaat, deze een eindige waarde aanneemt, namelijk: σ2 2θ De standaarddeviatie van de gemodelleerde spread wordt dus gegeven door de wortel van deze variantie. Aanstonds hebben we deze eigenschappen nodig voor de aanpassing van het CASO model. 9.3 Integratie Ornstein-Uhlenbeck met CASO model Laten we nu ons Ornstein-Uhlenbeck model integreren in ons CASO model. Onthoud dat de winst in ons CASO model wordt gegeven door de volgende formule: Z ∞ 2 ξd 1 √ e− 2σ2 dξd P = 2(ξd − c) σ 2π ξd We hebben net gezien dat ons Ornstein-Uhlenbeck proces wordt gedefinieerd door de differentiaalvergelijking: dξ(t) = θ(λ − ξ) dt + σ dW Dit leidde tot de volgende formule voor de spread ξ(t) = ξ0 e −θt + λ(1 − e −θt −θt Z ) + σe t eθp dWp 0 met voor t → ∞ de belangrijke eigenschap: Var[ξ(t)] = σ2 2θ Aangezien θ de mean-reversion snelheid voorschrijft, is er naar alle waarschijnlijkheid een evenredig verband tussen θ en P . Immers, hoe sneller (en dus vaker) de spread naar de nullijn terugbeweegt, hoe meer winst er te behalen valt. Laten we aannemen dat geldt P ∼ ωθ, waarbij ω een vooralsnog onbekende evenredigheidscontante is. Daarnaast neemt de totale winst toe naarmate de strategie langer wordt gebruikt. De winst P is dus ook evenredig met de tijd T . We verwachten dat: P ∼ ωθT 55 Laten we dit invoegen in onze formule, zodat we deze aanname kunnen testen. Tegelijkertijd vullen 2 we onze variantie σ2θ in. We krijgen: Z ∞ P = 2ωθT (ξd − c) ξd 2ξ2 − σd2 1 √ e 2 2θ σ 2π ! dξd Wanneer we de 2 verwerken in de evenredigheidsconstante ω en de formule vereenvoudigen krijgen we: Z ∞ 2 2θξd 1 √ e− σ 2 dξd P = ωθT (ξd − c) σ 2π ξd We hebben nu dus een algemene formule opgesteld waarmee we de winst van een spreadarbitragestrategie aan de hand van de variabelen targetdivergentie en commissiekosten kunnen voorspellen als we weten dat deze een standaard Ornstein-Uhlenbeck proces volgt. Laten we dit model testen op de historische data door de door het model voorspelde winsten te vergelijken met de historische winsten. Allereerst is het belangrijk dat we van de historische winst de mean-reversion snelheid θ bepalen. Hiervoor kalibreren we de spread met een algemeen Ornstein-Uhlenbeck proces. Dit gaat als volgt: We beginnen met het omzetten van de continue Ornstein-Uhlenbeck formule van de spread in een versie met een discrete tijdsstap. We hebben: Z t ξ(t) = ξ0 e−θt + λ(1 − e−θt ) + σe−θt eθp dWp 0 We hadden vastgesteld dat de kwadratische variantie van het willekeurige deel Z t σe−θt eθp dWp 0 werd gegeven door: σ2 1 − e−2θt 2θ We kunnen het niet-willekeurige deel laten staan en we vervangen het willekeurige deel door een kansproces uit een normale verdeling vermenigvuldigd met de standaarddeviatie, die nu dus wordt gegeven door: r σ 2 (1 − e−2θδ ) 2θ We krijgen: r 1 − e−2θδ −θδ −θδ N0,1 ξi+1 = ξi e + λ(1 − e ) + σ 2θ We kunnen nu met behulp van deze discrete formule een lineaire regressie uitvoeren op de historische spreaddata om de verschillende parameters te achterhalen. We zien dat de discrete formule van de volgende vorm is: y = ax + b + Waarbij een willekeurige component voorstelt. Wanneer we voor de x-component de waarde van de spread op het tijdstip i nemen, dus x = ξi en voor de y-component de waarde van de spread op het tijdstip i + 1, dus y = ξi+1 56 krijgen we voor de regressie de volgende variabelen: a = e−θδ b = λ(1 − e−θδ ) r 1 − e−2θδ sd() = σ 2θ Als we dit in elkaar substitueren en het geheel omschrijven krijgen we: −ln(a) δ b λ= 1−a s θ= −2ln(a) δ(1 − a2 ) σ = sd() Hieruit kunnen we gemakkelijk de waarden van de parameters verkrijgen. Vanzelfsprekend zijn we met name ge¨ınteresseerd in de waarden van θ om ons vernieuwde CASO model te testen. We krijgen de waarden zoals weergeven in tabel 9.2. Betrouwbaarheidsgrenzen van deze inschatting zijn weergeven op 95% niveau als θ− en θ+ . Datum 31 mei 24 juni 22 juli 10 sept 8 okt 4 nov θ− (95%) 0.05583 0.19213 0.05435 0.05446 0.13697 0.04207 θ 0.06041 0.20106 0.05884 0.05893 0.14432 0.04600 θ+ (95%) 0.06497 0.21010 0.06337 0.06347 0.15175 0.05003 Tabel 9.2: Berekende θ per dag De winst volgens CASO wordt gegeven door: Z P = ωθT (ξd − c) ∞ ξd 2 2θξd 1 √ e− σ 2 σ 2π dξd Om te testen of dit model werkt, vullen we voor P de historische winst in. We kunnen de formule omschrijven tot: P h θ= 2θξ2 R∞ d ωT (ξd − c) ξd σ√12π e− σ2 dξd We plotten ωT (ξd − c) R∞ ξd P h √1 e− σ 2π 2θξ2 d σ2 dξd op de y-as, en θ op de x-as. Hierdoor ontstaat figuur 9.2. De regressie van de vorm y = ax + b heeft een r2 waarde van 0.9734 en een p-waarde van 4.971E-14. We kunnen dus stellen dat het vernieuwde CASO model een goede benadering geeft van de werkelijkheid en nu kan worden gebruikt om de exacte waarde van de winst te schatten. De integratie met het Ornstein-Uhlenbeck model en de toevoeging van de factor θωT hebben de eerdere problemen verholpen. Wanneer we de commissiekosten en de targetdivergentie weergeven in termen van σ kunnen we het model veralgemeniseren zodat de waarden bruikbaar zijn voor iedere arbitragestrategie. De figuur 9.3 ontstaat. De optimale waarden zoals gegeven door ons model in termen van σ zijn te vinden in appendix B. 57 7000 Ratio CASO en historische winst 6000 5000 4000 3000 2000 Ratio bij c = 0.0025 Ratio bij c = 0.0050 Ratio bij c = 0.0100 lijn T 1000 0 0 0.05 0.1 0.15 0.2 0.25 Figuur 9.2: Invloed van θ op de ratio van de door CASO voorspelde winst en de historische winst 1 3.5 0.9 3 Optimale divergence target ( ) 0.8 Relatieve winst 0.7 0.6 0.5 0.4 0.3 2.5 2 1.5 1 0.2 0.5 0.1 0 0 0.5 1 1.5 2 Commissiekosten ( ) 2.5 0 3 0 0.5 1 1.5 2 Commissiekosten ( ) Figuur 9.3: Algemeen geldende versie van het CASO model 58 2.5 3 Hoofdstuk 10 De praktijk 10.1 Uitvoering Na de tests op historische data volgde natuurlijk een test op real-time data. Dit hebben we gedaan met behulp van het programma TradeStation, een handelsplatform waarin zelf bedachte handelsstrategie¨en gebruikt kunnen worden. We hebben een academisch account van TradeStation gekregen om met een fictieve ´e´en miljoen dollar transacties uit te kunnen voeren. Na het invullen en opsturen van verschillende formulieren is hier ook real-time data aan toegevoegd en konden we de koersen van de VXX, de twee futures en de spread tussen van VXX en de futures bepalen. De spread wordt nog steeds gegeven door: |Svxx − Sfutures | Het invoeren van onze strategie in TradeStation was een uitdaging, aangezien de programmeertaal van TradeStation, EasyLanguage, minder eenvoudig bleek te zijn dan de naam deed denken. Door de eenvoud van de taal werden onze mogelijkheden beperkt en hebben we ingewikkelde omwegen moeten nemen om tot het gewenste resultaat te komen. Figuur 10.1: Een schermafbeelding van TradeStation met de door ons ontwikkelde spreadindicator Als de spread zich boven de bovenste targetdivergentielijn bevindt (zie figuur 10.1, onderste helft), betekent dit dat de VXX ten opzichte van de futures duur is. De strategie neemt hierbij een shortpositie in de VXX en een longpositie in de futures in. Als de spread zich onder de onderste 59 targetdivergentielijn bevindt, betekent dit dat de VXX ten opzichte van de futures goedkoop is. De strategie neemt dan een longpositie in de VXX en een shortpositie in de futures in. Uit historische tests hadden we al bepaald dat de optimale afwijking van de gemiddelde spread om bij te handelen, afhankelijk van de commissiekosten, tussen de 0.75 en de 3.25 dollarcent ligt. De lage targetdivergentie bij geringe commissiekosten kon onze computer en het programma TradeStation niet aan. Hierdoor hebben we besloten de targetspread bij opening van een positie hoger te leggen dan de optimale waarde, opdat er minder orders werden gegenereerd. In het programma hebben wij daarom voor een targetdivergentie van anderhalve standaarddeviatie gekozen. Ook hebben we de targetspread bij het sluiten van een positie aangepast; we hebben gekozen om de strategie alleen te laten handelen als de koers beide optima passeert; de positie werd nu geopend bij het passeren van de ene targetdivergentielijn, en gesloten bij het passeren van de andere. Dit verminderde het aantal handelsmomenten en zorgde voor een grotere winst per transactie. Omdat we, in tegenstelling tot bij het testen op historische data, niet direct beschikking hadden over de data van de gehele dag, hebben we de gemiddelde spread en targetdivergenties bepaald met behulp van data uit de voorgaande 500 seconden. 10.2 Resultaten Toen het systeem eenmaal redelijk functioneerde, hebben we het een hele handelsdag (donderdag 6 februari, van half 4 ’s middags tot 10 uur ’s avonds Nederlandse tijd) aangezet. De resultaten van de strategie gedurende deze dag zijn in tabel 10.1 weergegeven. Aantal winstgevende trades Aantal verlieslatende trades Aantal neutrale trades Totaal aantal trades Maximale winst per trade Maximaal verlies per trade 107 69 15 191 $ $ Gemiddelde duur trade Gemiddelde tijd tussen trades 2,050.00 1,240.00 102 sec 18 sec Bruto winst Bruto verlies Netto winst $ $ $ 28,570.00 15,450.00 13,120.00 Netto winst Commissiekosten per trade Totale commissiekosten Gecorrigeerde netto winst $ $ $ $ 13,120.00 10.501 4,011.00 9,109.00 Benodigde startkapitaal Gecorrigeerde netto winst Rendement $ $ 368.650,002 9,109.00 2.47% Tabel 10.1: Resultaten van ´e´en dag handelen met de strategie 1 Na enig marktonderzoek zijn we tot de conclusie gekomen dat competitieve brokers gemiddeld zo’n $4.50 per transactie van aandelen vragen. Hierbij tellen we 10 keer $0.60 op, de commissiekosten per futurescontract. Eventuele kosten voor het lenen van de aandelen voor shortselling zijn verwaarloosbaar. 2 Het benodigde startkapitaal is berekend door de hoogste prijs van de VXX op de betreffende dag te vermenigvuldigen met 5000, het aantal aandelen dat per keer wordt verhandeld. Hierbij is 10 keer de benodigde marge van de VX futures opgeteld ($5,390.00 initi¨ ele marge en $4,900.00 onderhoudsmarge). We gaan er dus van uit dat er bij de aandelen geen gebruik wordt gemaakt van eventuele mogelijkheden tot leverage. 60 Het verloop van de handelsstrategie gedurende de handelsdag is in figuur 10.2 weergeven. 14000 Winst strategie Winst VXX Winst VXG14 Winst VXH14 12000 10000 Winst ($) 8000 6000 4000 2000 0 −2000 −4000 0 20 40 60 80 100 Trade # 120 140 160 180 Figuur 10.2: Verloop van de strategie Om te testen of onze strategie een significante bijdrage heeft geleverd aan de winst gebruiken we een afgeleide versie van de Monte Carlo bootstrapping methode. We simuleren hierbij een strategie gebaseerd op volledige willekeur. Hiervoor genereren we 192 × 2 willekeurige cijfers3 tussen de 1 en 23401, het aantal seconden in een handelsdag. Dit gebeurt zonder terugleggen. Deze getallen worden gesorteerd. Op de tijdstippen corresponderend met de willekeurige cijfers wordt een positie ingenomen of gesloten, afhankelijk van de huidige positie en corresponderend met de hoeveelheden en producten van onze eigen strategie, gebaseerd op de prijsdata van de dag waarop we de strategie hebben uitgevoerd. De richting van de positie wordt bepaald door een willekeurige 1 of -1. Op deze manier wordt een pairs-trading strategie gesimuleerd die volledig gebaseerd is op toeval. De winst van deze strategie wordt bepaald. Dit proces wordt 20,000 keer herhaald opdat we een verdeling op kunnen stellen van de ontstane winsten. Een normale verdeling onstaat. Met behulp van het gemiddelde en de standaarddeviatie kunnen we eenvoudig via de cumulatieve verdelingsfunctie de p-waarde van onze strategie bepalen, met H0 : de strategie is volledig willekeurig. Deze blijkt uit te komen op 0.000024. Op 0.05% significantieniveau kunnen we dus de nulhypothese dat onze strategie volledig willekeurig zou zijn verwerpen. Daarmee heeft onze strategie dus wel degelijk toegevoegde waarde. 3 192 × 2 komt overeen met het aantal transacties dat heeft plaatsgevonden op onze testdag. 61 Hoofdstuk 11 Conclusie We hebben een model, het CASO model, kunnen opstellen waarmee men voor alle mean-reverting effectenparen de optima voor een pairs-trading strategie kan bepalen, afhankelijk van enkele variabelen. Ook hebben we de invloed van enkele van deze variabelen, namelijk de commissiekosten en de targetdivergentie, op de totale winst onderzocht met behulp van historische data. Uit wiskundige bewerking van de historische data is gebleken dat de winst maximaal is bij commissiekosten van 0 cent en dat de winst richting de nul gaat bij commissiekosten die 3 keer zo groot zijn als de standaarddeviatie σ van de spread. Uit grafiek 9.3 volgt dat de commissiekostenelasticiteit van de winst ten allen tijden negatief is, en negatiever wordt naarmate de commissiekosten oplopen. In de bijlage bevindt zich een tabel met daarin de optimale targetdivergentie voor een verscheidenheid aan commissiekosten. Daarnaast hebben we de invloed van eventuele vertraging op de winst onderzocht. Figuur 8.3 laat zien dat met slechts enkele seconden vertraging de winst significant afneemt. Dit effect wordt sterker naarmate de commissiekosten toenemen. Uit onze praktische resultaten blijkt dat het gelukt is een werkend geautomatiseerd handelssysteem op te bouwen. Het systeem heeft gedurende een handelsdag 191 transacties uitgevoerd, op de door de strategie aangegeven momenten. Met deze transacties heeft het systeem een gecorrigeerde netto winst van 9,109.00 dollar gemaakt, dit komt overeen met een rendement van 2.47%. Onze doelstelling was om een rendement hoger dan de risicovrije rente te behalen. Dit is ruimschoots gelukt aangezien de risicovrije rente van de 10-jarige US Treasury Bond op dit moment 2,68% per jaar bedraagt [10]. Deze winst had nog groter kunnen zijn, ware het niet dat enkele factoren binnen het systeem dit belemmerden. In de discussie worden deze factoren besproken. 62 Hoofdstuk 12 Discussie Hoewel de door ons bedachte strategie uiteindelijk een positief rendement heeft behaald, en theoretisch gezien toegevoegde waarde heeft gegenereerd, is het toch belangrijk om enkele kanttekeningen bij dit resultaat te maken. Het is nog maar de vraag of de strategie even optimaal zou werken op het moment dat deze met ‘echt geld’ zou worden uitgevoerd. Er bestaan namelijk enkele verschillen tussen de simulatie en de werkelijkheid, daarnaast heeft de manier waarop de simulatie heeft plaatsgevonden indirect invloed gehad op de uitkomst. Ook is bij de real-time simulatie afgeweken van het CASO model, welke gebruikt had moeten worden om de optima te bepalen. Allereerst is het spijtig dat het CASO model niet gebruikt kon worden om de tradingsstrategie van het real-time systeem voor te schrijven. Dit werd veroorzaakt door het feit dat ons systeem niet in staat is om te kapitaliseren op alle winstmogelijkheden vanwege de snelheid waarmee de berekeningen uitgevoerd dienen te worden en de snelheid waarmee orders geplaatst moeten worden. Vanwege de gebruikte computer, de betrouwbaarheid van de dataconnectie en de aard van het softwarepakket TradeStation was dit onhaalbaar. Hierdoor hebben we de strategie aan moeten passen. Het oorspronkelijke plan om de CASO waarden aan te houden werd hierdoor dus belemmerd. Er zijn enkele punten waardoor de strategie mogelijkerwijs minder goed zal werken wanneer deze met ‘echt geld’ uit wordt gevoerd. Ten eerste zijn de futures waarin gehandeld wordt minder liquide dan de VXX. Hierdoor zal het wellicht op de handelsmomenten niet altijd mogelijk zijn om tegelijkertijd alle producten te kopen of te verkopen. Het gemiddelde handelsvolume van de eerstemaands futures is 15,471 en het gemiddelde handelsvolume van de tweedemaands futures is 11,882. Ter vergelijking: het gemiddelde handelsvolume van de VXX ETF is 13,375,372. De liquiditeit van de futures is dus, in verhouding tot de liquiditeit van de VXX, erg laag. Dit kan ertoe leiden dat alleen de VXX gekocht wordt, omdat er op dat moment niet genoeg aanbod aan futures is. Dit kan zorgen voor situaties waarbij slechts ´e´en kant van de positie wordt ingenomen. De marktneutraliteit van de strategie komt hiermee in het geding. De door ons gebruikte simulatie in TradeStation is gebaseerd op de laats geldende prijs voor de producten waardoor eventuele effecten veroorzaakt door de liquiditeit van de producten niet duidelijk in de resultaten zijn meegenomen. Het was ook mogelijk om simulaties uit te voeren op basis van de volgende geldende prijs. Dit zorgde echter voor grote verliezen en is daarnaast minder representatief voor de werkelijkheid. Omdat er voortdurend Bid/Ask prijzen zijn zou een order in een ‘echte’ situatie sneller uitgevoerd kunnen worden dan de volgende door TradeStation geregistreerde trade van een ander persoon. De werkelijke prijzen waartegen een order kan worden uitgevoerd zullen daarom ergens in het midden van deze simulatiemethoden liggen en kunnen alleen worden bepaald wanneer de strategie met echt geld wordt uitgevoerd. Het feit dat we maatregelen hebben moeten nemen om de last op de computer en de software te beperken heeft een significante invloed gehad op de hoogte van de winst. Wij zijn begonnen met handelen op een tamelijk trage computer, en later overgeschakeld naar een snellere laptop aangezien de eerste computer, zelfs na de genomen maatregelen, te vaak vastliep om goed te kunnen handelen. Zelfs op deze snellere laptop kwam het echter regelmatig voor dat het programma even vastliep, of de data niet snel genoeg doorkwam. Aangezien er bij onze strategie soms binnen enkele seconden gehandeld moet worden, is een vastlopende computer al snel funest voor de winst. Wanneer we beschikking hadden gehad over een computer met meer rekenkracht waren we in staat geweest om 63 gebruik te maken van meer winstmogelijkheden. Daarnaast zorgde de gebruikte software en de daarbij behorende EasyLanguage voor een suboptimale uitvoering van de strategie. Het programma is eigenlijk bedoeld om in ´e´en product tegelijk te handelen. Aangezien we met onze strategie gebruik maken van drie producten die tegelijkertijd moeten worden gekocht en verkocht vormde dit een uitdaging. Via het gebruik van een externe dll1 en enkele andere technische ‘trucs’ was het mogelijk om dit te omzeilen. Door deze omwegen was het echter niet mogelijk om de berekeningen voor de verschillende producten simultaan te laten geschieden. Een kleine vertraging ontstond, welke ongetwijfeld invloed heeft gehad op de werking van de strategie. Idealiter hadden we dus een ander softwarepakket gebruikt om onze strategie mee uit te voeren. Het bleek echter zeer lastig om een bedrijf te vinden dat bereid was voor educatieve doeleinden zijn software en data te verschaffen. Voor ons was TradeStation daarom op dit moment de best beschikbare optie. Ook kwam er af en toe enkele seconden geen nieuwe prijsdata binnen via TradeStation. Het is onzeker of dit aan de computer lag of aan de dataservice zelf. Hier geldt hetzelfde: enkele seconden niet kunnen handelen kan zorgen voor zeer grote verliezen. Al met al zijn er dus veel factoren die de optimale werking van onze strategie verstoord kunnen hebben en ervoor zorgen dat de resultaten van de test niet representatief zijn voor de ‘echte wereld’. Om de strategie vrij van deze factoren te kunnen testen, zou het volgende nodig zijn: • Een zeer snelle computer met veel rekenkracht • Een beter softwarepakket dat gemaakt is om meerdere producten tegelijkertijd te verhandelen • Een stabielere dataservice • Een test waarbij werkelijk aandelen gekocht worden, voor een representatieve orderuitvoering. Hiervoor is echter redelijk wat geld nodig, aangezien we eerder hebben berekend dat er een minimaal startkapitaal nodig is van $368.650,00. Vanwege deze vereisten is het u ¨berhaupt de vraag of de strategie haalbaar is voor de gemiddelde consument. De noodzaak van een zeer snelle computer, een hoog startkapitaal en een betrouwbare dataverbinding om veel te kunnen handelen maken het moeilijk om de strategie succesvol uit te kunnen voeren. Een strategie waarbij minder trades per dag plaats hoeven te vinden zou waarschijnlijk beter passen bij het profiel van de gemiddelde belegger. Ook zou een strategie die handelt in meer liquide producten waarschijnlijk voor betere resultaten zorgen (alhoewel de prijsverschillen natuurlijk deels worden veroorzaakt door het verschil in liquiditeit van de producten). Feit blijft echter dat het theoretisch mogelijk is om te kapitaliseren op de prijsverschillen die er bestaan tussen de VXX en de onderliggende VIX Futures wanneer aan alle vereisten wordt voldaan. 1 DDL staat voor “dynamic-link library”. Het is een bibliotheek met waarden en functies die door meerdere applicaties gebruikt kunnen worden. 64 Nawoord Tijdens het maken van dit profielwerkstuk hebben wij nieuwe inzichten gekregen in de werking van geautomatiseerde aandelenhandel, en in het bijzonder in het cre¨eren van geautomatiseerde handelsstrategie¨en. Het bouwen van het systeem was een grotere uitdaging dan we vooraf hadden ingeschat, maar het was erg mooi om te zien dat het systeem uiteindelijk werkte en zelfs winstgevend was. Het lijkt ons echter zeker dat het voor de gemiddelde consument lastig is om zoiets te ontwikkelen, en dat het uitvoeren zeer kapitaalsintensief is. Onze dank gaat uit naar de heer Van de Vegt voor de begeleiding, aan Matthijs Wouterse en Niels Schuurman voor het verlenen van toegang tot de historische koersdata, en aan Janette Perez van TradeStation, voor het verschaffen van het academische account waarmee we gehandeld hebben. Maatschappelijke overwegingen Veel van de handel in financi¨ele producten gaat inmiddels via computerprogramma’s zoals het onze. Deze systemen bieden investeerders grote voordelen in de vorm van hoog rendement en laag risico, maar hebben ook een schaduwzijde. Het leek ons vekeerd deze maatschappelijke kant van de financi¨ele wereld totaal te negeren, vandaar dit kleine uitstapje richting de ethische kant en maatschappelijke gevolgen van geautomatiseerde handel. Gevolgen van geautomatiseerd handelen De afgelopen jaren heeft de handel in aandelen en andere financi¨ele producten een grote verandering doorgemaakt. Waar in 2006 een derde deel van alle beurshandel uitgevoerd werd door algoritmes, steeg dit aandeel totdat in 2009 61% [55, 23] van alle beurshandel in de Verenigde Staten uitgevoerd werd door de zogenaamde High Frequency Traders, handelaren die met behulp van supercomputers en algoritmes aandelen kopen en weer verkopen binnen enkele seconden. Grote veranderingen hebben grote gevolgen, zo ook in het geval van de aandelenmarkt, en deze gevolgen zijn zo nu en dan zeer goed merkbaar. De eerste keer dat de wereldeconomie met deze gevolgen te maken kreeg was op 6 mei 2010, de dag waarop de gebeurtenis plaatsvond die later bekend zou komen te staan als de ‘flash crash’ [33, 51, 67]. Het begon als een normale dag op de Amerikaanse beursvloer, maar rond 2 uur ‘s middags begon de Dow Jones Industrial Average ongewoon snel te dalen. Binnen enkele minuten was de Dow Jones met 998.62 punten, oftewel 9.2 procent van zijn totale waarde, gedaald. De index herstelde zich bijna net zo snel weer, en steeg met 619.42 punten. Wereldwijd riep deze flash crash vragen op, en de oorzaak van de crash bleef lang onbekend. Op dit moment is de meest aannemelijke theorie dat de crash veroorzaakt werd door een plotselinge, erg grote verkooporder van “E-mini” futures op de S&P 500 index. Deze verkooporder had met behulp van een algoritme langzaam, binnen enkele uren, uitgevoerd moeten worden, maar werd per ongeluk binnen 20 minuten voltooid. Deze ongebruikelijk grote verkoop triggerde ook andere automatische handelssystemen tot verkopen, en dit veroorzaakte een kettingreactie van verkopen, waardoor de Dow Jones zo snel daalde. De beurs krabbelde zo snel als hij was ingestort weer overeind, maar de schrik van deze crash bleef nog lang hangen. “Even 9/11 didn’t have that kind of impact”, stelde Dave Lauer, voormalig High Frequency Trader [46]. Na de flash crash heeft men geprobeerd soortgelijke toekomstige gebeurtenissen te voorkomen door het invoeren van handelspauzes. Hierbij wordt de handel in een bepaald product tijdelijk stilgelegd op momenten van ongebruikelijk hoge volatiliteit. 65 De flash crash heeft laten zien dat de beurs misschien makkelijker te be¨ınvloeden is dan men zou denken, vooral nu ook het nieuws automatisch geanalyseerd wordt. De computersoftware van analisten onderzoekt de nieuwsberichten van betrouwbare bronnen, maar ook bijvoorbeeld de twitterfeeds en facebookpagina’s van persbureaus. Deze analysetechniek kan een enorm voordeel zijn, maar vormt tegelijkertijd een zwakte, zo bleek op dinsdag 23 april 2013 [59, 21, 45]. Hackers wisten via het twitterkanaal van Associated Press de valse tweet uit figuur 12.1 te plaatsen. Figuur 12.1: Valse tweet van Associated Press Handelssytemen die het nieuws scanden en interpreteerden, gingen spontaan over tot het verkopen van aandelen. Dit zorgde alweer voor een kettingreactie, maar de twittercrash bleef beperkter dan de flash crash van 2010. De Dow Jones daalde (slechts) 143 punten, en herstelde, toen de tweet vals bleek te zijn, binnen enkele minuten weer. Problemen gerelateerd aan complexe financi¨ ele producten Uit het eerdere stuk over ETN’s is al gebleken dat ETN’s erg ingewikkelde producten zijn, en voor de gemiddelde belegger wellicht wat te hoog gegrepen. Er zijn genoeg particuliere beleggers die bijvoorbeeld de VXX ETN bezitten, en naar alle waarschijnlijkheid weet slechts een klein deel van deze mensen hoe het door hen gekochte product precies werkt, of dat op de lange termijn deze ETN alleen maar daalt, wat voor de consument verlies inhoudt en voor de bank winst, aangezien de koper hier eigenlijk geld uitleent aan de bank, en een aan de index gerelateerd bedrag terugkrijgt. Zoals in figuur 12.2 te zien is, maken lange-termijn bezitters van de VXX ETN bijna gegarandeerd 8000 VXX 7000 6000 5000 4000 3000 2000 1000 0 30−Jan−2009 21−Sep−2010 12−May−2012 Figuur 12.2: Lange termijn koers VXX 66 01−Jan−2014 verlies. Dit wordt veroorzaakt door het feit dat het product is opgebouwd uit VIX Futures van de huidige maand en VIX Futures van de volgende maand, en zoals eerder al beschreven worden de eerste maands futures verkocht, en tweede maands gekocht. Tweede maands VIX Futures zijn door het zogenaame contango effects bijna altijd duurder dan eerste maands futures, en dus maakt het fonds verlies. De VXX ETN is echter zo complex dat veel particuliere beleggers dit van tevoren niet inzien. Ook worden complexe producten vaak als waardevoller dan simpele producten beschouwd, terwijl dit helemaal niet het geval hoeft te zijn. De VXX ETN is niet het enige (te) complexe product op de financi¨ele markt [35]. Er zijn zodanig veel gecompliceerde producten, dat de Europese Unie vorig jaar een zoektocht naar het gevaarlijkste financi¨ele product heeft uitgeschreven [32]. Het product dat deze wedstrijd gewonnen heeft, is de Credit Default Swap.2 Joris Luyendijk, correspondent voor onder andere NRC Next en The Guardian, schetste in 2011 portretten van medewerkers van de financi¨ele wereld in Londen, door middel van meer dan 200 interviews. Hij liet de mensen voornamelijk zelf en vaak anoniem aan het woord, en wist zo buitenstaanders een kijkje te geven in de complexe financi¨ele wereld. Een van de personen die hij sprak was een structurer, iemand die financi¨ele producten bedenkt en in elkaar zet. Hij heeft lange tijd bij een grote investeringsbank gewerkt en is tot de conclusie gekomen dat veel van de (onder andere door hem) bedachte producten niet altijd even goed werken. In zijn interview zei hij: “Generally, I’d say that 80-90% of all derivatives are morally ambiguous, to say the least. It’s mostly to do with accounting, legal or tax needs, with greed or fear or with gambling” [42]. 2 Een credit default swap, ook wel CDS is erg vergelijkbaar met een verzekering en wordt vaak afgesloten op fixed income producten (bijvoorbeeld obligaties). Een CDS is een contract waarbij kredietrisico wordt overgedragen. Stel, bedrijf A bezit een obligatie van bedrijf C. Bedrijf A kan het risico op wanbetaling afdekken met een CDS. Bedrijf A betaalt hiervoor een maandelijks bedrag aan bedrijf B, de premie. Wanneer bedrijf C niet in staat is om bedrijf A via de obligatie te betalen, dan keert bedrijf B een afgesproken bedrag aan bedrijf A uit. Het kredietrisico van bedrijf C is nu dus overgedragen van bedrijf A naar B. 67 Bibliografie [1] Irene Aldridge. High-frequency trading: a practical guide to algorithmic strategies and trading systems. Wiley trading. Hoboken, N.J: Wiley, 2010. 339 p. [2] Algorithmic trading. en. In: Wikipedia, the free encyclopedia. Page Version ID: 575076354. 30 sep 2013. url: http : / / en . wikipedia . org / w / index . php ? title = Algorithmic _ trading&oldid=575076354 (bezocht op 30-09-2013). [3] An Inside Look At ETF Construction. Investopedia. 28 mei 2011. url: http : / / www . investopedia.com/articles/mutualfund/05/062705.asp (bezocht op 23-10-2013). [4] An Introduction To Sector ETFs. Investopedia. 20 apr 2012. url: http://www.investopedia. com/articles/exchangetradedfunds/08/sector-etfs.asp (bezocht op 23-10-2013). [5] Barclays iPath. iPath VIX Futures ETNs Prospectus. English. 11 jul 2013. url: http:// www.ipathetn.com/static/pdf/vix-prospectus.pdf (bezocht op 20-11-2013). [6] Barclays iPath. iPath VIX Futures ETNs Splits and Reverse Splits FAQs. English. 19 jul 2012. url: http://www.ipathetn.com/static/pdf/ipath-split-FAQs.pdf (bezocht op 20-11-2013). [7] Martin Baxter en Andrew Rennie. Financial calculus: an introduction to derivative pricing. Cambridge; New York, NY: Cambridge University Press, 1996. [8] Simon Benninga. Financial modeling. 3rd ed. Cambridge, MA: MIT Press, 2008. 1132 p. [9] Thijs van den Berg. Calibrating the Ornstein-Uhlenbeck (Vasicek) model. Sitmo. 28 mei 2011. url: http://www.sitmo.com/article/calibrating-the-ornstein-uhlenbeck-model/ (bezocht op 30-11-2013). [10] Bloomberg. United States Government Bonds. Bloomberg. url: http://www.bloomberg. com/markets/rates-bonds/government-bonds/us/ (bezocht op 09-02-2014). [11] Bloomberg L.P. Bloomberg Professional Service. (Bezocht op 15-11-2013). [12] Damiano Brigo e.a. “A Stochastic Processes Toolkit for Risk Management”. In: arXiv:0812.4210 [q-fin] (22 dec 2008). url: http://arxiv.org/abs/0812.4210 (bezocht op 30-11-2013). [13] E.S. Browning. “Reading market tea leaves”. In: The Wall Street Journal Europe (31 jul 2007), p. 17–18. [14] Bruce I. Carlin. “Strategic price complexity in retail financial markets”. In: Journal of Financial Economics 91 (3 mrt 2009), p. 278–287. doi: 10.1016/j.jfineco.2008.05.002. url: http://www.sciencedirect.com/science/article/pii/S0304405X08002092 (bezocht op 30-11-2013). [15] Bruce I. Carlin. Technical Analysis - Explained. url: https://www.credit-suisse.com/ legal/pb_research/technical_tutorial_en.pdf. [16] Barbara Casu en Laura Chiaramonte. “Are Cds spreads a good proxy of bank risk? Evidence from the recent financial crisis”. In: BANCARIA 11 (2011), p. 82–98. url: http : //econpapers.repec.org/article/banbancar/v_3a11_3ay_3a2011_3am_3anovember_ 3ap_3a82-98.htm (bezocht op 30-11-2013). [17] Mario Cerrato. The mathematics of derivatives securities with applications in MATLAB. Hoboken: John Wiley & Sons Inc, 2012. 236 p. 68 [18] Ernest P. Chan. Quantitative trading: how to build your own algorithmic trading business. The Wiley trading series. Hoboken, N.J: John Wiley & Sons, 2009. 181 p. [19] Chart pattern. en. In: Wikipedia, the free encyclopedia. Page Version ID: 564047090. 17 jul 2013. url: http : / / en . wikipedia . org / w / index . php ? title = Chart _ pattern & oldid = 564047090 (bezocht op 14-09-2013). [20] Chicago Board Options Exchange. The CBOE Volatility Index - VIX. English. 27 feb 2009. (Bezocht op 20-11-2013). [21] Amy Chozick en Nicole Perlroth. “Social Media’s Effects On Markets Concern Regulators”. In: The New York Times (28 apr 2013). url: http://www.nytimes.com/2013/04/29/ business / media / social - medias - effects - on - markets - concern - regulators . html (bezocht op 08-09-2013). [22] Brian Conrad. Impossibility theorems for elementary integration. 19 jul 2005. url: http: //www2.maths.ox.ac.uk/cmi/library/academy/LectureNotes05/Conrad.pdf (bezocht op 12-12-2013). [23] “Declining U.S. High-Frequency Trading”. In: The New York Times (15 okt 2012). url: http://www.nytimes.com/interactive/2012/10/15/business/Declining- US- HighFrequency-Trading.html?ref=business (bezocht op 30-09-2013). [24] Department of Economics, Mathematics and Statistics, Birkbeck, University of London. A crash course in Itˆ o calculus. url: http://www.ems.bbk.ac.uk/for_students/msc_finEng/ math_methods/lecture34.pdf (bezocht op 09-10-2013). [25] Deutsche Bank Research - Global Risk Analysis. Sovereign default probabilities online - Extracting implied default probabilities from CDS spreads. 12 aug 2011. url: http : / / www . dbresearch.com/PROD/DBR_INTERNET_EN-PROD/PROD0000000000183612.pdf. [26] David A. Dickey en Wayne A. Fuller. “Distribution of the Estimators for Autoregressive Time Series with a Unit Root”. In: Journal of the American Statistical Association 74 (366a jun 1979), p. 427–431. doi: 10.1080/01621459.1979.10482531. url: http://amstat. tandfonline.com/doi/abs/10.1080/01621459.1979.10482531#.UpnfEmTknVA (bezocht op 30-11-2013). [27] Double top and double bottom. en. In: Wikipedia, the free encyclopedia. Page Version ID: 542515955. 10 aug 2013. url: http://en.wikipedia.org/w/index.php?title=Double_ top_and_double_bottom&oldid=542515955 (bezocht op 14-09-2013). [28] Exchange-traded fund. en. In: Wikipedia, the free encyclopedia. Page Version ID: 577078972. 14 okt 2013. url: http://en.wikipedia.org/w/index.php?title=Exchange- traded_ fund&oldid=577078972 (bezocht op 23-10-2013). [29] Exchange-Traded Fund (ETF) Definition. Investopedia. 15 feb 2009. url: http : / / www . investopedia.com/terms/e/etf.asp (bezocht op 23-10-2013). [30] Fabio Bellini. Vasicek. 26 mei 2009. url: http://www.economia.unimib.it/DATA/moduli/ 4_4366/materiale/vasicek.pdf (bezocht op 30-11-2013). [31] Fundamentele analyse. nl. In: Wikipedia. Page Version ID: 35485399. 16 mei 2013. url: http: / / nl . wikipedia . org / w / index . php ? title = Fundamentele _ analyse & oldid = 35485399 (bezocht op 01-09-2013). [32] Gef¨ ahrlichstes Finanzprodukt Europas. url: http://www.dangerous-finance.eu/ (bezocht op 01-02-2014). [33] Giovanny Moreano. Anatomy of the Flash Crash: 15 Minutes of Market Madness. CNBC. url: http://www.cnbc.com/id/42920769 (bezocht op 30-09-2013). [34] William H. Greene. Econometric analysis. 5th ed. Upper Saddle River, N.J: Prentice Hall, 2003. 1026 p. [35] Ken Hawkins. These Financial Products Are Too Complex For The Average Joe. Investopedia. 13 nov 2009. url: http://www.investopedia.com/articles/financial-theory/08/ structured-products.asp (bezocht op 06-11-2013). 69 [36] Head and shoulders (chart pattern). en. In: Wikipedia, the free encyclopedia. Page Version ID: 564320520. 10 aug 2013. url: http://en.wikipedia.org/w/index.php?title=Head_ and_shoulders_(chart_pattern)&oldid=564320520 (bezocht op 14-09-2013). [37] John Hull. Options, futures, and other derivatives. 8th. Boston: Prentice Hall, 2012. 841 p. [38] Kenneth Small Jeff Smith. “Weighing the Risks - Are Exchange- Traded Notes Right for Your Clients?” In: Journal of Financial Planning (2010), p. 48–56. url: http://www.fpanet. org/journal/CurrentIssue/TableofContents/WeighingtheRisks/. [39] Chad Langager en Casey Murphey. Analyzing Chart Patterns: Double Top And Double Bottom. Investopedia. 25 feb 2009. url: http : / / www . investopedia . com / university / charts/charts4.asp (bezocht op 14-09-2013). [40] Chad Langager en Casey Murphey. Analyzing Chart Patterns: Head And Shoulders. Investopedia. 25 feb 2009. url: http://www.investopedia.com/university/charts/charts2. asp (bezocht op 14-09-2013). [41] Chad Langager en Casey Murphey. Analyzing Chart Patterns: Triple Tops And Bottoms. Investopedia. 25 feb 2009. url: http : / / www . investopedia . com / university / charts / charts9.asp (bezocht op 14-09-2013). [42] Joris Luyendijk. “Head of structuring equity derivatives: ’Structurers are like snakes’”. In: The Guardian (23 mrt 2012). url: http://www.theguardian.com/commentisfree/2012/ mar/23/voices-of-finance-structuring-equity-derivatives (bezocht op 01-02-2014). [43] Ben R. Marshall, Rochester H. Cahan en Jared Cahan. Technical Analysis Around the World. SSRN Scholarly Paper ID 1181367. Rochester, NY: Social Science Research Network, 1 aug 2010. url: http://papers.ssrn.com/abstract=1181367 (bezocht op 01-02-2014). [44] MathWorks. Augmented Dickey-Fuller test. adftest - MATLAB. 2013. url: http://www. mathworks.nl/help/econ/adftest.html (bezocht op 30-11-2013). [45] Christopher Matthews. “How Does One Fake Tweet Cause a Stock Market Crash?” In: Time (). url: http://business.time.com/2013/04/24/how-does-one-fake-tweet-cause-astock-market-crash/ (bezocht op 02-10-2013). [46] Marijke Meerman. Wall Street Code. Tegenlicht. 4 nov 2013. [47] Moody’s Investors Service - Global Credit Research. Moody’s Ultimate Recovery Database. Apr 2007. url: https://www.moodys.com/sites/products/DefaultResearch/2006600000428092. pdf (bezocht op 30-11-2013). [48] Moving average. en. In: Wikipedia, the free encyclopedia. Page Version ID: 572389091. 11 sep 2013. url: http://en.wikipedia.org/w/index.php?title=Moving_average&oldid= 572389091 (bezocht op 14-09-2013). [49] Normale verdeling. nl. In: Wikipedia. Page Version ID: 38672019. 10 aug 2013. url: http:// nl.wikipedia.org/w/index.php?title=Normale_verdeling&oldid=38672019 (bezocht op 30-09-2013). [50] NYSE Euronext. NYSE Euronext TAQ Database via Wharton Research Data Services (WRDS). (Bezocht op 10-11-2013). [51] “One big, bad trade”. In: The Economist (1 okt 2010). url: http://www.economist.com/ blogs/newsbook/2010/10/what_caused_flash_crash (bezocht op 30-09-2013). [52] Ornstein–Uhlenbeck process. en. In: Wikipedia, the free encyclopedia. Page Version ID: 566989142. 8 okt 2013. url: http://en.wikipedia.org/w/index.php?title=Ornstein%E2%80% 93Uhlenbeck_process&oldid=566989142 (bezocht op 23-10-2013). [53] Hans Oudshoorn en Peter Siks. Beleggen voor dummies. Amsterdam: Pearson, 2012. [54] Scott Patterson. The quants: [how a new breed of math whizzes conquered Wall Street and nearly destroyed it]. 1ste ed. New York: Crown Business, 2010. [55] Nathaniel Popper. “With Profits Dropping, High-Speed Trading Cools Down”. In: The New York Times (14 okt 2012). url: http://www.nytimes.com/2012/10/15/business/withprofits-dropping-high-speed-trading-cools-down.html (bezocht op 04-09-2013). 70 [56] Short (finance). en. In: Wikipedia, the free encyclopedia. Page Version ID: 572853601. 12 okt 2013. url: http://en.wikipedia.org/w/index.php?title=Short_(finance)&oldid= 572853601 (bezocht op 23-10-2013). [57] Standard deviation. en. In: Wikipedia, the free encyclopedia. Page Version ID: 583586640. 27 nov 2013. url: http://en.wikipedia.org/w/index.php?title=Standard_deviation& oldid=583586640 (bezocht op 30-11-2013). [58] “Stochastic Differential Equations”. en. In: Stochastic Differential Equations. Universitext 0. Springer Berlin Heidelberg, 2003, p. 65–84. url: http://link.springer.com/chapter/10. 1007/978-3-642-14394-6_5 (bezocht op 30-11-2013). [59] “The Twitter Crash: #newscrashrecover”. In: The Economist (27 apr 2013). url: http:// www.economist.com/news/finance-and-economics/21576671-hacked-tweet-brieflyunnerves-stockmarket-newscrashrecover (bezocht op 02-10-2013). [60] G. E. Uhlenbeck en L. S. Ornstein. “On the Theory of the Brownian Motion”. In: Physical Review 36 (5 1 sep 1930), p. 823–841. doi: 10.1103/PhysRev.36.823. url: http://link. aps.org/doi/10.1103/PhysRev.36.823 (bezocht op 29-11-2013). [61] Oldrich Vasicek. “An equilibrium characterization of the term structure”. In: Journal of Financial Economics 5 (2 nov 1977), p. 177–188. doi: 10 . 1016 / 0304 - 405X(77 ) 90016 2. url: http : / / www . sciencedirect . com / science / article / pii / 0304405X77900162 (bezocht op 29-11-2013). [62] Ganapathy Vidyamurthy. Pairs trading: quantitative methods and analysis. Hoboken, N.J: J. Wiley, 2004. 210 p. [63] Paul Wilmott. Frequently asked questions in quantitative finance: including key models, important formulæ, popular contracts, essays and opinions, a history of quantitative finance, sundry lists, the commonest mistakes in quant finance, brainteasers, plenty of straight-talking, the Modellers’ Manifesto and lots more. 2nd ed. Chichester, U.K: Wiley, 2009. 608 p. [64] Paul Wilmott. Paul Wilmott introduces quantitative finance. 2de ed. Chichester, West Sussex, England; Hoboken, NJ: J. Wiley & Sons, 2007. [65] Paul Wilmott. Paul Wilmott on quantitative finance. 2de ed. Chichester, England; Hoboken, NJ: John Wiley & Sons, 2006. [66] Yahoo! Inc. Yahoo! Finance. url: http://finance.yahoo.com/. [67] Heidi Moore in New York en Dan Roberts in Washington. “AP Twitter hack causes panic on Wall Street and sends Dow plunging”. In: The Guardian (23 apr 2013). url: http : / / www . theguardian . com / business / 2013 / apr / 23 / ap - tweet - hack - wall - street freefall (bezocht op 30-09-2013). 71 Bijlage A Overzicht gebruikte notaties Symbool R P t S σ µ φ E W ρ ξ β γ θ λ ω Betekenis rendement winst tijd prijs standaarddeviatie, volatiliteit gemiddelde, drift stochasitsche variabele verwachte waarde Wiener proces correlatieco¨effici¨ent spread hedge ratio vertraging snelheidsparameter mean-reverting proces gemiddelde spread over lange termijn evenredigheidsconstante 72 Bijlage B CASO waarden c (σ) 0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 0.040 0.045 0.050 0.055 0.060 0.065 0.070 0.075 0.080 0.085 0.090 0.095 0.100 0.105 0.110 0.115 0.120 0.125 0.130 0.135 0.140 0.145 0.150 0.155 0.160 0.165 0.170 ξd (σ) 0.750 0.755 0.760 0.760 0.765 0.770 0.775 0.775 0.780 0.785 0.785 0.790 0.795 0.795 0.800 0.805 0.810 0.810 0.815 0.820 0.820 0.825 0.830 0.835 0.835 0.840 0.845 0.845 0.850 0.855 0.860 0.860 0.865 0.870 0.870 Pr 1.0000 0.9934 0.9868 0.9802 0.9736 0.9671 0.9606 0.9542 0.9478 0.9414 0.9350 0.9287 0.9224 0.9161 0.9099 0.9037 0.8975 0.8914 0.8852 0.8791 0.8731 0.8671 0.8611 0.8551 0.8491 0.8432 0.8373 0.8315 0.8257 0.8199 0.8141 0.8084 0.8027 0.7970 0.7913 c (σ) 0.175 0.180 0.185 0.190 0.195 0.200 0.205 0.210 0.215 0.220 0.225 0.230 0.235 0.240 0.245 0.250 0.255 0.260 0.265 0.270 0.275 0.280 0.285 0.290 0.295 0.300 0.305 0.310 0.315 0.320 0.325 0.330 0.335 0.340 0.345 ξd (σ) 0.875 0.880 0.885 0.885 0.890 0.895 0.900 0.900 0.905 0.910 0.910 0.915 0.920 0.925 0.925 0.930 0.935 0.940 0.940 0.945 0.950 0.950 0.955 0.960 0.965 0.965 0.970 0.975 0.980 0.980 0.985 0.990 0.995 0.995 1.000 73 Pr 0.7857 0.7801 0.7746 0.7690 0.7635 0.7581 0.7526 0.7472 0.7418 0.7364 0.7311 0.7258 0.7205 0.7153 0.7101 0.7049 0.6997 0.6946 0.6894 0.6844 0.6793 0.6743 0.6693 0.6643 0.6594 0.6544 0.6496 0.6447 0.6399 0.6350 0.6303 0.6255 0.6208 0.6161 0.6114 c (σ) 0.350 0.355 0.360 0.365 0.370 0.375 0.380 0.385 0.390 0.395 0.400 0.405 0.410 0.415 0.420 0.425 0.430 0.435 0.440 0.445 0.450 0.455 0.460 0.465 0.470 0.475 0.480 0.485 0.490 0.495 0.500 0.505 0.510 0.515 0.520 ξd (σ) 1.005 1.010 1.010 1.015 1.020 1.025 1.025 1.030 1.035 1.040 1.040 1.045 1.050 1.055 1.055 1.060 1.065 1.070 1.070 1.075 1.080 1.085 1.085 1.090 1.095 1.100 1.100 1.105 1.110 1.115 1.115 1.120 1.125 1.130 1.135 Pr 0.6067 0.6021 0.5975 0.5930 0.5884 0.5839 0.5794 0.5749 0.5705 0.5661 0.5617 0.5573 0.5530 0.5487 0.5444 0.5401 0.5359 0.5317 0.5275 0.5233 0.5192 0.5151 0.5110 0.5069 0.5029 0.4989 0.4949 0.4909 0.4870 0.4830 0.4792 0.4753 0.4714 0.4676 0.4638 c (σ) 0.525 0.530 0.535 0.540 0.545 0.550 0.555 0.560 0.565 0.570 0.575 0.580 0.585 0.590 0.595 0.600 0.605 0.610 0.615 0.620 0.625 0.630 0.635 0.640 0.645 0.650 0.655 0.660 0.665 0.670 0.675 0.680 0.685 0.690 0.695 0.700 0.705 0.710 0.715 0.720 0.725 0.730 0.735 0.740 0.745 0.750 0.755 0.760 0.765 0.770 ξd (σ) 1.135 1.140 1.145 1.150 1.150 1.155 1.160 1.165 1.165 1.170 1.175 1.180 1.185 1.185 1.190 1.195 1.200 1.200 1.205 1.210 1.215 1.220 1.220 1.225 1.230 1.235 1.235 1.240 1.245 1.250 1.255 1.255 1.260 1.265 1.270 1.270 1.275 1.280 1.285 1.290 1.290 1.295 1.300 1.305 1.310 1.310 1.315 1.320 1.325 1.330 Pr 0.4600 0.4563 0.4526 0.4489 0.4452 0.4415 0.4379 0.4343 0.4307 0.4271 0.4236 0.4201 0.4166 0.4131 0.4097 0.4062 0.4028 0.3994 0.3961 0.3927 0.3894 0.3861 0.3828 0.3796 0.3764 0.3731 0.3700 0.3668 0.3636 0.3605 0.3574 0.3543 0.3513 0.3482 0.3452 0.3422 0.3392 0.3363 0.3333 0.3304 0.3275 0.3246 0.3218 0.3189 0.3161 0.3133 0.3105 0.3078 0.3050 0.3023 c (σ) 0.775 0.780 0.785 0.790 0.795 0.800 0.805 0.810 0.815 0.820 0.825 0.830 0.835 0.840 0.845 0.850 0.855 0.860 0.865 0.870 0.875 0.880 0.885 0.890 0.895 0.900 0.905 0.910 0.915 0.920 0.925 0.930 0.935 0.940 0.945 0.950 0.955 0.960 0.965 0.970 0.975 0.980 0.985 0.990 0.995 1.000 1.005 1.010 1.015 1.020 ξd (σ) 1.330 1.335 1.340 1.345 1.345 1.350 1.355 1.360 1.365 1.365 1.370 1.375 1.380 1.385 1.385 1.390 1.395 1.400 1.405 1.410 1.410 1.415 1.420 1.425 1.430 1.430 1.435 1.440 1.445 1.450 1.450 1.455 1.460 1.465 1.470 1.470 1.475 1.480 1.485 1.490 1.495 1.495 1.500 1.505 1.510 1.515 1.515 1.520 1.525 1.530 74 Pr 0.2996 0.2969 0.2943 0.2916 0.2890 0.2864 0.2838 0.2812 0.2787 0.2762 0.2736 0.2712 0.2687 0.2662 0.2638 0.2614 0.2590 0.2566 0.2542 0.2518 0.2495 0.2472 0.2449 0.2426 0.2403 0.2381 0.2359 0.2337 0.2315 0.2293 0.2271 0.2250 0.2228 0.2207 0.2186 0.2165 0.2145 0.2124 0.2104 0.2084 0.2064 0.2044 0.2024 0.2005 0.1985 0.1966 0.1947 0.1928 0.1909 0.1891 c (σ) 1.025 1.030 1.035 1.040 1.045 1.050 1.055 1.060 1.065 1.070 1.075 1.080 1.085 1.090 1.095 1.100 1.105 1.110 1.115 1.120 1.125 1.130 1.135 1.140 1.145 1.150 1.155 1.160 1.165 1.170 1.175 1.180 1.185 1.190 1.195 1.200 1.205 1.210 1.215 1.220 1.225 1.230 1.235 1.240 1.245 1.250 1.255 1.260 1.265 1.270 ξd (σ) 1.535 1.535 1.540 1.545 1.550 1.555 1.560 1.560 1.565 1.570 1.575 1.580 1.585 1.585 1.590 1.595 1.600 1.605 1.605 1.610 1.615 1.620 1.625 1.630 1.630 1.635 1.640 1.645 1.650 1.655 1.655 1.660 1.665 1.670 1.675 1.680 1.680 1.685 1.690 1.695 1.700 1.705 1.705 1.710 1.715 1.720 1.725 1.730 1.735 1.735 Pr 0.1872 0.1854 0.1836 0.1818 0.1800 0.1782 0.1764 0.1747 0.1729 0.1712 0.1695 0.1678 0.1662 0.1645 0.1628 0.1612 0.1596 0.1580 0.1564 0.1548 0.1532 0.1517 0.1501 0.1486 0.1471 0.1456 0.1441 0.1426 0.1412 0.1397 0.1383 0.1368 0.1354 0.1340 0.1326 0.1313 0.1299 0.1285 0.1272 0.1259 0.1245 0.1232 0.1219 0.1207 0.1194 0.1181 0.1169 0.1156 0.1144 0.1132 c (σ) 1.275 1.280 1.285 1.290 1.295 1.300 1.305 1.310 1.315 1.320 1.325 1.330 1.335 1.340 1.345 1.350 1.355 1.360 1.365 1.370 1.375 1.380 1.385 1.390 1.395 1.400 1.405 1.410 1.415 1.420 1.425 1.430 1.435 1.440 1.445 1.450 1.455 1.460 1.465 1.470 1.475 1.480 1.485 1.490 1.495 1.500 1.505 1.510 1.515 1.520 ξd (σ) 1.740 1.745 1.750 1.755 1.760 1.760 1.765 1.770 1.775 1.780 1.785 1.785 1.790 1.795 1.800 1.805 1.810 1.815 1.815 1.820 1.825 1.830 1.835 1.840 1.845 1.845 1.850 1.855 1.860 1.865 1.870 1.870 1.875 1.880 1.885 1.890 1.895 1.900 1.900 1.905 1.910 1.915 1.920 1.925 1.930 1.930 1.935 1.940 1.945 1.950 Pr 0.1120 0.1108 0.1096 0.1084 0.1073 0.1061 0.1050 0.1038 0.1027 0.1016 0.1005 0.0994 0.0983 0.0972 0.0962 0.0951 0.0941 0.0931 0.0920 0.0910 0.0900 0.0890 0.0880 0.0871 0.0861 0.0851 0.0842 0.0833 0.0823 0.0814 0.0805 0.0796 0.0787 0.0778 0.0769 0.0761 0.0752 0.0743 0.0735 0.0727 0.0718 0.0710 0.0702 0.0694 0.0686 0.0678 0.0670 0.0663 0.0655 0.0647 c (σ) 1.525 1.530 1.535 1.540 1.545 1.550 1.555 1.560 1.565 1.570 1.575 1.580 1.585 1.590 1.595 1.600 1.605 1.610 1.615 1.620 1.625 1.630 1.635 1.640 1.645 1.650 1.655 1.660 1.665 1.670 1.675 1.680 1.685 1.690 1.695 1.700 1.705 1.710 1.715 1.720 1.725 1.730 1.735 1.740 1.745 1.750 1.755 1.760 1.765 1.770 ξd (σ) 1.955 1.960 1.960 1.965 1.970 1.975 1.980 1.985 1.990 1.995 1.995 2.000 2.005 2.010 2.015 2.020 2.025 2.025 2.030 2.035 2.040 2.045 2.050 2.055 2.060 2.060 2.065 2.070 2.075 2.080 2.085 2.090 2.090 2.095 2.100 2.105 2.110 2.115 2.120 2.125 2.125 2.130 2.135 2.140 2.145 2.150 2.155 2.160 2.160 2.165 75 Pr 0.0640 0.0632 0.0625 0.0618 0.0611 0.0603 0.0596 0.0589 0.0582 0.0576 0.0569 0.0562 0.0556 0.0549 0.0542 0.0536 0.0530 0.0523 0.0517 0.0511 0.0505 0.0499 0.0493 0.0487 0.0481 0.0475 0.0469 0.0464 0.0458 0.0453 0.0447 0.0442 0.0436 0.0431 0.0426 0.0420 0.0415 0.0410 0.0405 0.0400 0.0395 0.0390 0.0385 0.0381 0.0376 0.0371 0.0367 0.0362 0.0358 0.0353 c (σ) 1.775 1.780 1.785 1.790 1.795 1.800 1.805 1.810 1.815 1.820 1.825 1.830 1.835 1.840 1.845 1.850 1.855 1.860 1.865 1.870 1.875 1.880 1.885 1.890 1.895 1.900 1.905 1.910 1.915 1.920 1.925 1.930 1.935 1.940 1.945 1.950 1.955 1.960 1.965 1.970 1.975 1.980 1.985 1.990 1.995 2.000 2.005 2.010 2.015 2.020 ξd (σ) 2.170 2.175 2.180 2.185 2.190 2.195 2.195 2.200 2.205 2.210 2.215 2.220 2.225 2.230 2.235 2.235 2.240 2.245 2.250 2.255 2.260 2.265 2.270 2.270 2.275 2.280 2.285 2.290 2.295 2.300 2.305 2.310 2.310 2.315 2.320 2.325 2.330 2.335 2.340 2.345 2.350 2.350 2.355 2.360 2.365 2.370 2.375 2.380 2.385 2.390 Pr 0.0349 0.0344 0.0340 0.0336 0.0331 0.0327 0.0323 0.0319 0.0315 0.0311 0.0307 0.0303 0.0299 0.0295 0.0292 0.0288 0.0284 0.0281 0.0277 0.0273 0.0270 0.0266 0.0263 0.0259 0.0256 0.0253 0.0249 0.0246 0.0243 0.0240 0.0237 0.0233 0.0230 0.0227 0.0224 0.0221 0.0218 0.0216 0.0213 0.0210 0.0207 0.0204 0.0202 0.0199 0.0196 0.0194 0.0191 0.0188 0.0186 0.0183 c (σ) 2.025 2.030 2.035 2.040 2.045 2.050 2.055 2.060 2.065 2.070 2.075 2.080 2.085 2.090 2.095 2.100 2.105 2.110 2.115 2.120 2.125 2.130 2.135 2.140 2.145 2.150 2.155 2.160 2.165 2.170 2.175 2.180 2.185 2.190 2.195 2.200 2.205 2.210 2.215 2.220 2.225 2.230 2.235 2.240 2.245 2.250 2.255 2.260 2.265 2.270 ξd (σ) 2.390 2.395 2.400 2.405 2.410 2.415 2.420 2.425 2.430 2.430 2.435 2.440 2.445 2.450 2.455 2.460 2.465 2.470 2.470 2.475 2.480 2.485 2.490 2.495 2.500 2.505 2.510 2.515 2.515 2.520 2.525 2.530 2.535 2.540 2.545 2.550 2.555 2.560 2.560 2.565 2.570 2.575 2.580 2.585 2.590 2.595 2.600 2.605 2.605 2.610 Pr 0.0181 0.0178 0.0176 0.0174 0.0171 0.0169 0.0167 0.0164 0.0162 0.0160 0.0158 0.0156 0.0153 0.0151 0.0149 0.0147 0.0145 0.0143 0.0141 0.0139 0.0137 0.0135 0.0133 0.0132 0.0130 0.0128 0.0126 0.0124 0.0123 0.0121 0.0119 0.0117 0.0116 0.0114 0.0113 0.0111 0.0109 0.0108 0.0106 0.0105 0.0103 0.0102 0.0100 0.0099 0.0097 0.0096 0.0095 0.0093 0.0092 0.0091 c (σ) 2.275 2.280 2.285 2.290 2.295 2.300 2.305 2.310 2.315 2.320 2.325 2.330 2.335 2.340 2.345 2.350 2.355 2.360 2.365 2.370 2.375 2.380 2.385 2.390 2.395 2.400 2.405 2.410 2.415 2.420 2.425 2.430 2.435 2.440 2.445 2.450 2.455 2.460 2.465 2.470 2.475 2.480 2.485 2.490 2.495 2.500 2.505 2.510 2.515 2.520 ξd (σ) 2.615 2.620 2.625 2.630 2.635 2.640 2.645 2.650 2.655 2.655 2.660 2.665 2.670 2.675 2.680 2.685 2.690 2.695 2.700 2.700 2.705 2.710 2.715 2.720 2.725 2.730 2.735 2.740 2.745 2.750 2.750 2.755 2.760 2.765 2.770 2.775 2.780 2.785 2.790 2.795 2.800 2.805 2.805 2.810 2.815 2.820 2.825 2.830 2.835 2.840 76 Pr 0.0089 0.0088 0.0087 0.0085 0.0084 0.0083 0.0082 0.0081 0.0079 0.0078 0.0077 0.0076 0.0075 0.0074 0.0073 0.0071 0.0070 0.0069 0.0068 0.0067 0.0066 0.0065 0.0064 0.0063 0.0062 0.0061 0.0061 0.0060 0.0059 0.0058 0.0057 0.0056 0.0055 0.0054 0.0054 0.0053 0.0052 0.0051 0.0050 0.0050 0.0049 0.0048 0.0047 0.0047 0.0046 0.0045 0.0045 0.0044 0.0043 0.0042 c (σ) 2.525 2.530 2.535 2.540 2.545 2.550 2.555 2.560 2.565 2.570 2.575 2.580 2.585 2.590 2.595 2.600 2.605 2.610 2.615 2.620 2.625 2.630 2.635 2.640 2.645 2.650 2.655 2.660 2.665 2.670 2.675 2.680 2.685 2.690 2.695 2.700 2.705 2.710 2.715 2.720 2.725 2.730 2.735 2.740 2.745 2.750 2.755 2.760 2.765 2.770 ξd (σ) 2.845 2.850 2.855 2.855 2.860 2.865 2.870 2.875 2.880 2.885 2.890 2.895 2.900 2.905 2.910 2.910 2.915 2.920 2.925 2.930 2.935 2.940 2.945 2.950 2.955 2.960 2.965 2.965 2.970 2.975 2.980 2.985 2.990 2.995 3.000 3.005 3.010 3.015 3.020 3.025 3.025 3.030 3.035 3.040 3.045 3.050 3.055 3.060 3.065 3.070 Pr 0.0042 0.0041 0.0041 0.0040 0.0039 0.0039 0.0038 0.0037 0.0037 0.0036 0.0036 0.0035 0.0035 0.0034 0.0033 0.0033 0.0032 0.0032 0.0031 0.0031 0.0030 0.0030 0.0029 0.0029 0.0029 0.0028 0.0028 0.0027 0.0027 0.0026 0.0026 0.0025 0.0025 0.0025 0.0024 0.0024 0.0023 0.0023 0.0023 0.0022 0.0022 0.0022 0.0021 0.0021 0.0021 0.0020 0.0020 0.0020 0.0019 0.0019 c (σ) 2.775 2.780 2.785 2.790 2.795 2.800 2.805 2.810 2.815 2.820 2.825 2.830 2.835 2.840 2.845 ξd (σ) 3.075 3.080 3.085 3.085 3.090 3.095 3.100 3.105 3.110 3.115 3.120 3.125 3.130 3.135 3.140 Pr 0.0019 0.0018 0.0018 0.0018 0.0017 0.0017 0.0017 0.0017 0.0016 0.0016 0.0016 0.0015 0.0015 0.0015 0.0015 c (σ) 2.850 2.855 2.860 2.865 2.870 2.875 2.880 2.885 2.890 2.895 2.900 2.905 2.910 2.915 2.920 ξd (σ) 3.145 3.145 3.150 3.155 3.160 3.165 3.170 3.175 3.180 3.185 3.190 3.195 3.200 3.205 3.210 77 Pr 0.0014 0.0014 0.0014 0.0014 0.0013 0.0013 0.0013 0.0013 0.0013 0.0012 0.0012 0.0012 0.0012 0.0012 0.0011 c (σ) 2.925 2.930 2.935 2.940 2.945 2.950 2.955 2.960 2.965 2.970 2.975 2.980 2.985 2.990 2.995 ξd (σ) 3.210 3.215 3.220 3.225 3.230 3.235 3.240 3.245 3.250 3.255 3.260 3.265 3.270 3.275 3.275 Pr 0.0011 0.0011 0.0011 0.0011 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0009 0.0009 0.0009 0.0009 0.0009 Bijlage C Geschreven MATLAB code Tick2second 1 2 3 4 5 function [newtime,newprice] = tick2second(time,price) %TIME2INTERVAL Zet Bloomberg Tick Data om naar secondendata % Zet meerdere ticks om in secondendata door de openingstick te nemen van % iedere seconde. Daarnaast worden missende waardes opgevuld met vorige % prijsdata. 6 7 8 temptime(1) = time(1); tempprice(1) = price(1); 9 10 for i=1:length(time) 11 if temptime(end) 6= time(i) temptime(end+1) = time(i); tempprice(end+1) = price(i); end 12 13 14 15 16 end 17 18 19 20 dt = datenum(0,0,0,0,0,1); newtime = temptime(1):dt:temptime(end); newprice = zeros(1,length(newtime)); 21 22 k=1; 23 24 25 26 27 28 29 30 31 for j=1:length(newtime) if abs(temptime(k)− newtime(j)) < 0.5*dt newprice(j) = tempprice(k); k = k+1; else newprice(j) = newprice(j−1); end end Browninan motion generator Gebruikt voor figuur 2.4 1 2 3 4 function [ output args ] = Brownian(start,mu,sigma,steps) %Brownse beweging GENERATOR Deze functie plot enkele Brownse bewegings % Deze functie plot drie Brownse bewegingen voor een gegeven startwaarde, mu, % sigma en aantal stappen. 5 6 7 8 9 sigma = sigma / steps; mu = 1 + mu / steps; gbmeen=start; value = start; 78 10 11 12 13 14 for i = 2:steps gbmeen(end+1) = value*mu + value*sigma*normrnd(0,1); value = gbmeen(end); end 15 16 17 plot(gbmeen,'Color',[0 0 0]); hold on; 18 19 20 gbmtwee = start; value = start; 21 22 23 24 25 for i = 2:steps gbmtwee(end+1) = value*mu + value*sigma*normrnd(0,1); value = gbmtwee(end); end 26 27 plot(gbmtwee,'Color',[0.75 0.75 0.75]); 28 29 30 gbmdrie = start; value = start; 31 32 33 34 35 for i = 2:steps gbmdrie(end+1) = value*mu + value*sigma*normrnd(0,1); value = gbmdrie(end); end 36 37 plot(gbmdrie,'Color',[0.5 0.5 0.5]); 38 39 40 legend('Simulatie 1','Simulatie 2','Simulatie 3') legend('Location','SouthWest') 41 42 43 hold off; end VXX futures weight calculator 1 2 3 4 5 6 7 function [front,second] = stfweight(date) %Short Term VIX Futures Total Return Index Weigth % Berekent het percentage van het AANTAL front en second month futures in de % index op een gegeven dag volgens de vorm 'dd−mm−yy'. Als deze leeg % wordt gelaten wordt de huidige dag gebruikt. Output arguments zijn % [front,second] in een decimale representatie. Werkt alleen na 16 % januari 2013. 8 9 10 % Alle futures expirations voor 2013 en 2014 vxexpdates = datenum({'16−01−13', '13−02−13', '20−03−13', '17−04−13', '22−05−13', ... '19−06−13', '17−07−13', '21−08−13', '18−09−13', '16−10−13', '20−11−13', ... '18−12−13', '22−01−14', '19−02−14', '18−03−14', '16−04−14', '21−05−14', ... '18−06−14', '16−07−14', '20−08−14', '17−09−14', '22−10−14', '19−11−14', ... '17−12−14'},'dd−mm−yy'); 11 12 13 14 15 16 17 18 % Controleer of er een speciale datum is gegeven, indien het geval, deze % gebruiken, anders is de dag de huidige dag if nargin < 1 vandaag = today(); else vandaag = datenum(date,'dd−mm−yy'); end 19 20 21 % Bereken de volgende werkdag morgen = busdate(vandaag, 1); 22 23 24 25 26 % Bereken de huidige experiatiedatum en vorige expiratiedatum currexpdate = vxexpdates(1); for i = 1:24 if vandaag > vxexpdates(i) 79 currexpdate = vxexpdates(i+1); prevexpdate = vxexpdates(i); 27 28 end 29 30 end 31 32 33 % Bereken de laatste handelsdag in huidige periode currlasttrade = currexpdate − 1; 34 35 36 % Bereken totaal aantal werkdagen in huidige roll periode dt = length(busdays(prevexpdate,currlasttrade)); 37 38 39 % Bereken het aantal werkdagen te gaan in huidige roll periode dr = length(busdays(morgen,currlasttrade)); 40 41 42 % Bereken het percentage contracten van de eerste maand front = dr/dt; 43 44 45 % Berkene het percentage contracten van de tweede maand second = 1 − front; 46 47 48 49 50 51 % Zet tweede maands contracten om in eerste maands contracten bij einde periode if second == 1 front = 1; second = 0; end 52 53 54 display(front); display(second); 55 56 end Minimalisatie fout RTindex en IVindex Gebruikt voor figuur 6.2 1 2 3 4 5 %MINERROR Vindt de optimale waarde voor de delay en hedge ratio % Vindt aan de hand van de rtindex en de Indicative Value index de % correcte hedge ratio door via een Monte Carlo simulatie de minimale % afwijking tussen de rtindex en de Indicative Value index vast te % stellen. 6 7 8 prompt = 'Geef minimale waarde voor hedge ratio: '; mini = input(prompt); 9 10 11 prompt = 'Geef maximale waarde voor hedge ratio: '; maxi = input(prompt); 12 13 14 prompt = 'Geef sample size (tussen 0.01 en 0.0001): '; sample = input(prompt); 15 16 afwijking = []; 17 18 19 x = [mini:sample:maxi]; y = [0:60]; 20 21 [L,P] = meshgrid(x,y); 22 23 24 25 26 27 28 29 30 for i=0:60 l = 23401 − i; j=1; for k=mini:sample:maxi afwijking(i+1,j) = (sum(abs(avxxivprice((i+1):23401) − rtindex(1:l)*k))); j = j + 1; end end 31 32 33 surfc(L,P,afwijking); xlim([mini,maxi]); 80 34 view([50 90 20]); 35 36 [r,c]=find(afwijking==min(min(afwijking()))); 37 38 39 delay = y(r); hedge = x(c); 40 41 42 display(delay); display(hedge); 43 44 45 46 ylabel('Delay'); xlabel('Hedgeratio'); zlabel('Cumulatieve afwijking RT Index t.o.v. IV Index'); 47 48 clear x y r c; 49 50 title(''); Mean en std methode vergelijker voor het vinden van labda Gebruikt voor figuur 7.1 1 %MEANvsSTD Vergelijkt de mean en std methode voor het vinden van labda 2 3 4 5 6 7 8 spreadvar1 spreadvar2 spreadvar3 spreadvar4 spreadvar5 spreadvar6 = = = = = = spread31mei; spread24juni; spread22juli; spread10sept; spread8okt; spread4nov; 9 10 11 s = []; hold off; 12 13 14 15 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar1 − m )); end 16 17 18 19 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 20 21 22 23 mei = plot(m,s,'b'); hold on; optr = plot(mu,minimum,'+r'); 24 25 26 gem = mean(spreadvar1); optg = plot(gem,minimum,'+g'); 27 28 29 clear m spread; s = []; 30 31 32 33 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar2 − m )); end 34 35 36 37 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 38 39 40 juni = plot(m,s,'r'); plot(mu,minimum,'+r'); 41 42 43 gem = mean(spreadvar2); plot(gem,minimum,'+g'); 44 45 46 clear m spread; s = []; 81 47 48 49 50 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar3 − m )); end 51 52 53 54 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 55 56 57 juli = plot(m,s,'b−.'); plot(mu,minimum,'+r'); 58 59 60 gem = mean(spreadvar3); plot(gem,minimum,'+g'); 61 62 63 clear m spread; s = []; 64 65 66 67 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar4 − m )); end 68 69 70 71 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 72 73 74 sept = plot(m,s,'r−.'); plot(mu,minimum,'+r'); 75 76 77 gem = mean(spreadvar4); plot(gem,minimum,'+g'); 78 79 80 clear m spread; s = []; 81 82 83 84 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar5 − m )); end 85 86 87 88 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 89 90 91 okt = plot(m,s,'b−−'); plot(mu,minimum,'+r'); 92 93 94 gem = mean(spreadvar5); plot(gem,minimum,'+g'); 95 96 97 clear m spread; s = []; 98 99 100 101 for m = −0.05:0.0001:0.05 s(end+1) = std(abs(spreadvar6 − m )); end 102 103 104 105 m = −0.05:0.0001:0.05; [minimum,mindex] = min(s); mu = m(mindex); 106 107 108 nov = plot(m,s,'r−−'); plot(mu,minimum,'+r'); 109 110 111 gem = mean(spreadvar6); plot(gem,minimum,'+g'); 112 113 114 115 xlabel('\lambda'); ylabel('\sigma'); legend([mei juni juli sept okt nov optr optg],'31 mei','24 juni','22 juli','10 ... september','8 oktober','4 november','std methode \lambda','mean methode ... 82 \lambda','Location','SouthWest'); 116 117 118 clear m spread s spreadvar1 spreadvar2 spreadvar3 spreadvar4 spreadvar5 ... spreadvar6 minimum mindex gen mei juni juli sept okt nov optb optr optg; hold off; CASO (1 dimensionaal, afhankelijk van divergence target) Gebruikt voor 7.2 1 2 3 4 5 6 function [target,maximum] = caso(c,m,s) %CASO (Convergence Arbitrage Strategy Optimum) Berekent het optimale divergence ... target % output: [target,maximum] % caso('commissiekosten per share','mu van distributie % divergences','sigma van distributie divergences') % Het model gaat uit van een normale distributie van de divergences. 7 8 9 10 11 format long; f = @(x) 2.*(x−c).*(1−normcdf(x,m,s)); [maximum,target] = max(f(c:0.000001:0.8)); target = (target−1)*0.000001 + c; 12 13 ezplot(f,[c,0.08]); 14 15 16 xlabel('Divergence target ($)'); ylabel('Theoretische winst'); 17 18 hold on; 19 20 21 plot(target,maximum,'r+'); text(target,maximum,sprintf('Maximale ... winst'),'VerticalAlignment','bottom','HorizontalAlignment','left'); 22 23 ylim([0 3e−3]); 24 25 26 27 hold off; set(gca,'YTick',[]); title(''); 28 29 30 target maximum 31 32 end Strategie test bij vastliggende commissiekosten Gebruikt voor figuur 8.1 1 2 3 4 5 6 function strategyprofit(spreadvar,commission) %STRATEGYPROFIT Test winst van strategie op historische data % Simplele test om de winst van een strategie te testen aan de hand van % historische data bij een gegeven commissiekosten. Het divergence target % wordt hier als variabele gebruikt. % Instructies voor input: strategyprofit('variabele met spread ... data','commissiekosten in $') 7 8 9 10 11 12 13 14 position = 0; target = commission:0.0001:0.08; close = 0.01; profit = zeros(length(target),1); spread = spreadvar; maxi = []; maxindex = []; 15 83 16 17 m = mean(spreadvar); spread = spread − m; 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 for j = 1:length(target) temptarget = target(j); for i = 1:length(spread) if position == 0 if abs(spread(i)) ≥ temptarget openp = spread(i); position = 1; end else if abs(spread(i)) < close tempprof = abs(openp − spread(i)) − commission; position = 0; profit(j) = profit(j) + tempprof; end end end end 36 37 plot(target,profit); CASO vs historisch (multi dimensionaal, afhankelijk van commissiekosten) Gebruikt voor figuur 8.2 1 2 3 4 5 function casovshist(spreadvar) %CASOvsHIST Vergelijkt de historische data met het CASO model % Bij het vergelijken van de historische data met het CASo model wordt de % commissiekosten als variabele gebruikt. % Instructies voor input: casovshist('variabele met spread data') 6 7 8 9 10 11 12 13 14 15 16 hold off; position = 0; target = 0:0.0001:0.08; close = 0.01; profit = zeros(length(target),1); spread = spreadvar; maxi = []; maxindex = []; maximum = []; maximumindex = []; 17 18 19 m = mean(spreadvar); s = std(spreadvar); 20 21 spread = spread − m; 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 % Historisch for c = 0:0.0001:0.08 for j = 1:length(target) temptarget = target(j); for i = 1:length(spread) if position == 0 if abs(spread(i)) > temptarget openp = spread(i); position = 1; end else if abs(spread(i)) < close tempprof = abs(openp − spread(i)) − c; position = 0; profit(j) = profit(j) + tempprof; 38 39 end 84 end 40 end 41 end [maxi(end+1),maxindex(end+1)] = max(profit); profit = zeros(length(target),1); 42 43 44 45 end 46 47 48 49 50 51 52 53 54 55 % CASO for c = 0:0.0001:0.08 winst = []; for x = 0:0.0001:0.08 winst(end+1) = (x−c).*((1−normcdf(x,0,s))+normcdf(−x,0,s)); end [maximum(end+1),maximumindex(end+1)] = max(winst); clear profit; end 56 57 58 59 commission = 0:0.0001:0.08; maxindex = (maxindex − 1) .* 0.0001; maxindex = maxindex; 60 61 62 63 64 maximumindex = (maximumindex − 1) .* 0.0001; target = (target−1) .* 0.0001; coeff = maxi(10)/maximum(10); maximum = coeff * maximum; 65 66 67 68 69 70 71 72 73 % Linker plot subplot(1,2,1); plot(commission,maxi,'b'); hold on; plot(commission,maximum,'r−−'); xlabel('Commissiekosten ($)'); ylabel('Maximale winst per pair per dag ($)'); legend('Historisch','CASO voorspeling','Location','NorthEast'); 74 75 76 77 78 79 80 % Rechter plot subplot(1,2,2); plot(commission,maxindex,'b'); hold on; plot(commission,maximumindex,'r−−'); plot(commission,commission,'g−−'); 81 82 83 xlabel('Commissiekosten ($)'); ylabel('Optimale divergence target ($)'); 84 85 legend('Historisch','CASO voorspeling','y = x','Location','NorthWest'); 86 87 hold off; 88 89 end Delay test Gebruikt voor figuur 8.3 1 2 3 4 5 6 7 8 function delay2(spreadvar) %DELAY2 Test de impact van een hypothetische delay op de winst % Zoals bij andere tests wordt aan de hand van het optimale target bij % iedere commissiekosten de msximale winst berekend. Nu wordt het % gesimuleerde handelen echter beinvloed door de aanwezigheid van een % vertraging (delay). Wanneer een target wordt waargenomen om te handelen % zal de prijs worden genomen van x seconden later. % Instructies voor input: casovshist('variabele met spread data') 9 10 11 12 13 position = 0; target = 0.01:0.0001:0.08; close = 0.01; profit = zeros(length(target),1); 85 14 15 16 17 18 spread = spreadvar; maxindex = []; maxi = []; maxi1 = []; maxi2 = []; 19 20 21 m = mean(spreadvar); spread = spread − m; 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 % Historische winst 0 seconden delay for c = 0:0.0001:0.06 for j = 1:(length(target)−2) temptarget = target(j); for i = 1:length(spread) if position == 0 if abs(spread(i)) > temptarget openp = spread(i); position = 1; end else if abs(spread(i)) < close tempprof = abs(openp − spread(i)) − c; position = 0; profit(j) = profit(j) + tempprof; end end end end [maxi(end+1),maxindex(end+1)] = max(profit); profit = zeros(length(target),1); end 45 46 47 48 clear profit tempprof; position = 0; profit = zeros(length(target),1); 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 % Historisch winst 1 seconde delay for c = 0:0.0001:0.06 temptarget = target(round(maxindex(round(1+(c.*10000))))); for i = 1:(length(spread)−2) if position == 0 if abs(spread(i)) > temptarget openp = spread(i+1); position = 1; end else if abs(spread(i)) < close tempprof = abs(openp − spread(i+1)) − c; position = 0; profit(j) = profit(j) + tempprof; end end end maxi1(end+1) = max(profit); profit = zeros(length(target),1); end 70 71 72 73 clear profit tempprof; position = 0; profit = zeros(length(target),1); 74 75 76 77 78 79 80 81 82 83 % Historisch winst 2 seconden delay for c = 0:0.0001:0.06 temptarget = target(round(maxindex(round(1+(c.*10000))))); for i = 1:(length(spread)−2) if position == 0 if abs(spread(i)) > temptarget openp = spread(i+2); position = 1; end 86 else 84 if abs(spread(i)) < close tempprof = abs(openp − spread(i+2)) − c; position = 0; profit(j) = profit(j) + tempprof; end 85 86 87 88 89 end end maxi2(end+1) = max(profit); profit = zeros(length(target),1); 90 91 92 93 94 end 95 96 commission = 0:0.0001:0.06; 97 98 99 100 101 102 103 104 % Linker plot subplot(1,2,1); hold off; plot(commission,maxi,'b'); hold on; plot(commission,maxi1,'r'); plot(commission,maxi2,'g'); 105 106 107 xlabel('Commissiekosten ($)'); ylabel('Maximale winst per pair per dag ($)'); 108 109 legend('Delay 0 sec','Delay 1 sec','Delay 2 sec','Location','NorthEast'); 110 111 112 113 114 115 116 % Rechter plot subplot(1,2,2); hold off; plot(commission,((maxi1 − maxi)./maxi .*100),'b'); hold on; plot(commission,((maxi2 − maxi)./maxi .*100),'r'); 117 118 119 xlabel('Commissiekosten ($)'); ylabel('Procentuele winstdaling'); 120 121 legend('Delay 1 sec','Delay 2 sec','Location','NorthEast'); 122 123 hold off; 124 125 end Monte Carlo bootstrap Gebruikt voor de Monte Carlo bootstrapping test 1 2 3 4 5 6 7 %MONTECARLOBOOTSRAP Genereert de p−waarde voor de strategie winst m = 20000; qe = 5000; qff = 4000; qfs = 6000; numtrades = 191*2; targetprof = 13120; 8 9 profit = zeros(m,1); 10 11 for p = 1:m 12 13 14 15 16 17 18 19 20 21 position = 0; randtime = sort(randperm(23401,numtrades)); j = 1; for i = 1:length(vxxprice) if i == randtime(j); if j < numtrades j = j + 1; end if position == 0 87 openvxx = vxxprice(i); openvxg = vxgprice(i); openvxh = vxhprice(i); position = 1; else l = randi(2,1); if l == 2 l = −1; end; 22 23 24 25 26 27 28 29 30 31 tempprof = l*qe*(openvxx − vxxprice(i)) −l*qff*(openvxg − ... vxgprice(i)) −l*qfs*(openvxh − vxhprice(i)); profit(p) = profit(p) + tempprof; position = 0; 32 33 34 end 35 end 36 end 37 38 39 end; 40 41 42 43 histfit(profit,40); prob = 100*(1− cdf('normal',targetprof,mean(profit),std(profit))); disp(prob); 88 Bijlage D Geschreven EasyLanguage code voor TradeStation VXXGV Gebruikt om de VXX te verhandelen 1 Inputs: DataSeries1(Close of Data1), DataSeries2(Close of Data2), DataSeries3(Close of Data3), Length(500), wf1(1), wf2(1); 2 3 4 5 6 7 8 Vars: SprdDiff(0), futures(0), hedgeratio(1), Avg(0), UpperBand(0), LowerBand(0), CRtn(0), aantal(0); 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 futures = DataSeries2 * wf1 + DataSeries3 * wf2; hedgeratio = AverageFC(DataSeries1,Length) / AverageFC(futures,Length); SprdDiff = DataSeries1 − hedgeratio * futures ; Avg = AverageFC( SprdDiff, Length ); UpperBand = BollingerBand(SprdDiff,Length,1.4); LowerBand = BollingerBand(SprdDiff,Length,−1.4); CRtn = GVSetNamedInt("vxxpos",marketposition); aantal = 5000; 26 27 28 29 30 31 32 33 34 35 36 If pos(marketposition) > 0 then begin If marketposition > 0 and (SprdDiff > Upperband) then Sell aantal shares this bar on close; If marketposition < 0 and (SprdDiff < Lowerband) then Buy aantal shares this bar on close; end Else begin If (SprdDiff > UpperBand) then begin Sellshort aantal shares this bar on close; end; 37 If (SprdDiff < LowerBand) then begin Buy aantal shares this bar on close; end; 38 39 40 41 end; 89 VXGV Gebruikt om de VX Futures te verhandelen 1 inputs: Length(500), wf1(1), wf2(1), aantal(4); 2 3 4 5 6 Vars: SprdDiff(0), futures(0), hedgeratio(1), Avg(0), UpperBand(0), LowerBand(0), vxxpos(0), sprd(0); 7 8 9 10 11 12 13 14 15 16 17 18 19 Value1 = Ticks; vxxpos = round(GVGetNamedInt("vxxpos",−999.9),0); sprd = GVGetNamedFloat("spread",−999.9); print(sprd); 20 21 22 23 24 25 26 27 28 29 If pos(marketposition) > 0 then begin If marketposition < 0 and (vxxpos < 0) then Buy aantal contracts this bar on close; If marketposition > 0 and (vxxpos > 0) then Sell aantal contracts this bar on close; If marketposition < 0 and (vxxpos = 0) then Buy this bar on close; If marketposition > 0 and (vxxpos = 0) then Sell this bar on close; 30 31 32 end Else begin If (vxxpos < 0) then begin Buy this bar on close; end; If (vxxpos > 0) then begin SellShort this bar on close; end; 33 34 35 36 37 38 39 end; 90 Bijlage E Ruwe data handelsdag VXX Tijd 16:34:49 16:35:55 16:36:43 16:38:06 16:40:43 16:43:04 16:43:17 16:43:26 16:43:58 16:44:02 16:44:12 16:44:26 16:44:35 16:44:44 16:44:46 16:45:23 16:46:32 16:47:13 16:47:52 16:48:16 16:48:26 16:49:06 16:49:20 16:52:59 16:58:02 17:00:15 17:02:18 17:02:51 17:04:35 17:06:23 VXX P trade $350.00 $0.00 $700.00 ($400.00) $950.00 $100.00 $450.00 $150.00 $200.00 ($150.00) $350.00 $0.00 $350.00 $250.00 $500.00 $100.00 ($200.00) ($300.00) ($400.00) $0.00 ($50.00) $500.00 $0.00 $250.00 $200.00 $200.00 ($1,900.00) $150.00 ($50.00) $0.00 ($450.00) $0.00 $400.00 ($50.00) ($700.00) $200.00 $0.00 $0.00 VXG14 Tijd 16:34:51 16:35:01 16:35:56 16:36:45 16:38:18 16:40:43 16:43:06 16:43:18 16:43:51 16:44:00 16:44:02 16:44:05 16:44:14 16:44:26 16:44:37 16:44:45 16:45:05 16:46:39 16:47:18 16:47:44 16:48:17 16:48:27 16:49:30 16:53:28 16:58:02 16:58:13 17:00:16 17:00:18 17:02:23 17:02:53 17:04:40 17:06:16 17:06:52 17:07:00 VXG14 P trade ($120.00) $40.00 ($200.00) $120.00 ($560.00) $0.00 ($400.00) $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 ($160.00) ($320.00) $200.00 $0.00 $0.00 $400.00 ($120.00) ($120.00) $0.00 $0.00 $0.00 $0.00 $600.00 ($40.00) ($80.00) $0.00 $0.00 $200.00 $0.00 $240.00 $240.00 ($80.00) $0.00 $0.00 VXH14 Tijd 16:34:59 16:35:01 16:36:03 16:36:58 16:38:18 16:40:46 16:43:11 16:43:25 16:43:54 16:44:00 16:44:02 16:44:09 16:44:15 16:44:27 16:44:42 16:44:45 16:45:05 16:45:20 16:45:31 16:46:34 16:47:18 16:47:44 16:48:00 16:48:16 16:48:27 16:49:47 16:53:26 16:57:58 16:58:09 17:00:16 17:00:21 17:02:49 17:02:52 17:04:40 17:06:16 17:06:47 17:07:00 91 VXH14 P trade ($60.00) $0.00 $0.00 ($60.00) ($180.00) $240.00 ($60.00) $0.00 $0.00 $0.00 $0.00 ($300.00) ($300.00) $0.00 $0.00 $0.00 $0.00 $0.00 $300.00 $300.00 ($120.00) ($120.00) $120.00 $120.00 $0.00 $0.00 $720.00 $180.00 $0.00 ($120.00) $180.00 $180.00 ($240.00) $120.00 $300.00 ($300.00) $60.00 $60.00 TOTAAL P trade $170.00 $40.00 $500.00 ($340.00) $210.00 $340.00 ($10.00) $150.00 $200.00 ($150.00) $350.00 ($300.00) $50.00 $250.00 $340.00 ($220.00) $0.00 ($300.00) ($100.00) $700.00 ($290.00) $260.00 $120.00 $370.00 $200.00 $200.00 ($580.00) $290.00 ($130.00) ($120.00) ($270.00) $380.00 $160.00 $310.00 ($160.00) ($180.00) $60.00 $60.00 TOTAAL P cumul $0.00 $170.00 $210.00 $710.00 $370.00 $580.00 $920.00 $910.00 $1,060.00 $1,260.00 $1,110.00 $1,460.00 $1,160.00 $1,210.00 $1,460.00 $1,800.00 $1,580.00 $1,580.00 $1,280.00 $1,180.00 $1,880.00 $1,590.00 $1,850.00 $1,970.00 $2,340.00 $2,540.00 $2,740.00 $2,160.00 $2,450.00 $2,320.00 $2,200.00 $1,930.00 $2,310.00 $2,470.00 $2,780.00 $2,620.00 $2,440.00 $2,500.00 17:07:11 17:12:51 17:13:52 17:17:59 17:19:42 17:19:43 17:20:40 17:21:16 17:21:40 17:23:35 17:26:48 17:27:23 17:29:28 17:31:16 17:32:33 17:34:45 17:44:05 17:56:07 18:05:51 18:13:08 18:13:52 18:22:31 18:24:18 18:24:51 18:27:31 18:29:40 18:30:32 18:33:00 18:33:25 18:35:25 18:37:40 18:39:29 18:39:31 18:40:06 18:40:38 18:46:07 18:47:38 18:48:02 18:49:43 18:51:58 18:57:40 19:00:57 19:05:52 19:13:47 19:17:56 ($550.00) $150.00 $700.00 $0.00 $0.00 $0.00 ($200.00) $0.00 ($100.00) ($100.00) $300.00 $0.00 ($50.00) $200.00 ($50.00) $0.00 ($650.00) $450.00 $50.00 $200.00 $950.00 $2,050.00 $0.00 ($550.00) $0.00 $200.00 $1,500.00 $350.00 ($150.00) $450.00 $100.00 $150.00 $150.00 $50.00 ($100.00) ($150.00) ($250.00) ($50.00) $50.00 $50.00 ($1,550.00) $600.00 $0.00 ($100.00) $0.00 $750.00 $100.00 ($50.00) $0.00 $100.00 $150.00 $0.00 ($450.00) $1,700.00 $350.00 $0.00 17:07:18 17:13:02 17:13:51 17:18:06 17:18:18 17:19:50 17:20:35 17:20:45 17:21:30 17:21:42 17:23:19 17:24:00 17:26:50 17:27:31 17:28:53 17:29:31 17:31:21 17:32:50 17:34:46 17:44:15 17:56:08 17:56:10 18:05:54 18:12:25 18:13:17 18:14:09 18:22:50 18:24:28 18:25:36 18:28:32 18:30:37 18:33:50 18:35:43 18:38:18 18:39:30 18:39:41 18:40:25 18:41:06 18:46:07 18:46:17 18:47:38 18:47:41 18:48:16 18:51:28 18:52:35 18:54:36 18:57:51 19:01:03 19:03:40 19:06:19 19:14:17 19:19:04 $200.00 $80.00 ($120.00) $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 ($80.00) ($80.00) ($120.00) $600.00 $0.00 ($200.00) ($400.00) ($320.00) $0.00 ($400.00) $200.00 $0.00 $0.00 ($640.00) $40.00 $80.00 $0.00 ($160.00) $0.00 $80.00 $0.00 $120.00 $240.00 ($80.00) ($120.00) $120.00 $0.00 $600.00 ($80.00) ($280.00) $0.00 ($80.00) ($280.00) ($400.00) $0.00 $40.00 ($200.00) ($200.00) $0.00 $320.00 ($400.00) $0.00 $0.00 17:07:18 17:13:04 17:13:51 17:13:54 17:18:08 17:18:10 17:19:50 17:20:35 17:20:45 17:21:36 17:21:42 17:23:19 17:24:27 17:26:51 17:27:27 17:28:53 17:29:57 17:31:21 17:32:50 17:34:46 17:44:08 17:56:08 17:56:39 18:06:28 18:12:17 18:13:17 18:14:09 18:22:48 18:24:21 18:25:36 18:27:50 18:30:33 18:33:17 18:35:35 18:37:53 18:39:30 18:39:36 18:40:11 18:40:40 18:46:06 18:46:11 18:47:46 18:48:16 18:50:02 18:52:35 18:54:31 18:58:17 19:01:12 19:04:04 19:06:19 19:14:46 19:17:57 92 $180.00 $0.00 ($120.00) ($540.00) $60.00 $0.00 $0.00 $0.00 $0.00 $0.00 ($120.00) $0.00 $120.00 $0.00 $0.00 ($120.00) $420.00 ($180.00) ($60.00) ($300.00) ($480.00) $0.00 ($840.00) $240.00 $0.00 $0.00 ($420.00) $0.00 $180.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 $0.00 ($300.00) ($300.00) $0.00 $240.00 $360.00 $60.00 ($120.00) $0.00 $0.00 ($360.00) ($180.00) ($120.00) ($120.00) ($120.00) $180.00 ($120.00) $360.00 ($780.00) $0.00 $0.00 ($170.00) $230.00 $460.00 ($540.00) $60.00 $0.00 ($200.00) $0.00 ($100.00) ($100.00) $180.00 $0.00 $70.00 $120.00 ($130.00) ($240.00) $370.00 $270.00 ($210.00) ($500.00) $150.00 $2,050.00 ($1,240.00) ($110.00) $0.00 $200.00 $440.00 $390.00 $110.00 $450.00 ($60.00) $150.00 $230.00 $50.00 $20.00 $90.00 ($630.00) ($470.00) $170.00 $290.00 ($590.00) $580.00 ($400.00) ($100.00) ($80.00) $110.00 ($480.00) ($170.00) ($80.00) ($220.00) $130.00 ($120.00) $230.00 $520.00 $350.00 $0.00 $2,560.00 $2,390.00 $2,620.00 $3,080.00 $2,540.00 $2,600.00 $2,600.00 $2,400.00 $2,400.00 $2,300.00 $2,200.00 $2,380.00 $2,380.00 $2,450.00 $2,570.00 $2,440.00 $2,200.00 $2,570.00 $2,840.00 $2,630.00 $2,130.00 $2,280.00 $4,330.00 $3,090.00 $2,980.00 $2,980.00 $3,180.00 $3,620.00 $4,010.00 $4,120.00 $4,570.00 $4,510.00 $4,660.00 $4,890.00 $4,940.00 $4,960.00 $5,050.00 $4,420.00 $3,950.00 $4,120.00 $4,410.00 $3,820.00 $4,400.00 $4,000.00 $3,900.00 $3,820.00 $3,930.00 $3,450.00 $3,280.00 $3,200.00 $2,980.00 $3,110.00 $2,990.00 $3,220.00 $3,740.00 $4,090.00 19:19:05 19:20:28 19:24:36 19:27:47 19:29:33 19:30:02 19:30:36 19:35:27 19:36:26 19:39:17 19:40:39 19:46:45 19:47:10 19:47:48 19:50:54 20:02:23 20:06:22 20:10:23 20:14:10 20:14:22 20:16:53 20:20:18 20:21:18 20:23:11 20:23:18 20:25:39 20:29:33 20:32:08 20:32:24 20:32:41 20:35:26 20:40:55 20:42:31 20:43:28 20:48:45 20:51:02 20:51:25 20:52:48 20:55:06 20:59:41 21:00:19 21:02:43 21:04:27 21:07:54 21:08:47 21:10:35 $0.00 $450.00 $250.00 $0.00 $1,000.00 $200.00 ($200.00) ($200.00) $650.00 $0.00 $150.00 $100.00 ($200.00) $0.00 ($550.00) ($100.00) $100.00 $0.00 $200.00 $250.00 $0.00 ($450.00) $350.00 ($250.00) $700.00 $0.00 ($750.00) $500.00 $100.00 $0.00 $300.00 ($800.00) $0.00 ($550.00) ($200.00) $250.00 $300.00 ($200.00) ($400.00) $400.00 $0.00 ($1,250.00) ($50.00) $0.00 $100.00 $0.00 $250.00 $700.00 $50.00 $350.00 $350.00 $600.00 ($50.00) ($50.00) ($50.00) ($400.00) 19:19:20 19:21:06 19:24:33 19:24:40 19:27:53 19:29:35 19:30:49 19:35:39 19:36:36 19:39:30 19:41:03 19:47:04 19:47:14 19:47:53 19:49:56 19:50:58 20:02:17 20:02:27 20:06:46 20:11:00 20:14:12 20:14:22 20:14:24 20:16:57 20:21:04 20:21:22 20:23:05 20:23:13 20:23:19 20:25:37 20:25:42 20:29:39 20:32:20 20:32:25 20:32:49 20:35:37 20:41:11 20:42:53 20:43:32 20:48:50 20:50:17 20:51:06 20:51:23 20:51:30 20:52:58 20:55:12 20:59:53 21:00:25 21:02:53 21:04:40 21:07:55 21:08:54 21:10:40 $0.00 $0.00 $0.00 $0.00 ($280.00) ($200.00) ($240.00) ($120.00) $0.00 $0.00 $0.00 ($80.00) ($80.00) ($320.00) $0.00 $160.00 $0.00 $0.00 $40.00 $0.00 ($120.00) $200.00 ($400.00) $120.00 $0.00 ($160.00) $440.00 $160.00 $0.00 $0.00 $0.00 $280.00 $0.00 $200.00 $160.00 ($80.00) $0.00 $0.00 $200.00 $0.00 $120.00 $1,120.00 $0.00 $0.00 ($160.00) $0.00 $0.00 $0.00 $0.00 ($400.00) ($120.00) ($480.00) $0.00 $0.00 $80.00 $400.00 93 19:18:07 19:19:22 19:21:09 19:24:33 19:24:38 19:28:01 19:29:35 19:30:06 19:30:16 19:30:39 19:36:02 19:36:46 19:39:24 19:41:03 19:47:00 19:47:11 19:48:22 19:49:18 19:50:58 20:02:21 20:02:27 20:06:42 20:11:10 20:14:12 20:14:22 20:14:25 20:16:57 20:20:31 20:21:24 20:23:06 20:23:13 20:23:20 20:25:37 20:25:45 20:29:57 20:32:20 20:32:34 20:32:50 20:35:46 20:40:56 20:42:35 20:43:27 20:49:21 20:50:19 20:51:04 20:51:11 20:51:26 20:52:49 20:55:13 20:59:50 21:00:25 21:02:48 21:04:37 21:07:55 21:08:54 21:10:35 $0.00 $180.00 ($180.00) ($60.00) ($480.00) ($120.00) ($60.00) ($60.00) $60.00 ($120.00) $0.00 ($60.00) $0.00 $0.00 $120.00 $60.00 $0.00 $0.00 $0.00 ($180.00) ($120.00) $360.00 ($120.00) $120.00 $0.00 ($180.00) $60.00 ($240.00) $240.00 $0.00 $180.00 $480.00 $0.00 $180.00 $0.00 $60.00 $0.00 $600.00 $240.00 ($300.00) $300.00 $840.00 $120.00 $0.00 $0.00 $0.00 $60.00 ($300.00) $300.00 $180.00 $0.00 ($300.00) ($180.00) $60.00 $240.00 $300.00 $0.00 $630.00 $70.00 ($60.00) $240.00 ($120.00) ($500.00) ($380.00) $710.00 ($120.00) $150.00 ($40.00) ($280.00) ($320.00) ($430.00) $120.00 $100.00 $0.00 $240.00 $70.00 ($240.00) $110.00 ($170.00) ($10.00) $700.00 ($340.00) ($250.00) $420.00 $340.00 $0.00 $480.00 ($40.00) $0.00 ($170.00) ($40.00) $230.00 $300.00 $400.00 $40.00 $100.00 $420.00 $710.00 $70.00 $0.00 ($60.00) $0.00 $310.00 $400.00 $350.00 $130.00 $230.00 ($180.00) ($230.00) $10.00 $270.00 $300.00 $4,090.00 $4,090.00 $4,720.00 $4,790.00 $4,730.00 $4,970.00 $4,850.00 $4,350.00 $3,970.00 $4,680.00 $4,560.00 $4,710.00 $4,670.00 $4,390.00 $4,070.00 $3,640.00 $3,760.00 $3,860.00 $3,860.00 $4,100.00 $4,170.00 $3,930.00 $4,040.00 $3,870.00 $3,860.00 $4,560.00 $4,220.00 $3,970.00 $4,390.00 $4,730.00 $4,730.00 $5,210.00 $5,170.00 $5,170.00 $5,000.00 $4,960.00 $5,190.00 $5,490.00 $5,890.00 $5,930.00 $6,030.00 $6,450.00 $7,160.00 $7,230.00 $7,230.00 $7,170.00 $7,170.00 $7,480.00 $7,880.00 $8,230.00 $8,360.00 $8,590.00 $8,410.00 $8,180.00 $8,190.00 $8,460.00 21:12:19 21:13:08 21:13:30 21:14:14 21:14:35 21:15:31 21:15:58 21:16:59 21:17:55 21:23:00 21:23:11 21:25:15 21:27:56 21:28:46 21:35:19 21:35:54 21:36:33 21:38:26 21:38:55 21:41:57 21:42:11 21:46:45 21:47:06 21:50:22 21:51:46 21:51:51 21:52:31 21:52:53 21:54:47 21:55:10 21:56:13 21:56:35 21:56:49 ($50.00) $0.00 $550.00 $550.00 $0.00 ($100.00) $50.00 $0.00 $0.00 $550.00 $200.00 ($150.00) $50.00 $150.00 $200.00 ($350.00) ($350.00) $0.00 ($300.00) $50.00 $100.00 $0.00 $450.00 $500.00 ($100.00) $650.00 $250.00 $0.00 ($400.00) ($550.00) $0.00 ($50.00) $200.00 $0.00 $300.00 ($50.00) $0.00 ($100.00) $0.00 $600.00 ($50.00) 21:12:24 21:12:35 21:13:13 21:13:43 21:13:56 21:14:14 21:14:38 21:15:02 21:15:40 21:16:14 21:17:31 21:17:59 21:23:10 21:28:18 21:28:46 21:28:48 21:35:23 21:35:50 21:36:47 21:37:56 21:38:31 21:39:19 21:42:02 21:42:15 21:46:49 21:47:02 21:47:09 21:50:25 21:51:43 21:51:50 21:52:07 21:52:22 21:52:43 21:52:56 21:55:03 21:55:23 21:55:52 21:56:15 21:56:37 21:56:49 $0.00 $0.00 ($120.00) $40.00 $40.00 $0.00 $0.00 $0.00 $120.00 ($120.00) $0.00 $80.00 ($240.00) $0.00 $0.00 $80.00 $0.00 $280.00 $200.00 $80.00 $120.00 $0.00 ($40.00) ($240.00) $120.00 ($240.00) ($40.00) ($40.00) $80.00 $280.00 $200.00 ($40.00) ($120.00) $0.00 $80.00 $0.00 $0.00 $120.00 $0.00 ($120.00) $160.00 21:12:24 21:12:39 21:13:10 21:13:41 21:13:56 21:14:14 21:14:43 21:14:57 21:15:43 21:16:14 21:17:07 21:18:19 21:23:03 21:23:48 21:25:44 21:28:20 21:28:46 21:28:48 21:35:23 21:36:01 21:36:41 21:37:56 21:38:31 21:39:08 21:42:03 21:42:15 21:46:49 21:47:02 21:47:09 21:50:23 21:51:43 21:51:50 21:52:07 21:52:22 21:52:36 21:52:56 21:54:55 21:55:23 21:55:52 21:56:15 21:56:37 21:56:49 94 ($60.00) $0.00 ($180.00) ($120.00) $0.00 $120.00 ($120.00) ($120.00) $0.00 ($120.00) $0.00 $300.00 $240.00 $120.00 $120.00 $240.00 $0.00 $240.00 $120.00 $60.00 $120.00 $120.00 ($120.00) ($300.00) $60.00 ($180.00) $0.00 $0.00 $300.00 $180.00 $60.00 $120.00 ($120.00) $0.00 $0.00 ($240.00) ($180.00) $240.00 $0.00 ($60.00) $0.00 ($110.00) $0.00 $250.00 $470.00 $40.00 $20.00 ($70.00) ($120.00) $120.00 $310.00 $200.00 $230.00 $50.00 $270.00 $320.00 ($30.00) ($350.00) $520.00 $20.00 $190.00 $340.00 $120.00 $290.00 ($40.00) $80.00 $230.00 $210.00 ($40.00) ($20.00) ($90.00) $260.00 $30.00 ($40.00) $0.00 $380.00 ($290.00) ($180.00) $260.00 $0.00 $420.00 $110.00 $8,760.00 $8,650.00 $8,650.00 $8,900.00 $9,370.00 $9,410.00 $9,430.00 $9,360.00 $9,240.00 $9,360.00 $9,670.00 $9,870.00 $10,100.00 $10,150.00 $10,420.00 $10,740.00 $10,710.00 $10,360.00 $10,880.00 $10,900.00 $11,090.00 $11,430.00 $11,550.00 $11,840.00 $11,800.00 $11,880.00 $12,110.00 $12,320.00 $12,280.00 $12,260.00 $12,170.00 $12,430.00 $12,460.00 $12,420.00 $12,420.00 $12,800.00 $12,510.00 $12,330.00 $12,590.00 $12,590.00 $13,010.00 $13,120.00
© Copyright 2024 ExpyDoc