Technische Universität Darmstadt Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Studienarbeit Institut für Betriebswirtschaftslehre, Fachgebiet Finanzierung und Bankbetriebslehre Betreuer: Dipl.-Wirtsch.-Ing. Alexander Groh Prüfer: Prof. Dr. Dr. O. Betsch Technische Universität Darmstadt Autor: Oliver Hinz, Matrikelnr. 242936 "Give a man a fish and you feed him for a day. Teach him how to arbitrage and you feed him forever" - Warren Buffett Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Inhaltsverzeichnis ABBILDUNGSVERZEICHNIS .............................................................................. IV TABELLENVERZEICHNIS ..................................................................................... V ABKÜRZUNGSVERZEICHNIS ............................................................................ VI ZUSAMMENFASSUNG ............................................................................................. 1 ABSTRACT .................................................................................................................. 3 A. EINLEITUNG ......................................................................................................... 4 I. ARBITRAGEGESCHÄFTE ............................................................................................ 4 II. ZIEL DER UNTERSUCHUNG ...................................................................................... 6 III. AUFBAU DER ARBEIT............................................................................................. 7 B. THEORETISCHE GRUNDLAGEN DES ARBITRAGEHANDELS...................... 9 I. DEUTSCHER AKTIENINDEX DAX ............................................................................. 9 II. FORWARDS UND FUTURES .................................................................................... 12 1. Grundlagen ....................................................................................................... 12 2. Terminpreisfunktion.......................................................................................... 14 3. Aktienindex-Futures.......................................................................................... 18 III. OPTIONEN ............................................................................................................ 21 1. Grundlagen ...................................................................................................... 21 2. Optionspreistheorie .......................................................................................... 23 a) Das Black-Scholes Optionspreismodell .................................................................. 24 b) Das Binomialmodell zur Optionspreisbestimmung ................................................ 28 3. Index-Optionen ................................................................................................. 30 IV. ARBITRAGE-STRATEGIEN .................................................................................... 31 V. FORSCHUNGSERGEBNISSE ZU DIESEM THEMA ...................................................... 32 C. TECHNISCHE GRUNDLAGEN ........................................................................ 40 I. VISUAL BASIC ........................................................................................................ 40 II. KOMPONENTENORIENTIERUNG ............................................................................. 42 III. HYPERTEXT TRANSFER-PROTOKOLL .................................................................. 44 IV. VISUAL BASIC-KOMPONENTEN ........................................................................... 46 I Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures D. ENTWURF ............................................................................................................ 48 I. ARCHITEKTUR DES ARBITRAGE-SYSTEMS ............................................................. 48 II. DATENBANK ......................................................................................................... 49 1. Wahl der Datenbank ......................................................................................... 50 2. Tabellenstruktur................................................................................................ 50 III. ENTWURF DER APPLIKATION ............................................................................... 52 1. Entwurf des Hauptfensters................................................................................ 53 a) Die Kurstafel ........................................................................................................... 53 b) Marktdaten-Übersicht ............................................................................................. 54 c) Order-Tafel .............................................................................................................. 55 d) Systemnachrichten-Tafel......................................................................................... 55 e) Weitere Elemente .................................................................................................... 56 2. Entwurf des Zeitparameter-Fensters ................................................................ 57 3. Entwurf des Zoom-Fensters .............................................................................. 58 4. Entwurf "Kursverlauf" ...................................................................................... 59 5. Sonstiges ........................................................................................................... 59 IV. ARBITRAGE-FUNKTIONEN ................................................................................... 60 1. Bestimmung der Dividendenrendite ................................................................. 60 2. Bestimmung der Verzinsung ............................................................................. 60 3. Bestimmung der Tage bis zum Verfallstag ....................................................... 61 4. IndexArbitrage FDAX-DAX ............................................................................. 62 5. Fair Value von Calls......................................................................................... 62 E. VALIDIERUNG UND IMPLEMENTIERUNG ................................................ 63 I. VALIDIERUNG ........................................................................................................ 63 II. IMPLEMENTIERUNG ............................................................................................... 64 F. EVALUIERUNG ................................................................................................... 66 I. PRAKTISCHER EINSATZ .......................................................................................... 66 1. Verwendung des Arbitrage-Programms ........................................................... 66 2. Probleme ........................................................................................................... 68 3. Ausbaufähige Features ..................................................................................... 69 II. VERBESSERUNGSVORSCHLÄGE ............................................................................. 70 III. ÜBERTRAGUNG AUF ANDERE ARBITRAGE-FÄLLE................................................ 71 IV. SCHLUßFOLGERUNG ............................................................................................ 72 II Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures G. ZUSAMMENFASSUNG DER ERGEBNISSE .................................................. 73 I. VORSTELLUNG DER ERGEBNISSE............................................................................ 73 II. BEWERTUNG DER ERGEBNISSE ............................................................................. 77 H. AUSBLICK............................................................................................................ 78 LITERATURVERZEICHNIS .................................................................................. 79 III Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildungsverzeichnis ABBILDUNG 1: KOMMUNIKATIONSVERLAUF ZWISCHEN CLIENT UND SERVER IN HTTP/1.0 . 45 ABBILDUNG 2: DATENBANK AUF SEPARATEM SERVER .......................................................... 49 ABBILDUNG 3: DATENBANK AUF RECHNER DES BENUTZERS ................................................. 49 ABBILDUNG 4: KURSTAFEL (HIER: FDAX GEGEN FAIR VALUE) ............................................ 54 ABBILDUNG 5: MARKTDATEN ................................................................................................. 55 ABBILDUNG 6: ORDER-TAFEL ................................................................................................. 55 ABBILDUNG 7: SYSTEMNACHRICHTEN-TAFEL ........................................................................ 56 ABBILDUNG 8: HAUPTFENSTER ............................................................................................... 57 ABBILDUNG 9: ZEITPARAMETER ............................................................................................. 58 ABBILDUNG 10: ZOOMPARAMETER ......................................................................................... 59 ABBILDUNG 11: ANSICHT ALTER DATEN ................................................................................ 59 ABBILDUNG 13: OPTIONSSCHEIN AUS DEM GELD ................................................................... 74 ABBILDUNG 14: OPTIONSSCHEIN IM GELD.............................................................................. 74 ABBILDUNG 15: HINWEISE AUF ARBITRAGEURE .................................................................... 75 ABBILDUNG 16: DAUERHAFTE ABWEICHUNG ZWISCHEN INDEX UND FUTURE ...................... 76 ABBILDUNG 17: INTRADAY-CHART DES DOW JONES VOM 08.06.2001, QUELLE: HTTP://WWW.COMDIRECT.DE ........................................................................................... 76 IV Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Tabellenverzeichnis TABELLE 1: DAX30-WERTE ................................................................................................... 11 TABELLE 2: HTTP-METHODEN ............................................................................................... 45 TABELLE 3: ÜBERSICHT ÜBER WICHTIGE VB-KOMPONENTEN ............................................... 47 TABELLE 4: ANALYSIERTE OPTIONSSCHEINE ......................................................................... 74 V Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abkürzungsverzeichnis ADO AcitveX Data Object AG Aktiengesellschaft ASCII American Standard Code for Information Interchange CGI Common Gateway Interface CSV Comma Seperated Value DAO Data Access Object DAX Deutscher Aktienindex DB Datenbank FDAX DAX Futures HTML HyperText Markup Language HTTP HyperText Transfer Protocol HV Hauptversammlung IDE Integrated Development Environment IT Informationstechnologie ms Millisekunden NYSE New York Stock Exchange ODAX DAX Optionen ODBC Open Database Connectivity S&P500 Standard and Poor's 500 Index SQL Structured Query Language VB Visual Basic WPKN Wertpapier-Kennummer WWW World Wide Web VI Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Zusammenfassung Arbitragegeschäfte garantieren mindestens verschiedenen zwei durch das Märkten gleichzeitige und das Agieren auf Ausnutzen von Preisunterschieden einen risikofreien Gewinn. Diese Möglichkeiten sind meist nur kurzlebig, da sie in effizienten Märkten schnell aufgedeckt werden und das Ausnutzen der Arbitragemöglichkeiten den Markt in die entsprechende Richtung bewegt und so den Unterschied zwischen den Märkten verschwinden läßt. Aber selbst auf nahezu vollkommenen Märkten existieren immer wieder Arbitragemöglichkeiten. Mit Hilfe von Computerprogrammen werden heutzutage selbst kleinste Lücken erkannt, ausgenutzt und so beseitigt. In dieser Arbeit soll untersucht werden, inwieweit ein Computerprogramm Arbitragemöglichkeiten zwischen DAX, Future-DAX und DAX-Optionen aufdecken kann, bzw. ob solche überhaupt noch vorhanden sind. Das Programm führt automatisch Vergleiche zwischen dem Fair Value und dem aktuellen Kurs durch und meldet dem Benutzer welche Derivate oder Aktien er kaufen und verkaufen soll. Durch die Verbreitung des Internets stehen alle relevanten Daten nicht nur Banken und Maklern zur Verfügung, sondern sind für jeden zugänglich. Mit der Implementierung dieses Programms soll untersucht werden, inwieweit Arbitragegeschäfte über das Internet für jedermann möglich sind. Im theoretischen Teil der Grundlagen werden die verschiedenen Arbitragemöglichkeiten beleuchtet. Im technischen Teil der Grundlagen werden dem fachlich-versierten Leser wichtige Informationen gegeben, die zum Verständnis des Entwurfs- und Implementierungskapitels notwendig sind. Der größte Teil der Arbeit beschäftigt sich mit dem Entwurf und der technischen Umsetzung eines solchen Programms. In einem abschließenden Teil werden die Ergebnisse präsentiert und bewertet. 1 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Möglicherweise existieren in liquiden Märkten wie den Index- und IndexDerivat-Märkten nur noch sehr geringe Arbitragemöglichkeiten, so daß eine kommerzielle Nutzung äußerst unwahrscheinlich ist. Allerdings wird die Effizienz der Märkte durch das von mir erstellte Programm für alle Marktteilnehmer, also auch Privat- und Kleinanleger, sichtbar. 2 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abstract Arbitrage-Deals ensure riskless profit while agitating on at least two different markets and taking advantage of price differences. These opportunities are mostly short-living, as they are revealed in efficient markets quickly. Taking advantage of these opportunities moves the market into suitable direction and in this way differences between the two markets vanish. Even in nearly ideal markets arbitrage-opportunities can be found. Programtrading identifies even small gaps, uses and eliminates them. In this work we examine, how far a computer-application identifies arbitrageopportunities between DAX, Future-DAX and DAX-Options, resp. or if any can be found. This application performs automatically comparisons between Fair Value and recent rates and informs the user, which derivatives and stocks have to be bought and sold. Significant information is available in the internet not only for bankers and brokers, but for everyone. In this work we try to examine, if and how an application like ours, can help to determine arbitrage opportunities for everyman. In the theoretical part of this paper different arbitrage-models are presented. The technical part of the basics provides necessary knowledge, which is useful for further understanding of conception- and implementation-chapters. This paper mainly deals with conception and realisation of such arbitrageapplications. In a conclusive chapter we present and appraise results. Probably we don't find any or only very small arbitrage opportunities in liquid markets like index- and index-derivative-markets. In this case our program shows all participants, especially small investors, the efficiency of our current stock markets. 3 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures A. Einleitung In unvollkommenen Märkten verfügen einige Marktteilnehmer über mehr Informationen als andere. Meist sind Informationen mit einem Unsicherheitsfaktor behaftet, so daß an der Börse gelegentlich nur Gerüchte gehandelt werden. Es gibt allerdings auch Wissen, das zu risikolosem Gewinn führen kann. Weiß ein Marktteilnehmer von einem Angebot zu einem niedrigen Preis und einer Nachfrage zu einem höheren Preis, so kann er diesen Preisunterschied zu seinen Gunsten in Geld verwandeln. In diesem Fall wird von Arbitragegeschäften gesprochen. I. Arbitragegeschäfte Der Begriff "Arbitrage" kommt aus dem Französischen und heißt in seiner ursprünglichen Bedeutung "Schiedsspruch". Das Verb "arbitrer" bedeutet "als Schiedsrichter entscheiden". Es läßt sich dieser Begriff auf den Finanzmarkt übertragen. Es existieren zwei Parteien: Die eine fragt eine Ware oder Produkt nach, die andere tritt als Anbieter auf. Ein dritter, der sogenannte Arbitrageur1 kauft vom Anbieter und verkauft an den Nachfrager. Natürlich wird die Transaktion von Arbitrageur im Regelfall nur durchgeführt, wenn dabei ein Gewinn für ihn zu erzielen ist. Das Phänomen ist nicht auf den neuzeitlichen Börsenhandel beschränkt, sondern findet auf jedem unvollkommenen Markt statt, bei dem nicht alle Marktteilnehmer, die gleichen Informationen haben. Außerdem können fehlerhafte Mechanismen Chancen für Arbitragegeschäfte eröffnen. 1873 schufen Norwegen, Dänemark und Schweden eine allgemeine skandinavische Krone, aber alle drei Staaten konnten weiterhin ihre eigene Krone ausgeben. 1 Vgl. Finance-Glossary.com, http://www.finance-glossary.com/, Stand: 01. Mai 2000 4 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Während des 1. Weltkrieges wuchs die Wirtschaft in Dänemark und Norwegen wesentlich schneller als in Schweden. Durch die Inflation erhöhte sich die Geldmenge in Dänemark und Norwegen und reduzierte den Wert der dänischen und norwegischen Münzen gegenüber den schwedischen. Wegen der Währungsunion konnten dänische und norwegische Münzen noch immer auf 1:1-Basis in schwedische Münzen getauscht werden. Prof. Jonung, ein Ökonom aus Stockholm, wies auf die Möglichkeit des Arbitragegeschäfts hin. Arbitrageure konnten in Helsingor (Dänemark) leicht nach Helsingborg (Schweden) übersetzen. Sie konnten die weniger wertvollen dänischen Münzen nach Schweden mitnehmen und dort gegen schwedische Münzen 1:1 eintauschen. In Dänemark konnten die schwedischen Münzen gewinnbringend eingetauscht werden, da sie einen höheren Realwert als die dänischen Münzen hatten. Danach wurde diese Menge dänischen Geldes wieder auf den Weg nach Schweden geschickt und so wurde die Menge wertvoller schwedischer Münzen immer größer. Dies führte schließlich dazu, daß die schwedische Regierung die Währungsbindung kappte und so die Währungsunion effektiv beendete. Offiziell wurde die Währungsunion erst Mitte der 20er Jahre des letzten Jahrhunderts beendet.2 Heute bräuchten Arbitrageure nicht einmal mehr die Überfahrt zwischen zwei Ländern und den Transport der Münzen durchzuführen, da Geld immer mehr seinen haptischen Charakter verloren hat. Heute genügen einige Eingaben in Handelssysteme, um Geldmengen in unvorstellbarer Größe und nahezu unendlicher Geschwindigkeit zu bewegen. Grundlegende Überlegungen zur Arbitragetheorie stammen von Stephen Ross aus dem Jahr 1976. Die Asset Pricing-Modelle, die auf der Arbitragetheorie beruhen, wurden daraufhin zu bedeutenden Analysetools, um auf dem Kapitalmärkten beobachtete Phänomene zu erklären.3 2 Vgl. Lawrence in "Will the Euro be a success? History might suggest 'No'", http://www.losio.com/100citta/qualeeuropa2.htm, Stand: November 2000 3 Vgl. Ross, 1976, S. 341ff 5 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Verschiedene Modelle zur Markteffizienz sind seitdem in der Literatur aufgetaucht. Eugene Fama beschreibt die wichtigsten Modelle und nennt Kritikpunkte zu den verschiedenen Arbeiten.4 In der Praxis stellt sich dieFrage, ob durch die Markteffizienz auch kleinste Arbitragemöglichkeiten sehr schnell geschlossen werden oder ob durch die Masse an Informationen einige Arbitragemöglichkeiten unentdeckt bleiben. II. Ziel der Untersuchung Ziel dieser Arbeit ist der Entwurf und die Implementierung eines ArbitrageHandels-Programms für DAX-Optionen und DAX-Futures. Zunächst müssen dazu theoretische Überlegungen angestellt werden, die dann in einem Programm implementiert werden. Es sollen über einige Tage Daten erhoben und diese schließlich ausgewertet werden. Sollte sich tatsächlich herausstellen, daß Arbitragegeschäfte möglich sind, so könnte eine Weiterentwicklung der Anwendung von beachtlichem Interesse sein. Wir gehen aber davon aus, daß der heutige Börsenhandel nahezu einem vollkommenen Markt entspricht und deshalb keine Arbitragegeschäfte möglich sind, bzw. die Differenzen zu klein sind, um Gewinn zu machen. Es gibt eine Reihe großer Marktteilnehmer, die mit eigenen Computerprogrammen den Markt nach Arbitragegeschäften durchsuchen, so daß sich die Lücken in sehr hoher Geschwindigkeit schließen. An normalen Tagen sollten sich die Gewinne im Promillebereich bewegen. Allerdings gibt es aber auch Tage, an dem die Preisdifferenz größere Dimensionen annehmen kann. Hull gibt das Beispiel vom 19. Oktober 1987 als der Markt um mehr als 20% fiel und die Zahl der gehandelten Aktien an 4 Vgl. Fama, 1991, S. 1575ff 6 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures der NYSE leicht alle bisherigen Rekorde einstellte.5 Während des gesamten Tages waren die Future Preise deutlich billiger als der zugrundeliegende Index. Am Handelsschluß z. B. war der S&P500-Index bei 225.06 (-57.88), während die Future-Preise für Dezember bei 201.50 (-80.75) lagen. Es gab sogar an diesem Tag eine Situation, in der der Future für Dezember 18% unter dem S&P500-Index lag. Solche Extreme sind heute dank der schnelleren Auftragsabwicklung nicht mehr vorstellbar, aber es genügen schon kleine, risikolose Gewinne, um unser Arbitrage-Handels-Programm interessant zu machen. III. Aufbau der Arbeit Nachdem das Ziel der Arbeit im vorangegangenen Abschnitt erläutert wurde, soll der Aufbau dargelegt werden. Im Kapitel B werden die Grundlagen gelegt, die zum Verständnis der Arbeit notwendig sind. Im diesem Teil wird auf den Deutschen Aktienindex (DAX) und seine Zusammensetzung genauer eingegangen. Danach werden die Funktionsweise von Futures und Forwards beschrieben. Es wird auf das Problem des Fair Value eingegangen. Ebenso werden Grundlagen zum Thema Optionen gelegt, um schließlich Option Pricing Modelle vorzustellen. Ebenso wie bei den Futures werden bei den Optionen gesondert auf die Derivate eingegangen, die einen Index als Underlying haben. Schließlich werden die bekannten Arbitrage-Strategien in Kapitel B.IV und in B.V die Arbeiten, die zu diesem Thema veröffentlicht wurden, vorgestellt. In den technischen Grundlagen wird auf Visual Basic von Microsoft eingegangen und die Bedeutung der Komponentenorientierung gezeigt. Schließlich wird noch kurz das HyperText Transfer Protokoll (HTTP) erklärt. In Kapitel C.IV werden die benutzten Visual Basic-Komponenten vorgestellt. 5 Vgl. Hull, 1997, S. 60 7 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures In Kapitel D, dem Entwurf, wird das System entworfen. Es wird sowohl eine bevorzugte Architektur heraus gearbeitet, als auch die Anbindung an eine Datenbank diskutiert. Schließlich wird die Applikation an sich entworfen. Ein eigenes Unterkapitel wird den, für die Arbitrage-Entscheidung wichtigen Funktionen, gewidmet. An dieser Stelle könnten weitere Überlegungen gemacht werden, wie das Programm noch genauer den Markt analysieren kann. Im Validierungs- und Implementierungskapitel, Kapitel E, wird der Entwurf validiert, also überprüft, ob sich der Entwurf aus Kapitel D so realisieren läßt. Die in der Implementierungsphase gemachten Erkenntnisse sollen ebenfalls in diesem Kapitel dargelegt werden. Im Evalierungskapitel wird der praktische Einsatz des Programms untersucht. Es sollen Probleme aufgezeigt werden und Verbesserungsvorschläge diskutiert werden. Des weiteren wird eine Anleitung zur Übertragung des Arbitrage-Programms auf andere Märkte gegeben. Letztendlich werden in Kapitel G einige Ergebnisse vorgestellt und diese bewertet. Eine abschließende Beurteilung kann nicht stattfinden, da nicht alle Marktsituationen im Laufe dieser Studienarbeit auftreten werden. Es muß genügen einige Tage zu betrachten und zu bewerten. Die Arbeit schließt mit einem Ausblick. Weiterführende Literatur ist aus dem Literaturverzeichnis zu entnehmen. Unbekannte Abkürzungen können im Abkürzungsverzeichnis am Anfang der Ausarbeitung nachgeschlagen werden. 8 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures B. Theoretische Grundlagen des Arbitragehandels In diesem Kapitel werden für den Leser wichtige Grundlagen gelegt, die zum weiteren Verständnis der Arbeit nützlich sind. Die theoretischen Grundlagen befassen sich vor allem mit den Finanzinstrumenten und den Möglichkeiten von Arbitragegeschäften. Es wird auf den Deutschen Aktienindex (DAX) eingegangen, da das resultierende Programm anhand dieses Indizes überprüfen wird, inwieweit Preisunterschiede auf den verschiedenen Märkten vorhanden sind. Ferner werden in diesem Kapitel Futures und Optionen untersucht. Diese werden kurz vorgestellt und im darauf folgenden Abschnitt wird jeweils auf das Problem des Fair Values dieser Derivate eingegangen. Mit dem Wissen über den Index, Index-Futures und -Optionen können dann die verschiedenen Arbitrage-Strategien erläutert werden. Zur weiteren Vertiefung werden im theoretischen Teil veröffentlichte Arbeiten zum Thema "Arbitrage" vorgestellt. I. Deutscher Aktienindex DAX Der Deutsche Aktienindex (DAX) ist ein Aktienindex der Deutschen Börse AG. Alle Indizes der Deutschen Börse werden als Performance- und Kursindizes berechnet und veröffentlicht. Die Kursindizes messen die eigentliche Kursentwicklung und werden lediglich um Bezugsrechte und Sonderauszahlungen bereinigt. Beim Perfomanceindex werden darüber hinaus sämtliche Erträge aus Dividenden- und Bonuszahlungen in das Indexportfolio reinvestiert. Der DAX stellt die Fortführung des Index der Börsen-Zeitung dar und wird als Performanceindex berechnet. Die Ursprünge des DAX reichen bis in das Jahr 1959 zurück. Als Basis wurde der DAX 30.12.1987 auf 1000 Punkte gesetzt. Der DAX ist ein Real-Time-Index und wird alle 15 Sekunden neu berechnet. 9 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Die Indexgewichtung wird vierteljährlich angepaßt. Die Zusammensetzung des Index wird jährlich überprüft. Als Auswahlkriterien für die einzubeziehenden Gesellschaften sind unter anderem Umsatzstärke, Börsenkapitalisierung, Branchenrepräsentativität der deutschen Volkswirtschaft und Anerkennung des Übernahmekodex. 6 Der DAX ist ein kapitalgewichteter, aus 30 Standardwerten bestehender Index7 und wird nach folgender Formel berechnet:8 30 DAX t K t1 * p i 1 i ,t * qi ,T 1 * ci ,T 2 * 1000 30 p i 1 i ,t 0 * q i ,t 0 wobei t0: Basiszeitpunkt 30.12.1987 t: die Berechnungszeitpunkte T1: letzter Termin der Grundkapitalanpassung T2: letzter Termin einer Dividenden- bzw. Bezugsrechtsausschüttung pi,t: Kurs des i'ten Titels zum Zeitpunkt t qi,T1: Zugelassenes Grundkapital der i'ten Gesellschaft zum Zeitpunkt T 1 pi,t0: Schlußkurs der i'ten Gesellschaft zum Zeitpunkt t0 qi,t0: Zugelassenes Grundkapital der i'ten Gesellschaft zum Zeitpunkt t 0 ci,T2: Dividenden- bzw. Bezugsrechtsbereinigungsfaktor der i'ten Gesellschaft zum Zeitpunkt T2 Kt1: Konstanter Verkettungsfaktor. Hier die Tabelle der aktuellen DAX30-Werte (Stand 01.11.2000): Unternehmen Gewicht 6 Vgl. Leitfaden zu den Aktienindizes der Deutschen Börse, Juni 1999, Version 3.2 7 Vgl. Merz, 1995, S. 47 8 Vgl. Leitfaden zu den Aktienindizes der Deutschen Börse, Juni 1999, Version 3.2, S. 25 10 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures ADIDAS-SALOMON AG O.N. ALLIANZ AG O.N. 0,25% 10,19% BASF AG O.N. 2,96% BAYER AG O.N. 3,90% BAY.MOTOREN WERKE AG ST 2,74% COMMERZBANK AG O.N. 1,82% DEUTSCHE BANK AG NA O.N. 6,13% DAIMLERCHRYSLER AG NA O.N 5,90% DEGUSSA-HUELS AG O.N. 0,52% DRESDNER BANK AG NA O.N. 2,76% DT.TELEKOM AG NA 13,36% E.ON AG O.N. 4,76% EPCOS AG NA O.N. 0,60% FRESEN.MED.CARE AG O.N. 0,83% HENKEL KGAA VZO O.N. 1,08% BAY.HYPO-VEREINSBK.O.N. 2,71% INFINEON TECH.AG NA O.N. 3,14% KARSTADT QUELLE AG O.N. 0,48% LUFTHANSA AG VNA O.N. 0,93% LINDE AG O.N. 0,63% MAN AG ST O.N. 0,49% METRO AG ST O.N. 1,60% MUENCH.RUECKVERS.VNA O.N. 6,85% PREUSSAG AG O.N. 0,76% RWE AG ST O.N. 2,68% SAP AG VZO O.N. 7,73% SCHERING AG O.N. 1,30% SIEMENS AG NA 9,37% THYSSENKRUPP AG O.N. 0,91% VOLKSWAGEN AG ST O.N. 2,61% Tabelle 1: DAX30-Werte 11 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures II. Forwards und Futures In diesem Kapitel werden wir uns mit Hilfe einfacher Arbitrageüberlegungen den Preis eines Forwardkontraktes herleiten. Wir werden dazu zunächst wichtige Grundlagen vorstellen. Abschließend werden wir auf Futures auf Aktien-Indizes eingehen. 1. Grundlagen Termingeschäfte können in zwei Gruppen eingeteilt werden, in bedingte und unbedingte Termingeschäfte. Bei den Festgeschäften verpflichten sich die Vertragsparteien zu einer Lieferung bzw. Abnahme einer bestimmten Ware, dem Underlying, zu einem vereinbarten Preis in einer bestimmten Menge. Futures und Forwards Termingeschäfte, deren gehören zu der Vertragserfüllung Gruppe unbedingt der unbedingten erfolgt. Optionen gehören zu den bedingten Termingeschäften, bei der nur unter bestimmten Voraussetzungen eine Vertragspartei auf die Erfüllung des Vertrages besteht.9 Ein Forwardkontrakt ist eine zum Zeitpunkt t erfolgte Vereinbarung, eine Einheit eines Gutes bzw. Wertpapiers zum Zeitpunkt T>t zu einem in t festgelegten Preis zu kaufen bzw. verkaufen. Die Zahlung erfolgt am Tag der Fälligkeit.10 Die Forward- und auch die Futures-Märkte sind entstanden, um die Ungewißheit einer zukünftigen Preisentwicklung aus Geschäften zu eliminieren. Damit wird das Geschäft auf eine sichere Kalkulationsgrundlage gestellt.11 Forwards werden normalerweise nicht an Börsen gehandelt. Eine Partei nimmt eine Long-Position ein und verpflichtet sich zum Kauf zum vereinbarten Zeitpunkt zu einem festgelegten Preis. Die andere Vertragspartei verpflichtet 9 Vgl. Betsch, 2000, S. 121 10 Vgl. Merz, 1995, S. 6 11 Vgl. Uszczapowski, 1991 12 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures sich zum Verkauf zu diesem Termin mit dem vertraglich geregelten Preis. Zum Zeitpunkt des Vertragsabschlusses ist der Wert des Foward-Kontraktes null, d. h. es kostet nichts eine Long- oder Short-Position einzugehen. Später kann der Kontrakt aber - je nach Preisveränderung des Underlyings - einen positiven oder auch negativen Wert haben. Sollte zum Beispiel der Wert des Underlyings kurz nach Abschluß des Kontraktes deutlich ansteigen, wird die Long-Position einen positiven Wert annehmen, während die Short-Position einen negativen Wert annimmt.12 Der Gewinn der einen Partei stellt den Verlust der Gegenpartei dar.13 Genau wie Forwards sind Futurekontrakte eine Vereinbarung zwischen zwei Parteien ein Asset zu einem bestimmten Zeiptunkt in der Zukunft zu einem festgelegten Preis zu kaufen, bzw. verkaufen. Im Gegensatz zu Forwardkontrakten werden Futurekontrakte in der Regel an der Börse gehandelt. Die Börse legt dabei die Eigenschaften der Verträge fest. Da sich die beiden Vertragsparteien nicht unbedingt kennen, wird von der Börse durch einen Mechanismus beiden Vertragsparteien garantiert, daß der Vertrag eingehalten wird.14 Bei einer Clearingstelle müssen die Marktteilnehmer eine "initial margin" als Sicherheit hinterlegen. Zusätzlich muß eine "variation margin" hinterlegt werden. Solange eine Position gehalten wird, werden von der Clearingstelle entsprechende Gewinne und Verluste der einzelnen Positionen verrechnet. Vereinfachend kann davon ausgegangen werden, daß Verluste täglich vom Margin-Konto abgezogen werden und Gewinne täglich gutgeschrieben werden. Erst wenn die Summe von initial und variation margin unter einen bestimmten Wert sinkt, kann die Clearingstelle einen Nachschuß fordern.15 Durch diesen Mechanismus müssen sich die Vertragsparteien nicht vertrauen, sondern lediglich die Funktionalität der Clearingstelle muß gegeben sein.16 12 Vgl. Hull, 1997, S. 1f 13 Vgl. Cordero, 1987 14 Vgl. Hull, 1997, S. 3f 15 Vgl. Kolb, 1999, S. 15ff 16 Vgl. Kolb, 1999, S. 17 13 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Die Anzahl der Long- und Short-Positionen ist gleich, so daß die Clearingstelle niemals offene Positionen eingeht. Der Preis der Futures wird auf den Märkten nach den Regeln von Angebot und Nachfrage ermittelt. Wollen mehr Investoren long als short gehen, so geht der Preis nach oben; im anderen Fall geht der Preis nach unten.17 Dadurch kann aber ein Unterschied zwischen dem Fair Value des Kontraktes, daß sich nach bestimmten Modellen berechnen läßt (siehe dazu Kapitel B.II.2) und dem Marktpreis entstehen. Abgesehen von Arbitrageüberlegungen, besteht bei Käufern und Verkäufern in der Regel kein Interesse an der effektiven Erfüllung des Geschäfts. Bei über 95% der Geschäfte findet eine effektive Lieferung und Abnahme des Gegenwertes nicht statt. Im Allgemeinen wird die eingegangene Verpflichtung mit anderen Geschäften aufgehoben, d.h. vor Fälligkeit werden gekaufte Kontrakte durch Verkauf und verkaufte Kontrakte durch Ankauf glattgestellt. Die Differenz aus den Verkäufen und Käufen stellt den Gewinn bzw. den Verlust des Engagements dar.18 2. Terminpreisfunktion Für Forwards lassen sich gerechte Preise (Fair Value) durch die Forwardoder Terminpreisfunktion ermitteln. Der arbitragefreie Terminpreis muß zum Zeitpunkt des Abschlusses mit dem Spot-Preis des Underlying zuzüglich der Cost of Carry übereinstimmen. Ansonsten könnte durch Arbitrage ein risikoloser Gewinn eingestrichen werden.19 Wie Kempf aber zeigt, vernachlässigt das Modell der Cost of Carry-Arbitrage die Möglichkeit, die Futures-Position vor dem Fälligkeitsdatum glattzustellen. Kempf stellte fest, daß die Glattstellungsoption einen positiven Wert hat und Arbitrageure daher ihre Position vor dem Liefertermin glattstellen.20 Für weitere Überlegungen sei 17 Vgl. Hull, 1997, S. 4 18 Vgl. Basisinfo, 1998 19 Vgl. Betsch, 2000, S. 133 20 Vgl. Kempf, 1996 14 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures die Glattstellungsoption aber vernachlässigt. Zunächst wird von ForwardKontrakten ausgegangen, die keine vorzeitige Glattstellung erlauben. Die Cost of Carry entsprechen den Finanzierungskosten für die long-Position im Underlying bis zum Stichtag. Die carrying Kosten teilen sich in vier Basiskategorien: Lagerkosten, Versicherungskosten, Transportkosten und Finanzierungskosten. Lagerkosten enthalten die Kosten, die für die Lagerung der Ware entstehen. Lagerkosten entstehen vorwiegend bei physischen Gütern, wie z. B. Holz, aber auch die Lagerung von Finanzinstrumenten kann Kosten verursachen. Versicherungs- und Transportkosten entstehen auch im wesentlichen bei physischen Gütern wie z. B. bei Holz, das zum Lagerplatz transportiert werden muß und schließlich gegen Feuer versichert werden muß. Die wichtigste Kategorie für Futures-Märkte ist allerdings die Kategorie der Finanzierungskosten.21 Die carrying Kosten reflektieren lediglich die Kosten, die entstehen, um ein Gut von einem Ort zu einem anderen zu transportieren bzw. von einem Zeitpunkt bis zu einem späteren zu halten. Sie enthalten nicht den Wert der Ware an sich.22 Für Finanzinstrumente setzen sich die Cost of Carry aus den Depotführungskosten (Lagerkosten), Transaktionskosten (Transportkosten) und vor allem aus den Finanzierungskosten für das Halten des Underlying zusammen.23 Am einfachsten ist der Wert eines Forward-Kontraktes zu berechnen, der auf einer Security basiert, die dem Halter kein zusätzliches Einkommen generiert. Ein Beispiel für solche Securities sind Aktien, die keine Dividende zahlen, und Discount Bonds zu nennen. Existieren keine Arbitragemöglichkeiten so muß der Forward-Preis F und der Spot-Preis des Underlyings in dem Verhältnis 21 Vgl. Kolb, 1999, S. 53ff 22 Vgl. Kolb, 1999, S. 54 23 Vgl. Schwaiger, 1994, S. 20 15 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures F=Ser(T-t) stehen. (T-t) entspricht der Laufzeit des Kontrakts in Jahren, r entspricht dem stetigen Refinanzierungszins.24 Angenommen F>Ser(T-t), so kann sich ein Investor für die Zeitspanne (T-t) Geld zum Zinssatz r leihen und damit das Underlying kaufen und short im entsprechenden Future gehen. Ist F<Ser(T-t) kann der Investor long im Forwardkontrakt und short im Asset gehen. Die Shortposition im Asset generiert ein Einkommen von S, das für die Zeit (T-t) zum Zinssatz r angelegt werden kann. Zum Zeitpunkt T kann dann über den Forwardkontrakt der Asset erworben werden und die Shortposition wird so geschlossen. Es verbleibt ein Gewinn von Ser(T-t)-F.25 Im ersten Fall wird von Cash and Carry-Strategie gesprochen, also fremdfinanziertem Kauf des Basisobjekts zum Basispreis von S und Verkauf per Termin zu T. Falls das Underlying im Spot-Markt verkauft wird und per Termin T gekauft wird, spricht man von einer Reversed Cash and CarryStrategie. Das Modell läßt sich auf weitere Fälle erweitern. Es gibt Forward-Kontrakte auf Securities, die ein sicheres Einkommen generieren und ForwardKontrakte auf Securites, deren Cash Inflow nur vage ist, z. B. Aktien mit unsicheren Dividendenzahlungen.26 Da Arbitragemöglichkeiten zwischen Futures und Optionen auf einen Aktienindex und dem Underlying untersuchen werden, muß das Modell entsprechend erweitert werden, denn die im DAX enthaltenen Aktien generieren durch Dividendenzahlungen einen zusätzlichen Cash Inflow. Die Fair Value-Preisgleichung lautet dann27: 24 Vgl. Hull, 1997, S. 51 25 Vgl. Hull, 1997, ebd. 26 Vgl. Hull, 1997, S. 52ff 27 Vgl. Hull, 1997, S. 52f 16 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures F=(S-I)er(T-t) I ist als gegenwärtiger Wert des Einkommens, das während der Laufzeit des Foward-Kontrakts vom Underlying generiert wird, definiert. Zur Bestimmung des gegenwärtigen Werts wird der Diskontsatz benötigt. Beispiel: Ein 10-monatiger-Forward-Kontrakt auf Basis einer Aktie von 50€, auf die alle 3 Monate eine Dividende von 0,75€ ausgezahlt wird, und einem Zinssatz von 8% hat folgenden Fair Value: I=0.75e-0.08x3/12+0.75e-0.08x6/12+0.75e-0.08x9/12 (T-t)= 0.8333 F=(50-2.162)e0.08x0.8333=51.14 Ist der Forward-Preis niedriger als F, so kann ein Arbitrageur die Aktie shorten und den Forward-Kontrakt kaufen. Ist der Forward-Preis größer, würde ein Arbitrageur den Forward-Kontrakt shorten und die Aktie kaufen. Wie bereits in B.II.1 beschrieben werden Futures über die gesamte Laufzeit gehandelt. Der täglich neu zu bestimmende Preis bestimmt sich analog zur Terminpreisfunktion. Wie in Hull nachzulesen, gibt es allerdings theoretische Preisunterschiede zwischen Future und Foward-Kontrakten. Allerdings sind sie meist zureichend klein und können vernachlässigt werden.28 Die Unterschiede resultieren aus unterschiedlicher steuerlicher Behandlung, unterschiedlichen Transaktionskosten oder anderen Margin-Regelungen.29 Die oben beschriebenen Überlegungen treffen auf einen vollkommenen Markt zu. In realen Märkten stören und verkomplizieren vier Faktoren die Beziehung zwischen Future-Preis und Fair Value. Diese vier Faktoren sind nach Kolb30: 28 Vgl. Hull, 1997, S. 56 29 Vgl. Kolb, 1999, S. 80 30 Vgl. Kolb, 1999, S. 60 17 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 1.) Transaktionskosten 2.) Restriktionen für short-Verkäufe behindern Reversed Cash and CarryStrategien 3.) Kreditaufnahme und Kreditvergabe sind in realen Märkten unterschiedlich 4.) Einige Güter können nicht gelagert werden Für die Untersuchung werden zunächst die Transaktionskosten vernachlässigt. Schließlich können diese bei der Auswertung in die Analyse einbezogen werden. Alle Daten werden in einer Datenbank gespeichert, so daß Abfragen mit unterschiedlichen Transaktionskosten gestalten werden können. Da Marktteilnehmer verschiedene Transaktionskosten zu tragen haben, entsteht als Seiteneffekt die Quasi-Arbitrage.31 Auch dieser Seiteneffekt sei vernachlässigt. Faktor 2 und 3 werden zunächst ausgeklammert. Sollten sich tatsächlich trotz Transaktionskosten Arbitragemöglichkeiten ergeben, so wird auf diese Punkte weiter eingegangen. Faktor 4 spielt für virtuelle Güter wie Geld, Aktien, Optionen und Futures keine Rolle. Alle können in einem Bankdepot gelagert werden. 3. Aktienindex-Futures Ein Aktienindex trackt die Wertveränderung eines hypothetischen Aktienpotfolios. Die Gewichtung der Aktie im Portfolio entspricht dem Anteil des Portfolios, das in diese Aktie investiert wurde. Normalerweise sind Aktienindizes nicht dividendenbereinigt. Mit anderen Worten werden alle Dividenden, die mit dem Portfolio eingenommen werden, ignoriert.32 31 Vgl. Kolb, 1999, S. 63 32 Vgl. Hull, 1997, S. 57 18 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Zu beachten ist, daß selbst wenn das Aktienportfolio unverändert bleibt, die Gewichtung der einzelnen Aktien im Portfolio variieren. 33 Steigt eine Aktie stärker als die anderen, so steigt auch ihre Gewichtung. Tabelle 1 zeigt deshalb auch nur eine Momentaufnahme. Zur korrekten Berechnung eines Aktienindex benötigen wir deshalb tagesaktuelle Gewichtungen. Die Deutsche Börse AG veröffentlicht auf ihrer Webseite nach Börsenschluß eine Tabelle, aus der die aktuellen Gewichtungen der einzelnen Aktien in den verschiedenen Indizes entnommen werden können. Die meisten Indizes können als Securities verstanden werden, die eine Dividende auszahlen. Die Security ist das Aktienportfolio, das dem Index zugrunde liegt. Die Dividenden der Security entsprechen den Dividenden, die der Halter des entsprechenden Portfolios erhalten würde.34 Wird von einer kontinuierlichen Dividendenauszahlung mit der Dividendenrendite q ausgegangen, so lautet die erweiterte Terminpreisfunktion: Gleichung 1: F=Se(r-q)(T-t) Beispiel: Gegeben sei ein Future-Kontrakt mit 3 Monaten Laufzeit. Die Aktien, die dem Index zugrunde liegen, generieren eine Dividendenrendite von 3% im Jahr. Der Zinssatz liegt bei 8% pro Jahr und der aktuelle Wert eines Indizes liegt bei 7000 Punkten. In diesem Fall ist S=7000, r=0.08, (T-t)=0.25 und q=0.03. Es ergibt sich für F: F=7000e0.05x0.25=7088,025 In der Praxis aber variiert die Dividendenrendite während des Jahres. Der DAX ist zwar ein Performance-Index und als solcher wird er um die Dividenden bereinigt, 33 Vgl. Kolb, 1997, ebd. 34 Vgl. Hull, 1997, S. 59 so daß bei der Bewertung der Futures die 19 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Dividendenausschüttung nicht beachtet werden muß. Jedoch wird der DAX nur um die Bardividende bereinigt. Dem inländischen Besitzer der Aktie wird zusätzlich eine Steuergutschrift in Höhe des Unterschieds zwischen Bruttound Bardividende zugesprochen.35 Theoretisch müßten wir also noch einen persönlichen Steuersatz des Arbitrageurs einbeziehen. Wenn wir also im folgenden von der Dividende des DAXs sprechen, so ist lediglich die Steuergutschrift in die Bewertung des Futures oder der Option mit einzubeziehen. Beim DAX finden ausgesprochen viele Hauptversammlungen und damit Dividendenzahlungen im Mai und Juni statt.36 Wir begnügen uns Dividendenrendite. deshalb Aus nicht mit Fachzeitschriften einer wurde durchschnittlichen eine Tabelle zusammengestellt, die den Termin der Dividendenzahlung und die geschätzte Dividendenhöhe enthält. Bei der Berechnung des Fair Value wird über die Laufzeit des betrachteten Kontrakts die Dividendenzahlungen mit einkalkuliert und q so dynamisch berechnet. Zwar müssen wir uns auf Schätzungen der Dividenden verlassen, aber wir halten dieses Vorgehen für vertretbar, da gerade die Dividendenzahlungen der DAX30-Unternehmen schon bekannt sind oder nur minimal von der Schätzung abweichen. Durch die große Anzahl von 30 Titeln mitteln sich die Abweichungen wieder aus. Untersuchungen zu diesem Thema sind allerdings unbekannt. Mit Gleichung 1 läßt sich der Fair Value von Future-Kontrakten errechnen. Um den Gewinn nicht nur in Punkten berechnen zu können, benötigen wir schließlich noch die Kontraktgröße des DAX-Futures: Die Kontraktgröße des DAX-Futures errechnet sich aus dem DAX-FutureIndex, multipliziert mit 25€. Bei einem DAX-Future-Index von 7000 Punkten, 35 Vgl. Merz, 1995, S. 48 36 Vgl. Statistik-Teil der Börse-Online 20 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures kostet ein Kontrakt 175.000€. Steigt/Fällt der Index um einen Punkt, so steigt/fällt der Wert des Kontrakts um 25€.37 III. Optionen In diesem Unterkapitel wird zunächst auf die Funktionsweise und den Zweck von Optionen eingegangen. Danach werden die zwei bekanntesten Modelle zur Optionspreisfindungen nach Black/Scholes und das Binomialmodell behandelt. Schließlich wird auf Besonderheiten von Optionen eingegangen, die als Underlying einen Index haben. 1. Grundlagen Auch Optionen sind keine Erfindung unseres Jahrhunderts. Sie waren unter anderem bereits im Tulpenzwiebelspekulation 17. in Jahrhundert Holland in verbreitet. der Periode Holländische der Züchter verpflichteten sich bestimmte Mengen Zwiebeln zu liefern. Diese wurden in der Regel über den Seeweg transportiert und nicht selten gingen ganze Schiffsladungen verloren. Um aber dennoch liefern zu können, sicherten sich die Tulpenzwiebelhändler bei anderen Züchtern ab, indem sie von diesen eine Option erwarben, mit der sie gegen eine Prämie die gleiche Menge Tulpenzwiebeln beziehen konnten.38 Eine Option ist also eine Vereinbarung, die für den Käufer bzw. den Inhaber der Option, das Recht, nicht aber die Verpflichtung enthält, innerhalb einer festgelegten Laufzeit (amerikanischer Stil) oder zu einem gewissen Zeitpunkt (europäischer Stil) eine bestimmte Menge eines bestimmten Basiswerts zu einem voraus fixierten Preis zu kaufen oder zu verkaufen.39 37 Vgl. Eurex, 2000 38 Vgl. Horat, 1989 39 Vgl. Basisinfo, 1998 21 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Optionen, die zum Kauf eines Gutes berechtigen, werden Kaufoptionen oder Calls genannt. Bei Optionen, die zum Verkauf eines Gutes berechtigen, spricht man von Verkaufsoptionen oder Puts.40 Aus diesen beiden Optionsarten ergeben sich die vier Grundgeschäftsarten des Optionshandels: den Long-Call (Kauf einer Kaufoption), Short-Call (Verkauf einer Kaufoption), Long-Put (Kauf einer Verkaufsoption) und ShortPut (Verkauf einer Verkaufsoption). Es lassen sich zwar unendlich viele Einsatzmöglichkeiten und Zusammenstellungen von Optionen konstruieren, aber alle Strategien können auf diese vier Basiselemente zurückgeführt werden. Für Interessierte verweisen wir auf die weiterführende Literatur. In vielen Sektoren der Wirtschaft fand reger Optionshandel statt, doch oft nahm der Handel mit Optionen ein unrühmliches Ende, da fehlende Marktregeln, betrügerische Machenschaften oder die unzureichende Transparenz der Märkte zum Zusammenbruch dieser führten.41 Ende der 80er Jahre ist das Angebot an Index-Optionen entsprechend der zunehmenden Nachfrage stark gestiegen. Mit immer neuen Indizes wurden immer neue Marktnischen aufgedeckt. Auf viele dieser Indizes sind auch Optionen erhältlich und sind seit Jahren Bestseller. Andere jedoch wurden aufgrund von mangelndem Interesse wieder eingestellt. Index-Optionen unterscheiden sich von anderen Optionen dadurch, daß bei deren Ausübung keine Lieferung einer physischen Aktiva erfolgt, sondern sie wird bar abgewickelt. Der Optionsverkäufer zahlt der ausübenden Partei einen Barbetrag, der dem Produkt aus Multiplikator und der Differenz des Basispreises der Option und dem aktuellen Stand des Index entspricht.42 40 Vgl. Strauch, 1990 41 Vgl. Horat, 1989 42 ebd. 22 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 2. Optionspreistheorie Im Jahre 1900 veröffentlichte Louis Bachelier die ersten Theorien zur Preisfindung von Optionen. Nach seinen Erkenntnissen hängt der Optionspreis vom Spot-Preis des Underlyings ab, der eine brownsche Bewegung43 ohne Drift vollzieht.44 Die brownsche Bewegung geht auf den Botaniker Robert Brown (1773-1858) zurück, der „unerklärliche Phänomene“ beobachtete, als er Pflanzenteile unter dem Mikroskop untersuchte. Im Pflanzensaft schwimmende Stoffteilchen bewegten sich völlig unmotiviert zick-zack-förmig in alle Richtungen. Später wurde diese Bewegung als „Brownsche Bewegung“ bezeichnet.45 Ohne genauer auf die Theorie der brownschen Bewegung einzugehen, sei vermerkt, daß sich diese zur Modellierung von Aktienkursen eignet. Während die brownsche Bewegung wandert, wachsen Unternehmen in einer gewissen Geschwindigkeit. Deshalb können wir davon ausgehen, daß Aktienkurse steigen und sei es nur durch Inflation. Die brownsche Bewegung wird um einen Drift erweitert. St=Wt=t mit der Konstanten , die das Wachstum reflektiert. Weitere Ergänzungen können Skalierungsfaktoren für das Rauschen oder das exponentielle Wachstum sein.46 Zur Preisfindung von Optionen wurden seit Bachelier immer wieder neue Modelle entwickelt. Obwohl Optionen seit Jahrhunderten gehandelt wurden, handelte es sich um "relativ, obskure" Finanzinstrumente bis 1973 der Börsenhandel für gelistete Optionen eingeführt wurde.47 43 Vgl. Bachelier, 1900 44 Vgl. Betsch, 2000, S. 160 45 http://www.neundorf.de/Pygmalion/pygmalion.html 46 Vgl. Baxter, 1998, S. 50ff 47 Vgl. Cox, Ross, Rubinstein, 1979 23 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 1973 war in mehrfacher Hinsicht ein bemerkenswertes Jahr für die internationalen Terminbörsen. Das Bretton Woods-System fester Wechselkurse brach zusammen und sorgte für signifikant höherer Volatilität auf den Zins- und Devisenmärkten. Zum anderen führte die CBOE in Chicago als erste Terminbörse Optionen auf Aktien ein.48 Zudem wurde die Theorie der Optionspreisbestimmung 1973 von Fischer Black und Myron Scholes mit dem ersten vollständigen Optionspreismodell revolutioniert. Im selben Jahr erweiterte Robert Merton das Modell in wichtigen Punkten.49 Cox, Ross und Rubinstein bemängelten allerdings im Jahre 1979, daß Black/Scholes mit fortgeschrittenen mathematischen Methoden arbeiten, die "darauf abzielen von den underlying economics zu abstrahieren“. Sie präsentierten eine vereinfachte Annäherung an die Optionspreistheorie mit ihrem Binomialmodell. Noch heute sind diese beiden Modelle die am weitesten verbreiteten Optionspreismodelle. Wir wollen diese beiden Modelle vorstellen, weil sie die Grundlagen für alle weiteren analytisch und numerisch lösbaren Optionspreismodelle liefern.50 Hull stellt drei weitere numerische Prozeduren vor, um Derivatpreise zu bestimmen, wenn keine exakten Gleichungen vorliegen.51 In B.III.3 werden wir speziell auf die Erweiterungen dieser beiden Modelle eingehen, die die Optionspreisfindung für Optionen auf Indizes ermöglichen. a) Das Black-Scholes Optionspreismodell Wenn Optionen einen fairen Marktpreis haben, dann sollte es unmöglich sein, sichere Gewinne mit Porfolios von long- und short-Positionen dieser Optionen 48 Vgl. Werner, 1997, S. 342ff 49 Vgl. Cox, Ross, Rubinstein, 1979 50 Vgl. Betsch, 2000, S. 161 51 Vgl. Hull, 1997, S. 343ff 24 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures und deren Underlying zu machen. Auf diesem Grundsatz bauen Black/Scholes ihre theoretische Bewertungsformel für Optionen auf. Die bis dato vorliegenden Arbeiten von z. B. Sprenkle (1961), Ayres (1963), Boness (1964), Samuleson (1965), Baumol, Malkiel und Quandt (1966) und Chen (1970) ergaben Bewertungsformeln ein und derselben Form: Ihre Formeln waren unvollständig, da sie alle eine oder mehr Arbitrage-Parameter enthielten.52 aa) Grundüberlegungen Um das Optionspreismodell von Black/Scholes in seiner Basisform abzuleiten, gehen wir von einem vollkommenen Aktien- und Optionsmarkt aus: Der kurzfristige Zinssatz ist bekannt und über die Zeit konstant. Zu diesem Zinssatz können beliebige Summen angelegt und ausgeliehen werden Es wird keine Dividende auf die Aktie gezahlt Es handelt sich um eine europäische Option. Sie kann also erst am Ende der Laufzeit ausgeübt werden Es gibt keine Transaktionskosten für Kauf oder Verkauf Aktien und Optionen sind beliebig teilbar Es gibt keine Beschränkungen für Leerverkäufe Der Aktienkurs folgt einem "random walk" mit einer Varianz, die proportional zum Quadrat des Aktienkurses steht. Black/Scholes legen der Herleitung ihres Modells folgende Überlegung zugrunde: Marktteilnehmer sichern sich durch die Hedgingmöglichkeiten von Optionen vollständig gegen Aktienkursschwankungen ab. Das so zusammengestellte Portfolio ist vollkommen unabhängig von der Aktienkursentwicklung und erwirtschaftet eine gewisse Rendite. Diese Rendite muß nach Black/Scholes dem risikolosen Zinssatz entsprechen. 52 Vgl. Black/Scholes, 1972 25 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Durch Kombination von Optionen und dem entsprechenden Basiswert kann das Risiko eines Portfolios minimiert werden. Z. B. kann der Kauf einer Aktie mit dem Verkauf von zwei Calls auf diese Aktie abgesichert werden. Sollte der Aktienkurs bis zum Verfallstag nur unwesentlich steigen, werden die Gewinne der Aktienanlage durch die Verluste durch das Optionsgeschäft kompensiert. Umgekehrt kompensieren Gewinne aus dem Optionsgeschäft Verluste aus dem Aktiengeschäft bei leicht fallenden Kursen. Das Portfolio ist gegen geringfügige Schwankungen nahezu abgesichert und damit risikolos. Bei größeren Kursschwankungen geht die Überlegung nicht mehr auf, da die Entwicklung des Optionspreises nicht linear verläuft. Die Gesamtanlage ist nicht mehr risikolos. Um das Portfolio auch gegen größere Schwankungen zu hedgen, ist die Anzahl an Aktien dem der relativen Preisänderung der Option gegenüber der Preisänderung der Aktie errechneten Hedgeratios anzupassen. Dieses Vorgehen wird Delta Hedging genannt und muß regelmäßig durchgeführt werden. Der Ertrag eines solchen perfekten Hedge-Portfolios ist unabhängig vom Aktienkurs. Wenn ein Risikoaufschlag nicht entsteht, muß die Rendite aller Wertpapiere oder Portfolios der risikolose Zins r sein. bb) Ableitung der Optionspreisfunktion nach Black/Scholes Der zum Zeitpunkt t aktuelle Optionspreis C kann als Funktion der Variablen des Aktienkurses S und t betrachtet werden. C(t) = F(S,t) 26 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Das gesamte Portfolio aus n1 Calls, n2 Aktien und einem risikolosen, festverzinslichen Wertpapier mit der Verzinsung r und dem investierten Betrag Q, kann wie folgt abgebildet werden: P(t) = n1(t)C(t) + n2(t)S(t) + Q(t) S(t) und C(t) sind der Aktien- bzw. Optionskurs zum Zeitpunkt t. Das Kapital Q dient zur Finanzierung des Portfolios. Bei Veränderung der Anzahl von Calls oder Aktien wird der frei gewordene Betrag in Q investiert oder durch Q beschafft. Um den fairen Preis von C bei der Veränderung von S(t) oder t zu ermitteln, ist die Funktion abzuleiten. Die daraus entstehende Gleichung ist noch nicht lösbar. Erst mit den folgenden Nebenbedingungen wird die Gleichung lösbar: 1.) Der Wert des Calls C in t* nimmt den Wert Null an, falls der Basispreis größer ist als der Tageskurs der Aktie 2.) Der Wert des Calls entspricht der Differenz zwischen dem aktuellen Kurs und dem Basispreis, falls der Basispreis kleiner ist als der aktuelle Kurs der Aktie Durch Substitution einiger Teile der Differentialgleichung kommt man zu folgender Gleichung: C(S,K,T) = S (d1) – K r-T (d2) mit S ln K * r T T d1 2 T S ln K * r T T d2 2 T 27 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Wie aus den Herleitungsschritten ersichtlich, wird für die Ableitung des fairen Optionspreises C keine Annahme über das Wachstum des Aktienkurses getroffen. Es wird nur vorausgesetzt, daß das obige Portfolio eine Rendite in Höhe des risikolosen Zinses r erwirtschaftet. Außerdem gibt es in diesem Ansatz keine Annahme über die Risikoneigung des Investors. Die Formel ist einfach zu verwenden, da außer der Volatilität des Aktienkurses keine unbekannte oder schwer abschätzbare Größen einfließen. Bei der Volatilität wird nicht die historische Preisvolatilität benötigt, sondern die zukünftige. Geht man davon aus, daß die historischen Werte nichts mit den zukünftigen Werten zu tun haben, so ist ein Versuch aus den historischen Daten eine zukünftige Entwicklung vorauszusehen natürlich sinnlos. Allerdings haben sich Verfahren, die die zukünftige Volatilität aus der Vergangenheit über die Standardabweichung ermittelte Volatilität unter Anpassung an die neuesten Kursveränderungen des Underlyings ermitteln, durch den Vergleich mit internationalen Aktienoptionen bestätigt. Das vorgestellte Modell von Black/Scholes kann auf vielfältige Weisen erweitert werden, so existieren Modelle für die Preisbestimmung von Puts, für Optionen auf Dividenden-zahlende Assets, amerikanische Optionen und Optionen auf Futures.53 b) Das Binomialmodell zur Optionspreisbestimmung Das von Cox, Ross und Rubinstein 1979 veröffentlichte Binominalmodell zur Optionspreisbestimmung geht davon aus, daß eine dividendenfreie Aktie zum Preis B0 einem Binomialprozeß folgt.54 Es handelt sich dabei um ein zeit- und wertdiskretes Modell zur Beschreibung von Wertpapierkursen. Es wird angenommen, daß es zwei alternative Preisentwicklungen mit einer bestimmten Eintrittswahrscheinlichkeit gibt. Die Wahrscheinlichkeit einer 53 Vgl. Hull, 1997, S. 228ff 28 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Aufwärtsbewegung sei p, die Wahrscheinlichkeit des Eintretens einer Abwärts- oder Seitwärtsbewegung ist dann (1-p). Die Aktie hat dann mit einer Wahrscheinlichkeit von p den Wert von B1u und mit einer Wahrscheinlichkeit von (1-p) den Wert von B1d. Ein entsprechender europäischer Call auf diese Aktie hat zu diesem Zeitpunkt mit gleicher Wahrscheinlichkeit den Wert C 1d oder C1u. Es wird ein Portfolio mit einer long-Position in Aktien und einer short-Position in Calls konstruiert. Es wird von einem Zero-Beta-Portfolio gesprochen, wenn der Endwert des Portfolios davon unabhängig ist, ob die Aktie eine Aufwärtsbewegung oder eine Abwärtsbewegung vollzieht. Das Zero-Beta-Portfolio besteht aus einem short-Call und einer Anzahl Aktien: PH=*B0-C Da der Portfoliowert für beide alternativen Kursbewegungen der Aktie gleich sein soll, so muß *B1u-C1u=*B1d-C1d gelten. Mit der folgenden Gewichtung kann unabhängig von der Eintrittswahrscheinlichkeit einer Auf- oder Abwärtsbewegung bestimmt werden, wieviel Aktien zu halten sind: C1u C1d C1u C1d B1u B1d B0 * u B0 * d Risikofreie Portfolios verzinsen sich mit dem risikofreien Zins r. Damit gilt: 54 Vgl. Cox, Ross, Rubinstein, 1979 29 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures (*B0-C0)*er*T=* B1u-C1u=*B1d-C1d Es gilt, wie bereits bei dem Modell von Black/Scholes dargestellt, daß der Call beim Verfallstermin entweder den Wert Null hat, wenn die Aktie unter dem Basispreis liegt oder der Callwert gleich der Differenz zwischen Aktienpreis und Basispreis, falls der Kurs der Aktie über dem Basispreis liegt. Durch Einsetzen berechnen wir den fairen Preis des Calls zum Zeitpunkt 0. C0=(p*C1u+(1-p)*C1d)*e-r*T mit e r*T d ud Es besteht keine Abhängigkeit des Call-Preises von der Wahrscheinlichkeit p einer Aufwärts- oder Abwärtsbewegung. 3. Index-Optionen Index-Optionen sind sowohl als Optionen europäischen Stils, z. B. auf den S&P 500, aber auch als Optionen amerikanischen Stils, z. B. Optionen auf den S&P 100, erhältlich. Eine Option auf einen Index ermöglicht in der Regel nicht zum Bezug des Underlyings, sondern werden mit Geld vergütet.55 Beispiel: Ein Call (August) auf den S&P100 mit dem Basispreis von 460 kostet $45,5. Die Kontraktgröße von S&P100-Optionen ist 100, also kostet ein Kontrakt $4550. Ist der Index vor dem Fälligkeitstermin bei 498,52 Punkten, so würde der Halter des Kontraktes (498,52-460)x100=$3852 bei Ausübung ausbezahlt bekommen. 55 Vgl. Hull, 1997, S. 265 30 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Auch für den Deutschen Aktienindex DAX sind Optionen an der Eurex erhältlich. Pro Index-Punkt beträgt der Kontraktwert 5€.56 IV. Arbitrage-Strategien Cordero schreibt zu Arbitrage folgendes: "Die Arbitrage beinhaltet die Erzielung von (in der Regel) risikolosen Gewinnen durch Ausnützung von vergleichbaren Kursunterschieden.". Deshalb zählt Arbitrage auch zu den risikolosen Geschäftsarten.57 Die Arbitrage mit Financal Futures wie DAXFutures und DAX-Optionen soll auch im folgenden als solche verstanden werden. Sowohl Cordero als auch Kempf58 weisen allerdings nach, daß eine gegenläufige Entwicklung einen Arbitrage-Gewinn auszulöschen vermag und sogar in einen Verlust verwandeln kann. In dieser Studienarbeit beschränken wir uns allerdings darauf, Arbitragegeschäfte zu risikolosen Geschäftsarten zu zählen, die lediglich Kursunterschiede ausnützt und diese infolgedessen zum Verschwinden bringen. Die verschiedenen Arbitrage-Strategien können nach Cordero in drei Gruppen eingeteilt werden: 1.) Intra- und Inter-Market-Arbitrage 2.) Cash and Carry-Arbitrage 3.) Futures und Forward-Forward-Arbitrage Bei Intra-Market-Arbitrage ist lediglich ein Markt involviert, z. B. kann eine Aktie X in Frankfurt für 305€ verkauft werden und zum gleichen Zeitpunkt wird sie in Düsseldorf für 300€ angeboten. Beim Kauf in Düsseldorf und Verkauf in Frankfurt kann der Arbitrageur einen risikolosen Gewinn von 5€ erzielen. Bei Inter-Market-Arbitrage sind mehrere Märkte beteiligt, z. B. der Aktien- und der Optionsmarkt. Eine Kaufoption für die Aktie X mit Basis 280,€ notiere bei 56 Vgl. Eurex 57 Vgl. Cordero, 1987 58 Vgl. Kemp, 1996 31 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 15€. Der aktuelle Kurs der Aktie beträgt 300€. Durch Kauf der Option und Ausübung kann die Aktie also für 295€ erworben werden und sofort für 300€ auf dem Aktienmarkt veräußern. Es entsteht ein Gewinn von 5€. Bei Cash- und Carry-Arbitrage wird gleichzeitig das Basisgut in der Kasse gekauft und über einen Futures-Kontrakt, der bis zum Laufzeitende gehalten wird, verkauft. Liegt der Futures-Preis über dem Kassa-Preis plus Lager- und Zinskosten, so ergibt sich ein Arbitragegewinn.59 Durch Cash- und CarryArbitrage wird der Preiszusammenhang zwischen Kassa- und Futuresmärkten erklärt.60 Bei der Futures und Forward-Forward Arbitrage wird ein gegebener Kontrakt mit einem konstruierten, synthetischen Kassainstrument verglichen. Werden Kursunterschiede festgestellt, so kann ein risikoloser Gewinn erzielt werden. Ein ausführliches Beispiel ist in Cordero61 zu finden. Das zu entwerfende Arbitrage-Programm soll Inter-Market-Arbitrage (zwischen Aktien- und Optionsmarkt) und Cash- and Carry-Arbitrage zwischen Kassa- und Futuremarkt betreiben. V. Forschungsergebnisse zu diesem Thema In diesem Kapitel wollen wir auf Untersuchungen eingehen, die sich vornehmlich mit Index-Arbitrage insbesondere mit DAX-Futures und DAXOptionen beschäftigen. Da der Handel mit DAX-Futures-Kontrakten an der Deutschen Terminbörse am 23. November 1990 aufgenommen wurde 62, stammen die frühsten und grundlegendsten Arbeiten aus den Jahren danach. In den USA wurden bis zu diesem Zeitpunkt bereits eine große Zahl von Studien durchgeführt, die die Relation zwischen Indexfutures und den 59 Vgl. Strauch, 1990 60 Vgl. Kempf, 1996 61 Vgl. Cordero, 1987, S. 146 62 Vgl. Bamberg, 1995, S. 1f 32 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Kassamärkten untersuchten. In den meisten Fällen wurden signifikante, anhaltende Abweichungen des tatsächlichen Futureskurs vom theoretischen Kurs festgestellt. Allerdings wurden in diesen frühen Arbeiten nur in unzureichendem Maße die Kosten der Arbitrage-Strategie berücksichtigt.63 Zu den grundlegenden Cornell/French64 65, Untersuchungen zählen die Modest/Sundaresan66 und Figlewski67 Arbeiten 68. von Es folgten zahlreiche Untersuchungen, die auch zunehmend Transaktionskosten, steuerliche Gesichtspunkte und Probleme wie Ausführungsverzögerung berücksichtigen, z. B. Chung69 oder Klemkosky70. Für den deutschen Markt stammen die ersten Untersuchungen aus dem Jahre 1992. Günter Bamberg und Klaus Röder71 untersuchen in ihrer Arbeit die ex ante intra Tag-Effizienz des DAX-Futures Markets seit Einführung dieses Kontrakts an der Deutschen Terminbörse. In ihre Untersuchung gehen alle Transaktionsdaten des DAX-Futures und die damals noch minütlich berechneten DAX-Werte bis 30.12.1991 ein. Bamberg/Röder berücksichtigen unterschiedliche Steuersätze, Transaktionskosten, Reaktionszeiten und die Berechnungsmodalitäten des DAX-Indexes. In ihre Analyse gehen 132351 Transaktionspreise an 272 Handelstagen ein. Davon entfallen 84% auf den Kontrakt mit der kürzesten Laufzeit und 13% auf den "mittleren" Kontrakt. Die restlichen 3% entfielen damals auf Transaktionen mit der längsten Laufzeit.72 Da die Einführung der Futurekontrakte damals in Deutschland erst kurz zurück lag, verweisen Bamberg/Röder auf Ergebnisse aus den USA, die eine 63 Vgl. Loistl, 1993, S. 74 64 Vgl. Cornell, 1983a 65 Vgl. Cornell, 1983b 66 Vgl. Modest, 1983 67 Vgl. Figlewski, 1984a 68 Vgl. Figlewski, 1984b 69 Vgl. Chung, 1991 70 Vgl. Klemkosky, 1991 71 Vgl. Bamberg, 1992 72 Vgl. Bamberg, 1992, S. 17 33 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Fehlpreisung nahezu ausschließlich in den ersten Monaten nach Einführung eines neuen Kontraktes feststellten. Zu einem solchen Ergebnis kommt unter anderem Figlewski73. Weitere empirische Untersuchungen kommen jedoch zu dem Ergebnis, daß die Markteffizienz im Zeitablauf eher schwankt als monoton zunimmt, so MacKinley/Ramaswamy75 und unter anderem Merrick76. Schwarz/Laatsch74, Begründet werden diese Fehlpreisungen mit den Lerneffekten der Marktteilnehmer. Es muß erst gelernt werden, mit den neuen Finanzinstrumenten umzugehen. Dieser Effekt war auch bei der Einführung des DAX-Futures zu beobachten. Bamberg/Röder stellten fest, daß 73% aller Arbitragesignale in der ersten Hälfte des Beobachtungszeitraums generiert wurden.77 Bamberg/Röder bauen ihre empirische Untersuchung auf verschiedenen Parametern auf. So werden Grenzsteuersätze von 0%, 36% und 50% eingegeben, sowie Transaktionskosten in Höhe von 1% und 2% des Gesamtumsatzes. Ferner wird mit einer Ex ante-Untersuchung überprüft, in wieviel Prozent der Fälle auch tatsächlich ein Gewinn erzielt werden kann. Arbitragestrategien, die sich ex post als gewinnbringend anbieten, müssen nicht zwangsläufig zu ex ante Gewinne führen.78 Deshalb werden Reaktionszeiten von einer und zwei Minuten unterstellt, d.h. ein Arbitrageur beobachtet eine Fehlpreisung und erst eine oder zwei Minuten später wird die angestoßene Transaktion geschlossen. Bei der Ex-Post-Analyse kommen Bamberg/Röder zu dem Ergebnis, daß sich nahezu alle Transaktionspreise innerhalb der Vereinigungsmenge der Arbitragekanäle aller Marktteilnehmer befinden. Mit steigender Restlaufzeit des Kontraktes nimmt die Breite des Kanals auf Null ab und erhöht somit die 73 Vgl. Figlewski, 1984b 74 Vg. Schwarz, 1991 75 Vgl. MacKinley, 1988 76 Vgl. Merrick, 1988 77 Vgl. Bamber, 1992, S. 22 78 Vgl. Stoll, 1990 34 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Möglichkeit einer Fehlpreisung mit einem Grenzsteuersatz, der eine ex post Arbitrage ermöglicht.79 Bei der Ex-Ante-Betrachtung kommen die Autoren zu dem Ergebnis, daß bei einer Reaktionszeit von einer Minute und 1% Transaktionskosten alle Marktteilnehmer signifikant positive Arbitrageergebnisse erzielen. 80. Lediglich die bedeutsame Gruppe der Arbitrageure, mit 36%-50% Steuerbelastung, erfährt bei dem Kontrakt mit der kürzesten Laufzeit und einer Verzögerung von mehr als einer Minute, in der Regel Verluste.81 Zu diesem Zeitpunkt kommen Bamberg und Römer zu dem Ergebnis, daß die Effizeinz des DAX-Futures Markets nicht signifikant zugenommen hat. Es ist zwar eine abnehmende absolute Zahl von Arbitragesignalen im Laufe der Zeit festzustellen, aber für Arbitrageure mit dem Steuersatz von 50% hat die durchschnittliche Höhe des Arbitragegewinns eher zugenommen. Im Jahr 1993 untersuchten eben diese Autoren Arbitragemöglichkeiten am DAX-Futures Markt unter Berücksichtigung von Körperschaftssteuern und Dividenden. Dabei gingen alle Transaktionsdaten aus den Jahren 1991 und 1992 in die Untersuchung ein. Die Ergebnisse belegen einen zunehmenden Gleichlauf zwischen Voraussetzungen ist Kassajedoch Terminmarkt.82 und die Erzielung von Unter speziellen Arbitragewinnen für institutionelle Arbitrageure möglich. Interessant sind auch die unterschiedlichen Ergebnisse der ex ante Analyse der verschiedenen Arbitragestrategien83: Ergebnisse Reverse Cash and Carry Arbitrage: Im Zeitblauf positive, aber fallende Arbitragegewinne bei sinkender Anzahl von Arbitragegeschäften. 79 Vgl. Bamberg, 1992, S. 32f 80 Vgl. Bamberg, 1992, S. 33 81 ebd. 82 Vgl. Bamberg, 1994, S. 30 35 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Die Transaktionskosten und die Reaktionsgeschwindigkeit der Marktteilnehmer spielen eine eher untergeordnete Rolle. Die Berücksichtigung von Dividenden und Wertpapierleihe ändert nichts grundlegendes an der Gewinnsituation, ist aber bei der Höhe der Gewinne und Anzahl der Arbitragesignale bemerkbar. Arbitrageure, die in der Lage sind Leerverkäufe durchzuführen, erzielen auch Gewinne. Ergebnisse der Cash and Carry Arbitrage, die keine Leerverkäufe voraussetzt: Gernell geringere Arbitragemöglichkeit als bei der Reverse Cash and Carry Strategie. Im Zeitablauf ebenfalls positive fallende Arbitragegewinne. Die Anzahl der Arbitragemöglichkeiten sinkt aber nicht. Sowohl Transaktionskosten als auch Reaktionsgeschwindigkeit der Marktteilnehmer haben einen erheblichen Einfluß auf das Arbitrageergebnis. Kaum Arbitragemöglichkeiten bei den Kontrakten mit längerer Laufzeit. Die Berücksichtigung von Dividenden führt zusätzlich zur zunehmenden Unattraktivität der langfristigen Kontrakte. Ausschließlich Arbitrageure mit niedrigen Transaktionskosten und kurzen Reaktionszeiten erzielen bei dem Kontrakt mit der kürzesten Restlaufzeit Arbitragegewinne. Eine weitere Arbeit aus dem Jahre 1993 von Loistl und Kobinger84 beschäftigt sich vor allem mit den Unzulänglichkeiten des Cost of Carry-Modells und Besonderheiten von Aktienindexfutures. Zu diesen Unzulänglichkeiten gehören: Der Kurs des Basisobjekts: Der DAX ist häufig nicht der beste Indikator für den gegenwärtigen Wert aller 30 DAX-Werte. Wird dieses Problem ignoriert, das als nicht-synchrones Trading bezeichnet wird, so könnten 83 Vgl. Bamberg, 1994, S. 30 84 Vgl. Loistl, 1993 36 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures fälschlicherweise Arbitragemöglichkeiten identifiziert werden, die tatsächlich keine waren.85 Der DAX wurde zum damaligen Zeitpunkt nur jede Minute berechnet, was zu einer besonders starken Verzerrung zwischen DAX und den Bid/Ask-Spreads führte. Transaktionskosten Market-Impact-Kosten: Eine kleine Order hat nur einen kleinen oder minimalen Einfluß auf die momentan geltenden Bid/Ask-Spreads. Eine Order, die relativ zur aktuellen Marktlage groß ist, wird den Händler oder Market-Maker dazu veranlassen, ihren Bid-Kurs nach unten zu revidieren. Eine große Order kann oft nicht vollständig auf einen Schlag ausgeführt werden. Tracking-Risiko: Oft werden bei der Zusammenstellung eines DAXBaskets nicht alle Indexaktien gekauft, sondern ein repräsentativer Querschnitt gewählt oder statistische Optimierungsmodelle gewählt. Eine Abweichung zwischen einem solchen reduzierten Basket und dem Index führt zu einem Risiko. Restriktionen für Leerverkäufe: In Deutschland müssen Wertpapiere, die leer verkauft werden, zuerst geliehen werden. Das führt zu Kosten von etwa 2%-2.5% des Kurswertes der Aktien. Damit sind Leerverkäufe mit höheren Transaktionskosten belastet als Closings von long Positionen. Finanzierungszins: Es existiert eine leicht nachvollziehbare Differenz zwischen Soll- und Habenzins. Diese Differenz ist die Gewinnmarge der Institutionen, die Kredite vergeben oder aufnehmen. Dividendenzahlung: Obwohl der DAX als Performance-Index geführt wird, der bei Dividendenabschlägen bereinigt wird, haben Bardividenden doch insofern eine Relevanz, als daß die Körperschaftssteuergutschrift nicht in die Bereinigung mit einbezogen wird. 85 Vgl. Loistl, 1993, S. 51 37 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Unterschied zwischen Future und Forward-Kontrakten: Der Wert des Index-Terminkontrakts ist nicht unabhängig vom Pfad der Index-Notierung, da Verluste durch die Variation Margin beglichen werden müssen und Gewinne auf das Margin Konto gutgeschrieben werden. Das kann zu Finanzierungskosten oder Zinsgewinnen führen. In verschiedenen Studien, unter anderem von Modest, wird nachgewiesen, daß dieser Effekt vernachlässigbar ist. 86 Execution Slipping: Als Execution Slipping wird das Risiko aus Kursveränderung in den wenigen Minuten und Sekunden zwischen der Entscheidung und Durchführung der Transaktion bezeichnet. Dieser Effekt kann einen selbstverstärkenden Einfluß auswirken wie Harris am Beispiel des Aktienmarktcrashs vom 19. Oktober 1987 zeigt. 87 Ein weiterer Effekt, den Loistl und Kobinger anführen, der Arbitragegeschäfte in größerem Umfang beeinflußt, ist der sogenannte "Lead/Lag"-Effekt. Der Futuresmarkt eignet sich besonders gut für das Price Discovery, wenn sich Informationen zuerst in den Futureskursen auswirken und kann so eine Vorreiter-Rolle für die Entwicklung des Aktienindexs einnehmen. Verschiedene Studien wie von Finnerty/Park88 und Kawaller/Koch/Koch89 beschäftigen sich mit diesem Thema. Loistl und Kobinger kommen in ihrer empirischen Untersuchung zu dem Ergebnis, daß sehr viele Unterbewertungen des DAX-Futures vorgefunden wurden und schließen daraus, daß es ein strukturelles Hindernis geben muß. Da derartige Hindernisse die Effektivität der Instrumente senkt, fordern sie die Aufhebungen oder Verringerungen der Restriktionen. Dazu zählen die Verringerung der Kosten für Aktienleerverkäufe durch größere Konkurrenz am Wertpapierleihmarkt, die Verbesserung der Zugangsmöglichkeiten zum 86 Vgl. Modest, 1983, S. 57ff 87 Vgl. Harris, 1989 88 Vgl. Finnerty, 1987 89 Vgl. Kawaller, 1988 38 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Terminmarkt für mehr Marktteilnehmer und eine Einführung börsengehandelter Indexportefeuilles.90 Die ausführlichste Arbeit zum Thema liegt von Birgit Janßen vor. Sie beschäftigt sich mit den speziellen Gegebenheiten des deutschen Markts und unterschiedlichen Arbitragestrategien. In diese Arbeit fließen fast gänzlich die Ergebnisse der davor genannten Autoren mit ein. Es werden die Unzulänglichkeiten der Cash and Carry-Strategie beschrieben und Lösungsansätze aufgezeigt. Für unsere weiteren Überlegungen sei darauf hingewiesen, daß neben den bereits oben beschriebenen Unzulänglichkeiten, eine Ganzzahligkeitsrestriktion für Futureskontrakte vorliegt. Janßen wendet sich detailliert dem Problem der asymmetrischen Besteuerung verschiedener Einkommensarten zu.91 Es werden Ober- und Untergrenzen eines Arbitragekanals für Privatanleger und institutionelle Anleger unter Berücksichtigung der meisten dieser Unzulänglichkeiten entwickelt. Eine ausführliche empirische Untersuchung liegt allerdings nicht vor. Im gleichen Jahr veröffentlichte Frederic Merz, allerdings neben einer theoretischen, eine ausführliche empirische Untersuchung zu diesem Thema. Merz kommt zu folgendem Ergebnis: Für die betrachteten Kontrakte konnte für den September-Kontrakt, mit der kürzesten Laufzeit, kein signifikanter Unterschied zum durchschnittlichen Tagesgeldzinssatz festgestellt werden. Für alle anderen Kontrakte war der geschätzte Parameter p immer signifikant kleiner als der Tagesgeldzinssatz. Im Durchschnitt sind die Kontrakte unterbewertet. Der Märzkontrakt, der zum Zeitpunkt der Untersuchung eine Laufzeit von mehr als einem Monat hatte, ist im Durchschnitt sogar stark unterbewertet. Bei einem DAX-Stand von 1800 Punkten ergab sich allerdings lediglich ein Preisunterschied von 6 Punkten.92 90 Vgl. Loistl, 1993, S. 83f 91 Vgl. Janßen, 1995 92 Vgl. Merz, 1995, S. 119ff 39 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Auch Prigge und Schlag sind 1992 zu diesem Ergebnis gekommen. Sie weisen jedoch darauf hin, daß der notwendige Leerverkauf bei unterbewerteten Futureskontrakten wesentlich größere Probleme als die umgekehrte Arbitragetätigkeit aufweist und die untere Grenze möglicherweise durch die Kosten der Wertpapierleihe bestimmt wird.93 C. Technische Grundlagen In diesem Kapitel werden Begriffe und Methoden vorgestellt, die für das Verständnis des technischen Entwurfs von Hilfe sind. Zunächst werden wir Visual Basic von Microsoft vorstellen und Unterschiede zu anderen gängigen Programmiersprachen herausarbeiten. In Kapitel C.II werden wir auf die Bedeutung der Komponentenorientierung eingehen. Wir halten dieses Kapitel für sehr wichtig, da wir schon im Entwurfsteil und besonders in der Implementierung immer wieder Gebrauch von Komponenten machen werden. Schließlich werden wir auf das HyperText Transfer-Protokoll (HTTP) eingehen, da wir unsere Daten über das World Wide Web (WWW) beziehen werden und dazu dieses Protokoll einsetzen werden. In Kapitel C.IV werden wir auf die Komponenten und deren Funktionsweisen eingehen, die wir für unser Programm einzusetzen gedenken. I. Visual Basic Als Visual Basic in seiner ersten Fassung im Jahre 1991 erschien 94, wurde es von professionellen Entwicklern meist belächelt. Damals konnte noch niemand die rasante Entwicklung voraussehen, die die belächelte "Spielzeugsprache" seitdem durchmachte. Heute gilt Visual Basic als ein leistungsfähiges und hochmodernes Client-Server-Entwicklungswerkzeug.95 93 Vgl. Prigge, 1992, S. 302ff 94 Vgl. Trupin, http://msdn.microsoft.com/msdnmsg/issues/0400/VBNexGen.asp, Stand: April 2000 95 Vgl. Monadjemi, 2000 40 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Schon damals stellte Visual Basic aber eine kleine Revolution dar, denn selbst einfache Windows-Applikationen bestanden aus etlichen hundert Zeilen von C-Code. Visual Basic erlaubt durch Drag&Drop das Zusammenstellen von Formularen. Darüber hinaus erlaubt es den Zugriff auf die betriebssysteminternen Funktionen von Windows, so daß zeitkritische oder rechenintensive Funktionen im Kernel ausgeführt werden können. Ein weiterer Vorteil ist die Möglichkeit Visual Basic durch Komponenten und Steuerelemente zu erweitern. Dies führte in kurzer Zeit dazu, daß sich ein Markt mit vielen neuen Steuerelementen für fast jeden Zweck entwickelte, was wiederum die Mächtigkeit von Visual Basic steigerte und weiterhin steigert.96 Version 5.0 führte zum ersten Mal die "IntelliSense Technology" ein. Die IDE 'kennt' die verwendeten Klassen und bietet während der Eingabe in einem Pull-Down-Menü die passenden Member-Funktionen an.97 Während in Version 5.0 die Datenbankschnittstelle noch auf die "Data Access Objects" (DAO) von Access aufbaut, setzen sich in der Version 6.0 die ActiveX Data Objects (ADO) durch. Neben dieser grundlegenden Neuerung im Datenbankbereich wurden viele Erweiterungen im Bereich des WWWSupports vorgenommen. Es stehen eine Reihe von Komponenten für den Zugriff auf Webseiten zur Verfügung.98 Für Version 7, die Anfang 2001 veröffentlicht werden soll, sind folgende Neuerungen angekündigt: Vererbung Erweiterte Internet-Entwicklungsumgebung Freies Threading 96 Vgl. Freund und Dirks, http://www.freund-dirks.de/FG/vbasic.htm, Stand: April 2000 97 Vgl. Hüskes, 1997 98 Vgl. Fey, 1998 41 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Neues Error-Handling mit try... catch... 99 Gerade mit der Vererbung (Inheritance) hat Microsoft den starken Ruf der Entwickler erhört und beseitigt damit die letzten signifikanten Unterschiede zu Programmiersprachen wie C++ und Java. II. Komponentenorientierung Während der sogenannten "Softwarekrise" Ende der 60er Jahre setzte sich die Meinung durch, daß Software wie andere Produkte ingenieurmäßig entwickelt werden muß. Durch die ständig steigende Verbreitung von Computern waren die Anwender immer weniger auch die Autoren der Software, so daß Fehler nicht mehr schnell beseitigt werden konnten.100 Die Objektorientierung sollte einen deutlichen Fortschritt in der Softwareentwicklung bringen. In einigen Bereichen gab es tatsächlich Fortschritte. Allerdings gelang es mit dieser Methode nicht, den Grad der Wiederverwendbarkeit entscheidend zu erhöhen. Mit der Komponentenorientierung soll schließlich dieses Problem gelöst werden.101 Gerade in der Entwicklung von großen Softwaresystemen mit wachsender Komplexität, ist es wichtig, das Gesamtsystem auf kleine, überschaubare Teile zu reduzieren. Gleichzeitig kann die Wiederverwendung von Komponenten die Produktivität steigern und damit die Entwicklungskosten und die Entwicklungsdauer senken. Auch Wartung und Veränderungen können leichter durchgeführt werden.102 Alte Komponenten können leicht durch neuere, überarbeitete Komponenten ausgetauscht werden, so daß das Gesamtprodukt nicht überarbeitet werden muß, sondern lediglich ein Teil ausgetauscht wird. 99 Vgl. Meader, 2000 100 Vgl. Aspray, 1997 101 Vgl. Nierstrasz et al, 1997 102 Vgl. Ortner, 1999, S. 147ff 42 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Komponenten werden nach ihrer Granularität unterschieden. Komponenten mit geringer Granularität (fine-grained) stellen eine sehr übersichtliche Zahl von Features zur Verfügung. Zu dieser Gruppe gehören z.B. Schaltflächen, Listenfelder und Dialog-Boxen. Diese Komponenten können wiederum Teile einer Komponente mit hoher Granularität (large-grained oder coarse-grained) sein.103 Komponenten können auch als „White-Box“- oder „Black-Box“-Komponenten vorliegen. Wenn der Sourcecode frei zugänglich ist und auf beliebige Weise modifiziert werden kann, so spricht man von „White-Box“-Komponenten. Bei „Black-Box“-Komponenten liegt die Komponente vorkompiliert vor. Lediglich aus der Spezifikation ist ersichtlich, welche Funktionen zur Verfügung gestellt werden. Eine Zwischenstufe, die als „grey-box“ bezeichnet wird, stellt eine Programmiersprache oder eine spezielle API zur Verfügung, mit der das Verhalten der Komponente verändert werden kann.104 In der Regel liegen aber „Black-Box“-Komponenten vor.105 Um Komponenten miteinander zu verknüpfen, wird ein Framework benötigt. Dieses verleiht den Komponenten ihre Bedeutung. Eine Komponente alleine ist kein mächtiges Werkzeug. Erst die Kombination mit anderen Komponenten läßt ein mächtigeres Ganzes entstehen. So liegt der wahre Vorteil der Komponenten in der Möglichkeit der Komposition mit anderen. Der Mechanismus, mit dem Komponenten verbunden werden, wird als „Gluing“ oder „Scripting“ bezeichnet. Scripting wird zum Beispiel häufig unter UNIX zur Erstellung von Shell-Skripten eingesetzt. Eine weitere bekannte Programmiersprache ist Microsoft Visual Basic, siehe Kapitel C.I. Die VBKomponenten werden in der Regel in C/C++ implementiert und mit einer Basic-ähnlichen Script-Sprache miteinander verknüpft. 103 Vgl. Nierstrasz et al, 1997 104 Vgl. Valetto, 1995 105 Vgl. Nierstrasz et al, 1997 43 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Ein Problem für den Komponentenmarkt besteht allerdings darin, daß Software beliebig repliziert werden kann. Beim Bau einer Maschine müssen Teile erworben werden. Bei dem Bau einer neuen Maschine müssen neue Teile des Zulieferers gekauft werden. Verschiedene Lizensierungsverfahren brachten nur Teilerfolge. Ein weiterer Grund, der die Entstehung eines Komponentenmarkts behindert, ist, daß viele Softwarekomponenten-Hersteller überhaupt nicht daran interessiert sind, ihre Komponenten zu vermarkten. Das KomponentenPortfolio eines Unternehmens stellt nämlich ein strategisches Potential für das Unternehmen dar.106 Dennoch setzt sich nach und nach ein Komponentenmarkt durch und so finden sich im Internet schon einige Marktplätze, die sich auf den Vertrieb von Software-Komponenten spezialisiert haben.107 III. HyperText Transfer-Protokoll Im WWW erfolgt der Aufruf von Webseiten in der Regel über das HTTP. Dieses einfache Protokoll erlaubt den Austausch von Hypertext-Dokumenten zwischen einem Browser, der ein Dokument anfragt und einem Web-Server, der die gewünschten Dokumente zur Verfügung stellt. Die Kommunikation zwischen dem Client und dem Server vollzieht sich in 4 Schritten wie in Abbildung 1 zu sehen. Anfragen und Antworten unterscheiden sich in der Anfangszeile. Die wichtigsten Methoden sind Tabelle 2 zu entnehmen.108 Methode GET Beschreibung Anforderung zum Lesen eines Web-Dokuments 106 Vgl. Goldberg, 1995, S. 175ff 107 Siehe http://www.componentsource.com/ und http://www.flashline.com/ 108 Vgl. Steinmetz, 1999, S. 725 44 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures HEAD Anforderung zum Lesen des Headers eines Web-Dokuments POST Anfügen der Daten an eine Ressource (z. B. News) PUT Anforderung, ein neues Dokument auf dem Server zu speichern DELETE Löscht das angegebene Dokument auf dem Server LINK Verbinden zweier existierender Ressourcen UNLINK Aufheben einer Verbindung zwischen zwei Ressourcen Tabelle 2: HTTP-Methoden In der Regel werden Dokumente in der Hypertext Markup Language (HTML) vom Browser angefordert. Es können aber auch alle anderen ASCII-TextDateien übertragen werden. Der Browser analysiert die übertragene Datei und generiert eine entsprechende Seite. Auf Server-Seite können nicht nur statische Textdateien übertragen werden, sondern es gibt auch die Möglichkeit dynamische Dateien durch Programme auf dem Server erstellen und dann übertragen zu lassen. Eine Schnittstelle zu Programmen, die auf dem Server ausgeführt werden können, stellt das Common Gateway Interface (CGI) dar. Diese Interaktion beschränkt sich jedoch darauf, daß der Anwender ein Programm auf dem Server startet und auf eine mögliche Antwort wartet.109 Ein solches Programm kann dann z. B. Börsendaten von einer weiteren Datenquelle, z. B. einer Datenbank anfordern, und diese in einem geeigneten Format ausgeben. Client Server öffne Verbindung Anfrage Operation Antwort 109 Vgl. Steinmetz, 1999, S. 735ff schließe Verbindung 45 Abbildung 1: Kommunikationsverlauf zwischen Client und Server in HTTP/1.0 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures IV. Visual Basic-Komponenten In diesem Unterkapitel werden die verschiedenen Visual Basic-Komponenten vorgestellt, die in unserer Applikation eingesetzt werden. Bei den meisten handelt es sich um frei verfügbare Komponenten, die dem Installationspaket der Enterprise Edition beiliegen. Wir gehen von der Visual Basic 6.0 Enterprise Edition aus, da für diese eine Studentenlizenz vorliegt. Die Komponenten liegen in keiner speziellen Sortierung vor. Dieser Nachschlagemöglichkeit, Abschnitt falls in den dient mehr folgenden oder weniger Kapiteln als unbekannte Komponenten auftauchen. Name Form Funktion Aussehen Auf dieser Komponente können andere angeordnet werden. Meist als Fenster eingeblendet. Label Zeigt Text an. TextBox Ermöglicht Anzeige und Bearbeitung von Text, Zahlen und Daten. PictureBox Mit dieser Komponenten können Grafiken angezeigt und bearbeitet werden. CommandButton Eine Befehlsschaltfläche. CheckBox Zeigt eine binäre Auswahl an (true/false). 46 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Frame Eine Methode zur Gruppierung von Komponenten. ComboBox Ermöglicht dem Anwender die Auswahl eines Eintrags aus einer Liste oder die Eingabe eines neuen Werts. Timer Mit dieser Komponente kann eine Aktion nach einer definierten Zeit ausgelöst werden. Image Zeigt eine Grafik an. ProgressBar Diese Komponente zeigt den Fortschritt in Form eines Balken an. MsFlexGrid Bei dieser Komponente handelt es sich um eine Art Tabelle, die Veränderung der Zellengröße, Auswahl usw. erlaubt. Tabelle 3: Übersicht über wichtige VB-Komponenten 47 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures D. Entwurf In diesem Kapitel wird das Arbitrage-Programm entworfen. Dabei werden wir die Grundsätze der Komponentenorientierung, wie sie in Kapitel C.II vorgestellt wurden, beachten. Der Entwurf teilt sich in vier Teile auf: Der erste Teil stellt die benutzte Architektur vor. Der zweite Teil beschäftigt sich mit der Datenbank, die wir zur Datenhaltung einsetzen werden, während im dritten Teil die Applikation an sich entworfen wird. Im vierten Teil werden die Funktionen vorgestellt, mit denen Arbitragemöglichkeiten errechnet werden. Hier liegt der theoretische Kern der Arbitrage-Überlegung. Eventuell lassen sich genauere Routinen entwickeln, deshalb soll auf diese Funktionen besonderer Augenmerk auf gelegt werden, damit andere Programmierer an dieser Stelle leicht Veränderungen durchführen können. Beim vorgestellten Entwurf handelt es sich lediglich um einen groben, theoretischen Entwurf. Im Kapitel E wird untersucht, inwieweit sich dieser Entwurf umsetzen läßt. Erfahrungsgemäß werden kleinere Korrekturen notwendig. Selbst nach der Validierung und prototypischen Implementierung stößt der Entwickler in der Regel auf Probleme während der Implementierungsphase. I. Architektur des Arbitrage-Systems Zunächst wollen wir die Architektur des Systems vorstellen. Eine Anwendung läuft auf dem Rechner eines Benutzers. Die Daten werden über das Internet von einem Daten-Server in bestimmten Intervallen abgefragt. Wir benutzen also Pull-Technologie. Die Anwendung wertet die Daten aus und speichert alle Werte in eine Datenbank. Die Datenbank könnte sowohl auf einem speziellen Datenbank-Server installiert sein (siehe Abbildung 2) oder sich aber auch auf dem gleichen Rechner wie die Anwendung befinden (siehe Abbildung 3). 48 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Anwendung ODBC Datenbank HTTP DB-Server Webserver Rechner des Benutzers Abbildung 2: Datenbank auf separatem Server Anwendung Webserver HTTP DB Rechner des Benutzers Abbildung 3: Datenbank auf Rechner des Benutzers Um den Installations-, Soft- und Hardwareaufwand möglichst gering zu halten, streben wir die Lösung aus Abbildung 3 an. Die Marktdaten werden von der IT Future AG110 zur Verfügung gestellt. II. Datenbank In diesem Unterkapitel werden wir auf das Thema "Datenbank" eingehen. Wir werden klären, welche Datenbank benutzt wird und schließlich werden wir die Tabellenstruktur, Abfragen und Makros festlegen. 110 Siehe http://www.itfuture.de 49 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 1. Wahl der Datenbank Betrachten wir zunächst, die nötigen Features, die die Datenbank besitzen muß. Auf Trigger, Transaction-Logs und User-Verwaltung können wir weitgehend verzichten. Wir benötigen die Datenbank lediglich zur einfachen Datenhaltung. Theoretisch könnten wir sogar mit einem Textfile arbeiten. Allerdings ist schwierig abzusehen, welche Größe unsere Datenbank erreicht und wie das Arbeitsverhalten mit einem Textfile schließlich ist. Zudem müßten wir Sortierungsalgorithmen und Zugriffsfunktionen schreiben, so daß der Zugriff auf eine Datenbank durch vorhandene Strukturen in der jeweiligen Programmiersprache wesentlich einfacher ist. Auf eine komplizierte Installation einer Datenbank auf dem System des Benutzers wollen wir jedoch auch verzichten. Deshalb bietet sich an, die Daten in Micosoft-Database-Files (*.mdb) zu speichern. Da wir voraussichtlich mit Microsoft Visual Basic programmieren werden, bieten sich zudem Datenbankzugriffskomponenten an, die speziell für mdb-Files entworfen wurden. Sie sind als freie Komponenten in der Enterprise-Edition von VB verfügbar. Durch diese Wahl können Besitzer von Microsoft Access zudem auf die Daten über das Access-Interface zugreifen und entsprechende Abfragen entwerfen, die zur weiteren Auswertung dienen können. 2. Tabellenstruktur Zunächst benötigen wir eine Tabelle, die die DAX30-Werte enthält. Neben der Wertpapierkennummer WPKN als Schlüssel, soll sie den Code des Wertpapiers, den Namen der Aktiengesellschaft, die Gewichtung im DAX30, die voraussichtliche Dividende und das Datum der nächsten Hauptversammlung enthalten. Die Gewichtung der einzelnen Aktien muß täglich aus den von der Deutschen Börse AG zur Verfügung gestellten Excel-Sheets korrigiert werden. Sie sind 50 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures frei verfügbar.111 Die voraussichtliche Dividende entnehmen wir Fachzeitschriften112, die eine Prognose für das kommende Jahr abgeben. Dabei handelt es sich um Schätzungen, so daß wir hier eine Schwachstelle des Arbitrage-Programms sehen. Darauf werden wir allerdings in Kapitel 6, der Zusammenfassung und theoretischen Bewertung der Ergebnisse genauer eingehen. Auch der Termin der Hauptversammlung ist in einzelnen Fällen für das kommende Jahr noch nicht bekannt. Unser Programm wird dann den Hauptversammlungstermin des letzten Jahres ins nächste Jahr übertragen. Erfahrungsgemäß liegen die Hauptversammlungstermine nur wenige Tage von dem alten entfernt. Die folgende Notation kann leicht von der SQL-Notation von Microsoft Access abweichen, soll aber für den Entwurf genügen. create table TDividendenrenditeDax30( Name char(64) NOT NULL, WPKN char(64) NOT NULL, Code char(5) NOT NULL, Anteil float[3], Dividende float[3], HV-Termin date, PRIMARY KEY (WPKN), UNIQUE (WPKN) ); Ferner werden wir alle Werte von DAX, Future-DAX und der DAX-Optionen abspeichern. Zusätzlich zu Name, Zeit, Datum und Wert werden wir beim DAX den Fair Value abspeichern. Dann können wir auf das Abspeichern von Zinssätzen, Dividenverzinsung usw. verzichten. Die Tabellen können später zu nachträglichen Auswertungen herangezogen werden und dienen somit als historische Daten. create table TDax( ID int NOT NULL AUTO_INCREMENT, Datum date, Zeit time, Kurs float[3], 111 Verfügbar unter http://www.ip.exchange.de/INTERNET/IP/ip_stats.nsf/main/MAIN++Indexdaten+Gewichtung+ und+Kennzahlen?openDocument 112 Vgl. Börse-Online 51 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures FairValue float[3], PRIMARY KEY (id), UNIQUE (id) ); create table TFDax( ID int NOT NULL AUTO_INCREMENT, Datum date, Zeit time, Kurs float[3], name char(128), PRIMARY KEY (id), UNIQUE (id) ); create table TODax( ID int NOT NULL AUTO_INCREMENT, Datum date, Zeit time, Kurs float[3], name char(128), PRIMARY KEY (id), UNIQUE (id) ); Eine weitere Tabelle soll die vorgeschlagenen Transaktionen speichern. Die Tabellenstruktur ist wie folgt: create table TTransaktionen( ID int NOT NULL AUTO_INCREMENT, Datum date, Zeit time, aktion1 int, Kurs1 float[3], wpkn1 char(16), aktion2 int, Kurs2 float[3], wpkn2 char(16), PRIMARY KEY (id), UNIQUE (id) ); III. Entwurf der Applikation Obwohl der Entwurf oft von der Programmiersprache abstrahiert wird, kann an dieser Stelle festgehalten werden, daß Microsoft Visual Basic 6.0, Enterprise Edition benutzt werden wird. Diese Programmiersprache bietet durch ihre Komponentenorientierung viele Vorteile. Wir benötigen keine Objektorientierung oder Plattform- unabhängigkeit. Das Programm wird für das weitverbreitete Betriebssystem Windows (95, 98, 2000, NT) entworfen. 52 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Eine Umsetzung auf anderen Betriebssystemen ist im Rahmen dieser Studienarbeit aus Zeitgründen nicht möglich. Da an dieser Stelle bereits die Programmiersprache feststeht, können wir im Entwurf auch mit den korrekten, VB-spezifischen Komponenten arbeiten. 1. Entwurf des Hauptfensters Betrachten wir zunächst das Hauptfenster. Im Hauptfenster sollen alle wichtigen Vorgänge angezeigt werden. Dazu gehören eine Kurstafel, eine Übersicht über Marktdaten wie Zinsen, Volatilität, Dividendenverzinsung usw, eine genaue Anzeige der zu arbitrierenden Märtke, eine Anzeige der letzten Kauf- und Verkaufsvorgänge und schließlich eine Anzeige von Systemnachrichten wie Fehlermeldung. a) Die Kurstafel In der Kurstafel werden die Fair Values des DAX, Future-DAX und der DAXOptionen graphisch gegeneinander aufgetragen. Auf dieser Tafel können Arbitragemöglichkeiten auf einen Blick dargestellt werden. Umso größer das Gap zwischen den Kursverläufen ist, desto größer ist der Arbitragegewinn. Auf der y-Achse wird z. B. der Indexstand abgetragen, während die x-Achse den zeitlichen Verlauf darstellt. Es soll eine Möglichkeit geben, durch die Angabe von Zeitparametern in die Tafel zu zoomen. 53 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 4: Kurstafel (hier: FDAX gegen Fair Value) Für die Darstellung der Grafik benötigen wir eine PictureBox. Ein RefreshButton erneuert die Anzeige der Kurstafel. Für die Darstellung der Kurstafel benötigen wir die Funktionen drawKurs(), die als Parameter Farbe und die darzustellende Tabelle erwartet. Außerdem gibt es eine UpdateCanvas()Funktion, die ein Refresh durchführt. b) Marktdaten-Übersicht Die Marktdaten-Übersicht muß folgende Marktdaten auf einen Blick präsentieren: Datum des angezeigten Tages, Tage bis zum anvisierten Verfallstag, Volatilität, durchschnittlicher Zinssatz bis zum Verfallstag, durchschnittliche Dividendenverzinsung bis zum Verfallstag, Uhrzeit und das Update-Intervall, also die Zeit, die zwischen zwei Kursabfragen liegt. Zur Darstellung benutzen wir die MSFlexGrid-Komponente. Zur genaueren Aufschlüsselung der Marktdaten gibt es noch eine weitere Anzeige, die Kurs, Zeit der letzten Aktualisierung, Bid, Ask, Bid-Menge, AskMenge und Fair Value von Xetra-DAX, Future-DAX und einer ausgewählten DAX-Option anzeigt. Zur Darstellung wird ebenfalls eine MSFlexGridKomponente benutzt. Resultierend könnte die Markdaten-Übersicht wie in Abbildung 5 aussehen. 54 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 5: Marktdaten Auf die Berechnung der einzelnen Werte, wird in Kapitel C.IV genauer eingegangen. c) Order-Tafel Die Order-Tafel zeigt die vom System vorgeschlagenen Arbitrage- möglichkeiten an. In der Funktion doArbitrage() werden die Möglichkeiten errechnet und entsprechend auf der Order-Tafel ausgegeben. Die Order-Tafel besteht aus einer Label-Komponente. Abbildung 6: Order-Tafel d) Systemnachrichten-Tafel Die Systemnachrichten-Tafel dient zur Ausgabe von Systemnachrichten. Das können sowohl Fehlermeldungen als auch Hinweise sein. Eine Fehlermeldung könnte z. B. auf die Nicht-Erreichbarkeit des Datenservers hinweisen. Ein Hinweis könnte beim Wechsel vom Offline- in den OnlineModus ausgegeben werden. Die Systemnachrichten-Tafel besteht aus einer einer Label-Komponente. 55 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 7: Systemnachrichten-Tafel e) Weitere Elemente Weiterhin soll auf dem Hauptfenster ein Menü enthalten sein, mit dem der Benutzer andere Fenster aufrufen kann. Eine ProgressBar zeigt die Verbindung zum Internet-Daten-Server an. Mit einem Icon, das durch eine Image-Komponente dargestellt wird, kann zwischen Online- und OfflineModus gewechselt werden. An unteren rechten Rand des Fensters wird der Tag der aktuellen Ansicht ausgegeben und angezeigt, ob sich das Programm in einem Zoom-Modus befindet oder nicht. Resultierend könnte das Hauptfenster wie in Abbildung 8 aussehen. 56 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 8: Hauptfenster 2. Entwurf des Zeitparameter-Fensters Im Zeitparameter-Fenster können alle wichtigen Zeitparameter festgelegt werden. Dazu zählen die Handelseröffnung und der Handelsschluß. Des Weiteren eine Checktime, die das Intervall angibt, in dem Anfragen an den Internet-Daten-Server geschickt werden. Es empfiehlt sich allerdings ein Minimum von 30000ms festzulegen, da die Daten auf dem Server in der Regel nicht öfter einem Update unterzogen werden. Tabu-Time gibt die Zeit an, die vergehen muß, bevor ein weiteres Arbitragegeschäft mit gleichen Instrumenten durchgeführt werden darf. Da die fiktiven Käufe und Verkäufe unseres Systems den Kurs der einzelnen Instrumente nicht beeinflussen, könnten wir zufälligerweise immer wieder das gleiche Arbitragegeschäft ausführen, wenn sich die Kurse nicht ändern. Um 57 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures das zu vermeiden, führen wir die Tabu-Time ein, die angibt, wann wir wieder auf den entsprechenden Märkten handeln dürfen. Lag-Allowed gibt an, wieviel Sekunden zwischen der Kursfeststellung und dem Kauf liegen dürfen. Dieser Wert sollte selbstverständlich relativ klein gewählt sein. Liegt er allerdings bei 0 Sekunden und wir haben einen DAXKurs von 16:45:31 Uhr und einen Future-DAX-Kurs von 16:45:32 Uhr so würde dann kann Handel stattfinden. Es empfiehlt sich eine geringe Toleranz von etwa 30 Sekunden einzugeben, da wir eventuell keine genaueren Daten erhalten werden. Abbildung 9: Zeitparameter Das entsprechende Fenster könnte wie in Abbildung 9 aussehen. 3. Entwurf des Zoom-Fensters Mit dem Zoom-Fenster kann der User angeben, welchen Zeitabschnitt er genauer betrachten will. Deshalb gibt es dort die Möglichkeit den Anfang und das Ende des Zeitfensters zu definieren. Entsprechend wird auf der Kurstafel nach der Bestätigung mit "OK" dieser Zeitabschnitt vergrößert dargestellt werden. 58 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 10: Zoomparameter 4. Entwurf "Kursverlauf" Wie bereits in Kapitel C.II beschrieben, speichern wir alle Daten ab. Um diese Daten entsprechend noch einmal darstellen zu können, gibt es ein Fenster "Ansicht alter Daten", das über das Menü zugänglich ist. Dort bekommt der Benutzer alle Tage angezeigt, von denen Daten in unserer Datenbank existieren. Über eine Auswahlliste kann dann der entsprechende Tag auf der Kurs-Tafel dargestellt werden. Abbildung 11: Ansicht alter Daten 5. Sonstiges Um bestimmte Funktionen aufzurufen, greifen wir auf Timer-Komponenten zurück. Es gibt einen Timer, der jeweils die Ping-Funktion nach einer bestimmten Zeit immer wieder aufruft. Die Ping-Funktion überprüft die Verbindung zum Internet-Daten-Server. Ein weiterer Timer leitet den Abruf der Daten ein. Bei den Daten handelt es sich um eine HTML-Seite, die per http (siehe Kapitel C.III) abgerufen wird. Die Komponente HTML-Fetcher stellt wichtige Features zur Verfügung und erleichtert so den Zugriff auf Webseiten. Die Webseite enthält Daten, die im Comma Seperated Value (CSV)-Format 59 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures vorliegen. Die Input-Daten müssen nach entsprechenden Regeln geparst werden. IV. Arbitrage-Funktionen In diesem Unterkapitel werden die Funktionen dargelegt, die letztendlich bestimmen, wann ein Arbitragegeschäft möglich ist und wann nicht. Wir greifen dabei auf die Erkenntnisse aus Kapitel B zurück. 1. Bestimmung der Dividendenrendite Ausschlaggebend, ob überhaupt eine Dividende gezahlt wird, ist der Hauptversammlungs-Termin. Befindet er sich zwischen dem anvisierten Verfallstag und dem heutigen Datum, so kann mit einer Dividende gerechnet werden. Anhand des Kurses und der erwarteten Dividende kann eine Rendite für die einzelne Aktie errechnet werden. Schließlich wird anhand der Gewichtung der einzelnen DAX-Werte die durchschnittliche Verzinsung errechnet werden. Bei den erwarteten Dividenden handelt es sich nur um Schätzungen. An dieser Stelle verlassen wir also das risikolose Arbitragegeschäft. Ebenso werden Phänomene wie Ex-Dividende und Sonderausschüttungen nicht beachtet. Hier liegt eindeutig ein Schwachpunkt des Systems. Die Dividendenrendite wird in der Funktion getDividendYield() berechnet. 2. Bestimmung der Verzinsung Zeit ist Geld. Ein Dollar heute ist besser als ein Dollar morgen. Und ein Dollar morgen ist besser als ein Dollar nächstes Jahr. Aber wieviel ist diese Zeit wert? Auf dem Interest Rate-Markt wird der Preis für Geld ermittelt - wieviel es also kostet, heute, morgen oder nächstes Jahr Geld zu haben. Leider ist dieser Preis nicht nur abhängig von der Länge des Zeitraums und nicht konstant, sondern unterliegt den Fluktuationen des Interest Rate-Markts und verhält sich ähnlich wie Aktienpreise. 60 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Die Unsicherheit des Markts eröffnet eine Reihe von Möglichkeiten für Derivate wie Bonds, Bond-Optionen, Interest Rate Swaps und anderen exotischen Kontrakten. Mittels solcher Derivate lassen sich in der Regel auch Verzinsungsmöglichkeiten finden, die zwischen vollen Monaten oder Wochen liegen.113 Wir erarbeiten folgendes Modell: Sollte der Verfallstag zwischen zwei Verzinsungsperioden liegen, so bilden wir eine lineare Verbindung zwischen den beiden nächstliegenden - uns bekannten - Verzinsungsterminen und errechnen so die Verzinsung. Theoretisch könnte auch eine logarithmische Verbindung gewählt werden, da es sich aber um minimale Abstände handelt, sollten die Unterschiede zwischen diesen beiden Modellen kein erfolgskritischer Faktor sein. Beispiel: Euribor.2M(360T)=5.098%, Euribor.3M(360T)=5.112%, Tage bis Verfallstag: 72. Steigung q=(0,05112-0,05098)/(90-60)=4,6*10^-6 r=(72-60)*q+0,05098=0,0598056 Die mögliche Verzinsung richtet sich in unserem System nach dem Euribor und wird in der Funktion getInterestRate() berechnet. Der Euribor wird nach der Zinsmethode ACT/360 berechnet. 3. Bestimmung der Tage bis zum Verfallstag Wir gehen bei einem Jahr von 360 Tagen aus, da sich unter anderem die Euribor-Rendite über das ACT/360-Verfahren berechnet. Die Funktion daysToMaturity() berechnet die Tage bis zum Verfallstag. 113 Vgl. Baxter, 1998 61 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 4. IndexArbitrage FDAX-DAX Der Fair Value des Future-DAXs berechnet sich nach folgender Formel: FFv Se ( r q )(T t ) Mit r=risikolose Verzinsung, q=Dividendenrendite, T-t=Tage bis zum Verfallstag/360, und S=Wert des Underlyings (hier als DAX). Der Fair Value des Future-DAXs wird in calculateFairValueFuture() berechnet. 5. Fair Value von Calls Zur Berechnung des Fair Values wird das Optionspreismodell von Black and Scholes eingesetzt (siehe Kapitel B.III.2). Die Funktion calculateOptionFairValue() berechnet den fairen Wert einer Option mit den gegebenen Parametern Laufzeit, Zinssatz, Volatilität, Preis des Underlyings und Strikepreis. Da wir allerdings wie bereits beschrieben eine Vergleichbarkeit zwischen Index, Future-Index und Optionen herbeiführen wollen, errechnen wir den fairen Preis des Underlyings bei gegebenem Optionspreis. Dazu ist eine Umformung des Black/Scholes-Modells notwendig. Im vorliegenden Programm führt allerdings ein gezieltes Suchen mit der Funktion findUnderlyingPrice() zur Berechnung des fairen UnderlyingPreises. Sollte der errechnete faire Underlying-Preis höher als der aktuelle IndexStand sein, so ist die Option zu teuer. Im umgekehrten Fall ist die Option zu billig und sollte gekauft werden, während das Underlying geshortet wird. 62 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures E. Validierung und Implementierung In der Validierungsphase wird der Entwurf prototypisch überprüft. Es wird eine Machbarkeitsanalyse durchgeführt, die zu einer Veränderung des Konzepts aus der Entwurfsphase führen kann. Dieses angepaßte Konzept wird in der Implementierungsphase umgesetzt. Alle schwerwiegenden Probleme sollten in der Validierungsphase bereits durch eine Konzeptänderung beseitigt worden sein. I. Validierung Die Umsetzung eines Prototyps für den Entwurf aus Kapitel C ließ sich ohne größere Probleme umsetzen. Allerdings mußte die Komponente HTMLFetcher ersetzt werden. In der vorliegenden Visual Basic-Version ist die Komponente fehlerhaft und lädt gelegentlich nur Teile des HTMLSourcecodes.114 Deshalb mußte diese Komponente durch eine Funktion ersetzt werden. Ein weiteres Problem stellt die Nichtverfügbarkeit von Daten dar. Der anvisierte Datenprovider IT-Future AG konnte die gewünschten Daten nicht zur Verfügung stellen. Auch weitere Anfragen bei der Deutschen Börse AG und deren Datenprovider brachten keine Ergebnisse. Daraufhin entwickelten wir eine Methode, mit der Daten aus relativ komplexen HTML-Seiten leicht herausgeparst werden können. Durch diesen verbesserten Algorithmus kann das Programm mit einigen Einstellungen Daten aus allgemein zugänglichen Web-Angeboten herausfiltern. Allerdings sind nicht alle Daten von höchster Qualität, aber um einen ausreichenden Eindruck zu erhalten, genügen sie vollkommen. Unsere Daten stammen nun von der Webseite einer bekannten Direktbank. Auf Bid- und Ask-Kurse müssen wir zunächst verzichten. Sollte sich allerdings wie erwartet herausstellen, daß selbst auf aktueller Kursbasis Arbitragegeschäfte keine Gewinne einfahren würden, so würde sich das 114 siehe http://support.microsoft.com/support/kb/articles/Q173/2/65.asp 63 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Ergebnis durch Berücksichtigung von Bid- und Ask-Kursen noch weiter verschlechtern. Bei näherer Analyse von DAX-Optionen kamen wir zu der Überzeugung, daß eine Bewertung dieser Instrumente zu keinen zufriedenstellenden Ergebnissen führen würde. Es werden deutlich zu wenige Kurse gemacht bzw. über das Web veröffentlicht. Deshalb haben wir das Programm auf die Analyse von Optionsscheinen eingestellt. Wir untersuchen Calls der Citibank und errechnen den Fair Value durch das Black/Scholes-Verfahren. Eine bessere Übersicht erhalten wir im übrigen durch eine umgekehrte Darstellung des Fair Values. Wir errechnen also nicht den fairen Wert eines Optionsscheins, sondern errechnen einen DAX, bei dem der Optionsschein fair gepriced wäre. Ist dieser rechnerischer DAX-Wert höher als der aktuelle DAX-Kurs, so ist der Optionsschein zu teuer und sollte geshortet werden. Genauso berechnen wir einen DAX-Wert, für den der Future mit den aktuellen Parametern fair wäre. Dadurch ergibt sich eine Vergleichbarkeit auf einen Blick. II. Implementierung Durch diese Erkenntnisse in der Validierungsphase gestaltete sich die Implementierungsphase relativ einfach. Das verbesserte Konzept konnte ohne größere Probleme umgesetzt werden. Allerdings fielen während dieser Phase einige Punkte auf, die zu Beginn der Programmierung besser berücksichtigt hätten werden sollen. Unter anderem wäre ein Coding-Style-Guide von großer Hilfe gewesen, in dem festgehalten wird, wie z. B. Variablen zu benennen sind und wie die Groß- und Kleinschreibung bei Funktionsnamen einzusetzen ist. Der Visual Basic-Editor nimmt aber eine Anpassung der Variablen selbst vor. Diese EditorEigenschaft hätte zu Beginn der Programmierung abgeschaltet werden sollen. 64 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Eine weitere Umstellung der Datenbank-Struktur wurde notwendig. Das Programm basiert nunmehr auf drei Tabellen. Eine Tabelle enthält die Daten zu Berechnung der Dividenenrendite und entspricht weitgehend dem Entwurf. Eine zweite Tabelle enthält alle Kurse. Dort können sowohl Future-Kurse, als auch DAX- und Optionskurse, sowie die Volatilität und Optionskurse samt Daten abgespeichert werden. Durch dieses Vorgehen hat sich der Zugriff für Abfragen enorm vereinfacht. Abbildung 12: Struktur der TKurse-Tabelle Die dritte Tabelle enthält Referenzen auf zwei Einträge in der Kurs-Tabelle und zeigt so an, welche beiden Kurse für ein Arbitragegeschäft genutzt werden konnten. Ansonsten gab es Implementierungsphase keine und das nennenswerten implementierte Probleme Programm in der entspricht weitgehend dem Entwurf. 65 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures F. Evaluierung In diesem Kapitel wollen wir die Erfahrungen mit dem fertigen Programm vorstellen und diskutieren. Dabei steht im Mittelpunkt nicht nur die Vorstellung der Features, sondern auch der kritische Umgang mit dem Produkt. In einer kurzen Übersicht wird die Verwendung des Programms erklärt. Danach werden wir bekannte Probleme auflisten. Auch sollen ausbaufähige Features angesprochen werden, die zwar noch nicht implementiert werden, aber deren Entwicklung wünschenswert ist. Schließlich werden wir aus den Erfahrungen Verbesserungsvorschläge erarbeiten, die in eine zweite, verbesserte Version einfließen könnten. Letztendlich werden wir in diesem Kapitel Hinweise geben, wie das vorhandene Programm erweitert werden kann, damit zusätzliche Märkte nach Arbitragemöglichkeiten untersucht werden können. I. Praktischer Einsatz Nach der Implementierungsphase wollen wir auch das Programm im praktischen Einsatz testen. Dazu haben wir das Programm über mehrere Tage die Märkte untersuchen lassen. Sollten noch Fehler aufgetreten sein, so wurden diese beseitigt. Dabei handelte es sich meist, um unerwartete Datenkonstellationen, die bis dato nicht abgefangen wurden. Leider bietet die benutzte Visual Basic-Version noch kein Exception-Handling, mit dem Fehler abgefangen werden können. 1. Verwendung des Arbitrage-Programms Die Verwendung des Programms soll nach Regeln der Software-Ergonomie möglichst intuitiv sein. Da es sich bei dem implementierten Programm um Informationstool handelt, gibt es nicht besonders viele Use-Cases, die zu berücksichtigen sind. 66 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Beim Start des Programms wird der Benutzer gefragt, ob er die OnlineAbfrage starten will oder nicht. Antwortet er mit Ja, so versucht das Programm sich aktuelle Daten vom Datenprovider zu holen. Wird das Programm zum Beispiel nachts gestartet, liefert es die Schlußkurse des letzten Handelstages. Antwortet der Benutzer mit Nein, so versucht das Programm keinen Kontakt zum Datenprovider herzustellen. Es gibt also zwei unterschiedliche Modi: Den Online-Modus, in dem das Programm in einem bestimmten Intervall versucht, Daten über das Internet zu beschaffen und einen Offline-Modus, der zum Beispiel zur grafischen Analyse bereits gespeicherter Daten benutzt werden kann. Der jeweilige Modus wird durch einen eingesteckten oder herausgezogenen Stecker am unteren Rand des Hauptfensters symbolisiert. Durch einen Doppelklick auf dieses Symbol kann in den jeweils anderen Modus gewechselt werden. Für den Benutzer bietet das Programm folgende Möglichkeiten: Durch die Eingabe von Derivat-Parametern können verschiedene DAX-Futures- Kontrakte untersucht werden. Weiterhin kann eine Reihe von DAX-Calls der Citibank in die Analyse einbezogen werden. Das Programm parst aus dem Namen des Calls entsprechende Daten wie Basispreis und Verfallstag. Es empfiehlt sich diese Liste auf etwa fünf Calls zu beschränken, da für jeden einzelnen Optionsschein eine eigene Frage an den Server geschickt werden muß. Die Eingabe erfolgt über den Menüpunkt „Derivate festlegen". Mit dem Zoomfenster kann der Kursverlauf auf ein Zeitintervall begrenzt werden und damit eine vergrößerte Darstellung von bestimmten Situationen erreicht werden. An dieser Stelle wollen wir die genaue Handhabung des Programms nicht weiter erörtern, wir verweisen auf den Menü-Punkt „Hilfe im Web“ mit dem der Nutzer auf eine Hilfeseite zum Programm gelangt. 67 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 2. Probleme Beim vorliegenden Programm handelt es sich um eine erste Version. Es treten gelegentlich noch einzelne Fehler auf. Von einer Marktreife kann natürlich noch nicht gesprochen werden. Dazu war der Zeitrahmen einer Studienarbeit zu gering, da neben dem Entwurf und der Implementierung, Literaturrecherche betrieben werden mußte und schließlich diese Ausarbeitung angefertigt wurde. Allerdings zeigt das Programm alle anfangs geforderten Funktionalitäten und verfügt zudem über Analysemethoden von Optionsscheinen bzw. Optionen. Wie bereits erwähnt, steht für das Programm kein offizieller Partner als Datenprovider zur Verfügung. Die Daten werden aus dem Webangebot einer Direktbank extrahiert. Sollte sich dieses Angebot ändern, so wird eine Anpassung des Formats im Sourcecode notwendig. Eine andere Realisierung ist aber zu diesem Zeitpunkt nicht absehbar, weil sich selbst nach langwieriger Suche kein kompetenter Ansprechpartner in Sachen Datenbelieferung finden ließ. Eine weitere unangenehme Sache ist die Berechnung der Dividendenrendite. Dazu brauchen wir den Kurs der einzelnen DAX-Werte vom Vortag und die Gewichtung der DAX-Werte im Index, die sich ebenfalls täglich ändern kann. Diese Daten werden zwar täglich von der Deutschen Börse AG auf einer Webseite veröffentlicht, aber müssen zur Zeit noch per Hand in die Datenbank eingepflegt werden. Ein weiteres kleines Manko ist das Laden der Daten an sich: Die Daten werden per HTTP vom Datenprovider heruntergeladen. Dabei wird aber der gesamte Quelltext der HTML-Seite geladen, der die notwendigen Daten enthält. Danach findet eine Extrahierung statt. Durch das Laden der langen HTML-Seiten entsteht eine große Wartezeit, obwohl nur mininmalste Informationen benötigt werden. Durch einen offiziellen Datenprovider hätte die Ladezeit auf ein Minimum beschränkt werden können, da alle Daten Serverseitig zu einer Webseite zusammengestellt werden können und somit ein Zugriff über HTTP ausreichend gewesen wäre. 68 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Da es Probleme mit der Komponente HTML-Fetcher gegeben hat, greifen wir jetzt über eine spezielle DLL auf HTTP-Funktionen zu. Dadurch kommt es während der Übertragung von Daten zu einem Stillstand des Programms an sich. Es werden keine Eingaben akzeptiert. Erst nach Transferende kann der Benutzer Änderungen an den Einstellungen vornehmen. Neben diesen bekannten Problemen läuft das Programm mittlerweile zuverlässig und kann ohne Probleme ganze Handelstage analysieren und die Daten in die Datenbank abspeichern. 3. Ausbaufähige Features Wie bereits aus der Problemliste zu ersehen ist, wäre eine automatische Aktualisierung der DAX-Gewichtungen und DAX-Kurse vom Vortag angenehm. Diese könnte zum Beispiel über ein Import-Makro in der Datenbank realisiert werden. Ferner wäre eine Analyse von DAX-Puts äußerst wünschenswert. Zur Zeit werden nur DAX-Calls analysiert. Eine entsprechende Funktion müßte das Fair Value eines Puts errechnen. Arbeiten, die das Modell von Black/Scholes in diese Richtung erweitern, können in Teil B gefunden werden. Da Optionsscheine in der Regel nicht geschrieben werden, müßten Puts dieses Manko beseitigen. Des Weiteren ist die Untersuchung lediglich von Citibank-Optionsscheinen eine starke Einschränkung. Durch die Festlegung auf dieses Format spart der Benutzer zwar die Eingabe von Parametern wie Basispreis, Laufzeit und Bezugsverhältnis für jeden einzelnen Optionsschein, aber er ist damit auf Emissionen dieses Bankhauses festgelegt. Eine nützliche Erweiterung wäre die Berechnung von Netto-Renditen. Zur Zeit wird nur die Bruttorendite berücksichtigt. Was sich allerdings zur Zeit als Arbitragemöglichkeit erweist, wird sehr oft unter Berücksichtigung von 69 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Transaktionskosten und Einkommensteuern keinen Gewinn generieren oder sogar ein Verlustgeschäft darstellen. Eine Berücksichtigung dieser Tatsache stellt großes Erweiterungspotential des Programms dar. Um konkrete Arbitragemöglichkeiten aufzutun, muß das Programm auch die Bids und Asks der entsprechenden Assets berücksichtigen. Nur selten entspricht der momentane Kurs, dem Kurs, für den gekauft oder verkauft werden kann. In der Regel wird über dem derzeitigen Kurs gekauft und unter dem derzeitigen Kurs verkauft. Durch die Zusammenstellung von Baskets, mit dem wir zum Beispiel den DAX nachbilden, entsteht ein Ganzzahligkeitsproblem. Eventuell können nur Teilorders ausgeführt werden oder einzelne DAX-Aktien sind in der gewünschten Größenordnung nicht vorhanden. Ferner kann die Gewichtung der DAX-Aktien durch das Ganzzahligkeitsproblem nicht genau nachgebildet werden. Auch dadurch ergeben sich Schwierigkeiten, die derzeit noch nicht modelliert sind. II. Verbesserungsvorschläge Die Umsetzung mit Visual Basic ermöglicht eine schnelle Erstellung von Windows-Applikationen. Allerdings ist der Nutzer damit an das Betriebssystem Windows gebunden. Gerade für eine Arbeit an einer Universität, an der sich verschiedenste Rechnerkonstellationen finden, wäre eine Plattformunabhängigkeit wichtig. Dadurch könnte das Programm sowohl auf Unix- bzw. Solaris-Rechnern als auch auf Windows-Maschinen gestartet werden. Für diese Plattformunabhängigkeit bietet sich Java an. Java bietet alle notwendigen Bibliotheken und es gibt mittlerweile einige Tools, mit denen sich auch die Oberfläche recht ansprechend gestalten läßt. Zudem ließe sich das Programm auf einer Webseite als Applet anzeigen und alle Besucher dieser Webseite könnten sich Arbitragemöglichkeiten anzeigen lassen oder sich mit eigenen Augen von der Vollkommenheit des Marktes überzeugen. 70 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Ein großer Schritt in Richtung Professionalität wäre die Gewinnung eines Partners als Datenprovider. Alle Versuche in diese Richtung schlugen bisher fehl. Vor allem die Qualität der benutzten Daten lassen letztendlich kein genaues Urteil über die Ergebnisse zu. Eine weitere Entwicklungsrichtung wäre die Berücksichtigung von anderen Arbitrage-Strategien neben der Cash and Carry-Strategie. Die verschiedenen Strategien wurden kurz in B.IV vorgestellt. III. Übertragung auf andere Arbitrage-Fälle Zur Zeit ist dem Programm lediglich die Untersuchung von Cash and CarryStrategien im Bereich des DAX und seiner Derivate möglich. Leicht wäre es möglich auch Futures auf den S&P- oder den Dow Jones-Index und seine Derivate zu erarbeiten. Zusammenstellung der Dividendenerwartung Den größten verschiedenen und Arbeitsaufwand Indizes samt Hauptversammlungstermine stellt die Gewichtung, dar. Es muß berücksichtigt werden, daß z. B. amerikanische Indizies oft nicht Dividendenbereinigt sind. Ferner muß das Steuergesetz analysiert und das Halbeinkünfte-Verfahren berücksichtigt werden. Die Intra- und Inter-Market-Arbitrage stellt per se keine besonderen Anforderungen an das Programm. Der Programmierer muß lediglich eine Schnittstelle für den Benutzer integrieren, die erlaubt, Märkte auszuwählen, die nach Intra- und Inter-Market-Arbitragemöglichkeiten untersucht werden sollen. Für die Umsetzung von Futures und Forward-Forward-Arbitrage müssen einige weiterreichende Überlegungen getroffen werden. Viele bestehende Funktionen - wie z. B. das Malen von Graphen oder Datenbankzugriffsmethoden - können allerdings weiter genutzt werden. 71 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures IV. Schlußfolgerung Insgesamt kann das Projekt als erfolgreich angesehen werden. Es konnten alle gewünschten Funktionen umgesetzt werden und sogar weitere Features wie der Handel mit Optionen bzw. Optionsscheine in das Modell einbezogen werden. Damit bietet das vorliegende Programm interessante Untersuchungsmöglichkeiten. Zwar werden die Ergebnisse in Kapitel G zeigen, daß für Privatanleger kaum noch Arbitragemöglichkeiten bestehen, aber dadurch erweist sich das Programm als Beweis für die Effizienz des Marktes und zudem kann die Korrektheit des Entwurfes und der Implementierung nachgewiesen werden. Das Programm zeigt dem Benutzer zudem den Zusammenhang zwischen Future und Underlying. Anhand der übersichtlichen grafischen Darstellung kann der Beobachter leicht sehen, ob gerade das Termingeschäft die Kassakurse beeinflußt oder umgekehrt. Dieses Phänomen wurde bereits 1987 in "Stock Index Futures: Does the Tail Wag the Dog?" beschrieben.115 Eine Anpassung an andere Märkte, die von den Marktteilnehmern noch nicht genau analysiert werden, wie der Kassa- und der Futuremarkt des DAX, könnten zudem Arbitragegelegenheiten aufdecken, die auch für Privatanleger Netto-Gewinne generieren. Weitere Untersuchungen auf diesem Gebiet scheinen viel versprechend. 115 Vgl. Finnerty, 1987, S. 57-61 72 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures G. Zusammenfassung der Ergebnisse In diesem Kapitel werden wir einige Ergebnisse vorstellen. Dazu haben wir das Programm einige Tage die Future- und Kassamärkte untersuchen lassen. Neben dem Future-DAX und dem Xetra-DAX haben wir einige DAX-Calls der Citibank beobachtet und erstaunliches festgestellt. Im Kapitel G.I werden wir einige interessante Marktsituationen, die während unserer Beobachtungsphase aufgetreten sind, vorstellen und schließlich in G.II bewerten. Auf genaue statistische Tests wird verzichtet. Alle Kurse sind in einer umfangreichen Datenbank abgespeichert und können auch im Nachhinein noch statistischen Tests unterzogen werden, um zu genauen Ergebnissen zu kommen. Wir wollen lediglich an dieser Stelle die Ergebnisse vorstellen und eine kurze Bewertung folgen lassen. I. Vorstellung der Ergebnisse Zur Untersuchung stehen ca. 7400 Einzelkurse an sechs verschiedenen Handelstagen. In der Datenbank wurden einige Abfragen eingefügt, mit denen die Differenz zu verschiedenen Zeitpunkten errechnet werden kann. Über diese Abfragen können dann maximale Abweichungen, Mittelwerte der Abweichungen und Standardabweichungen errechnet werden. Dabei gibt es zwei Typen von Abfragen: Die eine berücksichtigt lediglich Arbitrage zwischen DAX-Future und Xetra-DAX, die andere läßt auch Arbitragegeschäfte mit Hilfe der untersuchten Optionsscheine zu. Es wurden folgende Optionsscheine im Rahmen der Untersuchung herangezogen: WKN Typ Emittent Basispreis Fälligkeit Bezugsverhältnis 838834 Call Citibank 5600 20.06.2001 1:100 838836 Call Citibank 6000 20.06.2001 1:100 73 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures 838838 Call Citibank 6400 20.06.2001 1:100 Tabelle 4: Analysierte Optionsscheine Dabei stellt sich gerade bei den Optionsscheinen eine starke psychologische Marktsituation ein: Optionsscheine im Geld waren nahe dem Fälligkeitstermin überteuert (siehe Abbildung 14), während Optionsscheine mit einem Basispreis unter aktuellem Basiskurs billig waren (siehe Abbildung 13). Die Vermutung liegt nahe, daß viele Anleger noch schnell die letzten Stücke los werden wollten. Abbildung 13: Optionsschein aus dem Geld Abbildung 14: Optionsschein im Geld Immer wieder ließen sich folgende Beobachtungen machen: Der Fair Value des Futures koppelte sich um einige Punkte vom Xetra-DAX ab, um dann durch eine Transaktion wieder in Gleichklang gebracht zu werden (siehe 74 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Abbildung 15). Diese Beobachtung zeigt, daß am Markt tatsächlich Arbitrageure tätig sind und auf den Zusammenhang zwischen Kassa- und Terminmarkt achten. Wie in Abbildung 15 zu sehen, scheint es als ob der Fair Value des Future um den Kurs des DAX alterniert. Diese Beobachtung deckt sich mit dem Schätzansatz mit linearer Arbitragenachfrage von Kempf/Korn. Dort ergibt sich nur für den Futuremarkt eine signifikante Reaktion auf Abweichungen von der Cost of Carry-Preisbeziehung. Fehlbewertungen werden tendenziell dadurch ausgeglichen, daß sich der Futureskurs aus den Kassakurs zubewegt. Was diesen Aspekt anbelangt, übernimmt der Kassamarkt die Führungsrolle.116 Abbildung 15: Hinweise auf Arbitrageure Eine besonders interessante Entwicklung war am 8. Juni 2001 zu beobachten: Während den ganzen Tag kaum Unregelmäßigkeiten zwischen Future und Index zu beobachten waren (siehe Abbildung 13), trat ab etwa 17.30 Uhr eine größere, andauernde Diskrepanz zwischen den beiden Kursen 116 Vgl. Kempf, 1995, S. 855 75 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures auf. Dieser Zeitabschnitt ist noch einmal vergrößert in Abbildung 16 dargestellt. Abbildung 16: Dauerhafte Abweichung zwischen Index und Future Interessanterweise brach zu dieser Zeit der Dow Jones vehement ein (siehe Abbildung 17), während der DAX relativ konstant blieb. Eventuell waren die Teilnehmer am Terminmarkt anderer Meinung als die Teilnehmer des Kassamarktes. Abbildung 17: Intraday-Chart des Dow Jones vom 08.06.2001, Quelle: http://www.comdirect.de 76 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Insgesamt konnte über den Beobachtungszeitraum vom 4. Juni bis zum 14. Juni 2001 eine maximale Abweichung zwischen Xetra-DAX und DAX-Future von 15,19 Punkten beobachtet werden. Werden die in Tabelle 4 aufgeführten Optionsscheine noch in die Bewertung hinzugenommen, so liegt die maximale Abweichung bei 42,72 Punkten. Die Standardabweichung liegt bei reiner Future-Index-Betrachtung bei 1,8. Werden die Optionsscheine hinzugenommen, ergbit sich die deutlich höhere Standardabweichung von 6,45. II. Bewertung der Ergebnisse Diese Ergebnisse demonstrieren die Effizienz des Marktes auf der einen Seite und die Korrektheit des Modells und der Implementierung auf der anderen Seite. Allerdings konnten selbst unter vereinfachten Annahmen keine signifikanter Unterschied zwischen Index und Future festgestellt werden. Offenbar arbeiten bereits zu viele computergesteuerte Verkaufs- und Kaufprogramme in diesem Sektor und führen Arbitragegeschäfte durch. Die Fair Value-Unterschiede zwischen den Optionsscheinen sind jedoch auffällig groß. Allerdings müssen wir berücksichtigen, daß wir lediglich Calls analysiert haben. Es bietet sich also an, im nächsten Schritt auch Puts genauer unter die Lupe zu nehmen, um ein vollständiges Bild von diesen Derivaten zu bekommen. Möglicherweise wird im Bereich der Optionsscheine der Zusammenhang zwischen Underlying und Derivat nur unzureichend vom Markt nachgebildet. Eventuell werden Optionsscheine von Privatanlegern nur zum Abschließen von Wetten benutzt und es finden sich zu wenig Arbitrageure, um den Markt im Gleichgewicht zu halten. Eine Untersuchung in diese Richtung scheint vielversprechend. 77 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures H. Ausblick Seit den Ergebnissen von Günter Bamberg und Klaus Röder aus dem Jahr 1992 hat sich einiges getan. Zwar wurden in dieser Arbeit keine statistischen Tests durchgeführt, aber die in Kapitel G. vorgestellten Ergebnisse legen nahe, daß der Markt nahezu vollkommen ist und selbst kleinste Lücken zwischen DAX-Future und Index schnell geschlossen werden. Das Projekt hat sich als sehr interessant erwiesen: Im Internet stehen kostenlos eine Vielzahl von Daten zur Verfügung. Durch den Einsatz von Analyseinstrumenten wie unserem Programm, können Zusammenhänge visualisiert und dargestellt werden. Zudem könnten selbst Privatanleger, durch eine Weiterentwicklung des Modells und eine Übertragung auf andere Märkte, risikolose Gewinne realisieren. Dazu muß allerdings ein Markt gewählt werden, der nicht von zahlreichen Teilnehmern analysiert wird, wie der Deutsche Aktienindex. Besonders vielversprechend scheinen Intra- und Inter-Market-Arbitrage auf unbeachteten Märkten. Aber auch Cash and Carry-Strategien könnten möglich sein. Mit der Vielzahl von Derivaten wie Index-Zertifikaten, Optionsscheinen und Zinsswaps können immer wieder unentdeckte Abweichungen der Fair Values entstehen. Allerdings müssen dazu neue Modelle entwickelt werden und leistungsfähige Programme müssen den Markt in sekundenschnelle analysieren. 78 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Literaturverzeichnis Aspray, William et al: The History of Software Engineering, DagstuhlReport 153. Schloß Dagstuhl 1997 Bachelier, Louis: Théorie de la Spéculation, Annales de l'Ecole Normale Supérieure, Paris 1900, englische Übersetzung in Cootner, ed. 1964 Bamberg, Günther: Arbitrage am DAX-Futures-Markt unter Berücksichtigung von Steuern, Institut für Statistik und Math. Wirtschaftstheorie, Augsburg, 1992 Bamberg, Günther: Arbitrage institutioneller Anleger am DAX-FuturesMarkt unter Berücksichtigung von Körperschaftssteuern und Dividenden, Institut für Statistik und Math. Wirtschaftstheorie, Augsburg 1994 Basisinfo (o.V.): Basisinformationen über Börsentermingeschäfte Grundlagen, wirtschaftliche Zusammenhänge, Möglichkeiten, Risiken, Köln 1998, Bank-Verlag GmbH Baxter, Martin et al: Financial Calculus - An Introduction to derivate pricing, 2. Aufl., Cambridge/UK 1998, ISBN 0-52155289-3 Betsch, Oskar et al: Corporate Finance, 2. Auflage, München 2000, Verlag Vahlen, ISBN 3-8006-2525-3 Black, Fischer/ 79 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Scholes, Myron The Valuation of Option Contracts and a Test of Market Efficiency, in: Journal of Finance, Heft 5, 1972, S. 399-417 Börse Online (o.V.): Statistik-Teil der Börse Online, aus Nr.: 12/00, 45/00, 23/01 Chung, Peter: A Transaction Data Test of Stock Index Futures Market Efficiency and Index Arbitrage Profability, Journal of Finance, Vol. 66, 1991, S. 1791-1809, 1991 Cordero, Ricardo: Der Financial Futures Markt, 2. Aufl., Bern/Schweiz u.a. 1987, ISBN 3-258-03638-1 Cornell, Bradford et al: Taxes and the Pricing of Stock Index Futures, in: The Journal of Finance, Vol. 28, S. 675-694, 1983a Cornell, Bradford et al: The Pricing of Stock Index Futures, in: The Journal of Futures Markets, Vol. 3, S. 1-14, 1983b Cox, John C./ Rubinstein Mark: Options Markets, 1985, Prentice Hall, New Jersey, ISBN 0-13-638205-3 01 Cox, John C. et al: Option Pricing: A Simplified Approach, Journal of Financial Economics, No. 7, 1979, S. 229-263 Eurex (o.V.): Eurex - Product Specification, http://www.eurexchange.com/entrancehall/product_ specifications.html, Stand: 01.Mai 2000 Exchange (o.V.): Gewichtung und Kennzahlen der Deutschen Börse AG, in : 80 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures http://www.ip.exchange.de/INTERNET/IP/ip_stats.n sf/main/MAIN++Indexdaten+Gewichtung+und+Kennzahlen?open Document, Stand: 01. Mai 2000 Fama, Eugene F.: Efficient Capital Markets: II, in: The Journal of Finance, Vol XLVL No. 5, December 1991, S. 1575-1617 Fey, Jürgen: Aufstieg - Visual Basic 6.0: Längst kein Spielzeug mehr, in: c't, 1998, Nr. 15, S. 40 Figlewski, Stephen: Hedging Performance and Basis Risk in Stock Index Futures, in: The Journal of Finance, Vol. 39, S. 667-669, 1984a Figlewski, Stephen: Explaining the Early Discounts on Stock Index Futures: The Case for Disequilibirum, in: Financial Analysts Journal, Vol. 40, July/August, S. 43-47, 1984b Finance Glossary: Finance-Glossary.com, http://www.finance- glossary.com/, Stand: 01. Mai 2000 Finnerty, Jospeh et al: Stock Index Futures: Does the Tail Wag the Dog?, in: Financial Analysts Journal, Vol. 43, March/April, S. 57-61, 1987 Freund+Dirks (o.V.): Bedeutung Visual Basics, in: http://www.freunddirks.de/FG/vbasic.htm, Stand: April 2000 Goldberg, Adele et al: Succeeding with Objects: Decision Frameworks for Project Management, Addison-Wesley, 1995, ISBN 0-20-162878-3 81 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Harris, Lawrence: The October 1987 S&P 500 Stock-Futures Basis, in: The Journal of Finance 44, S. 77-100, 1989 Horat, Michel B.: Financial Futures und Optionen, Ebmatingen/Schweiz 1989, ISBN 3-85684-057-5 Hüskes, Ralf: Familiensinn - Visual Basic 5.0 nimmt Gestalt an, in: c't, 1997, Nr. 1, S. 50 Hull, John C.: Options, Futures, And Other Derivates, 3. Aufl., Upper Sadle River/USA 1997, ISBN 0-13-264367-7 Ingrassia, Lawrence: Will the Euro Be a Success? History Might Suggest 'No', in: http://www.losio.com/100citta/qualeeuropa2.htm, Stand: November 2000 Janssen, Birgit: DAX-Future-Arbitrage, Wiesbaden 1995, ISBN 3824462028 Kawaller Ira G. et al: The Relationship Between the S&P 500 Index and S&P500 Index Futures Prices, in: The CME Financial Strategy Paper (Stock Index Futures and Options), S. 1309-1329, Chicago Mercantile Exchange, 1988 Kempf, Alexander: Preisführerschaft und imperfekte Arbitrage, in: Zeitschrift für Betriebswirtschaft, Gabler-Verlag, 1995, S. 837-859 Kempf, Alexander: Zum Preiszusammenhang zwischen Kassa- und Futuresmärkten - Der Einfluß der 82 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Glattstellungsoption, Heidelberg 1996, ISBN 37908-0902-0 Klemkosky, Robert et al: The Intraday ExPost and Ex Ante Profitability of Index Arbitrage, Journal of Futures Markets, Vol. 11, No. 3, 1991, S. 137-158, 1991 Kolb, Robert W.: Futures, Options & Swaps, 3rd Edition, Oxford 1999, Blackwell Publishers Ltd., ISBN 0-63121499-2 Langenscheidt (o.V.): Langenscheidts Großes Schulwörterbuch - Frazösisch-Deutsch, 17. Aufl. Berlin u.a. 1991, ISBN-3-468-07151-5 Leitfaden (o.V.): Leitfaden zu den Aktienindizes der Deutschen Börse, Juni 1999, Version 3.2, http://www.ip.exchange.de, Stand: Juni 1999 Loistl, Otto: Index-Arbitrage insbesondere mit DAX futures, Dreieich 1993 MacKinley, A. Craig et al: Index-Futures Arbitrage and the Behavior of Stock Index Futures Prices, Review of Financial Studies, Vol. 1, 1988, S. 137-158, 1988 Meader, Patrick: It's No Joke: VB7 to Feature Inheritance, in: http://www.devx.com/free/newsletters/vb/ednote02 15.asp, Stand: 2000 Merrick, John Jr.: Hedging with Mispriced Futures, Journal of Financial and Quantitative Analysis, Vol. 23, 1988, S. 451-464, 1988 83 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Merz, Frederic: Dax-Future-Arbitrage: Eine theoretische und empirische Untersuchung, Heidelberg 1995, ISBN 3-7908-0859-8 Modest, David. M et al: The Relationship Between Spot and Futures Prices in Stock Index Futures Markets: Some Preliminary Evidence, in: The Journal of Futures Markets, Vol. 3, S. 15-41, 1983 Monadjemi, Peter: Visual Basic 6 - Kompendium - Programmieren mit Windows 9X, NT und 2000, Haar 2000, ISBN 3827258065 Nierstrasz, Oscar et al: Komponenten, Komponentenframeworks und Gluing, HMD – Praxis der Wirtschaftsinformatik, 197/1997, ISSN 0939-2602 Nix, William E. et al: The Dow Jones-Irwin Guide to Stock Index Futures and Options, Homewood/USA 1984, ISBN 087094-482-7 Ortner, Erich: Entwicklung von Anwendungssystemen I, Skript zu einer Vorlesung an der Technischen Universität Darmstadt, 1999 Prigge, Jutta et al: Die Bewertung des DAX-Future-Kontrakts an der Deutschen Terminbörse, in: Zeitschrift für Bankrecht und Bankwirtschaft, 4/92, S. 302ff, 1992 Ross, Stephen A.: The Arbitrage Theory of Capital Asset Pricing, in: The Journal of Economic Theory, Vol 13, 1976, S. 341-360 84 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Schwaiger, Walter S.A.: Cash- und Carry-Strategien: dynamische Betrachtungen von Options- und Festgeschäften, Wiesbaden 1994, ISBN 3409140670 Schwarz, Thomas V. et al: Dynamic Efficiency and Price Leadership in Stock Index Cash and Futures Markets, Jorunal of Futures Markets, Vol. 11, No. 6, 1991, S. 669-684, 1991 Steinmetz, Ralf: Multimedia-Technologie, 2. Aufl. Berlin u.a. 1999, ISBN 3-540-62060-5 Stoll, Hans et al: The Dynamics of Stock Index and Stock Index Futures Returns, Journal of Financial and Quantittive Analysis, Vol. 25, 1990, S. 441-468, 1990 Strauch, Carsten: Handbuch Terminhandel, Darmstadt u.a. 1990, ISBN 3-8203-0212-3 Trupin, Joshua: The Future of Visual Basic: Web Forms, Web Services, and Language Enhancements Slated for Next Generation, in: http://msdn.microsoft.com/msdnmag/issues/0400/V BNexGen/VBNexGen.asp, Stand: April 2000 Uszczapowski, Igor: Optionen und Futures verstehen - Grundlagen und neuere Entwicklungen, München 1991, ISBN 3423-05808-0 Valetto, Giuseppe et al: Enveloping Sophisticated Tools into ComputerAided Software Engineering Environments, Proceedings of 7th IEEE International Workshop on CASE, 1995. IEEE Computer Society Press, 1995 85 Entwurf und Implementierung eines Arbitrage-Handels-Programms für DAX-Optionen und DAX-Futures Werner, Elmar: Future auf implizite Volatilitäten in DAX-Optionen, in "Die Bank 6/97", S. 342-345 Wilhelm, Jochen E.M.: Arbitrage Theory - Introductory Lectures on Arbitrage-Based Financial Asset Pricing, Berlin u.a. 1985, ISBN 3-540-15241-5 86