Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics
Het prijzen van Bitcoin-opties met behulp van sprong-diffusie processen (Engelse titel:Pricing Bitcoin options under jump-diffusion processes)
Verslag ten behoeve van het Delft Institute of Applied Mathematics als onderdeel ter verkrijging
van de graad van
BACHELOR OF SCIENCE in TECHNISCHE WISKUNDE
door
Thomas van der Zwaard Delft, Nederland 4 juli 2014
c 2014 door Thomas van der Zwaard. Alle rechten voorbehouden. Copyright
BSc verslag TECHNISCHE WISKUNDE
“Het prijzen van Bitcoin-opties met behulp van sprong-diffusie processen” (Engelse titel:“Pricing Bitcoin options under jump-diffusion processes”)
Thomas van der Zwaard
Technische Universiteit Delft
Begeleider Prof.dr.ir. C.W. Oosterlee Overige commissieleden Prof.dr.ir. C. Vuik
Dr.ir. R.J. Fokkink
Dr. J.G. Spandaw
4 juli, 2014
Delft
Voorwoord Deze scriptie is het resultaat van mijn Bachelorproject voor het behalen van het Bachelor-diploma Technische Wiskunde aan de faculteit Electrotechniek, Wiskunde en Informatica (EWI) aan de Technische Universiteit te Delft. Het doel van dit project is om een passend koersmodel te vinden voor het waardeverloop van Bitcoin en het prijzen van opties op Bitcoin. Graag wil ik professor Kees Oosterlee bedanken voor het afgelopen kwartaal waarin hij mij heeft begeleid bij dit project. Ik hoop dat u met plezier deze scriptie leest. Thomas van der Zwaard, 4 juli 2014
Inhoudsopgave Pagina Lijst van figuren Lijst van tabellen 1. Inleiding 2. Achtergrondinformatie Bitcoin 2.1. Hoe werkt Bitcoin? 2.2. Het idee 2.3. Het gebruik en de waarde 2.4. Mt. Gox 2.5. Betalen en wisselen 2.6. Alternatieven 3. De koers van Bitcoin 3.1. Continue aandeelprijs model 3.2. Risico-neutraliteit 3.3. Data analyse 3.4. De juiste verdeling zoeken 4. Sprongmodel van Merton 4.1. De theorie 4.2. Parameters 4.3. Resultaten van het model 4.4. ‘Regime-switching’ Merton Jump-Diffusion model 4.5. Risico-neutraliteit onder Merton’s Jump Diffusion 5. Sprongmodel van Kou 5.1. De theorie 5.2. Eigenschappen van het model 5.3. Simulaties 5.4. ‘Regime-switching’ Kou jump-diffusion 5.5. Risico-neutraliteit onder Kou’s Jump Diffusion 6. Financi¨ ele producten 6.1. Call- en putopties 6.2. Futures 6.3. Swaps 6.4. Foreign exchange opties (FX opties) 6.5. Binaire opties 6.6. Bitcoin-specifieke opties en andere contracten 7. Europese opties met sprong-diffusie 7.1. Prijzen van een Europese optie met Monte Carlo 7.2. Betrouwbaarheidsinterval 7.3. Nauwkeurigheid van de benadering 7.4. Antithetische variabelen 7.5. Resultaten 8. Conclusie 9. Referenties 10. Bijlagen 10.1. Simulatie bij paragraaf 3.4 10.2. Validatie Merton 10.3. Validatie Monte Carlo Kou 10.4. Plot van de returns 10.5. Merton’s Jump-Diffusion model 10.6. Aantal sprongen 10.7. ‘Regime-switching’ Merton 10.8. Kou’s Jump-Diffusion model
1 2 2 3 4 5 6 6 9 9 10 10 13 16 16 17 17 20 23 24 24 24 25 26 28 30 30 30 30 31 31 32 34 34 34 35 35 36 41 42 43 43 45 45 46 47 48 49 51
10.9. ‘Regime-switching’ Kou 10.10. Prijzen EU-call en EU-put voor Kou met risico-neutrale parameters
53 56
Lijst van figuren 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Totale hoeveelheid beschikbare bitcoins tot 2033 Totaal aantal Bitcoin-transacties per dag Bitcoin-waarde van BitStamp De waarde van Litecoin in dollars Returns op basis van de data van quandl.com Returns op basis van de data van bitcoincharts.com Returns op basis van de data van coindesk.com Een rechts- en een links-scheve verdeling Positieve en negatieve kurtosis Een simulatie met lognormale sprongen Een andere simulatie met log-normale sprongen Histogram en QQ-plot behorende bij de simulatie uit figuur 11 Koersdata van Bitcoin met daarin onderscheid tussen drie regimes Fit voor ‘regime-switching’ Merton tegen de data Histogram voor validatie van het ‘regime-switching’ Merton model Fit voor Kou tegen de data Histogram voor validatie van het Kou model Fit voor ‘regime-switching’ Kou tegen de data Histogram voor validatie van het ‘regime-switching’ Kou model Payoff van Europese put- en call-optie Payoff van binaire put- en call-optie Fit voor Merton tegen de data Slechte fit voor Merton tegen de data Histogram voor validatie van het Merton model 500 gesimuleerde Monte Carlo paden en de referentiewaarde 50 gesimuleerde Monte Carlo paden en de referentiewaarde
Pagina 4 5 5 7 11 12 12 13 14 18 19 19 21 22 23 25 26 27 28 30 31 44 45 45 46 47
Lijst van tabellen 1 2 3 4 5 6 7 8 9 10 11 12 13
Scheefheid en kurtosis van de returns van de datasets Intensiteit van sprongen in de data Scheefheid en kurtosis: data versus de simulatie uit figuur 14 Scheefheid en kurtosis: data versus de simulatie uit figuur 16 Scheefheid en kurtosis: data versus de simulatie uit figuur 18 Optiewaarden voor verschillende hoeveelheden replicaties voor 8.83, S(0) = 3.5 en E = 5 Optiewaarden voor verschillende hoeveelheden replicaties voor 8.83 en S(0) = E = 3.5 Optiewaarden voor verschillende hoeveelheden replicaties voor 8.83 en S(0) = E = 3.5, met antithetische variabelen Optiewaarden voor verschillende hoeveelheden replicaties voor 4.83 en S(0) = E = 3.5 Optiewaarden voor verschillende hoeveelheden replicaties voor 1.00 en S(0) = E = 3.5 Optiewaarden voor verschillende hoeveelheden replicaties voor 0.50 en S(0) = E = 3.5 Scheefheid en kurtosis: data versus de simulatie uit figuur 22 Lognormale sprongen
Pagina 15 18 22 26 27 parameters T = 37 parameters T = 37 parameters T = 37 parameters T = 38 parameters T = 38 parameters T = 38 44 46
1
1. Inleiding Sinds 2009 is er een nieuw soort valuta op de markt: Bitcoin. Dit is een munt die alleen kan worden ontvangen en uitgegeven in een digitale omgeving. Vanaf het ontstaan van deze valuta is er een lange tijd overheen gegaan voor het product populair werd bij het grote publiek. Terugkijkend op de afgelopen 5 12 jaar sinds Bitcoin bestaat, is er pas de laatste twee jaar vergrote interesse in Bitcoin te zien.
Recentelijk is er al veel te doen geweest over Bitcoin: een boycot in China, beschuldigingen dat het te eenvoudig zou zijn om geld wit te wassen met Bitcoin, het hacken van verschillende wisselplatforms, enorme schommelingen in waarde die sommige mensen een fortuin hebben opgeleverd, de komst van de eerste bitcoin-pinautomaat, de mogelijkheid een ruimtereis te betalen met bitcoins en nog veel meer. Veel van deze gebeurtenissen hebben geleid tot grote schommelingen in de waarde van de bitcoins, zowel positief als negatief. Deze enorme hoeveelheid schommelingen trekken de aandacht. Het is namelijk interessant vanuit wiskundig oogpunt, omdat dit gedrag niet vaak voorkomt bij een aandeel. Normaliter zijn er bij een aandeel uit de AEX alleen kleine sprongen in de koerswaarde en niet vaak veel hoge pieken en dalen. Voor die ‘normale’ aandeelkoersen zijn er al goed-werkende modellen die het gedrag van de aandelen goed nabootsen. De vraag die naar boven komt is of deze werkende modellen ook passend zijn voor het waardeverloop van Bitcoin. Aangezien Bitcoin pas zeer recent populair is geworden als product om geld mee te verdienen of als betaalmiddel is het interessant om een passend waardemodel te vinden voor Bitcoin. Het bepalen van een dergelijk model kan relevant zijn voor het prijzen van opties en voor verder onderzoek. Momenteel is er nog niet veel onderzoek gedaan naar Bitcoin op wiskundig gebied, veelal zijn de onderzoeken gericht op economische aspecten van Bitcoin of de juridische geldigheid van Bitcoin als officieel betaalmiddel. Voordat kan worden begonnen met het onderzoek naar dit model, moet worden onderzocht wat Bitcoin nou eigenlijk precies is en hoe het werkt. Nadat deze basis is gelegd, kunnen de historische data worden bestudeerd. Het doel is het bepalen van de verdeling behorende bij de data met behulp van een model. Een logische vervolgstap is het prijzen van opties op Bitcoin. Dit is interessant voor handelaren die met behulp van de volatiliteit van Bitcoin een winst willen behalen, of voor degenen die risico’s die aan Bitcoin kleven af willen dekken.
2
2. Achtergrondinformatie Bitcoin Voordat het wiskundige deel van het project begint, wordt eerst onderzocht wat Bitcoin eigenlijk precies is, hoe het is ontstaan en hoe het werkt. De antwoorden op deze vragen zullen naar voren komen in hoofdstuk 2. Om te beginnen is het goed om het verschil te benadrukken tussen Bitcoin en bitcoins. Bitcoin is het protocol waarmee je bitcoins kunt versturen. Dit zijn de waarde-eenheden die bij een transactie tussen twee partijen worden overgedragen. 2.1. Hoe werkt Bitcoin? Bitcoin is een online cryptovaluta die niet fysiek tastbaar is, het is ‘slechts’ een virtueel betaalmiddel. Dit geld kun je dus niet in de portemonnee in je broekzak stoppen, maar alleen opslaan in een online portemonnee speciaal voor bitcoins. Die portemonnee noemt men een wallet. Dit is een bestand welke toegang biedt tot een aantal Bitcoin-adressen. Een Bitcoin-adres is een reeks van getallen en letters waarop een hoeveelheid bitcoins staat opgeslagen. Omdat Bitcoin werkt in een online omgeving, moet er een programma of code achter zitten. Bitcoin maakt gebruik van een online database gebaseerd op een peer-to-peer-netwerk om de transacties in op te slaan. Een peer-to-peer-netwerk (P2P) is een netwerk van computers waarin elke computer gelijkwaardig is aan de ander. Al die computers zorgen gezamenlijk voor controle op transacties, waardoor niemand kan frauderen. Deze database is uiteraard beveiligd, dat is gedaan met behulp van cryptografie. Door dit P2P-netwerk en de beveiliging wordt er voor gezorgd dat de bitcoins alleen kunnen worden uitgegeven door de persoon die ze bezit, en dat er geen dubbele uitgaven voor kunnen komen van dezelfde bitcoin. De database is eigenlijk een keten van opgeslagen transacties, waarin wordt bijgehouden hoeveel bitcoins worden overgemaakt tussen welke personen. Dit zorgt er voor dat bitcoins niet dubbel kunnen worden uitgegeven, omdat elke transactie eerst door het netwerk moet worden goedgekeurd voordat hij wordt toegevoegd aan de keten. De transacties worden niet ´e´en voor ´e´en toegevoegd aan de database, maar dit gebeurt in blokken van meerdere transacties. Hierdoor wordt ook over blokketens gesproken als men het heeft over de manier waarop de transacties worden opgeslagen. Dit alles is moeilijk om te begrijpen, dus het geheel wordt beschreven aan de hand van een voorbeeld. Het is het meest eenvoudig om Bitcoin te zien als een digitaal kasboek. Stel je voor dat er een aantal mensen aan een tafel zitten met een laptop die allemaal direct toegang hebben tot het kasboek. Het kasboek houdt bij hoeveel bitcoins elke persoon aan de tafel heeft op ieder moment. Het is nodig dat het saldo van elke persoon bekend is bij iedereen aan tafel, en als er een transactie plaats gaat vinden tussen twee personen dan moet dit hardop worden gezegd ´ en persoon voegt vervolgens de transactie toe aan het kasboek nadat iedereen het aan tafel. E´ eens is geworden over het feit dat deze plaats kan vinden omdat de verzender in het bezit is van de juiste hoeveelheid bitcoins. Vervolgens vinkt iedereen af dat ze het met de transactie eens zijn. Nu kan de transactie plaatsvinden. Op deze manier is het niet nodig dat de bitcoins tastbaar zijn en ondertussen kan dezelfde bitcoin niet twee keer worden uitgegeven. Dit is in een notendop hoe Bitcoin werkt, behalve dat de gebruikers niet allemaal aan dezelfde tafel zitten, maar ze zijn verspreid door het hele netwerk. Verder vindt een transactie niet plaats tussen twee personen maar tussen twee adressen. Voor het verwerken van die blokken van transacties is natuurlijk wel inspanning vereist. Dit wordt het ‘minen’ (delven) van bitcoins genoemd. Voordat de transacties in blokken worden verwerkt, moeten er eerst moeilijke rekensommen worden opgelost door computers van de ‘miners’. Het rekenwerk is te vergelijken met het passen van een miljoen sleutels op een slot waarbij door wordt gezocht totdat de goede sleutel is gevonden. Nadat deze sleutel is gevonden, zijn
3
er voor de volgende deur weer meer sleutels beschikbaar. Dit proces gaat alsmaar door, dus het rekenwerk zal ook toenemen in moeilijkheidsgraad. Lukt het deze personen het rekenwerk correct te verrichten, dan wordt een kleine beloning aan hen uitgekeerd. Dit gebeurd in de vorm van nieuwe bitcoins. Het elegante van Bitcoin is dus dat tijdens het produceren van nieuwe bitcoins ook het uitwisselen van bitcoins tussen verschillende personen plaatsvindt. Dit is elegant omdat het vernieuwend is dat binnen hetzelfde proces nieuwe munten worden gegenereerd en transacties worden uitgevoerd. Die rekensommen waar net over werd gesproken zijn niet zomaar sommen, ze hebben ook nut. De miners moeten de transacties bundelen in een blok met een tijdstempel. Hierbij gebruiken ze een cryptografische functie. Er wordt dus eigenlijk een soort handtekening voor dat blok gemaakt en vervolgens wordt het blok geseald. Dit verwerkte blok wordt nu toegevoegd aan een reeks met al verwerkte blokken. Dit vormt de blokketen. Bij het produceren van de handtekening voor een nieuw blok en het sealen ervan wordt altijd ook de handtekening van het voorgaande blok meegenomen, waardoor het nieuwe blok is verbonden met zijn voorganger. Dit geldt voor alle blokken, dus vandaar wordt van een blokketen gesproken. Het proces van het vinden van de unieke handtekening voor een blok is erg complex, maar het is wel makkelijk te controleren door de anderen in het netwerk. Als een miner de juiste handtekening heeft gevonden na lang proberen, dan is het blok opgelost. Voor deze inspanning krijgt de miner een beloning in de vorm van nieuwe bitcoins die nog niet eerder beschikbaar waren op de markt. Het totale aantal bitcoins stijgt dus nadat er een blok is verwerkt in de blokketen. Het rekenwerk dat vereist is voor het vinden van de juiste handtekening wordt steeds moeilijker. Hierdoor is het ondertussen vrijwel onmogelijk geworden om alleen een blok te verwerken met de correcte handtekening. De oplossing die de miners hiervoor hebben gevonden is het bundelen van hun krachten. In zogenoemde ‘mining pools’ proberen ze met elkaar de juiste handtekening te vinden. Het spreekt voor zich dat over het algemeen meerdere mensen samen sneller de juiste handtekening vinden dan een individu. Als ze een blok hebben opgelost dan verdelen ze de verdiende beloning. Omdat het werk steeds moeilijker wordt om de blokken op te lossen komt er een moment dat het niet meer aantrekkelijk is voor miners om te minen. Daar is ook over nagedacht, want het is mogelijk om in de toekomst bitcoins te vragen voor het uitvoeren van een transactie, waardoor het weer aantrekkelijk wordt te minen. Opmerkelijk is dat de totale hoeveelheid bitcoins die ooit beschikbaar zullen zijn vast staat op 21 miljoen. Er kan dus niet zomaar geld bij worden gedrukt zoals bij de Euro, de Dollar of een andere vergelijkbare valuta. Een vraag die naar voren komt is of die 21 miljoen wel genoeg zal zijn. Hebben we op een gegeven moment niet meer nodig? De oplossing die is bedacht voor dit probleem is het feit dat elke bitcoin deelbaar is tot op 8 decimalen. In vergelijking met bijvoorbeeld de Euro kan dus 6 decimalen verder worden gegaan. Met de Euro is het kleinste bedrag dat kan worden betaald e 0.01. In het geval van Bitcoin zou dit 0.00000001 bitcoin zijn. Zie figuur 1 voor een curve van de hoeveelheid beschikbare bitcoins van 2009 tot 2033.
2.2. Het idee. Dit alles is in 2009 bedacht en gepubliceerd door Satoshi Nakamoto [17], wat een pseudoniem is voor een nog altijd onbekende persoon of groep mensen. Nakamoto heeft de code van het programma achter Bitcoin geschreven en vervolgens openbaar gemaakt. Dit noemt men ‘open source’. Het gevolg hiervan is dat niemand kan worden aangewezen als de beheerder/eigenaar van Bitcoin aangezien iedereen in het netwerk een aandeel heeft in Bitcoin. In 2012 is Nakamoto gestopt zich te bemoeien met Bitcoin en heeft zijn idee aan de ‘online community’ geschonken.
4
Figuur 1. Totale hoeveelheid beschikbare bitcoins tot 2033 Door het principe van ‘open source’ is Bitcoin niet gekoppeld aan een centrale administratie zoals een bank. Dit is een van de beweegredenen van Nakamoto om Bitcoin te cre¨eren en het brengt een aantal voordelen met zich mee: • Het is vrijwel onmogelijk om de inflatie te be¨ınvloeden. • Meer privacy dan bij andere betaalmiddelen. • Transacties zijn niet terug te draaien. • Vooralsnog zijn er geen transactiekosten. • De tijd die het nu duurt om een transactie uit te voeren is erg kort. Echter zijn er ook een aantal nadelen die kleven aan het gebruik van Bitcoin als betaalmiddel: • Het uitvoeren van transacties gaat steeds langer duren. • Geen volledige anonimiteit zoals oorspronkelijk de wens was. • De waarde van een bitcoin is erg gevoelig voor personen die hevig speculeren met bitcoins. • Het is fraudegevoelig, aangezien wisselplatforms kunnen worden gehackt. Het is mogelijk om Bitcoin aan te vallen met een zogenoemde 51% aanval. Dit houdt in dat ´e´en gebruiker of een groep gebruikers in het bezit komt van 51% of meer van de totale hoeveelheid bitcoins. Deze zou dan de hele blokketen kunnen herschrijven en op die manier al het geld naar zichzelf wegsluizen. Men achtte dit tot kort geleden onmogelijk, maar op 16 juni 2014 kwam op nu.nl [10] het bericht dat de eerste 51% aanval voor het eerst mogelijk was. Het gebeurde namelijk op 12 juni 2014 dat de groep GHash 51% van de rekenkracht achter het Bitcoin-netwerk leverde. Echter is er nog geen bewijs dat deze macht is misbruikt. Over eventuele gevolgen van dit 51% bezit meldt nu.nl het volgende: “Met meer dan 50 procent van de rekenkracht zou het bijvoorbeeld mogelijk kunnen zijn om ´e´en bitcoin twee maal uit te geven of om andere transacties te blokkeren. Bovendien zou een aanval kunnen worden uitgevoerd op het hele bitcoin-netwerk zelf.” 2.3. Het gebruik en de waarde. Er zijn maar weinig mensen die Bitcoin kennen vanaf het begin. Pas in de afgelopen anderhalf jaar is Bitcoin bekend geworden bij een breder publiek. Dit is terug te zien in de hoeveelheid transacties die per dag zijn uitgevoerd, zie figuur 2.
5
Figuur 2. Totaal aantal Bitcoin-transacties per dag Tegen het einde van 2012 is de koers van Bitcoin erg gaan stijgen en daarmee werd dit financi¨ele product aantrekkelijker voor investeerders. Zie figuur 3 voor de koers van Bitcoin van de afgelopen tijd.
Figuur 3. Bitcoin-waarde van BitStamp Er zijn een aantal opvallende sprongen in de waarde van Bitcoin. Sommige hiervan hebben te maken met gebeurtenissen, zoals het feit dat China Bitcoin heeft geboycot begin december 2013. 2.4. Mt. Gox. Veel bedrijven zijn slim ingesprongen op deze nieuwe financi¨ele ontwikkeling en hebben hier grote winsten mee behaald. Echter kan succes gepaard gaan met de nodige verliezen. Mt. Gox is hier een goed voorbeeld van. Het is een wisselplatform opgericht in juli 2010 in Tokyo. Opmerkelijk is dat gedurende 2013 dit bedrijf 70% van alle Bitcoin-transacties verwerkte. Destijds was dit een zeer grote speler in de Bitcoin-markt. Een jaar later, in februari
6
2014, werd er echter een faillissementsverklaring ondertekend. De website van Mt. Gox ging uit de lucht en ook het wisselplatform werd stilgelegd. De reden van deze tragedie is het vermissen van 850.000 bitcoins van de klanten van het bedrijf. Men verdenkt Mt. Gox ervan dat deze niet zomaar ontbreken maar gestolen zijn. Deze bitcoins hadden een totale waarde van $450 miljoen. Ongeveer een kwart van deze hoeveelheid is teruggevonden, alleen niemand weet tot op de dag van vandaag op welke manier de bitcoins zijn verdwenen.
2.5. Betalen en wisselen. Vandaag de dag zijn er veel mogelijkheden voor het dagelijks gebruik van bitcoins. Steeds meer winkels/webshops accepteren tegenwoordig bitcoins als betaalmiddel: • Het is mogelijk eten te bestellen via thuisbezorgd.nl. • In Stadscaf´e de Waag in Delft kan eten en drinken worden betaald. • Op DeOnlineDrogist.nl kunnen meer dan 40.000 artikelen worden bestelt. • BTCshop.org is een webshop toegespitst op bitcoin-betalingen. • Ook zijn er rijscholen, schilders, slijterijen en vele anderen die bitcoin-betalingen mogelijk maken. Deze kleine greep uit het scala van mogelijkheden laat zien dat bedrijven de komst van Bitcoin als praktisch betaalmiddel serieus nemen. Elke dag komen er bedrijven bij en zo lang de koers van Bitcoin niet keldert zal dit waarschijnlijk zo blijven. Naast de mogelijkheid om te betalen, zijn er ook velen die op elk moment hun bitcoins willen wisselen tegen wat voor valuta dan ook. Dit zijn bijvoorbeeld handelaren die hun inleg willen vergroten door op het juiste moment te kopen en te verkopen. Het is natuurlijk ook mogelijk dat iemand bitcoins wil kopen om vervolgens hier betalingen mee te verrichten. Kortom, er zijn vele typen gebruikers die bitcoins willen wisselen. Dit is mogelijk op online wisselplatforms. Er zijn wereldwijd tientallen van deze platforms. Is een persoon ge¨ınteresseerd in het kopen van bitcoins, dan moet deze geld overmaken naar het rekeningnummer van het wisselplatform onder vermelding van zijn of haar persoonsgegevens. Vervolgens is het kopen en verkopen van bitcoins mogelijk en ook zijn ze eenvoudig te versturen naar een persoonlijke ‘wallet’. Door zo snel mogelijk de gekochte/verkochte bicoins over te plaatsen naar een persoonlijke wallet/bankrekening het risico gehackt te worden aanzienlijk gereduceerd. Elk wisselplatforum rekent een toeslag voor het gebruiken van hun diensten. Opmerkelijk is dat elk platform weer verschillende bedragen in rekening brengt voor verschillende type transacties. Zo zijn bij de volgende bedrijven de transactiekosten als volgt opgebouwd: • Mt.Gox: 0.6% transactiekosten met korting op basis van het volume (Dit bedrijf is nu failliet zoals eerder vermeld). • BTCe: 0.2% transactiekosten. • Bitstamp: 0.5% transactiekosten met korting op basis van het volume. • CampBX: 0.55% transactiekosten met korting op basis van het volume. • Vircurex: 0.5% transactiekosten. Het loont daarom om uit te zoeken wat de kosten zijn bij de verschillende platforms voordat een wissel plaatsvindt. 2.6. Alternatieven. Na de start van Bitcoin werd de code hierachter openbaar vanwege het ‘open source’-principe. Met die code als begin zijn er een heel aantal alternatieven voor Bitcoin op de markt gekomen. In de crypto-valuta-kringen worden deze alternatieven ook wel Altcoins genoemd (afgeleid van het Engelse alternative coin). Sommige Altcoins hebben dezelfde eigenschappen als Bitcoin, maar er zijn er ook die grote vernieuwingen met zich meebrengen. Hieronder worden de vijf grootste alternatieven kort besproken in chronologische volgorde.
7
2.6.1. Namecoin. Een van de eerste alternatieven voor Bitcoin was Namecoin. Deze werd gelanceerd op 18 april 2011, ongeveer twee jaar na de lancering van Bitcoin. Namecoin werkt technisch gezien hetzelfde als Bitcoin. Het verschil tussen de twee zit in een uitbreiding die Namecoin bevat ten opzichte van Bitcoin. Bij Namecoin is het mogelijk om meerdere soorten data op te slaan tijdens de transacties, bijvoorbeeld een domeinnaam. Bij Bitcoin wordt alleen opgeslagen welke hoeveelheid door wie wordt verzonden en door wie wordt ontvangen. Namecoin voegt hier dus iets aan toe. Deze extra informatie wordt samen met de andere data opgeslagen in de blokketen. Het doel van Namecoin is het tegengaan van internetcensuur. Men kan anonieme domeinnamen aanvragen die niet kunnen worden afgepakt of geblokkeerd. Door deze focus op een andere functie binnen het systeem is het minder interessant om de koersen te vergelijken met Bitcoin aangezien Namecoin een andere doelgroep aanspreekt, dat zijn de personen die anoniem een domeinnaam aan willen vragen die niet kunnen worden afgepakt of geblokkeerd.
2.6.2. Litecoin. In oktober 2011 kwam er een ander alternatief genaamd Litecoin. Het grootste verschil met Bitcoin is de tijd tussen het verwerken van twee verschillende blokken in de blokketen: bij Litecoin is de tijd vier keer zo kort, dus er worden meer blokken verwerkt. Daarnaast is het cryptografische algoritme ook anders dan dat van Bitcoin waardoor het ‘minen’ op een andere manier verloopt. In totaal staat de limiet van litecoins op 84 miljoen terwijl er uiteindelijk maar 21 miljoen bitcoins op de markt zullen komen. Litecoin is verreweg de populairste variant op Bitcoin. Opmerkelijk is dat Litecoin niet kan bestaan zonder Bitcoin: litecoins kunnen namelijk alleen maar worden aangeschaft met bitcoins. De koers van Litecoin wordt dan ook hevig be¨ınvloed door die van Bitcoin. Dit is ook terug te zien in figuur 4. Hierin is duidelijk dat de koers van Litecoin ongeveer dezelfde beweging vertoont als die van Bitcoin. Het doel van Litecoin is puur om te opereren als sneller alternatief voor Bitcoin.
Figuur 4. De waarde van Litecoin in dollars 2.6.3. Peercoin. 12 Augustus 2012 werd Peercoin gelanceerd. Bij deze cryptovaluta is de manier waarop de munt wordt gegenereerd anders dan bij Bitcoin. De totale hoeveelheid peercoins neemt namelijk continu toe en heeft geen maximum. Elke transactie kost 0,01 peercoin. Dit wordt na elke transactie vernietigd met als doel inflatie tegen te gaan. Door deze andere manier is het moeilijker om een 51%-aanval uit te voeren op de munt. Door de aanpassing van Peercoin is het bij deze valuta moeilijker om uit te voeren dan bij Bitcoin.
8
2.6.4. Mastercoin. Mastercoin werd op 1 september 2013 gelanceerd door de nonprofit organisatie genaamd de Mastercoin Foundation. Het idee achter deze munt was dat er bitcoins ge¨ınvesteerd moesten worden door een aantal personen. Zonder Bitcoin kan Mastercoin dus niet beginnen. Het systeem is verder vergelijkbaar met Bitcoin, alleen de focus van Mastercoin ligt op nieuwe mogelijkheden zoals speciale ‘wallets’ gemaakt om mee te sparen en een speciaal platform om Mastercoins op te handelen. Ook is het protocol van Mastercoin z´o geschreven dat het vrij eenvoudig is nieuwe functies toe te voegen. Deze nieuwe functies maken het aantrekkelijker om Mastercoin te gaan gebruiken, omdat de functies in het systeem ge¨ıntegreerd zijn in plaats van door een extern beschikbaar gemaakt. Echter bestaat deze munt nog geen jaar en staat het dus nog in de kinderschoenen.
2.6.5. Dogecoin. Dogecoin werd gelanceerd in december 2013 als grappig alternatief voor Bitcoin. Bij Dogecoin is de tijd tussen het verwerken twee blokken in de blokketen met transacties tien keer zo kort als bij Bitcoin. Hierdoor zullen er ook meer dogecoins zijn uiteindelijk: aan het einde van 2014 zijn er ongeveer 100 miljard dogecoins en daarna komen er per jaar ongeveer 5,2 miljard bij. Verder werkt Dogecoin hetzelfde als Bitcoin. Op steeds meer plekken is betalen met Dogecoin mogelijk en meer mensen gaan gebruik maken van dit alternatief. Alhoewel Dogecoin opkomend is in populariteit, kan deze nog lang niet tippen aan Bitcoin.
2.6.6. Verdwenen en stervende alternatieven. Naast de eerdergenoemde vijf succesvolste alternatieven zijn er ook alternatieven die zich op de rand van de afgrond bevinden of het niet hebben gered. Voorbeelden hiervan zijn: • Qubic • TimeKoin • SC Solidcoin • GG Geist Geld • TBX Tenebrix • FBX Fairbrix • CLC Coiledcoin • RUC Rucoin • MMM MMMcoin • Weeds • Beertoken Aan deze lijst is te zien dat het niet gemakkelijk is om een goed werkend alternatief op te zetten om met Bitcoin en andere Altcoins te concurreren.
9
3. De koers van Bitcoin Met meer achtergrondinformatie over Bitcoin, is het tijd om de koers van Bitcoin te bestuderen. Nu is er eigenlijk geen offici¨ele koers van Bitcoin, maar voor dit onderzoek wordt de wisselkoers van Bitcoin met de Amerikaanse Dollar als koers genomen. Het doel is voor deze koers een passend model te vinden. Hiervoor zijn een aantal basisbegrippen uit de financi¨ele wiskunde nodig, die hieronder te vinden zijn. 3.1. Continue aandeelprijs model. Stel een handelaar wil een investering doen en is ge¨ınteresseerd hoe de waarde van deze investering zich ontwikkelt op het interval [0, t]. Hiervoor wordt de continu-samengestelde renteformule afgeleid. • Splits het tijdinterval [0, t] in deelintervallen [0, dt], [dt, 2dt], . . . , [(L − 1)dt, Ldt] met dt = Lt . • Neem aan dat de waarde van de investering toeneemt met een relatieve hoeveelheid proportioneel met r · dt over elk sub-interval, waarin r de rentefactor is. Neem D(t) de waarde van de investering op tijdstip t, dan resulteert dit in het volgende model voor de waarde van de investering op tijdstip t + dt: (1)
D(t + dt) = (1 + r · dt)D(t)
Vervolgens wordt een willekeurige fluctuatie, ook wel ruis of ‘randomness’ genoemd toegevoegd aan (1). Deze toevoeging is onafhankelijk voor alle verschillende deelintervallen. Schrijf nu ti = i · dt zo dat de aandeelprijs op discrete punten {ti } bepaald kan worden. Dit geeft het volgende discrete model: √ (2) S(ti+1 ) = S(ti ) + µ · dt · S(ti ) + σ dtYi S(ti ) In (2) komen een aantal nieuwe variabelen naar voren: • µ een constante parameter die de opwaartse beweging van het aandeel modelleert, dus typisch is µ > 0. µ wordt ook wel de ‘drift’ genoemd. • σ ≥ 0 is een constante parameter die de sterkte van de willekeurige fluctuaties bepaalt. Noem dit de volatiliteit. • Y0 , Y1 , Y2 , . . . ∼ N (0, 1) i.i.d. Neem nu dezelfde situatie als eerst maar stel S(0) = S0 is bekend en uiteindelijk gaat dt → 0 en L → ∞ zodat er een uitdrukking in de limiet komt voor S(t). Schrijf nu: (3)
S(t) = S0
L−1 Y
√ 1 + µ · dt + σ dtYi
i=0
Deel nu (3) door S0 en neem aan beide kanten de logaritme: L−1 X √ S(t) (4) log = log 1 + µ · dt + σ dtYi S0 i=0
2
Gebruik de volgende benadering: log(1 + x) ≈ x − x2 + . . . waarin de hogere orde termen (h.o.t.) worden genegeerd, (4) veranderd nu in: L−1 X √ S(t) 1 (5) log ≈ µ · dt + σ dtYi − σ 2 · dt · Yi2 S0 2 i=0
Vergelijking (5) levert een verdeling met de volgende verwachting en variantie: √ 1 2 1 2 E µ · dt + σ dtYi − σ · dt · Yi = µ · dt − σ 2 · dt 2 2 √ 1 var µ · dt + σ dtYi − σ 2 · dt · Yi2 = σ 2 · dt + h.o.t. 2
10
De Centrale Limietstelling geeft nu dat: S(t) 1 2 2 log ∼ N (µ − σ )t, σ t (6) S0 2 Voor de aandeelprijs op tijdstip t geldt nu de volgende vergelijking: (7)
1
S(t) = S0 e(µ− 2 σ
2 )t+σ
√
tZ
met Z ∼ N (0, 1)
,
Een stochast S(t) zoals (7) heeft de zogenoemde lognormale verdeling. In de context van stochastische differentiaalvergelijkingen wordt dit ook wel de geometrische Brownse beweging genoemd. Dit model gaat gepaard met een aantal aannames die zeer belangrijk zijn: (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi)
De aandeelprijs kan elke non-negatieve waarde aannemen. Het kopen of verkopen van een aandeel kan plaatsvinden op elk tijdstip 0 ≤ t ≤ T . Het is mogelijk om elke hoeveelheid van een aandeel te kopen of te verkopen. De koopprijs van een aandeel is gelijk aan de verkoopprijs van een aandeel. Er zijn geen transactiekosten. Er worden geen dividenden uitgekeerd en er vinden geen splitsingen van aandelen plaats. ‘Short’ gaan is mogelijk, dat wil zeggen dat het mogelijk is een negatieve hoeveelheid van een aandeel te bezitten. Er is een unieke constante risico-vrije rentevoet die van toepassing is op elke hoeveelheid geld geleend of gestald bij een bank. Arbitrage is niet mogelijk: het is niet mogelijk om risicoloos winst te maken. Er vinden geen sprongen plaats in de prijs van het aandeel. Volatiliteit σ van het aandeel is constant.
Met name (x) is belangrijk wanneer men kijkt naar de koers van Bitcoin. Het lijkt namelijk alsof hier juist wel sprongen in zitten. Het is dan ook te verwachten dat het meest gebruikte model van de geometrische Brownse beweging niet goed zal passen bij de koers van Bitcoin. 3.2. Risico-neutraliteit. In de financi¨ele markten is altijd een zekere vorm van risico aanwezig. Noem de kansmaat gebaseerd op historische koersdata de P-maat. Vanuit het perspectief van een schrijver van opties, die hedged, wordt met risicoloze investeringen gewerkt. Deze risiconeutrale kansmaat wordt de Q-maat genoemd. Elke investeerder heeft een andere voorkeur voor risico: de ´e´en is risico-avers, de andere risiconeutraal en nog een ander zoekt juist risico op. Bij het opzetten van een portfolio bijvoorbeeld door de schrijver is het mogelijk om risico te elimineren door dynamisch te hedgen. Op het moment dat koersrisico geen dominante rol meer speelt, spreekt het voor zich dat de verwachte opbrengst van een portfolio in overeenstemming is met de risico-neutrale rentevoet r. Dit alles berust echter wel op de aanname dat arbitrage niet mogelijk is. De meeste financi¨ele producten worden geprijsd in de risico-neutrale wereld, waar de opbrengst wordt verdisconteerd met r. De schrijver van een optie moet wel met de risico-neutrale kansmaat rekenen, anders wordt een optie incorrect geprijsd. Het idee van opties prijzen op deze manier is uitgewerkt door Cox, Ross en Rubinstein [7]. 3.2.1. Risico-neutraliteit met geometrische Brownse beweging. Uit (7) volgt: (8)
1
S(ti+1 ) = S(ti ) · e(µ− 2 σ
2 )dt+σ
√
dtZi
met elke Zi een trekking uit een N (0, 1) verdeling. Vergelijking (8) valt binnen de P-maat. Voor de overstap naar de risico-neutrale wereld met kansmaat Q wordt µ = r gebruikt. Dit wordt ook wel de risico-neutraliteitsaanname genoemd. 3.3. Data analyse. Nu wat meer bekend is over de basiswiskunde uit de financi¨ele wereld, is het tijd om de marktdata van Bitcoin te bestuderen. De eerste stap is te onderzoeken of koers een geometrische Brownse beweging volgt of niet.
11
3.3.1. Bron van de data. In totaal wordt gebruik gemaakt van 3 datasets die allemaal lopen vanaf 18-12-2011 tot en met 18-05-2014: (1) De eerste dataset die is gebruikt, komt van quandl.com [19]. De data is een 24 uurs gemiddelde van de koers van Bitcoin. Aangezien Bitcoin constant wordt verhandeld, is er beschikking over een volledige dataset. Er ontbreken dus geen dagen. (2) De tweede dataset komt van bitcoincharts.com [3]. Dit zijn de slotprijzen van elke dag in plaats van het 24 uurs gemiddelde. (3) De derde dataset komt van coindesk.com [5]. Ook dit zijn slotprijzen, net zoals de tweede dataset. 3.3.2. Returns. In figuur 5 wordt in de eerste rij gebruik gemaakt van de dagelijkse returns van de data: ridag =
S(ti+1 ) − S(ti ) , i ∈ {1, 2, 3, . . .} S(ti )
In de tweede rij is de wekelijkse returns van de data te zien: riweek =
S(ti+1 ) − S(ti ) , i ∈ {1, 8, 15, 22, . . .} S(ti )
In de laatste rij worden trekkingen uit een standaard normale verdeling gebruikt ter vergelijking. De Matlab-code uit bijlage 10.4 geeft de resultaten in figuur 5, 6 en 7. In figuur 5 komt duidelijk naar voren dat de koers van Bitcoin geen standaard normale verdeling volgt. Dit betekent dat de koers geen geometrische Brownse beweging volgt. Door figuur 6 met figuur 5 te vergelijken, is te zien dat het niet heel veel uitmaakt welke dataset wordt gebruikt. De verdelingen zien er namelijk min of meer hetzelfde. In figuur 7 is de laatste dataset te zien.
Figuur 5. Returns op basis van de data van quandl.com [19]
12
Figuur 6. Returns op basis van de data van bitcoincharts.com [3]
Figuur 7. Returns op basis van de data van coindesk.com [5]
13
In de histogrammen, cumulatieve verdelings-plots en de QQ-plots van de drie datasets komt overduidelijk naar voren dat de koers van Bitcoin geen geometrische Brownse beweging volgt. Dit ligt volledig in de geschetste lijn van verwachting. Eventueel is het nog statistisch te testen of de geometrische Brownse beweging wordt gevolgd, maar dat is in dit geval niet nodig omdat het meteen al overduidelijk is dat de returns van de data geen normale verdeling volgen. 3.4. De juiste verdeling zoeken. Zoals eerder vermeld is het eerder gebruikte model nog niet geschikt. Daarom worden eerst een aantal begrippen beschouwd die de verdeling van de returns bepalen, bijvoorbeeld de scheefheid, de kurtosis en hoe deze invloed hebben op de staarten van de verdeling. Merk op dat het eerste moment E[X] van de returns de verwachting is en het tweede moment E[X 2 ] deel uit maakt van de variantie van de returns: var(X) = E[X 2 ] − (E[X])2 . 3.4.1. Scheefheid. Het derde moment van de returns is van belang bij de scheefheid. De scheefheid is een maat voor de asymmetrie van een verdeling rond het gemiddelde. Er zijn twee vormen van scheefheid: positieve en negatieve scheefheid. De eerste hoort bij een verdeling met een asymmetrische staart met meer positieve waarden in de staart. Een verdeling met deze kenmerken wordt ook wel rechts-scheef genoemd. Een negatieve scheefheid hoort bij een verdeling met een dikke staart bij de negatieve waarden. Zo’n verdeling heet ook wel links-scheef. In figuur 8 zijn twee voorbeelden van hoe een rechts- en links-scheve verdeling er uit kunnen zien.
Figuur 8. Een rechts- en een links-scheve verdeling Bron: “http://pic.dhe.ibm.com/” De scheefheid van een verdeling wordt met γ3 genoteerd. De scheefheid is het derde gestandaardiseerde moment van de returns: µ3 (9) γ3 = σ3 E[(X − µ)3 ] = , (E[(X − µ)2 ])3/2 met µ3 = E[(X − µ)3 ] het derde centrale moment en σ de standaardafwijking. In (9) is µ weer de verwachting, dus het eerste moment. Een symmetrische verdeling heeft scheefheid γ3 = 0. Is de verdeling rechts-scheef dan γ3 > 0 en in het geval van linkse scheefheid geldt dat γ3 < 0.
14
Figuur 9. Positieve en negatieve kurtosis Bron: “http://pic.dhe.ibm.com/”
3.4.2. Kurtosis. Het vierde moment van de returns speelt een rol bij de kurtosis. De kurtosis is de mate waarin een verdeling meer of minder ‘piekvormig’ is, vergeleken met een normale verdeling. Een positieve kurtosis geeft aan dat de verdeling relatief ‘piekvormiger’ is en een negatieve kurtosis geeft aan dat de verdeling platter is. Een normale verdeling heeft een kurtosis van 3. Een verdeling met een hoge kurtosis heeft dus dunne staarten en een verdeling met lage kurtosis heeft dikkere staarten. Zie figuur 9 voor een voorbeeld van een verdeling met positieve en negatieve kurtosis. De kurtosis wordt genoteerd met γ4 . De kurtosis is het vierde gestandaardiseerde moment van de returns:
(10)
µ4 σ4 E[(X − µ)4 ] = (E[(X − µ)2 ])2 = γ40 − 3,
γ4 =
met µ4 = E[(X − µ)4 ] het vierde centrale moment en σ weer de standaardafwijking. µ is weer de verwachting, dus het eerste moment. De notatie in de laatste regel van (10) is de meest gebruikte notatie voor de kurtosis. Als γ4 = 0 dan is de verdeling normaal. Bij γ4 > 0 is er sprake van een hoge piek en bij γ4 < 0 is de verdeling platter dan de normale verdeling.
3.4.3. Scheefheid en kurtosis van de data. Het is nu bekend dat de kurtosis en de scheefheid invloed hebben op de staarten van de verdeling. Echter is nog onbekend in welke mate de verdeling van returns van de Bitcoinkoers scheef, plat of juist ‘piekvormig’ is. Om deze vraag te beantwoorden, worden van alle drie eerder besproken datasets de scheefheid en de kurtosis bepaald (met behulp van Matlab), zie tabel 1.
15
Bron Quandl.com
Type return Scheefheid Kurtosis Dagelijks -0.3641 13.4331 Wekelijks 0.9688 5.3059 LogDagelijks -1.5196 18.3217 LogWekelijks 0.1539 64.6816 Bitcoincharts.com Dagelijks -0.0963 14.8246 Wekelijks 1.0490 6.3772 LogDagelijks -1.6566 23.8533 LogWekelijks -0.0040 5.9011 Coindesk.com Dagelijks 0.3636 14.0342 Wekelijks 1.7867 10.0328 LogDagelijks -0.7472 14.8917 LogWekelijks 0.3641 6.8956 Gemiddelde Dagelijks -0.0323 14.0973 Wekelijks 1.2682 7.2386 LogDagelijks -1.3078 19.0222 LogWekelijks 0.1713 5.8261 Tabel 1. Scheefheid en kurtosis van de returns van de datasets
Beschouw allereerst de scheefheid van de dagelijkse returns. Deze is nagenoeg gelijk aan 0, wat wil zeggen dat scheefheid in dit geval geen rol speelt. Daarentegen is de kurtosis van deze returns gemiddeld gelijk aan γ4 ≈ 14, dit duidt op een ‘piekvormige’ verdeling. Dit komt overeen met de histogrammen uit figuur 12, die horen bij de data van bitcoincharts.com. Zoals eerder opgemerkt in paragraaf 3.3.2 lijken de drie gebruikte datasets allemaal op elkaar. In tabel 1 is te zien dat dit ook geldt voor de scheefheid en kurtosis van de data. Voor het gemak wordt daarom vanaf nu alleen nog maar gebruik gemaakt van de data van bitcoincharts.com. Het is ook mogelijk om alles wat volgt uit te voeren voor andere datasets.
16
4. Sprongmodel van Merton Het is nu bekend dat de koers van Bitcoin niet de gebruikelijke geometrische Brownse beweging volgt zoals sommige andere aandelen. Bij de koers van Bitcoin zijn een aantal grote stijgingen te zien, die kunnen worden gemodelleren als sprongen in de koers. Een model hiervoor is ontwikkeld door Merton [20]. 4.1. De theorie. De onderstaande theorie met bijbehorende notatie komt uit Merton [20]. Er wordt gebruik gemaakt van een zogenoemd Poissonproces als type sprongproces. Noteer de tijdstippen waarop een sprong in koers S plaatsvindt τj met τ1 < τ2 < τ3 < . . . Het totale aantal sprongen van het begin tot tijdstip t wordt genoteerd als Jt met τj = inf{t ≥ 0, Jt = j}. Een Bernoulli-experiment beschrijft de kans dat een sprong voorkomt. Neem dt = ti+1 − ti ∀i als de grootte van alle tijdsintervallen. Nu: P (sprong) = P (Jt − Jt−dt = 1) = λ · dt P (geen sprong) = P (Jt − Jt−dt = 0) = 1 − λ · dt Hierin is λ de intensiteit van het sprongproces z´odat wordt voldaan aan de voorwaarde dat 0 < λ · dt < 1. Laat nu dt → 0 ziet de kans dat er k sprongen zijn in 0 ≤ τ ≤ t er uit als: (λt)k −λt e . k! Deze sprongmomenten τj moeten z´ o worden gedefini¨eerd zodat aan de bovenstaande kansen wordt voldaan. Neem hiervoor een rij exponentieel verdeelde getallen h1 , h2 , . . . met E[hj ] = 1 λ ∀j. Definieer nu τj+1 := τj + hj , dan zijn de tijdsintervallen dτ = τj+1 − τj = hj tussen twee verschillende sprongen gedefinieerd. P (Jt − J0 = k) =
De grootte van de sprongen wordt ook als stochastisch proces gezien. Laat de stochastische koerswaarde St springen op τj . De absolute grootte van de sprong is nu gelijk aan ∆S = Sτ + − Sτ − met τ + het infinitesimale moment direct na de sprong en τ − direct voor de sprong. Die absolute grootte van de sprong wordt als een proportionele sprong gemodelleerd, dat wil zeggen dat de waarde na de sprong gelijk is aan een factor q > 0 maal de waarde voor de sprong: Sτ + = q · Sτ − . Schrijf nu: ∆S = q · Sτ − − Sτ − = (q − 1)Sτ − . Hier is (q − 1) maal de huidige koers de grootte van de sprong. Deze q is een stochastische variabele die wordt genoteerd als qt , met qτ1 , qτ2 , . . . i.i.d. De verdeling van dit proces is gedefinieerd als: log(qt )
∼
N (µJ , σJ2 )
⇒ log(qt )
=
d
σJ · Z + µ J
⇒ qt
d
=
e
, Z ∼ N (0, 1)
σJ ·Z+µJ
Hier is µJ de verwachting van de grootte van de sprong en σJ de standaardafwijking van de grootte van de sprong. Voeg nu deze sprongen toe aan het model uit (7), i.e. 1
S(ti+1 ) = S(ti ) · e(µ− 2 σ
2 )dt+σ
√
dtZi
met elke Zi een trekking uit een N (0, 1) verdeling. Dit geeft: (11)
1
S(ti+1 ) = S(ti ) · e(µ− 2 σ
2 )dt+σ
√
dtZi
· (qt − 1)
Merk op dat in (11) twee keer een trekking wordt gedaan uit de normale verdeling: ´e´en keer in de e-macht en de andere keer in de grootte van de sprongen. Deze twee trekkingen zijn onafhankelijk.
17
In 11) wordt een groeifactor gekozen om een risiconeutraal model te krijgen: 1 2 µ = r − λ e[µJ + 2 σJ ] − 1
(12)
4.2. Parameters. Voordat het model werkend is, moeten er een aantal parameters worden bepaald: • S(0) is de aandeelprijs op tijdstip 0. • r = 0.0161 is de huidige risiconeutrale rentevoet voor een Amerikaanse staatsobligatie van 5 jaar. • µ = 0.0077 is de drift parameter geschat uit de dagelijkse returns. • σ = 0.578 is de geschatte volatiliteit van de koers van Bitcoin, geschat m.b.v. de dagelijkse returns. • λ is de intensiteit van de sprongen. Bijvoorbeeld λ = 0.5 betekent dat er gemiddeld elke twee tijdstappen een sprong plaatsvindt. • µJ is de gemiddelde grootte van de sprongen. • σJ is de standaarddeviatie van de sprongen. 1 is de grootte van alle tijdsintervallen ti+1 , ti . dt is hier gelijk aan een dag. Bitcoin • dt = 100 wordt 365 dagen per jaar verhandeld, daarom zou het logisch zijn om tijdstappen van 1 1 te nemen. Hier wordt echter toch gekozen voor dt = 100 omdat hiermee de dt = 365 implementatie (in bijvoorbeeld Matlab) soepeler verloopt. 1 • T = 8.83 is de totale tijdsduur. Met dt = 100 is de totale tijdsduur dus gelijk aan 883 dagen, wat overeenkomt met de lengte van de datasets. Een deel van de parameters hebben zijn al bepaald, nu rest alleen nog de keuze van λ, µJ en σJ . Dit is mogelijk door vergelijking (12) te herschrijven als:
(13)
1 2 ⇔ µ = r − λ e[µJ + 2 σJ ] − 1 µ−r 1 2 ⇔ µJ + σJ = log 1 − 2 λ
(13) is vergelijking met de drie onbekenden λ, µJ en σJ . Om tot een waarde te komen, wordt de volgende substitutie gedaan: 2µJ = σJ . Merk dus op dat hier wordt aangenomen dat de standaardafwijking van de sprongen altijd twee keer zo groot is als het gemiddelde van de sprongen. Dit geeft:
⇔ µJ (14)
⇔ µJ
= =
q −1 + 1 + 8 log 1 −
µ−r λ
4 q −1 + 1 + 8 log 1 +
0.0084 λ
4
De waarde λ = 0.5 geeft bijvoorbeeld µj ≈ 0.0161 en σJ ≈ 0.0323.
4.3. Resultaten van het model. De implementatie van de bovenstaande beschreven simulatie is te vinden in bijlage 10.5. Dit resulteert in een aandeelkoers met sprongen, zie figuur 10. Daar is rond tijdstip 8 een zeer duidelijke sprong te zien waarbij de aandeelprijs 138% omhoog gaat.
18
Figuur 10. Een simulatie met lognormale sprongen
Er wordt gezocht naar een goede benadering met behulp van (14). Vul hier λ in om µJ en σJ als resultaat te krijgen. Om een goede schatting te krijgen van hoe vaak sprongen voorkomen, wordt gebruik gemaakt van de Matlab-code uit bijlage 10.6. Hierin worden de dagelijkse veranderingen als sprongen gezien op het moment dat deze groter of kleiner is dan ´e´en maal de standaardafwijking. Het delen van de grootte van de dataset door de hoeveelheid sprongen levert de volgende resultaten voor de intensiteit van de sprongen:
Bron λ Quandl.com 5.5427 Bitcoincharts.com 5.9195 Coindesk.com 6.0352 Gemiddelde 5.8325 Tabel 2. Intensiteit van sprongen in de data
Door de gemiddelde waarde uit tabel 2 in (14) in te vullen, worden de parameters µJ = 0.0014 en σJ = 0.0029 verkregen. In figuur 11 is een uitgevoerde simulatie te zien met deze parameters.
19
Figuur 11. Een andere simulatie met lognormale sprongen met parameters: λ = 5.8325, µJ = 0.0014 en σJ = 0.0029
Figuur 12. Histogram en QQ-plot behorende bij de simulatie uit figuur 11
20
In figuur 12 is te zien aan de QQ-plots van de dagelijkse en wekelijkse returns van de data versus de returns van de gesimuleerde waarden dat de juiste verdeling nog niet is gevonden. Ook het kiezen van λ, µJ , en σJ zodat de waarden van scheefheid en kurtosis in de buurt komen van de gemiddelde waarden uit tabel 1 levert niks bruikbaars. Het beste resultaat wat hiermee wordt behaald is met parameters λ = 160, µJ = 0.01, en σJ = 0.11. De resultaten hiervan zijn te vinden in paragraaf 10.1. Deze resultaten zijn niet erg realistisch vanwege de waarde van λ die erg groot is. De gebruikte waarde komt namelijk overeen met elke twee dagen een sprong, dit zijn te veel sprongen.
4.4. ‘Regime-switching’ Merton Jump-Diffusion model. Omdat het model van Merton met lognormale sprongen nog niet het gewenste resultaat geeft, wordt gezocht naar een manier om de koers van Bitcoin beter te benaderen. Het ‘regime-switching’ principe blijkt hiervoor een geschikte kandidaat. Eerst wordt de algemene theorie achter ‘regime-switching’ bekeken. Vervolgens wordt gekeken wat voor het Bitcoin-model de beste aanpak is.
4.4.1. De theorie. Het ‘regime-switching’-model wordt als volgt door Huang [13] geformuleerd: Neem een eindige verzameling van discrete volatiliteiten σi met i = 1, 2, . . . , K. Elke volatilteit σi hoort bij het i-de regime. De overgangen tussen deze regimes worden gegeven door een continue Markov-reeks. In de P-maat volgt het onderliggende aandeel S het stochastische proces uit (15) onder voorwaarden (16) tot en met (19).
(15)
dS = µPi Sdt + σi SdZ +
K X
(ξik − 1) SdXik ,
i = 1, 2, . . . , K
k=1
(16) (17) (18)
1 met kans λPik dt + δik 0 met kans 1 − λPik dt − δik
dXik = λPik ≥ 0 : λPii = −
i 6= k
K X
λPik
k=1 k6=i
(19)
ξii = 1
In (15) zijn dZ de incrementen van een Brownse beweging en µPi de drift in regime i onder de P-maat. In vergelijking (16) is de functie δik de Kronecker delta-functie. Tijdens een overgang van regime i naar regime k vindt een sprong in de aandeelprijs plaats: S → ξik S. Deze sprongen liggen van tevoren niet vast, omdat dXik een stochast is. Verder is het belangrijk op te merken dat er maximaal ´e´en overgang tussen regimes plaats kan vinden op een infinitesimaal tijdsinterval.
4.4.2. Aanpak in geval van Bitcoin. De koers van Bitcoin in de afgelopen jaren is al bekend. Er kan onderscheid gemaakt worden in drie regimes, zie figuur 13. Het totale tijdsinterval wordt opgedeeld in drie verschillende stukken, met in elk deel een ander ‘regime’. Een ander ‘regime’ wil in dit geval zeggen dat de parameters µ, σ, λ, µJ en σJ kunnen worden ingesteld voor elk van de drie stukken. In dit geval zijn er dus geen onzekere regimes, maar regimes die van tevoren zijn vastgelegd. In de dataset zijn in totaal 883 dagen aan data welke worden opgedeeld op t1 = 400 dagen en t2 = 650 dagen, zodat men de delen 0-400, 401-650 en 651-883 krijgt. In figuur 13 is de logische keuze om op deze punten te delen te zien.
21
Figuur 13. Koersdata van Bitcoin met daarin onderscheid tussen drie regimes
In het eerste deel komen nauwelijks sprongen voor, vandaar dat hier ook geen sprongen worden gemodelleerd en alleen de standaard aandeelontwikkeling wordt gebruikt. In deel twee zijn er meer gematigde sprongen, en in het laatste deel zijn hele grote sprongen. Voor het tweede en derde deel worden de intensiteit, verwachting en variantie van de sprongen aangepast per regime. Verder wordt voor elk van de drie delen het gemiddelde en standaardafwijking van het bijbehorende deel van de returns van de data genomen. Omdat de overgangen tussen de verschillende regimes niet afhangen van een stochastisch proces, maar van te voren zijn vastgelegd, wordt direct voldaan aan de eis dat er maximaal ´e´en sprong plaats kan vinden per tijdstap. Daarnaast is het dus ook niet verplicht te voldoen aan de voorwaarden (16) tot en met (19).
4.4.3. Resultaten van het model. In bijlage 10.7 is de Matlab-implementatie van het ‘regimeswitching’ Merton model te vinden. In figuur 14 wordt met parameters λ1 = µ1J = σJ1 = 0, λ2 = 25, µ2J = 0.01, σJ2 = 0.03, λ3 = 5, µ3J = −0.02 en σJ3 = 0.07 een histogram van de returns van de simulatie en een QQ-plot tegen de returns van de marktdata gemaakt. Hierin is te zien dat de verdelingen van de dagelijkse en wekelijkse returns van de simulaties redelijk lijken op die van de marktdata. Ook geeft de QQ-plot bijna een rechte lijn. Dit is een indicatie dat de goede verdeling gevonden is. Wat bij deze set van parameters meteen in het oog springt is de waarde µ3J = −0.02. Het lijkt alsof dit geen re¨ele situatie zou kunnen zijn. Echter correspondeert de negatieve waarde 3 van deze parameter met een gemiddelde van q = eµJ ≈ 0.98 in het derde regime. Dat betekent een gemiddelde daling van 2% in Sτ op sprongtijdstip τ .
22
Figuur 14. Fit voor ‘regime-switching’ Merton tegen de data, met parameters λ1 = µ1J = σJ1 = 0, λ2 = 25, µ2J = 0.01, σJ2 = 0.03, λ3 = 5, µ3J = −0.02 en σJ3 = 0.07
De bijbehorende kurtosis en scheefheid van deze simulatie zijn te vinden in tabel 3. Hierin is te zien dat de scheefheid en kurtosis beter zijn benaderd dan met het model van Merton zonder regimes.
Data
Simulatie
γ3daily γ4daily γ3weekly γ4weekly
-0.0963 -0.2473 14.8246 35.3840 1.0490 0.7509 6.3772 6.2989 Tabel 3. Scheefheid en kurtosis: data versus de simulatie uit figuur 14
4.4.4. Valideren van het numerieke resultaat. Figuur 15 geeft een histogram weer met daarin de koerswaarde op het eindtijdstip van M = 104 simulaties met de bijbehorende frequenties. Hier is te zien dat het ‘regime-switching’ model van Merton interessant is, aangezien deze verdeling nauwkeuriger is dan die bij het model van Merton zonder regimes in figuur 24.
23
Figuur 15. Histogram van de verdeling van M = 104 simulaties van de eindwaarden S(T ) van het ‘regime-switching’ Merton model behorende bij de parameters uit figuur 14 4.5. Risico-neutraliteit onder Merton’s Jump Diffusion. Risico-neutraliteit onder het Merton model levert andere parameters dan degene die gebruikt werden bij de geometrische Brownse beweging. Uit He [11] leert men dat de model-parameters onder de P-maat een relatie hebben met die onder de Q-maat, als volgt: (20)
σQ = σP,
(21)
σJQ = σJP ,
(22) (23)
2 P = µ − (1 − β) σJQ , µQ J J 2 1 Q Q P λ = λ exp (1 − β) µJ + (1 − β) σJQ . 2
In de bovenstaande vier vergelijkingen wordt een parameter x onder de Q-maat als xQ genoteerd. Analoog geldt voor de P-maat: xP . In (20) en (21) wordt aangenomen dat respectievelijk de volatiliteit van het aandeel en van de spronggrootte gelijk blijven onder verandering van maat. Deze keuze wordt gebaseerd op historische data, beschreven in [11]. σ P is te schatten uit de returns van de marktdata en men weet dus direct ook de waarde van σ Q . Het verkrijgen van de waarde van σJP en z’n tegenhanger in de Q-maat is minder eenvoudig. In (22) hangt de waarde van µQ J af van z’n tegenhanger in de P-maat, een parameter β en de bovengenoemde volatiliteit van de sprongen onder de Q-maat. 1−β is de zogenoemde ‘co¨efficient van relatieve risico-aversie’ die wordt gekozen als 1 − β = 2 ⇒ β = −1, net als in [11]. Met relatieve risico-aversie wordt de mate bedoeld waarin een investeerder wel of geen risico opzoekt. Ten slotte is in (23) te zien Q dat de sprongintensiteit onder de risico-neutrale maat afhangt van λP , β, µQ J en σJ . Kortom, als de waarde van de vier risico-neutrale parameters in (20) tot en met (23) benodigd zijn, moet de waarde van de tegenhangers in de P-maat worden bepaald. Van de eerste is de procedure hiervoor al bekend, maar van de overige drie nog niet.
24
5. Sprongmodel van Kou Het sprong-diffusie-model van Merton en de ‘regime-switching’ variant geven nog niet het gewenste resultaat. Daarom wordt het sprong-diffusie-model van Kou [14] [15] beschouwd, en wordt getest of dit een betere benadering geeft voor de koers van Bitcoin. 5.1. De theorie. Herinner dat het model van Merton is opgesteld als in (11): (24)
1
S(ti+1 ) = S(ti ) · e(µ− 2 σ
2 )dt+σ
√
dtZi
· (qt − 1)
De tijdstippen τj waarop sprongen plaatsvinden, volgen een Poisson-proces met intensiteit λ. Het verschil tussen de modellen van Kou en Merton is dat bij het model van Kou dubbel-exponenti¨ele sprongen worden gemodelleerd in plaats van lognormale sprongen. Dus de verdeling van qt verandert. log(qt ) heeft een assymetrische dubbel-exponenti¨ele verdeling met kansdichtheidfunctie: (25)
flog(qt ) (y) = p · η1 e−η1 y · 1{y≥0} + q · η2 eη2 y · 1{y<0}
De voorwaarden van de parameters in (25) zijn: η1 > 1, η2 > 0, p, q ≥ 0 en p + q = 1. Hierin is p de kans op een opwaartse sprong en q de kans op een neerwaartse sprong. Met andere woorden is log(qt ) in verdeling gelijk aan: + ξ , met kans p d log(qt ) = −ξ − , met kans q Hierin zijn ξ + en ξ − exponenti¨eel verdeelde stochasten met verwachtingen van respectievelijk en η12 . Neem vervolgens de e-macht om de verdeling van qt te krijgen: ξ+ e , met kans p log(qt ) d (26) qt = e = − −ξ e , met kans q p · η1 q · η2 (27) E[qt ] = + η1 − 1 η2 + 1
1 η1
In vergelijking (27) voor de verwachting van de spronggroottes is te zien waarom de voorwaarden η1 > 1 en η2 > 0 zijn gegeven, aangezien er wordt ge¨eist dat E[qt ] < ∞; met andere woorden dat het eerste moment eindig moet zijn. Dat wil zeggen dat de gemiddelde opwaartse sprong niet hoger kan zijn dan 100%. 5.2. Eigenschappen van het model. De dubbele-exponenti¨ele verdeling heeft drie eigenschappen die zeer interessant zijn: (1) Het heeft de leptocurtische eigenschap, dat wil zeggen dat de verdelingskromme een steile kromme is. Deze eigenschap, die van toepassing is op de verdeling van de grootte van de sprongen, is ook van toepassing op de ‘return’-verdeling. Deze eigenschap geldt ook voor de normale sprong-diffusie van Merton. Het grote verschil tussen het normale en exponenti¨ele model is dat bij de laatste er een analytische oplossing bestaat voor het prijzen van pad-afhankelijke opties. (2) Een voordeel van de dubbel-exponenti¨ele verdeling ten opzichte van de lognormale verdeling is de mogelijkheid om de twee staarten van de verdeling ongelijk in te stellen. Bij het model van Merton zijn de staarten identiek, door de symmetrie van de normale verdeling. Bij het model van Kou is het dus mogelijk om twee verschillende staarten te krijgen. Dit is ook terug te zien in de tweedeligheid van de kansdichtheidsfunctie (25). (3) Verder is er de eigenschap van geheugenloosheid van de exponenti¨ele sprongen. Het gevolg hiervan is dat er analytische oplossingen kunnen bepaald kunnen worden voor het prijzen van verschillende soorten opties, waaronder ook pad-afhankelijke opties. Daarnaast is het mogelijk om de exacte verdeling van de ‘overshoot’ te verkrijgen. Met ‘overshoot’ wordt de grootte van het overschrijden van een bepaalde grens bedoeld. Het model van Merton heeft deze eigenschappen niet, omdat daar gebruik wordt gemaakt van normaal verdeelde sprongen in plaats van exponenti¨ele sprongen.
25
Deze eigenschappen zijn erg welkom voor het Bitcoin-model, aangezien het noodzakelijk is dat het goede type verdelingskromme wordt gebruikt. Tevens is voor het prijzen van pad-afhankelijke opties een analytische oplossing een pr´e. Daarnaast hebben empirische tests door Barberis [2] en Fama [8] aangetoond dat het dubbele-exponenti¨ele model van Kou marktdata beter nabootst dan het lognormale model van Merton. Verder weet men uit ervaring dat markten zowel overreacties als onderreacties vertonen ten gevolge van goed of slecht nieuws. Omdat de dubbele-exponenti¨ele verdeling zowel een hoge piek als dikke staarten kan modelleren, kan dit model worden gebruikt om de onder- en overreacties ten gevolge van nieuws van buitenaf te modelleren.
5.3. Simulaties. De implementatie van het model van Kou is te vinden in bijlage 10.8.
5.3.1. Resultaten van het model. Met parameters λ = 15, η1 = 47, η2 = 35, en p = 0.7 wordt in figuur 16 een histogram van de returns van de simulatie en een QQ-plot tegen de returns van de marktdata gemaakt. Hierin is te zien dat de verdelingen van de dagelijkse en wekelijkse returns van de simulaties redelijk lijken op die van de marktdata. Daarnaast geeft de QQ-plot bijna een rechte lijn, wat aangeeft dat een correcte benadering van de gewenste verdeling is gesimuleerd.
Figuur 16. Fit voor Kou tegen de data, met parameters λ = 15, η1 = 47, η2 = 35, en p = 0.7
De bijbehorende kurtosis en scheefheid van deze simulatie zijn te vinden in tabel 4. Hierin is te zien dat de scheefheid en kurtosis beter zijn benaderd dan met de twee modellen van Merton.
26
Data
Simulatie
γ3daily γ4daily γ3weekly γ4weekly
-0.0963 -0.0212 14.8246 23.6547 1.0490 0.3373 6.3772 5.0393 Tabel 4. Scheefheid en kurtosis: data versus de simulatie uit figuur 16
5.3.2. Valideren van het numerieke resultaat. Figuur 17 geeft een histogram weer met daarin de koerswaarde op het eindtijdstip van M = 104 simulaties met de bijbehorende frequenties. Hier is te zien dat dit model van Kou beter is dan het ‘regime-switching’ model van Merton in figuur 15.
Figuur 17. Histogram van de verdeling van M = 104 simulaties van de eindwaarden S(T ) van het Kou model behorende bij de parameters uit figuur 16
5.4. ‘Regime-switching’ Kou jump-diffusion. Evenals bij het model van Merton wordt ook op het model van Kou ‘regime-switching’ toegepast. Dit gaat analoog aan het geval van Merton, zoals beschreven in paragraaf 4.4.2.
5.4.1. Resultaten van het model. In bijlage 10.9 is de Matlab-implementatie van het ‘regimeswitching’ Kou model te vinden. Een histogram van de returns van de simulatie en een QQ-plot tegen de returns van de marktdata met parameters λ1 = 0, λ2 = 35, η12 = 47, η22 = 35, p2 = 0.7, λ3 = 7, η13 = 30, η23 = 15 en p3 = 0.7 zijn in figuur 18 te vinden. Hierin is te zien dat de verdelingen van de dagelijkse en wekelijkse returns van de simulaties redelijk lijken op die van de marktdata. De lijn in de QQ-plot is duidelijk minder recht dan die in figuur 16.
27
Figuur 18. Fit voor ‘regime-switching’ Kou tegen de data, met parameters λ1 = 0, λ2 = 35, η12 = 47, η22 = 35, p2 = 0.7, λ3 = 7, η13 = 30, η23 = 15 en p3 = 0.7
De bijbehorende kurtosis en scheefheid van deze simulatie zijn te vinden in tabel 5. Hierin is te zien dat de scheefheid en kurtosis beter zijn benaderd dan met de twee modellen van Merton, maar niet per s´e beter dan het standaard model van Kou. Vooral de waarden van γ3daily en γ4daily wijken erg af van de bijbehorende waarden van de data.
Data
Simulatie
γ3daily γ4daily γ3weekly γ4weekly
-0.0963 -1.4984 14.8246 62.3921 1.0490 0.7134 6.3772 5.7481 Tabel 5. Scheefheid en kurtosis: data versus de simulatie uit figuur 18
5.4.2. Valideren van het numerieke resultaat. Figuur 19 geeft een histogram weer met daarin de koerswaarde op het eindtijdstip van M = 104 simulaties met de bijbehorende frequenties.
28
Figuur 19. Histogram van de verdeling van M = 104 simulaties van de eindwaarden S(T ) van het ‘regime-switching’ Kou model behorende bij de parameters uit figuur 18
Ondanks dat deze verdeling er goed uit ziet, geeft deze niet het gewenste resultaat. De scheefheid en kurtosis uit tabel 5 van de simulatie komen namelijk niet genoeg overeen met die van de data. Dit heeft waarschijnlijk te maken dat het met de hand kalibreren van dit ‘regimeswitching’ model iets te veel van het goede is. Het heeft te veel vrijheidsgraden, er zijn dus te veel mogelijkheden om de parameters in te stellen. Hierdoor is het ook lastig inzicht te krijgen in hoe een parameter in een bepaald regime het geheel be¨ınvloedt.
5.5. Risico-neutraliteit onder Kou’s Jump Diffusion. Voor de risico-neutrale parameters voor het model van Kou maken wordt informatie uit Courtois [6] en Kou [16] gecombineerd. Eerst wordt met behulp van (28) de waarde van een parameter h in die formule afgeleid. Dit is mogelijk omdat alle andere parameters al bepaald zijn.
q P · η2P pP · η1P + η1P − h η2P + h 2 P P P r = h σ +µ −λ ζ −
ζ = (28)
pP · η1P q P · η2P − η1P − 1 − h η2P + 1 + h
29
Na het bepalen van de waarde van h is het mogelijk om de waarde van de volgende risico-neutrale parameters te bepalen: pP · η1P ζ(η1P − h)
(29)
pQ =
(30)
q Q = 1 − pQ
(31)
η1Q = η1P − h
(32)
η2Q = η2P + h
(33)
λQ = λP · ζ
(34)
σQ = σP
(35)
µ
Q
P P q P · η2P 1 P P p · η1 = r− σ −λ + −1 2 η1P − 1 η2P + 1
Vergelijking (29) tot en met (33) zijn in Courtois [6] terug te vinden. Vergelijking (34) wordt analoog gekozen aan het model van Merton. Ten slotte komt (35) uit Kou [16]. Al deze risico-neutrale parameters zijn afgeleid uit het oplossen van een vergelijking behorende bij de Laplace exponent van een L´evy proces, onder de h-Esscher maat. Verdere details hierover zijn te vinden in de appendix van Courtois [6]. Om alle risico-neutrale parameters te kunnen bepalen, moeten de waarden van r, σ, µ, λ, η1 , η2 , p en q onder de P-maat bekend zijn. De parameters r = 0.0161, σ = 0.0607, µ = 0.0074, λ = 15, η1 = 47, η2 = 35, p = 0.7 en q = 0.3 geven een waarde van h = −4.524792792. Hiermee kunnen optieprijzen worden bepaald.
30
6. Financi¨ ele producten Voordat er wordt gewerkt met Bitcoin gerelateerde financi¨ele producten, is het van belang om op een rijtje te zetten wat de meest belangrijke financi¨ele derivaten in de re¨ele wereld zijn en hoe deze werken. 6.1. Call- en putopties. Twee veel voorkomende opties zijn de call en de put. Hiervan zijn er Amerikaanse en Europese versies. Een Europese calloptie geeft de houder het recht, niet de verplichting, om activa S te kopen van de schrijver voor een vastgelegde prijs op een vast tijdstip. De prijs wordt de uitoefenprijs E genoemd en het tijdstip de uitoefendatum T . Een Europese putoptie is bijna hetzelfde als de call, alleen gaat het bij de put om het recht van de houder activa te verkopen aan de schrijver in plaats van te kopen zoals bij de call. Bij de Amerikaanse versies van de call en de put is het ook mogelijk om v´o´or de uitoefendatum de optie uit te oefenen. De waarden van de Europese call CE en de Europese put PE op uitoefendatum T zijn als volgt te berekenen: CEU PEU
= max(S(T ) − E, 0) = max(E − S(T ), 0)
De waarden van de Amerikaanse call en de Europese call zijn gelijk, terwijl de waarde van de Amerikaanse put hoger is dan de waarde van de Europese put op tijdstippen 0 ≤ t ≤ T . In figuur 20 is de payoff te zien van een Europese put- en call-optie.
Figuur 20. Payoff van Europese put- en call-optie 6.2. Futures. Een future is een een financi¨eel contract tussen twee partijen. Op tijdstip t = 0, spreken de partijen af dat ze op een vast tijdstip t = T in de toekomst een vaste hoeveelheid van een product verhandelen voor een vaste prijs F . In tegenstelling tot de call- en de putopties zijn de partijen bij de future verplicht uit te oefenen. De ‘faire’ waarde voor de future is: F (0) = S(0) · e−rT met r de risico-vrije rente. De waarde van de future hangt ook af van het onderliggende product S. Het is mogelijk om futures te schrijven voor financi¨ele producten zoals rente, valuta, etc. Hierbij wordt na het aflopen van het contract het verschil uitbetaald in geld. Dit wordt ‘cash settlement’ genoemd. Het is ook mogelijk futures te schrijven voor grondstoffen, edelmetalen of landbouwproducten. Bij dit soort producten vindt na het aflopen van het contract een fysieke levering plaats. De meeste handelaren verhandelen vervolgens deze futures weer omdat hun interesse niet ligt bij het bezitten van de onderliggende producten maar bij de winst door prijsverandering van het onderliggende product. 6.3. Swaps. Een swap is een derivaat waarbij twee partijen bepaalde ‘cashflows’ of risico’s uitwisselen. Er bestaan veel soorten swaps: • Valutaswap • Renteswap • Equity swap
31
• Credit default swap • Total return swap Met Bitcoin in het achterhoofd wordt alleen de valutaswap bestudeert. Dit is een contract waarbij twee partijen verschillende valuta van elkaar lenen en afspreken elkaar terug te betalen tegen een afgesproken wisselkoers. Twee momenten zijn belangrijk bij de valutaswap: het moment van de initi¨ele ruil en het moment van terugruilen. De reden voor een bedrijf om zo’n contract af te sluiten is wanneer het bedrijf op het ene moment een overschot heeft in valuta en het andere moment een tekort, maar wel verwacht het overschot op een bepaald moment weer nodig te hebben. De bank werkt bij de valutaswap als tussenliggende partij. Zelfs al is de transactie volledig afgedekt met leningen in de markt, loopt de bank alsnog risico. Het enige risico dat de bank hierbij loopt is de kans dat een van de partijen failliet gaat. Het is voor de bank deels mogelijk dit risico weg te hedgen en andere maatregelen te treffen om dit risico te verkleinen. Echter zal dit risico nooit geheel verdwijnen. De bank heeft zolang het contract loopt genoeg van valuta X. Die wordt uitgeleend tegen een bepaald bedrag. Er staat tegenover dat de bank valuta Y moet lenen op de markt. Het verschil tussen de rentes op valuta X en Y wordt in de rente van de afbetaling verwerkt. Nu loopt de bank geen risico. Bij een Bitcoinswap zou dit anders zijn, aangezien bij Bitcoin vooralsnog geen tussenpartij aanwezig is. Een bank kan er echter wel voor kiezen als tussenpartij op te treden. Een type Bitcoinswap zou er een kunnen zijn waarbij de partijen niet de bitcoins ruilen tegen een andere valuta, maar waarbij alleen het verschil wordt uitbetaald in een bepaalde valuta. Een partij is dan niet ge¨ınteresseerd in het bezitten van een bepaalde valuta zoals Bitcoin, maar wel in het maken van winst. Een handelaar die Bitcoin accepteert zou een swap kunnen gebruiken om zichzelf in te dekken tegen een prijsverlaging door af te spreken dat hij wordt uitbetaald in cash als de waarde van Bitcoin daalt ten opzichte van de dollar. Dit is een manier om het prijsrisico van Bitcoin te hedgen. 6.4. Foreign exchange opties (FX opties). Een foreign exchange optie, ook wel een FX optie genoemd, geeft de houder het recht maar niet de plicht om een afgesproken hoeveelheid geld in de ene valuta te ruilen voor geld in een andere valuta voor een afgesproken wisselkoers op een vast tijdstip. De markt voor FX opties is een van de grootste en meest liquide markten voor opties. FX opties worden gebruikt door handelaren om wisselkoersrisico af te dekken. Deze optie lijkt heel erg op de in hoofdstuk 6.3 beschreven Bitcoinswap. Het verschil is dat bij een swap er constant betalingen plaatsvinden en bij de FX-optie wordt er op ´e´en vast tijdstip een transactie uitgevoerd. 6.5. Binaire opties. Binaire opties worden ook wel de ‘alles of niets’-opties genoemd. Dit komt doordat bij verandering in prijs van de onderliggende activa de optie een vast bedrag uitkeert ´ of helemaal niets. Aan de andere kant wordt een normale optie juist steeds meer waard naarmate hij meer ‘in the money’ raakt. Deze optie is voor iedereen makkelijk te begrijpen. Het is wel risicovol gezien het feit dat de kans om niks te krijgen aanzienlijk is, er is dus veel onzekerheid. In figuur 21 is de payoff te zien van binaire put- en call-opties.
Figuur 21. Payoff van binaire put- en call-optie
32
Binnen de binaire opties kan onderscheid worden gemaakt tussen een aantal verschillende opties. 6.5.1. High/low binaire optie. Bij de high/low optie kan men onderscheid maken tussen een calloptie en een putoptie. Als de koers van het onderliggende product op de uitoefendatum hoger is dan een vaste drempel, dan wordt er bij de calloptie uitgekeerd. Bij de putoptie wordt uitgekeerd als de waarde is gedaald tot onder de drempel op de uitoefendatum. 6.5.2. One-touch binaire optie. Bij het kopen van de one-touch optie moet de belegger voorspellen of de waarde een bepaald niveau haalt voor de uitoefendatum. Haalt de optie het niveau tussen t = 0 en t = T , dus als de optie ‘in the money’ is geweest gedurende de looptijd, dan wordt er uitbetaald. Er is ook een directe one-touch optie, dan wordt het bedrag direct uitbetaald op het moment dat de drempel wordt bereikt in plaats van op de expiratiedatum. 6.6. Bitcoin-specifieke opties en andere contracten. Met iets meer achtergrond over standaard financi¨ele producten, kunnen nu opties op Bitcoin en andere financi¨ele contracten worden bekeken. Voor verschillende investeerders is een ander contract wellicht aantrekkelijk, door de verschillende belangen. Maak onderscheid tussen twee soorten handelaren: degenen die geld willen verdienen bijvoorbeeld in de vorm van bitcoins of dollars en degenen die risico willen afdekken. Merk op dat in dit geval wordt gekozen om dollars te verdienen, maar dit kan natuurlijk met elke willekeurige valuta. Voor elk van typen handelaren wordt bekeken hoe de producten beschreven in paragraaf 6.1 tot en met 6.5 passen bij hun wensen. 6.6.1. Geld verdienen. Stel een handelaar is ervan overtuigd dat Bitcoin h´et nieuwe betaalmiddel is van de nabije toekomst en deze wil meer bitcoins verkrijgen zonder daar direct kapitaal voor in te ruilen. Er zijn ook handelaren die enthousiast zijn over Bitcoin vanwege een andere reden: de hoge volatiliteit van de koers. Dit biedt mogelijkheid tot het verdienen van geld. Dit gaat echter wel gepaard met het nodige risico en dure optieprijzen vanwege de hoge volatiliteit. Er zijn een aantal mogelijkheden om geld te verdienen met Bitcoin: (1) Europese call- en put-optie Met de Europese call- en put-optie kan worden gespeculeerd over het verloop van de Bitcoinkoers. Zo is het met de call mogelijk om in sommige situaties ‘voordelig’ bitcoins te kopen. Dat is het geval als de waarde van een bitcoin op de markt hoger is dan de waarde bij het uitoefenen van de call-optie. In dat geval is het dus mogelijk om in combinatie met een short- of long-positie op een voordelige manier te investeren en geld te verdienen. (2) Future Een handelaar kan een futurecontract afsluiten om op tijdstip T X bitcoins te kopen voor dollars tegen een vaste wisselkoers. Het is verplicht een future uit te oefenen voor beide partijen. Van tevoren moet de handelaar dus een goed idee hebben hoe de wisselkoers gaat verlopen wil deze geld verdienen. Aan de andere kant is het ook mogelijk dit risico te weg te hedgen. Er zijn ook futurecontracten waar na het aflopen van het contract cash-settlement plaatsvindt. Dit contract is bindend: beide partijen moeten aan hun deel van het contract voldoen. Het voordeel van cash-settlement is dat de future nu puur wordt gebruikt als middel om te speculeren en niet om bitcoins te krijgen. (3) Valutaswap Vanuit het winst-oogpunt is een valutaswap niet aantrekkelijk. Het zijn namelijk meestal lang-lopende contracten tussen partijen die veel te doen hebben met verschillende valuta’s. (4) FX optie Met een FX optie is het mogelijk om te speculeren over het verloop van de wisselkoers tussen Bitcoin en andere valuta. Door de juiste visie te hebben is het mogelijk om hier geld mee te verdienen.
33
(5) Binaire optie De verschillende soorten binaire opties bieden een makkelijk te begrijpen product waarmee geld verdiend kan worden. 6.6.2. Risico afdekken. Sommige handelaren willen in plaats van geld verdienen juist hun risico afdekken. Bijvoorbeeld de firma’s die zich in bitcoins uit laten betalen. Het kan zijn dat deze in de toekomst een betaling krijgen in Bitcoins en er zeker van willen zijn dat dit zijn waarde niet verliest. In dit soort gevallen zijn er genoeg mogelijkheden om risico te hedgen: (1) Europese call- en put-optie De Europese call- en put-opties kunnen worden ingezet om risico te hedgen door de mogelijkheid om bitcoins te kopen en verkopen. Bijvoorbeeld een firma heeft zojuist een grote som geld gekregen en wil zeker weten dat dit over een bepaalde tijd niet minder waard is geworden. De firma kan dan een Europese put-optie kopen waarmee in geval van prijsdaling alsnog de bitcoins kunnen worden verkocht voor de initi¨ele prijs. (2) Future Gezien de plicht die verbonden zit aan de future is dit product minder aantrekkelijk bij het hedgen van risico. (3) Valutaswap Een handelaar die Bitcoin accepteert als betaalmiddel zou een swap kunnen gebruiken om zichzelf in te dekken tegen een prijsverlaging door af te spreken dat er wordt uitbetaald in cash als de waarde van Bitcoin daalt ten opzichte van de dollar. Dit is een manier om het prijsrisico van Bitcoin te hedgen. (4) FX optie Een FX optie is een goede optie om wisselkoersrisico af te dekken. De houder van de optie heeft namelijk het recht en niet de plicht om valuta X te ruilen tegen valuta Y op een vast tijdstip tegen een vaste wisselkoers. Als iemand weet dat hij op een bepaald moment in de toekomst een grote som bitcoins ontvangt en hij wil zeker weten dat dit zijn waarde niet verliest, dan is het mogelijk om de FX optie inzetten. Op het moment dat de bitcoins hun waarde hebben verloren, kan de optie worden uitgeoefend. (5) Binaire optie Een binaire optie is niet interessant op het moment dat er risico wordt gehedged.
34
7. Europese opties met sprong-diffusie 7.1. Prijzen van een Europese optie met Monte Carlo. Zoals al eerder besproken in hoofdstuk 6.1 geeft een Europese call-optie een payoff van: = max(S(T ) − E, 0)
CEU
Bepaal M keer een Monte Carlo prijspad met het sprongproces erin verwerkt en noem de payoff na de m’de keer: CEU (m). Dan is de optiewaarde VC gebaseerd op het principe van geen arbitrage als volgt: (36)
= e−rT · E[CEU ]
VC
' e−rT ·
(37)
M 1 X CEU (m) M m=1
Deze methode van M keer simuleren en het gemiddelde nemen heet de Monte Carlo methode. In bijlage 10.10 is een Matlab-implementatie te vinden van het prijzen van de call-optie voor het model van Kou met risico-neutrale parameters. De implementatie voor het prijzen van de opties voor de andere modellen gaat analoog. De prijs voor de bijbehorende Europese put-optie is op een goedkopere manier te berekenen, namelijk met de put-call pariteit. Beschouw twee investeringsportfolio’s πA , en πB : πA : een call-optie plus E · e−rT cash (ge¨ınvesteerd op een bankrekening πB : een put-optie plus een eenheid van het aandeel Op de uitoefendatum van de optie is portfolio πA maximaal max(S(T )−E, 0)+E = max(S(T ), E) waard. Portfolio πB is op dat moment maximaal max(E − S(T ), 0) + S(T ) = max(S(T ), E) waard. Als twee portfolio’s op T evenveel waard zijn, dan is dat zo gedurende de gehele looptijd, dus ook op tijdstip t = 0. Dit geeft de put-call pariteit: (38)
VC + E · e−rT
= VP − S(0)
Schrijf nu (38) om zodat de put-prijs VP te berekenen is: (39)
= E · e−rT − S(0) + VC
VP
7.2. Betrouwbaarheidsinterval. Als met behulp van de Monte Carlo methode een schatting wordt gegeven voor bijvoorbeeld een Europese call-optie dan is het ook belangrijk om te weten hoe goed deze schatting is. Dit wordt gedaan met behulp van het betrouwbaarheidsinterval. Bekijk eerst het algemene geval van een stochast X. Van deze stochast zijn verwachting E[X] = a en variantie var[X] = b onbekend. Neem in totaal M onafhankelijke stochasten X1 , X2 , . . . , XM met dezelfde verdeling als X. Het is te verwachten dat dat aM
:=
M 1 X Xi M i=1
een goede benadering voor a geeft. Een goede schatter voor de variantie wordt gegeven door M
b2M
1 X (Xi − aM )2 . M −1
:=
i=1
Merk op dat voor grote waarden van M de variantie wordt gegeven door b2M
≈
M 1 X (Xi − aM )2 M i=1
PM aangezien dan geldt dat M ≈ M − 1. De Centrale Limiet Stelling geeftnu dat i=1 Xi zich b2 2 gedraagt als een N (M a, M b ) stochast. Dus aM − a is bij benadering N 0, M verdeeld. Dat
35
b wil zeggen dat aM − a een standaard normale verdeling volgt, geschaald met √ . Hieruit kan M worden opgemaakt dat: 1.96b 1.96b (40) = 0.95. ≤ a ≤ aM + √ P aM − √ M M Vervang nu in (40) b door bM . Nu is bekend dat met kans 0.95 de verwachte waarde a ligt in het interval: 1.96bM 1.96bM aM − √ (41) . , aM + √ M M Met andere woorden kan met 95% zekerheid worden gezegd dat a zich in het interval (41) be1.96bM vindt. Hierin is √ de halve breedte van het betrouwbaarheidsinterval. M In het geval van Bitcoin gaat het proces als volgt: (1) Reken M keer het prijspad uit. (2) Bepaal telkens per individueel pad de waarde van de bijbehorende optie met behulp van (37). (3) Bereken het gemiddelde aM van de M optiewaarden. (4) Per prijspad wordt ook de bijbehorende variantie berekend. (5) Nu kan het het betrouwbaarheidsinterval worden opgesteld met behulp van (41). 7.3. Nauwkeurigheid van de benadering. Het bepalen van de oplossing voor de stochastische differentiaalvergelijking voor het prijspad heeft O(dt) afbreekfout. Daarnaast is de fout bij 1 het schatten van de optiewaarde met behulp van Monte Carlo van grootte O √ . De totale M fout van de gebruikte methode is nu van grootte: 1 Fout = O max dt, √ M 1 100
en M = 105 replicaties hoort een fout van grootte: 1 1 Fout = O max ,√ 100 105 1 = O 100
Bij een tijdstap van grootte dt =
7.4. Antithetische variabelen. Het idee achter antithetische variabelen is het reduceren van variantie. Deze methode wordt daarom ook wel een variantie-reductie methode genoemd. Cree¨eren voor elk pad een antithetisch pad gebaseerd op het originele pad. Daardoor is het gemakkelijk om deze te verkrijgen. De antithetische schatter Vˆ AV voor de waarde van de Europese call-optie wordt in Abdulle [1] gegeven door (42). De bijbehorende put-prijs kan worden bepaald met de put-call pariteit uit (39). "M # M X X 1 AV (42) VˆCall = fCall S (i) (T ) + fCall S˜(i) (T ) 2M i=1 i=1 (i) (T ) + f ˜(i) (T ) M f S S X Call Call 1 = M 2 i=1
In (42) is S (i) (T ) de waarde van de i-de simulatie van het prijspad op tijdstip T . S˜(i) (T ) is de waarde van de i-de simulatie van het antithetische prijspad op tijdstip T . Daarnaast hebben is de functie fCall gedefinieerd als: fCall = e−rT max(E − S(T ), 0)
36
7.4.1. Modelspecifiek. Voor elk van de twee gebruikte modellen bestaat een specifieke manier om de antithetische tegenhanger te verkrijgen. Merton Voor het model van Merton wordt gebruik gemaakt van lognormaal verdeelde sprongen. Stel x is lognormaal verdeeld, dan wordt zijn antithetische tegenhanger gegeven door:
ln(x) − µJ x ˜ = exp µJ − σJ σJ
Kou Voor het model van Kou kan een trekking x uit de dubbele exponenti¨ele verdeling verkregen worden door:
u ln 1−p , u
Hierin is u een trekking uit een standaard uniforme verdeling. Voor de antithetische tegenhanger x ˜ zou gebruik kunnen worden gemaakt van 1 − u in plaats van u:
ln 1−u , 1−u
Merk op dat dit anders is dan de beschreven manier in paragraaf 5.1. In eerste tests gaf deze variant geen tevredenstellend resultaat, vandaar dat deze variant niet verder zal worden gebruikt.
7.5. Resultaten. Er is een selectie van modellen gemaakt, waarvoor de optieprijzen worden berekend. Omdat al eerder is gezien dat het model van Merton geen goede resultaten geeft, wordt daar geen gebruik van gemaakt. Ook is bekend dat het ‘regime-switching’ model van Kou lastig te kalibreren is vanwege het feit dat er te veel vrijheidsgraden zijn, daarom worden hiervoor ook geen optieprijzen berekend. Hierdoor zijn het ‘regime-switching’ model van Merton en het model van Kou over. Van beide worden de optiewaarden berekend onder de P-maat en onder de Q-maat met behulp van de risico-neutrale parameters. In tabel 6 tot en met 11 zijn de resultaten te vinden voor het bepalen van de optiewaarden van de verschillende modellen voor de verschillende aantallen replicaties M en verschillende parameters. Telkens wordt de waarde van de call-optie VC met de bijbehorende halve-breedte van het 95% betrouwbaarheidsinterval (hb) bepaald. De waarde van de put-optie VP wordt met behulp van de put-call pariteit (39) bepaald.
37
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 0.9044 0.9258 0.9201 0.9167 0.9180 hb VC 0.0869 0.0408 0.0291 0.0128 0.0091 VP 1.7554 Merton VC 1.8356 1.8510 1.8439 1.8453 1.8388 Regime hb VC 0.1313 0.0582 0.0415 0.0187 0.0132 Risk-free VP 2.6762 Kou VC 3.1457 3.0562 3.0490 3.0340 3.0153 hb VC 0.1937 0.0852 0.0602 0.0271 0.0191 VP 3.8527 Kou VC 9.7815 9.8198 9.8744 9.8038 9.8070 Risk-free hb VC 0.3774 0.1642 0.1159 0.0513 0.0364 VP 10.6444 Tabel 6. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 8.83, S(0) = 3.5 en E = 5 Model Merton Regime
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 1.8108 1.7920 1.7900 1.8079 1.7999 hb VC 0.1091 0.0495 0.0348 0.0156 0.0110 VP 1.3361 Merton VC 2.9636 2.9674 2.9267 2.9341 2.9384 Regime hb VC 0.1395 0.0648 0.0454 0.0203 0.0144 Risk-free VP 2.4746 Kou VC 4.2127 4.2458 4.1873 4.1654 4.1730 hb VC 0.2074 0.0914 0.0642 0.0285 0.0203 VP 3.7092 Kou VC 10.8223 10.9838 10.9398 11.0123 11.0238 Risk-free hb VC 0.3537 0.1611 0.1149 0.0525 0.0372 VP 10.5600 Tabel 7. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 8.83 en S(0) = E = 3.5 Model Merton Regime
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 1.8114 1.8120 1.8130 1.8028 1.8027 hb VC 0.0608 0.0282 0.0199 0.0089 0.0063 VP 1.3389 Merton VC 2.8686 2.9363 2.9357 2.9426 2.9404 Regime hb VC 0.0761 0.0360 0.0257 0.0112 0.0079 Risk-free VP 2.4766 Tabel 8. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 8.83 en S(0) = E = 3.5, met antithetische variabelen Model Merton Regime
38
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 0.8260 0.8068 0.7907 0.7869 0.7875 hb VC 0.0409 0.01783 0.01269 0.00567 0.0040 VP 0.5256 Merton VC 0.9626 0.9214 0.9291 0.9268 0.9285 Regime hb VC 0.0446 0.0192 0.0137 0.0061 0.0043 Risk-free VP 0.6666 Kou VC 1.8971 1.9537 1.9572 1.9576 1.9556 hb VC 0.0962 0.0450 0.0316 0.0141 0.0100 VP 1.6937 Kou VC 4.1422 4.1150 4.1038 4.1093 4.1021 Risk-free hb VC 0.1462 0.0641 0.0441 0.0197 0.0139 VP 3.8402 Tabel 9. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 4.83 en S(0) = E = 3.5 Model Merton Regime
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 0.0663 0.0679 0.0683 0.0685 0.0688 hb VC 0.0058 0.0026 0.0019 0.0008 0.0006 VP 0.0129 Merton VC 0.0711 0.0692 0.0689 0.0685 0.0688 Regime hb VC 0.0061 0.0027 0.0019 0.0008 0.0006 Risk-free VP 0.0129 Kou VC 0.3599 0.3752 0.3772 0.3851 0.3856 hb VC 0.0252 0.0115 0.0081 0.0037 0.0026 VP 0.3297 Kou VC 0.5499 0.5607 0.5602 0.5671 0.5671 Risk-free hb VC 0.0286 0.0128 0.0091 0.0041 0.0029 VP 0.5112 Tabel 10. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 1.00 en S(0) = E = 3.5 Model Merton Regime
Type M = 103 M = 5 · 103 M = 104 M = 5 · 104 M = 105 VC 0.0453 0.0457 0.0462 0.0474 0.0472 hb VC 0.0040 0.0018 0.0013 0.0006 0.0004 VP 0.0191 Merton VC 0.0463 0.0458 0.0459 0.0472 0.0472 Regime hb VC 0.0042 0.0019 0.0013 0.0006 0.0004 Risk-free VP 0.0191 Kou VC 0.1755 0.1906 0.1868 0.1843 0.1842 hb VC 0.0154 0.0073 0.0051 0.0023 0.0016 VP 0.1561 Kou VC 0.1437 0.1421 0.1410 0.1406 0.1412 Risk-free hb VC 0.0166 0.0073 0.0051 0.0023 0.0016 VP 0.1131 Tabel 11. Optiewaarden voor verschillende hoeveelheden replicaties voor parameters T = 0.50 en S(0) = E = 3.5 Model Merton Regime
39
In tabel 6 tot en met 11 zijn voor alle modellen dezelfde model-specifieke parameters gebruikt: Merton ‘regime-switching’ • λ1 = µ1J = σJ1 = 0, λ2 = 25, µ2J = 0.01, σJ2 = 0.03, λ3 = 5, µ3J = −0.02, σJ3 = 0.07 Kou • λ = 15, η1 = 47, η2 = 35, p = 0.7 Daarnaast zijn er per tabel nog een aantal specifieke gegevens: • In tabel 6 is voor alle modellen gebruik gemaakt van de parameters: T = 8.83, S(0) = 3.5 en E = 5. • In tabellen 7 en 8 is voor alle modellen gebruik gemaakt van de parameters: T = 8.83 en S(0) = E = 3.5. • In tabel 9 is voor alle modellen gebruik gemaakt van de parameters: T = 4.83 en S(0) = E = 3.5. • In tabel 10 is voor alle modellen gebruik gemaakt van de parameters: T = 1.00 en S(0) = E = 3.5. • In tabel 11 is voor alle modellen gebruik gemaakt van de parameters: T = 0.50 en S(0) = E = 3.5. Uit deze tabellen kan het ´e´en en ander worden opgemaakt. In bijna alle gevallen kan de conclusie worden getrokken dat geldt: VCQ ≥ VCP , VPQ ≥ VPP . Onder de Q-maat zijn de opties dus duurder dan onder de P-maat. Een schrijver van opties prijst deze altijd onder de Q-maat. Het belangrijkste voor de validiteit van deze prijzen is convergentie in optieprijzen naar mate het aantal replicaties M groter wordt, en het kleiner worden van het betrouwbaarheidsinterval. Dit is overal het geval, dus er kan gezegd worden dat de berekeningen goed zijn uitgevoerd. In tabel 6 staat een call-optie die ‘out of the money’ is. Dit betekend dat de bijbehorende put-optie ‘in the money’ is. Voor de put-optie betekent dit dat deze al vanaf het begin geld waard is, en de kans bestaat dat hij nog meer waard wordt. De call-optie is daarentegen aan het begin nog niets waard, en moet eerst een sprong maken richting uitoefenprijs E om iets waard te worden. Vandaar in tabel 6 terug is te zien dat voor alle modellen geldt: VP
> VC .
Beide opties zijn ‘at the money’ als de uitoefenprijs gelijk is aan de beginwaarde: S(0) = E = 3.5. De bijbehorende optieprijzen zijn te vinden in tabel 7. Dit betekent dat de call-prijzen hoger zullen zijn ten opzichte van de bijbehorende prijzen uit tabel 6, aangezien de optie nu sneller wat waard wordt. De waarden van de put-opties zijn lager geworden ten opzichte van de prijzen uit tabel 6. Dit klopt ook, aangezien de optie nu niet vanaf het begin al iets waard is, maar op waarde 0 begint. In tabel 8 zijn de antithetische optieprijzen te vinden, met dezelfde parameters als in tabel 7. De prijzen van de call- en de put-opties zijn voor beide modellen van Merton in allebei de tabellen gelijk aan elkaar. Dit betekent dat de antithetische variabelen correct zijn ge¨ımplementeerd. Het is te verwachten dat bij antithetische variabelen de halve breedte van het 95% betrouwbaarheidsinterval sneller zal convergeren. Na het bestuderen van tabellen 7 en 8 kan worden geconcludeerd dat er een snelheidswinst van ongeveer factor twee optreedt. Dit is gunstig, omdat nu een kleiner betrouwbaarheidsinterval gegeven kan worden voor de schatting. Echter zou toch minimaal een orde snelheidswinst te verwachten zijn bij het gebruik van antithetische variabelen. Het combineren van antithetische variabelen en sprongprocessen blijkt dus niet precies hetzelfde te werken als het standaard proces bij de GBM. Snelheidswinst is uiteindelijk wel het
40
doel, aangezien men dan met meer zekerheid kan zeggen dat de schatting correct is. In tabellen 9, 10 en 11 zijn er opties geprijsd die allen ‘at the money’ zijn met respectievelijk uitoefentijdstippen T = 4.83, T = 1.00 en T = 0.50. Het ligt in de lijn der verwachting dat naar mate de uitoefentijdstippen dichterbij liggen, de opties goedkoper zullen worden. Zeer opvallend is het feit dat voor T = 1.00 en T = 0.50 de prijzen voor de modellen van Merton extreem laag zijn. Hier is een logische verklaring voor. Beide modellen van Merton zijn namelijk de ‘regime-switching’ varianten. De uitoefentijdstippen T = 1.00 en T = 0.50 liggen namelijk in het eerste regime, waarin geen sprongen zijn gemodelleerd. Hierdoor is de kans kleiner dat er een sprong komt waardoor de opties ‘in de money’ raken. Het valt meteen op dat binnen elke tabel de optieprijzen nogal veel kunnen verschillen. Dit is te wijten aan modelrisico, dat is het risico die wordt genomen bij het kiezen van een model. Het was al bekend dat een schrijver het beste de opties kan prijzen onder de risico-neutrale maat. Daarnaast is het verstandig om de hoogste prijs te kiezen. Hiermee wordt de kans vermeden dat de schrijver de optie een te lage prijs geeft en dus kans maakt op verlies.
41
8. Conclusie In dit verslag is beschreven wat het idee is geweest achter Bitcoin, wie het heeft bedacht en ontwikkeld, en hoe het blokketen-principe werkt als logboek voor transacties. Daarnaast is er een beeld geschetst van een aantal van de grotere Altcoins die ter vervanging op zouden kunnen treden voor Bitcoin. Met een goed beeld van Bitcoin in het achterhoofd begon het wiskundige deel van het project. Na een beknopte basis over de financi¨ele wiskunde werd duidelijk dat de returns van Bitcoin geen Geometrische Brownse beweging volgen zoals veel aandelen. Het idee was om vervolgens de verdeling van de returns nader te bestuderen. Begrippen als scheefheid en kurtosis zijn de revue gepasseerd. Het is duidelijk geworden dat het belangrijk is er voor te zorgen dat de verdeling van het uiteindelijke model dezelfde scheefheid en kurtosis vertoont. Samen met de QQ-plot blijken dit een goede set van criteria te zijn om te beoordelen of een model geschikt is of niet. Nu het GBM-model niet langer een goede optie was, moest op zoek worden gegaan naar een model dat de sprongen in de koers van Bitcoin kon modelleren, en tegelijkertijd de juiste scheefheid en kurtosis meebracht. Een logische eerste keuze bleek het lognormale sprong-diffusie model van Merton. Deze bleek na kalibratie niet de gewenste verdeling op te leveren. Het toevoegen van ‘regime-switching’ was een interessante stap, aangezien dit model waarden gaf voor de scheefheid en kurtosis die in de buurt lagen van de corresponderende waarden van de data. Ook gaf de QQ-plot het beeld dat het ‘regime-switching’ model van Merton een goede keuze was. Naast het model van Merton was ook het model van Kou een keuze om te bestuderen. Dit model was vrijwel identiek aan dat van Merton, op een cruciaal onderdeel na: in het model van Kou werd gebruik gemaakt van dubbel-exponenti¨ele sprongen in plaats van lognormale sprongen. Deze wijziging in verdeling van sprongen bracht ons een stap verder. De resultaten van het model van Kou waren passender dan eerst al was gezien. De verwachting was dat het toevoegen van ‘regime-switching’ dit geheel nog beter zou maken, alleen dit bleek niet het geval te zijn. De regime-wisselende variant van het Kou-model was te lastig om te kalibreren: er waren te veel vrijheidsgraden en het overzicht, welke invloed een bepaalde parameter had op het geheel, kon niet worden bewaard. Met twee succesvolle modellen werd het tijd om te kijken naar een aantal financi¨ele producten. Ook werd hun relevantie voor Bitcoin besproken. Het prijzen van een Europese call-optie bleek de meest voor de hand liggende optie om te prijzen. De put-prijs kon gemakkelijk worden verkregen door de put-call pariteit. Het prijzen van de call-optie werd gedaan met behulp van Monte Carlo methoden (en antithetische variabelen) voor het ‘regime-switching’ model van Merton. In het geval van Kou bleken de antithetische variabelen nog niet correct te werken, dit moet nog verder worden onderzocht. De geprijsde opties bleken het verwachtte gedrag te vertonen, wat duidt op correcte optieprijzen. Wel was er tussen de modellen nog een grote variatie in prijzen, wat te maken heeft met modelrisico. Uiteindelijk gaat de voorkeur uit naar het model van Kou voor het prijzen van Europese opties op Bitcoin. De dubbel-exponenti¨ele verdeling geeft de mogelijkheid om beide staarten van de verdeling los van elkaar in te stellen. Dit is geschikt in het geval van Bitcoin. Het model van Kou gaf de hoogste optieprijzen, het zou een logische keuze zijn voor een schrijver van opties om deze opties te prijzen volgens de waarden die horen bij het model van Kou. Uiteraard zijn er ook nog een aantal dingen voor verbetering vatbaar in dit project. Alhoewel een solide basis is gegeven voor het prijzen van opties, door middel van het doorlopen van alle logische stappen voor het opstellen van het model, is er per stap nog winst te behalen. Zo zijn de risiconeutrale parameters voor de beide sprong-diffusie modellen ´e´en op ´e´en overgenomen uit de literatuur. Hier zou meer onderzoek naar gedaan kunnen worden, met name de herkomst
42
van deze parameters. Hierin zit ook het begrip van risico-aversie verwerkt. Deze zijn gekozen zoals vermeld in de literatuur, maar het tot in detail begrijpen van dit begrip is iets voor een vervolgonderzoek. Ten slotte zijn alle modellen met de hand gekalibreerd. Dit levert uiteraard niet de beste oplossingen voor de gestelde vraagstukken, het optimaliseren van deze parameters is een aanbeveling voor vervolgonderzoek. Al met al kan worden gesteld dat dit project een uitgebreid verkennend onderzoek is naar hoe Bitcoin zich gedraagt, welke processen hiermee gepaard gaan, en hoe Europese opties op Bitcoin geprijsd kunnen worden.
43
9. Referenties [1] A. Abdulle, A. Blumenthal, E. Buckwar, ‘The Multilevel Monte Carlo Method for Stochastic Differential Equations driven by Jump-Diffusion Processes’, 2010. [2] N. Barberis, A. Shleifer, R. Vishny, ‘A model of investor sentiment’, Journal of Financial Economics, No. 49, pp 307-343, 1998. [3] http://bitcoincharts.com/charts/bitstampUSD#tgSzm1g10zm2g25zv [4] M. Cekan, A. Wendel, U. Wystup, “Foreign Exchange Options”, 2010. [5] http://www.coindesk.com/price/ [6] O. Le Courtois, F. Quittard-Pinon, “Risk-Neutral and Actual Default Probabilities with an Endogenous Bankruptcy Jump-Diffusion Model”, 2006. [7] J.C. Cox, S.A. Ross, M. Rubinstein, ‘Option pricing: a simplified approach’, Journal of Financial Economics, No.7, pp 229-263, Juli 1979. [8] E. Fama, ‘Market efficiency, long-term returns, and behavioral finance’, Journal of Financial Economics, No. 49, pp 283-306, 1998. [9] P.A. Forsyth, “An Introduction to Computational Finance Without Agonizing Pain”, March 2004. [10] http://www.nu.nl/tech/3803282/bitcoin-onveilig-krachtig-computernetwerk.html [11] C. He et.al, “Calibration and hedging under jump diffusion”, Springer Science, 2007. [12] D.J. Higham, “An Introduciton to Financial Option Valuation”, Cambridge University Press, 8th ed. 2013, ISBN 978-0-521-54757-4. [13] Y. Huang, P.A. Forsyth, G. Labahn, ‘Methods for pricing American options under regime switching’, May 2011. [14] S.G. Kou, “A Jump-Diffusion Model for Option Pricing”, Management Science, Vol. 48, No. 8, Augustus 2002. [15] S.G. Kou, H. Wang, “Option Pricing Under a Double Exponential Jump Diffusion Model”, Management Science, Vol. 50, No.9, September 2004. [16] S.G. Kou, “Jump-Diffusion Models for Asset Pricing in Financial Engineering”, Handbooks in OR & MS, Vol. 15, 2008. [17] S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2009. [18] V. Naik, M. Lee, “General Equilibrium Pricing of Options on the Market Portfolio with Discontinuous Returns”, The Revieuw of Financial Studies, Vol. 30, No. 4, 1990. [19] http://www.quandl.com/BAVERAGE/USD-USD-BITCOIN-Weighted-Price [20] R. Seydel, “Tools for Computational Finance”, Springer Verlag Berlin, 5th ed. 2012, ISBN 3-540-40604-2. [21] D.M. Wang, ‘Monte Carlo simulations for complex option pricing’, 2010.
44
10. Bijlagen 10.1. Simulatie bij paragraaf 3.4. Met de parameters λ = 160, µJ = 0.01, en σJ = 0.11 maken we in figuur 22 een histogram van de returns van de simulatie en een QQ-plot tegen de returns van de marktdata. Hierin is te zien dat de verdelingen van de dagelijkse en wekelijkse returns van de simulaties sterk lijken op die van de marktdata. Ook geeft de QQ-plot bijna een rechte lijn. Dit wil zeggen dat we schijnbaar redelijk de goede verdeling te pakken hebben. De scheefheid en kurtosis zijn te vinden in tabel 12: Data
Simulatie
γ3daily γ4daily γ3weekly γ4weekly
-0.0963 0.8633 14.8246 5.8924 1.0490 1.3584 6.3772 5.6392 Tabel 12. Scheefheid en kurtosis: data versus de simulatie uit figuur 22
Het is meteen te zien dat deze waarden niet nauwkeurig overeen komen, in het bijzonder de dagelijkse data. Bij beide type returns hebben de waarden wel de goede orde van grootte, bij γ3weekly en γ4weekly is het zelfs bijna perfect.
Figuur 22. Fit voor Merton tegen de data, met parameters λ = 160, µJ = 0.01, en σJ = 0.11 10.1.1. Valideren van het numerieke resultaat. De simulatie weergeven in figuur 22 is echter slechts ´e´en simulatie. Het blijkt dat simulaties ook een zeer irre¨ele uitkomst kunnen hebben, zie figuur 23.
45
Figuur 23. Slechte fit voor Merton tegen de data, met parameters λ = 160, µJ = 0.01, en σJ = 0.11
Figuur 24. Histogram van de verdeling van M = 104 simulaties van de eind-waarden S(T ) van het Merton model met parameters λ = 160, µJ = 0.01, en σJ = 0.11 Figuur 24 geeft een histogram weer met daarin de koerswaarde op het eindtijdstip van M = 104 simulaties met de bijbehorende frequenties. Hier is direct te zien dat het gekregen resultaat nog niet correct is. Dit heeft waarschijnlijk te maken met de erg hoge waarde van λ = 160, dit
46
betekent namelijk dat er ongeveer elke twee dagen een sprong plaatsvindt. Dit is een erg hoge intensiteit van sprongen. 10.2. Validatie Merton. In Wang [21] zijn op pagina 56 en 57 referentiewaarden voor de sprongen van het model van Merton te vinden, met parameters lambda = 0.2, µJ = −0.3, σJ = 0.4, σ = 0.3, T = 10 en r = 0.06. De gekozen waarde voor µJ impliceert een gemiddelde q = eµJ = 0.7408, wat correspondeert met een gemiddelde daling van 26% in Sτ op sprongtijdstip τ . In tabel 13 zijn de waarden van de simulatie te vinden met deze parameters. τ log(q) q sprong 0.38 -0.0697 0.9326 7% omlaag 3.52 -0.5316 0.5877 41% omlaag 5.45 -0.3555 0.7008 30% omlaag Tabel 13. Lognormale sprongen
Het gemiddelde van de drie sprongen is 26% omlaag. Dit komt overeen met het veronderstelde, daarom kan worden geconcludeerd dat de lognormale sprongen correct zijn ge¨ımplementeerd. 10.3. Validatie Monte Carlo Kou. In het artikel van Kou [14] staan op pagina 1095 referentiewaarden voor het prijzen van een Europese call-optie onder het Kou-model. Met parameters η1 = 10, η2 = 5, lambda = 1, p = 0.4, σ = 0.16, r = 0.05, S(0) = 100, E = 98, dt = 1 250 en T = 0.5 wordt de optiewaarde VCall = 9.14732 verkregen. Het resultaat voor het prijzen van een call-optie met deze parameters is te vinden in figuur 25.
Figuur 25. 500 gesimuleerde Monte Carlo paden en de referentiewaarde Bij deze 500 simulaties hoort een gemiddelde waarde van VCall = 9.12097, die dus nagenoeg gelijk is aan de referentiewaarde. Hieruit kan worden geconcludeerd dat het model goed is ge¨ımplementeerd in Matlab. 50 simulaties van paden met M = 105 replicaties, in plaats van M = 104 zoals in figuur 25, geven een gemiddelde waarde van VCall = 9.12377. De visuele resultaten zijn te vinden in figuur 26.
47
Figuur 26. 50 gesimuleerde Monte Carlo paden en de referentiewaarde 10.4. Plot van de returns. close all ; clear all ; clc %%%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; l o g d a i l y ( i )= l o g ( vec ( i +1)/ vec ( i ) ) ; end b=f l o o r ( a / 7 ) ; weekly=z e r o s ( b , 1 ) ; l o g w e e k l y=z e r o s ( b , 1 ) ; f o r i =1:b j =7∗ i −6; weekly ( i )=( vec ( j +7)−vec ( j ) ) / vec ( j ) ; l o g w e e k l y ( i )= l o g ( vec ( j +7)/ vec ( j ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%S c h e e f h e i d en k u r t o s i s%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S c h e e f h e i d d=s k e w n e s s ( d a i l y ) K u r t o s i s d=k u r t o s i s ( d a i l y ) S c h e e f h e i d w=s k e w n e s s ( weekly ) K u r t o s i s w=k u r t o s i s ( weekly ) S c h e e f h e i d l d=s k e w n e s s ( l o g d a i l y ) K u r t o s i s l d=k u r t o s i s ( l o g d a i l y ) S c h e e f h e i d l w=s k e w n e s s ( l o g w e e k l y ) K u r t o s i s l w=k u r t o s i s ( l o g w e e k l y )
48
%%%%%%%%%%%%%%%%%%%%Trekken u i t normale v e r d e l i n g%%%%%%%%%%%%%%%%%%%%%%%%%% rand=randn ( a , 1 ) ; s s o r t=s o r t ( rand ) ; l o g r a n d=l o g ( rand ) ; l o g s s o r t=l o g ( s s o r t ) ; %%%%%%%%%%%%%%%%%%%%P l o t t e n van d a g e l i j k s e r e t u r n s%%%%%%%%%%%%%%%%%%%%%%%%% ... %%%%%%%%%%%%%%%%%%%%P l o t t e n van w e k e n l i j k s e r e t u r n s%%%%%%%%%%%%%%%%%%%%%%%% ... %%%%%%%%%%%%%%%%%%$%%P l o t t e n van normale t r e k k i n g e n%%%%%%%%%%%%%%%%%%%%%%%% ... %%%%%%%%%%%%%%%%%%%%%%%%%%H o e v e e l h e i d s p r o n g e n%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f a c t o r=z e r o s ( a , 1 ) ; s p ro ng=z e r o s ( a , 1 ) ; s t d e v=s t d ( d a i l y ) ; f o r i =1: a f a c t o r ( i )= vec ( i +1)/ vec ( i ) ; i f f a c t o r ( i )>=(1+ s t d e v ) sp ro n g ( i )=1; e l s e i f f a c t o r ( i )<=(1− s t d e v ) sp r o n g ( i )=1; end end t o t a a l=sum ( s p r o n g ) lambda=a/ t o t a a l 10.5. Merton’s Jump-Diffusion model. c l o s e a l l ; c l e a r a l l ; c l c ; c l f ; format l o n g %%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; l o g d a i l y ( i )= l o g ( vec ( i +1)/ vec ( i ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S0 = vec ( 1 ) ; %B e g i n p r i j s r = 0.0161; %R i s i c o n e u t r a l e r e n t e mu = mean ( d a i l y ) ; %D r i f t van a a n d e e l p r i j s sigma = s t d ( d a i l y ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s lambda = 5 . 8 3 2 5 ; %I n t e n s i t e i t van de s p r o n g T = ( a+1)∗ dt ; %T o t a l e t i j d s d u u r dt = 10ˆ( −2); %T i j d s t a p , i n machten van 10
49
mujump = 0.25∗( −1+ s q r t (1+8∗ l o g (1 −(mu−r ) / lambda ) ) ) ; %Gemiddelde van de s p r o n g e n sigmajump = 2∗mujump ; %Std . van de s p r o n g e n N=10ˆ4; %H o e v e e l h e i d t r e k k i n g e n u i t exprnd %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t = ( 0 : dt : T ) ’ ; S = z e r o s (T/ dt + 1 , 1 ) ; S(1)= S0 ; %%%%%%%%%%%%%%%%%%%%%Genereren van de s p r o n g t i j d s t i p p e n%%%%%%%%%%%%%%%%%%%% h = exprnd ( 1 / lambda , N, 1 ) ; tau = z e r o s (N, 1 ) ; tau (1)= h ( 1 ) ; f o r j = 1 :N−1 tau ( j +1)= tau ( j )+h ( j +1); end tau1 = tau ( tau < T ) ; tau2 = z e r o s ( l e n g t h ( tau1 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau1 ) tau2 ( i )= round ( tau1 ( i ) ∗ 1 0 0 ) / 1 0 0 ; end tau2=unique ( tau2 ) ; %%%%%%%%%%%%%%%%%%Genereren van de g r o o t t e van de s p r o n g e n%%%%%%%%%%%%%%%%% l o g q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; R = randn ( l e n g t h ( tau2 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau2 ) l o g q ( i )= sigmajump ∗R( i )+mujump ; q ( i )= exp ( l o g q ( i ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%Genereren van h e t p r i j s p a d%%%%%%%%%%%%%%%%%%%%%%%% i = 1; j = 1; Z = randn (T/ dt + 1 , 1 ) ; w h i l e i < (T/ dt +1) i = i +1; i f ( abs ( ( ( i −1)∗ dt)−tau2 ( j )) <10ˆ( −2) && j < l e n g t h ( tau2 ) ) S ( i )= S ( i −1)∗( exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i −1))+(q ( j ) − 1 ) ) ; j = j +1; continue else S ( i )= S ( i −1)∗ exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i − 1 ) ) ; continue end end 10.6. Aantal sprongen. c l o s e a l l ; c l e a r a l l ; c l c ; format l o n g
50
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; f a c t o r=z e r o s ( a , 1 ) ; s p ro ng=z e r o s ( a , 1 ) ; d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; end s t d e v=s t d ( d a i l y ) ; f o r i =1: a f a c t o r ( i )= vec ( i +1)/ vec ( i ) ; i f f a c t o r ( i )>=(1+2∗ s t d e v ) sp ro n g ( i )=1; e l s e i f f a c t o r ( i )<=(1−2∗ s t d e v ) sp ro n g ( i )=1; end end t o t a a l=sum ( s p r o n g ) lambda=a/ t o t a a l s p ron gen=n o n z e r o s ( s p r o n g . ∗ f a c t o r ) ; g e m i d d e l d e=mean ( s p r o n g e n ) s t d a f w i j k i n g=s t d ( s p r o n g e n ) kans omlaag=l e n g t h ( f i n d ( f a c t o r <1))/ l e n g t h ( f a c t o r ) kans omhoog=l e n g t h ( f i n d ( f a c t o r >=1))/ l e n g t h ( f a c t o r ) k a n s t o t a a l=kans omlaag+kans omhoog 10.7. ‘Regime-switching’ Merton. c l o s e a l l ; c l e a r a l l ; c l c ; c l f ; format l o n g %%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; l o g d a i l y ( i )= l o g ( vec ( i +1)/ vec ( i ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S0 = vec ( 1 ) ; %B e g i n p r i j s r = 0.0161; %R i s i c o n e u t r a l e r e n t e dt = 10ˆ( −2); %T i j d s t a p , i n machten van 10 T = ( a+1)∗ dt ; %T o t a l e t i j d s d u u r N = 10ˆ4; %H o e v e e l h e i d t r e k k i n g e n u i t exprnd moment1 = 4 ; %Einde e e r s t e r e g i m e
51
moment2 = 6 . 5 ;
%Einde tweede r e g i m e
%Deel 1 van regime−s w i t c h i n g lambda1 = 0 ; %I n t e n s i t e i t van de s p r o n g mujump1 = 0 ; %Gemiddelde van de s p r o n g e n sigmajump1 = 0 ; %Std . van de s p r o n g e n mu1 = mean ( d a i l y ( 1 : ( ( moment1/ dt ) − 1 ) ) ) ; %D r i f t van a a n d e e l p r i j s sigma1 = s t d ( d a i l y ( 1 : ( ( moment1/ dt ) − 1 ) ) ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s
%Deel 2 van regime−s w i t c h i n g lambda2 = 9 0 ; %I n t e n s i t e i t van de s p r o n g mujump2 = 0 . 0 4 ; %Gemiddelde van de s p r o n g e n sigmajump2 = 0 . 0 8 ; %Std . van de s p r o n g e n mu2 = mean ( d a i l y ( ( moment1/ dt ) : ( ( moment2/ dt ) − 1 ) ) ) ; %D r i f t van a a n d e e l p r i j s sigma2 = s t d ( d a i l y ( ( moment1/ dt ) : ( ( moment2/ dt ) − 1 ) ) ) ; %V o l a t i l i t e i t van a a n d e e l p %Deel 3 van regime−s w i t c h i n g lambda3 = 1 0 ; %I n t e n s i t e i t van de s p r o n g mujump3 = 0 . 0 5 ; %Gemiddelde van de s p r o n g e n sigmajump3 = 0 . 3 0 ; %Std . van de s p r o n g e n mu3 = mean ( d a i l y ( ( moment2/ dt ) : end ) ) ; %D r i f t van a a n d e e l p r i j s sigma3 = s t d ( d a i l y ( ( moment2/ dt ) : end ) ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t = ( 0 : dt : T ) ’ ; S = z e r o s (T/ dt , 1 ) ; S(1)= S0 ; %%%%%%%%%%%%%%%%%%%%%Genereren van de s p r o n g t i j d s t i p p e n%%%%%%%%%%%%%%%%%%%% h2 = exprnd ( 1 / lambda2 , N, 1 ) ; h3 = exprnd ( 1 / lambda3 , N, 1 ) ; tau = z e r o s (N, 1 ) ; tau (1)= moment1 + h2 ( 1 ) ; f o r j = 1 :N−1 i f tau ( j )<moment2 tau ( j +1)= tau ( j )+h2 ( j +1); e l s e i f tau ( j )>=moment2 tau ( j +1)= tau ( j )+h3 ( j +1); end end tau1 = tau ( tau < T ) ; tau2 = z e r o s ( l e n g t h ( tau1 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau1 ) tau2 ( i )= roundn ( tau1 ( i ) , − 2 ) ; end tau2=unique ( tau2 ) ; %%%%%%%%%%%%%%%%%%Genereren van de g r o o t t e van de s p r o n g e n%%%%%%%%%%%%%%%%% l o g q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ;
52
q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; R = randn ( l e n g t h ( tau2 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau2 ) i f ( tau2 ( i )>= moment1 && tau2 ( i )<moment2 ) l o g q ( i )= sigmajump2 ∗R( i )+mujump2 ; e l s e i f tau2 ( i )>=moment2 l o g q ( i )= sigmajump3 ∗R( i )+mujump3 ; end q ( i )= exp ( l o g q ( i ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%Genereren van h e t p r i j s p a d%%%%%%%%%%%%%%%%%%%%%%%% i = 1; v = 1; Z = randn ( a + 1 , 1 ) ; w h i l e i < a+1 i = i +1; i f ( i −1)∗ dt < moment1 mu=mu1 ; sigma=sigma1 ; e l s e i f ( ( i −1)∗ dt >= moment1&&(i −1)∗ dt < moment2 ) mu=mu2 ; sigma=sigma2 ; e l s e i f ( i −1)∗ dt >= moment2 mu=mu3 ; sigma=sigma3 ; end i f ( abs ( ( ( i −1)∗ dt)−tau2 ( v )) <10ˆ( −2) && v < l e n g t h ( tau2 ) ) S ( i )= S ( i −1)∗( exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i −1))+(q ( v ) − 1 ) ) ; v = v+1; continue else S ( i )= S ( i −1)∗ exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i − 1 ) ) ; continue end end 10.8. Kou’s Jump-Diffusion model. c l o s e a l l ; c l e a r a l l ; c l c ; c l f ; format l o n g %%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; l o g d a i l y ( i )= l o g ( vec ( i +1)/ vec ( i ) ) ; end b=f l o o r ( a / 7 ) ;
53
weekly=z e r o s ( b , 1 ) ; l o g w e e k l y=z e r o s ( b , 1 ) ; f o r i =1:b j =7∗ i −6; weekly ( i )=( vec ( j +7)−vec ( j ) ) / vec ( j ) ; l o g w e e k l y ( i )= l o g ( vec ( j +7)/ vec ( j ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S0 = vec ( 1 ) ; %B e g i n p r i j s r = 0.0161; %R i s i c o n e u t r a l e r e n t e mu = mean ( d a i l y ) ; %D r i f t van a a n d e e l p r i j s sigma = s t d ( d a i l y ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s lambda = 1 5 ; %I n t e n s i t e i t van de s p r o n g T = ( a+1)∗ dt ; %T o t a l e t i j d s d u u r dt = 10ˆ( −2); %T i j d s t a p , i n machten van 10 N = 10ˆ4; %H o e v e e l h e i d t r e k k i n g e n u i t exprnd eta1 = 47; %Sprongen omhoog eta2 = 35; %Sprongen omlaag p = 0.7; %Kans op s p r o n g e n omhoog %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t = ( 0 : dt : T ) ’ ; S = z e r o s (T/ dt + 1 , 1 ) ; S(1)= S0 ; %%%%%%%%%%%%%%%%%%%%%Genereren van de s p r o n g t i j d s t i p p e n%%%%%%%%%%%%%%%%%%%% h = exprnd ( 1 / lambda , N, 1 ) ; tau = z e r o s (N, 1 ) ; tau (1)= h ( 1 ) ; f o r j = 1 :N−1 tau ( j +1)= tau ( j )+h ( j +1); end tau1 = tau ( tau < T ) ; tau2 = z e r o s ( l e n g t h ( tau1 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau1 ) tau2 ( i )= round ( tau1 ( i ) ∗ 1 0 0 ) / 1 0 0 ; end tau2=unique ( tau2 ) ; %%%%%%%%%%%%%%%%%%Genereren van de g r o o t t e van de s p r o n g e n%%%%%%%%%%%%%%%%% l o g q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; i f ( ( eta1 >1) && ( eta2 >0)) x i p l u s = exprnd ( 1 / eta1 , l e n g t h ( tau2 ) , 1 ) ; ximin = exprnd ( 1 / eta2 , l e n g t h ( tau2 ) , 1 ) ; random = rand ( l e n g t h ( tau2 ) , 1 ) ; f o r i =1: l e n g t h ( tau2 ) i f ( random ( i , 1 ) < p ) logq ( i ) = xiplus ( i , 1 ) ;
54
else l o g q ( i ) = −ximin ( i , 1 ) ; end q ( i , 1 ) = exp ( l o g q ( i , 1 ) ) ; end end %%%%%%%%%%%%%%%%%%%%%%%%%Genereren van h e t p r i j s p a d%%%%%%%%%%%%%%%%%%%%%%%% i = 1; j = 1; Z = randn (T/ dt + 1 , 1 ) ; w h i l e i < (T/ dt +1) i = i +1; i f ( abs ( ( ( i −1)∗ dt)−tau2 ( j )) <10ˆ( −2) && j < l e n g t h ( tau2 ) ) S ( i )= S ( i −1)∗( exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i −1))+(q ( j ) − 1 ) ) ; j = j +1; continue else S ( i )= S ( i −1)∗ exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i − 1 ) ) ; continue end end 10.9. ‘Regime-switching’ Kou. c l o s e a l l ; c l e a r a l l ; c l c ; c l f ; format l o n g %%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; l o g d a i l y ( i )= l o g ( vec ( i +1)/ vec ( i ) ) ; end d=f l o o r ( a / 7 ) ; weekly=z e r o s ( d , 1 ) ; l o g w e e k l y=z e r o s ( d , 1 ) ; f o r i =1:d w=7∗ i −6; weekly ( i )=( vec (w+7)−vec (w) ) / vec (w ) ; l o g w e e k l y ( i )= l o g ( vec (w+7)/ vec (w ) ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S0 = vec ( 1 ) ; %B e g i n p r i j s r = 0.0161; %R i s i c o n e u t r a l e r e n t e dt = 10ˆ( −2); %T i j d s t a p , i n machten van 10 T = ( a+1)∗ dt ; %T o t a l e t i j d s d u u r N = 10ˆ4; %H o e v e e l h e i d t r e k k i n g e n u i t exprnd moment1 = 4 ; %Einde e e r s t e r e g i m e
55
moment2 = 6 . 5 ;
%Einde tweede r e g i m e
%Deel 1 van regime−s w i t c h i n g lambda1 = 0 ; %I n t e n s i t e i t van de s p r o n g mu1 = mean ( d a i l y ( 1 : ( ( moment1/ dt ) − 1 ) ) ) ; %D r i f t van a a n d e e l p r i j s sigma1 = s t d ( d a i l y ( 1 : ( ( moment1/ dt ) − 1 ) ) ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s
%Deel 2 van regime−s w i t c h i n g lambda2 = 3 5 ; %I n t e n s i t e i t van de s p r o n g eta12 = 47; %Sprongen omhoog eta22 = 35; %Sprongen omlaag p2 = 0 . 7 ; %Kans op s p r o n g e n omhoog mu2 = mean ( d a i l y ( ( moment1/ dt ) : ( ( moment2/ dt ) − 1 ) ) ) ; %D r i f t van a a n d e e l p r i j s sigma2 = s t d ( d a i l y ( ( moment1/ dt ) : ( ( moment2/ dt ) − 1 ) ) ) ; %V o l a t i l i t e i t van a a n d e e l p %Deel 3 van regime−s w i t c h i n g lambda3 = 7 ; %I n t e n s i t e i t van de s p r o n g eta13 = 30; %Sprongen omhoog eta23 = 15; %Sprongen omlaag p3 = 0 . 7 ; %Kans op s p r o n g e n omhoog mu3 = mean ( d a i l y ( ( moment2/ dt ) : end ) ) ; %D r i f t van a a n d e e l p r i j s sigma3 = s t d ( d a i l y ( ( moment2/ dt ) : end ) ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t = ( 0 : dt : T ) ’ ; S = z e r o s (T/ dt , 1 ) ; S(1)= S0 ; %%%%%%%%%%%%%%%%%%%%%Genereren van de s p r o n g t i j d s t i p p e n%%%%%%%%%%%%%%%%%%%% h2 = exprnd ( 1 / lambda2 , N, 1 ) ; h3 = exprnd ( 1 / lambda3 , N, 1 ) ; tau = z e r o s (N, 1 ) ; tau (1)= moment1 + h2 ( 1 ) ; f o r j = 1 :N−1 i f tau ( j )<moment2 tau ( j +1)= tau ( j )+h2 ( j +1); e l s e i f tau ( j )>=moment2 tau ( j +1)= tau ( j )+h3 ( j +1); end end tau1 = tau ( tau < T ) ; tau2 = z e r o s ( l e n g t h ( tau1 ) , 1 ) ; f o r i = 1 : l e n g t h ( tau1 ) tau2 ( i )= roundn ( tau1 ( i ) , − 2 ) ; end tau2=unique ( tau2 ) ; %%%%%%%%%%%%%%%%%%Genereren van de g r o o t t e van de s p r o n g e n%%%%%%%%%%%%%%%%% l o g q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; q = z e r o s ( l e n g t h ( tau2 ) , 1 ) ;
56
x i p l u s = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; ximin = z e r o s ( l e n g t h ( tau2 ) , 1 ) ; i f ( ( eta12 >1) && ( eta22 >0) && ( eta13 >1) && ( eta23 >0)) x i p l u s 2 = exprnd ( 1 / eta12 , l e n g t h ( tau2 ) , 1 ) ; ximin2 = exprnd ( 1 / eta22 , l e n g t h ( tau2 ) , 1 ) ; x i p l u s 3 = exprnd ( 1 / eta13 , l e n g t h ( tau2 ) , 1 ) ; ximin3 = exprnd ( 1 / eta23 , l e n g t h ( tau2 ) , 1 ) ; random = rand ( l e n g t h ( tau2 ) , 1 ) ; f o r i =1: l e n g t h ( tau2 ) i f ( tau2 ( i )>= moment1 && tau2 ( i )<moment2 ) xiplus ( i ) = xiplus2 ( i ); ximin ( i ) = ximin2 ( i ) ; p = p2 ; e l s e i f tau2 ( i )>=moment2 xiplus ( i ) = xiplus3 ( i ); ximin ( i ) = ximin3 ( i ) ; p = p3 ; end i f ( random ( i , 1 ) < p ) logq ( i ) = xiplus ( i , 1 ) ; else l o g q ( i ) = −ximin ( i , 1 ) ; end q ( i , 1 ) = exp ( l o g q ( i , 1 ) ) ; end end %%%%%%%%%%%%%%%%%%%%%%%%%Genereren van h e t p r i j s p a d%%%%%%%%%%%%%%%%%%%%%%%% i = 1; v = 1; Z = randn ( a + 1 , 1 ) ; w h i l e i < a+1 i = i +1; i f ( i −1)∗ dt < moment1 mu=mu1 ; sigma=sigma1 ; e l s e i f ( ( i −1)∗ dt >= moment1&&(i −1)∗ dt < moment2 ) mu=mu2 ; sigma=sigma2 ; e l s e i f ( i −1)∗ dt >= moment2 mu=mu3 ; sigma=sigma3 ; end i f ( abs ( ( ( i −1)∗ dt)−tau2 ( v )) <10ˆ( −2) && v < l e n g t h ( tau2 ) ) S ( i )= S ( i −1)∗( exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i −1))+(q ( v ) − 1 ) ) ; v = v+1; continue else
57
S ( i )= S ( i −1)∗ exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i − 1 ) ) ; continue end end 10.10. Prijzen EU-call en EU-put voor Kou met risico-neutrale parameters. c l o s e a l l ; c l e a r a l l ; c l c ; format l o n g tic %%%%%%%%%%%%%%%%%%%%%%%%%Returns van de data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vec=dlmread ( ’ D a t a b i t c o i n c h a r t s . txt ’ ) ; a=l e n g t h ( vec ) −1; d a i l y=z e r o s ( a , 1 ) ; l o g d a i l y=z e r o s ( a , 1 ) ; f o r i =1: a d a i l y ( i )=( vec ( i +1)−vec ( i ) ) / vec ( i ) ; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S0 = vec ( 1 ) ; %B e g i n p r i j s r = 0.0161; %R i s i c o n e u t r a l e r e n t e mup = mean ( d a i l y ) ; %D r i f t van a a n d e e l p r i j s sigmap = s t d ( d a i l y ) ; %V o l a t i l i t e i t van a a n d e e l p r i j s lambdap = 1 5 ; %I n t e n s i t e i t van de s p r o n g dt = 10ˆ( −2); %T i j d s t a p , i n machten van 10 T = 0.50; %T o t a l e t i j d s d u u r eta1p = 47; %Sprongen omhoog eta2p = 35; %Sprongen omlaag pp = 0 . 7 ; %Kans op s p r o n g e n omhoog qp = 1 − pp ; %Kans op s p r o n g e n omlaag M = 10ˆ5; %T o t a a l a a n t a l r e p l i c a t i e s TT = T; %E x p i r a t i e van de o p t i e E = S0 ; %S t r i k e N = 10ˆ4; %H o e v e e l h e i d t r e k k i n g e n u i t exprnd h = −4.524792792; %Parameter voor r i s k −f r e e %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S = z e r o s (T/ dt ,M) ; VC = z e r o s (M, 1 ) ; aMC = z e r o s ( 5 , 1 ) ; bMC = z e r o s ( 5 , 1 ) ; hbC = z e r o s ( 5 , 1 ) ; %%%%%%%%%%%%%%%%%%%%%%%%R i s i c o −n e u t r a l e p a r a m t e r s%%%%%%%%%%%%%%%%%%%%%%%%%% z e t a = pp∗ e t a 1 p / ( e t a 1 p − h ) + qp∗ e t a 2 p / ( e t a 2 p + h ) ; p = pp∗ e t a 1 p / z e t a ∗ ( eta1p−h ) ; q = 1−p ; eta1 = eta1p − h ; eta2 = eta2p + h ; lambda = z e t a ∗ lambdap ; sigma = sigmap ;
58
mu = r −0.5∗ sigmapˆ2−lambdap ∗ ( pp∗ e t a 1 p / ( eta1p −1) + qp∗ e t a 2 p / ( e t a 2 p +1) −1); f o r k=1:M S ( 1 , k)= S0 ; %%%%%%%%%%%%%%%%%%%%%Genereren van de s p r o n g t i j d s t i p p e n%%%%%%%%%%%%%%%%%%%% tau = z e r o s ( 1 0 , 1 ) ; tau (1)= exprnd ( 1 / lambda , 1 , 1 ) ; t e l l e r =1; w h i l e tau ( t e l l e r )
1) && ( eta2 >0)) x i p l u s = exprnd ( 1 / eta1 , l e n g t h ( tau2 ) , 1 ) ; ximin = exprnd ( 1 / eta2 , l e n g t h ( tau2 ) , 1 ) ; random = rand ( l e n g t h ( tau2 ) , 1 ) ; f o r i =1: l e n g t h ( tau2 ) i f ( random ( i , 1 ) < p ) logq ( i ) = xiplus ( i , 1 ) ; else l o g q ( i ) = −ximin ( i , 1 ) ; end q ( i , 1 ) = exp ( l o g q ( i , 1 ) ) ; end end %%%%%%%%%%%%%%%%%%%%%%%%%Genereren van h e t p r i j s p a d%%%%%%%%%%%%%%%%%%%%%%%% i = 1; j = 1; Z = randn (T/ dt , 1 ) ; w h i l e i < T/ dt i = i +1; i f ( abs ( ( ( i −1)∗ dt)−tau2 ( j )) <10ˆ( −2) && j < l e n g t h ( tau2 ) ) S ( i , k)= S ( i −1,k ) ∗ ( exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i −1))+(q ( j ) − 1 ) ) ; j = j +1; continue else S ( i , k)= S ( i −1,k ) ∗ exp ( (mu−0.5∗ sigma ˆ 2 ) ∗ dt+sigma ∗ s q r t ( dt ) ∗Z ( i − 1 ) ) ; continue end end
59
%%%%%%%%%%%%%%%%%%%%%%%%%Waarderen van de o p t i e s%%%%%%%%%%%%%%%%%%%%%%%%%%% VC( k)=exp(− r ∗TT) ∗max( S (TT/ dt , k)−E , 0 ) ; i f k==10ˆ3 aMC(1)= mean (VC( 1 : k ) ) ; bMC( 1 ) = s t d (VC( 1 : k ) ) ; hbC ( 1 ) = 1 . 9 6 ∗bMC( 1 ) / s q r t ( 1 0 ˆ 3 ) ; e l s e i f k==5∗10ˆ3 aMC(2)= mean (VC( 1 : k ) ) ; bMC( 2 ) = s t d (VC( 1 : k ) ) ; hbC ( 2 ) = 1 . 9 6 ∗bMC( 2 ) / s q r t ( 5 ∗ 1 0 ˆ 3 ) ; e l s e i f k==10ˆ4 aMC(3)= mean (VC( 1 : k ) ) ; bMC( 3 ) = s t d (VC( 1 : k ) ) ; hbC ( 3 ) = 1 . 9 6 ∗bMC( 3 ) / s q r t ( 1 0 ˆ 4 ) ; e l s e i f k==5∗10ˆ4 aMC(4)= mean (VC( 1 : k ) ) ; bMC( 4 ) = s t d (VC( 1 : k ) ) ; hbC ( 4 ) = 1 . 9 6 ∗bMC( 4 ) / s q r t ( 5 ∗ 1 0 ˆ 4 ) ; e l s e i f k==10ˆ5 aMC(5)= mean (VC( 1 : k ) ) ; bMC( 5 ) = s t d (VC( 1 : k ) ) ; hbC ( 5 ) = 1 . 9 6 ∗bMC( 5 ) / s q r t ( 1 0 ˆ 5 ) ; end end toc %%%%%%%%%%%%%%%%%%%%%%%U i t r e k e n e n g e m i d d e l d e en s t d%%%%%%%%%%%%%%%%%%%%%%%% aMC hbC VP = E ∗ exp(− r ∗T) − S0 + VC