Sunday 12 February 2017

Building Modelle Für Hochfrequenz Algorithmischen Handel Strategien Mit Matlab

Algorithmic Trading Algorithmic Trading ist eine Handelsstrategie, die rechnerische Algorithmen verwendet, um Handelsentscheidungen, in der Regel in elektronischen Finanzmärkten zu fahren. Angewendet in Buy-Side-und Sell-Side-Institutionen, ist algorithmische Handelsformen die Grundlage für Hochfrequenz-Handel. FOREX-Handel und damit verbundene Risiko - und Ausführungsanalysen. Builders und Benutzer der algorithmischen Handelsanwendungen müssen sich entwickeln, backtest. Und implementieren mathematische Modelle, die Marktbewegungen erkennen und ausnutzen. Ein effektiver Workflow umfasst: Entwicklung von Handelsstrategien mit Hilfe von technischen Zeitreihen. Maschinelles lernen. Und nichtlineare Zeitreihenmethoden Anwenden von Parallel - und GPU-Computing für zeitsparendes Backtesting und Parameterkennung Berechnung von Gewinn und Verlust und Durchführung von Risikoanalyse Durchführung von Ausführungsanalysen, z. B. Market Impact Modeling. Transaktionskostenanalyse. Und Eisberg-Erkennung Einbeziehung Strategien und Analysen in die Produktion Handel Umgebungen Wählen Sie Ihre CountryBeginner39s Guide to Quantitative Trading In diesem Artikel Im gehe, um Ihnen einige der grundlegenden Konzepte, die ein Ende-zu-Ende-quantitativen Handelssystem zu begleiten. Dieser Beitrag wird hoffentlich zwei Publikum dienen. Die erste wird Einzelpersonen versuchen, einen Job an einem Fonds als quantitative Händler zu erhalten. Die zweite wird Einzelpersonen, die versuchen wollen, und gründen ihre eigenen Handel algorithmischen Handelsgeschäft. Der quantitative Handel ist ein äußerst anspruchsvoller Bereich der Quantfinanzierung. Es kann eine beträchtliche Menge an Zeit, um das notwendige Wissen zu gewinnen, um ein Interview oder konstruieren Sie Ihre eigenen Trading-Strategien. Nicht nur das, sondern es erfordert umfangreiche Programmierkenntnisse, zumindest in einer Sprache wie MATLAB, R oder Python. Doch mit zunehmender Handelsfrequenz der Strategie werden die technologischen Aspekte viel wichtiger. Daher wird das Vertrautsein mit CC von größter Bedeutung sein. Ein quantitatives Handelssystem besteht aus vier Hauptkomponenten: Strategieidentifizierung - Strategiefindung, Ausnutzung einer Kante und Festlegung der Handelsfrequenz Strategy Backtesting - Datenerfassung, Analyse der Strategieperformance und Beseitigung von Verzerrungen Execution System - Verknüpfung mit einem Brokerage, Automatisierung des Handels und Minimierung Transaktionskosten Risikomanagement - Optimale Kapitalallokation, WettgrößeKelly-Kriterium und Handelspsychologie Beginnen Sie mit einem Blick auf die Identifizierung einer Handelsstrategie. Strategieidentifikation Alle quantitativen Handelsprozesse beginnen mit einer ersten Forschungsperiode. Dieser Forschungsprozess umfasst das Finden einer Strategie, ob die Strategie passt in ein Portfolio von anderen Strategien, die Sie ausgeführt werden können, erhalten alle Daten, die notwendig sind, um die Strategie zu testen und versuchen, die Strategie für höhere Renditen und oder ein geringeres Risiko zu optimieren. Sie müssen in Ihrem Eigenkapitalbedarf Faktor, wenn Sie die Strategie als Einzelhändler und wie alle Transaktionskosten werden die Strategie beeinflussen. Entgegen der landläufigen Meinung ist es eigentlich ganz einfach, gewinnbringende Strategien durch verschiedene öffentliche Quellen zu finden. Akademiker veröffentlichen regelmäßig theoretische Handelsergebnisse (wenn auch vorwiegend für Transaktionskosten). Quantitative Finance-Blogs diskutieren Strategien im Detail. Fachzeitschriften skizzieren einige der Strategien, die durch Mittel eingesetzt werden. Man könnte fragen, warum Einzelpersonen und Firmen sind scharf, ihre profitable Strategien zu diskutieren, vor allem, wenn sie wissen, dass andere, die den Handel verdrängen kann die Strategie von der Arbeit auf lange Sicht zu stoppen. Der Grund liegt in der Tatsache, dass sie nicht oft diskutieren die genauen Parameter und Tuning-Methoden, die sie durchgeführt haben. Diese Optimierungen sind der Schlüssel, um eine relativ mittelmäßige Strategie zu einem äußerst profitablen zu machen. In der Tat ist eine der besten Weisen, Ihre eigenen einzigartigen Strategien zu verursachen, um ähnliche Methoden zu finden und dann Ihr eigenes Optimierungsverfahren durchzuführen. Hier ist eine kleine Liste von Orten auf der Suche nach Strategie Ideen: Viele der Strategien, die Sie betrachten wird in die Kategorien der Mittel-Reversion und Trend-folgendesMomentum fallen. Eine Mittelrücksetzstrategie ist diejenige, die versucht, die Tatsache auszuschöpfen, dass ein langfristiges Mittel auf einer Preisserie existiert (wie der Spread zwischen zwei korrelierten Vermögenswerten), und dass kurzfristige Abweichungen von diesem Mittel schließlich zurückgehen werden. Eine Impulsstrategie versucht, sowohl die Anlegerpsychologie als auch die Big-Fonds-Struktur zu nutzen, indem sie eine Fahrt auf einem Markttrend ausnutzt, die in einer Richtung Dynamik gewinnen und dem Trend folgen kann, bis er sich umkehrt. Ein weiterer sehr wichtiger Aspekt des quantitativen Handels ist die Häufigkeit der Handelsstrategie. Niedrigfrequenzhandel (LFT) bezieht sich allgemein auf jede Strategie, die Vermögenswerte länger als ein Handelstag hält. Entsprechend bezieht sich der Hochfrequenzhandel (HFT) im Allgemeinen auf eine Strategie, die Vermögenswerte intraday hält. Ultra-Hochfrequenz-Handel (UHFT) bezieht sich auf Strategien, die Vermögenswerte in der Größenordnung von Sekunden und Millisekunden halten. Als Handelspartner sind HFT und UHFT sicher möglich, aber nur mit detaillierter Kenntnis der Handelstechnologie Stack und Orderbuch Dynamik. Wir werden diese Aspekte in diesem einleitenden Artikel in großem Ausmaß diskutieren. Sobald eine Strategie oder ein Satz von Strategien identifiziert wurde, muss sie nun für die Rentabilität auf historischen Daten getestet werden. Das ist die Domäne des Backtests. Strategie Backtesting Das Ziel des Backtesting ist es, nachzuweisen, dass die anhand des obigen Prozesses identifizierte Strategie rentabel ist, wenn sie sowohl auf historische als auch auf Out-of-Sample-Daten angewendet wird. Dies setzt die Erwartung, wie die Strategie in der realen Welt durchführen wird. Allerdings ist Backtesting nicht eine Garantie für den Erfolg, aus verschiedenen Gründen. Es ist vielleicht das subtilste Gebiet des quantitativen Handels, da es zahlreiche Vorurteile mit sich bringt, die sorgfältig geprüft und so weit wie möglich beseitigt werden müssen. Wir diskutieren die gemeinsamen Arten von Bias einschließlich Vorausschau. Überlebens-Bias und Optimierung Bias (auch bekannt als Data-Snooping Bias). Weitere Schwerpunkte im Backtesting sind Verfügbarkeit und Sauberkeit historischer Daten, Factoring in realistischen Transaktionskosten und die Entscheidung über eine robuste Backtesting-Plattform. Besprechen Sie die Transaktionskosten weiter unten im Abschnitt Ausführungssysteme. Sobald eine Strategie identifiziert wurde, ist es notwendig, die historischen Daten zu erhalten, durch die zur Durchführung von Tests und vielleicht Verfeinerung. Es gibt eine beträchtliche Anzahl von Datenanbietern in allen Assetklassen. Ihre Kosten sind in der Regel mit der Qualität, Tiefe und Aktualität der Daten. Der traditionelle Ausgangspunkt für den Beginn der quant Trader (zumindest auf der Retail-Ebene) ist die Nutzung der kostenlosen Datensatz von Yahoo Finance. Ich werde nicht auf Anbieter zu viel hier wohnen, eher möchte ich mich auf die allgemeinen Fragen konzentrieren, wenn es um historische Datensätze geht. Zu den Hauptanliegen mit historischen Daten gehören Genauigkeit, Überlebensfähigkeit und Anpassung für Kapitalmaßnahmen wie Dividenden und Aktiensplits: Genauigkeit bezieht sich auf die allgemeine Qualität der Daten - ob sie Fehler enthält. Fehler können manchmal leicht zu identifizieren, wie mit einem Spike-Filter. Die falsche Spitzen in den Zeitreihendaten herausholen und für sie korrigieren. Zu anderen Zeiten können sie sehr schwer zu erkennen. Es ist oft notwendig, zwei oder mehr Anbieter zu haben und dann alle ihre Daten gegeneinander zu überprüfen. Survivorship Bias ist oft ein Merkmal von freien oder billigen Datensätzen. Ein Datensatz mit Überlebensvorspannung bedeutet, dass er keine Vermögenswerte enthält, die nicht mehr handeln. Im Falle von Aktien bedeutet dies delistedbankrupt Aktien. Diese Vorspannung bedeutet, dass jede Börsenstrategie, die auf einem solchen Datensatz getestet wird, wahrscheinlich besser abschneidet als in der realen Welt, da die historischen Gewinner bereits vorgewählt wurden. Corporate Aktionen umfassen logistische Aktivitäten durch das Unternehmen, die in der Regel eine Schritt-Funktion ändern in den Rohpreisen, die nicht in die Berechnung der Renditen des Preises aufgenommen werden. Anpassungen für Dividenden und Aktiensplits sind die gemeinsamen Täter. Ein Verfahren, das als Rückenanpassung bekannt ist, muss bei jeder dieser Aktionen durchgeführt werden. Man muss sehr vorsichtig sein, einen Aktiensplit nicht mit einer wahren Renditeanpassung zu verwechseln. Viele Händler wurden von einer Unternehmensaktion gefangen Um ein Backtest-Verfahren durchzuführen, ist es notwendig, eine Software-Plattform zu nutzen. Sie haben die Wahl zwischen dedizierten Backtest-Software, wie Tradestation, eine numerische Plattform wie Excel oder MATLAB oder eine vollständige benutzerdefinierte Implementierung in einer Programmiersprache wie Python oder C. Ich werde nicht zu viel auf Tradestation (oder ähnlich), Excel oder wohnen MATLAB, wie ich glaube an die Schaffung eines Full-in-house-Technologie-Stack (aus Gründen unten beschrieben). Einer der Vorteile davon ist, dass die Backtest-Software und das Ausführungssystem auch bei extrem fortgeschrittenen statistischen Strategien eng integriert werden können. Für HFT-Strategien ist es besonders wichtig, eine benutzerdefinierte Implementierung zu verwenden. Beim Backtesting eines Systems muss man in der Lage sein zu quantifizieren, wie gut es funktioniert. Die Industriestandard-Metriken für quantitative Strategien sind der maximale Drawdown und das Sharpe Ratio. Der maximale Drawdown charakterisiert den grössten Peak-to-trough-Rückgang der Kontoguthabenkurve über einen bestimmten Zeitraum (in der Regel jährlich). Dies wird meist als Prozentsatz angegeben. LFT-Strategien neigen dazu, größere Drawdowns als HFT-Strategien, aufgrund einer Reihe von statistischen Faktoren haben. Ein historischer Backtest zeigt den bisherigen maximalen Drawdown, der ein guter Leitfaden für die zukünftige Drawdown-Performance der Strategie ist. Die zweite Messung ist das Sharpe-Verhältnis, das heuristisch definiert ist als der Durchschnitt der Überschussrenditen dividiert durch die Standardabweichung dieser Überschussrenditen. Hier bezieht sich die Überschussrendite auf die Rendite der Strategie oberhalb eines vordefinierten Benchmarks. Wie das SP500 oder ein 3-monatiges Schatzamt. Beachten Sie, dass die jährliche Rendite keine übliche Maßnahme ist, da sie die Volatilität der Strategie nicht berücksichtigt (im Gegensatz zum Sharpe Ratio). Sobald eine Strategie rückgängig gemacht wurde und als frei von Verzerrungen betrachtet wird (so viel wie möglich), mit einem guten Sharpe und minimierten Drawdowns, ist es Zeit, ein Ausführungssystem aufzubauen. Ausführungssysteme Ein Ausführungssystem ist das Mittel, mit dem die Liste der durch die Strategie erzeugten Geschäfte durch den Broker gesendet und ausgeführt wird. Trotz der Tatsache, dass die Handelsgenerierung halb - oder sogar vollautomatisiert werden kann, kann der Ausführungsmechanismus manuell, halb-manuell (d. H. Ein Klick) oder vollautomatisiert sein. Für LFT-Strategien sind manuelle und halb-manuelle Techniken üblich. Für HFT-Strategien ist es notwendig, einen vollautomatischen Ausführungsmechanismus zu schaffen, der oft eng mit dem Handelsgenerator (aufgrund der Interdependenz von Strategie und Technologie) gekoppelt ist. Die wichtigsten Überlegungen bei der Erstellung eines Ausführungssystems sind die Schnittstelle zum Maklergeschäft. Minimierung der Transaktionskosten (einschließlich Provision, Rutschung und Spread) und Divergenz der Performance des Live-Systems von der getesteten Performance. Es gibt viele Möglichkeiten, um eine Brokerage Schnittstelle. Sie reichen vom Aufruf Ihres Brokers über das Telefon bis hin zu einer vollautomatischen, leistungsstarken Application Programming Interface (API). Idealerweise möchten Sie die Ausführung Ihres Trades so weit wie möglich automatisieren. Dies befreit Sie, um auf weitere Forschung konzentrieren, sowie ermöglichen es Ihnen, mehrere Strategien oder sogar Strategien der höheren Frequenz laufen (in der Tat, HFT ist im Wesentlichen unmöglich, ohne automatisierte Ausführung). Die oben beschriebene gemeinsame Backtesting-Software wie MATLAB, Excel und Tradestation eignet sich für niedrigere, einfachere Strategien. Allerdings wird es notwendig sein, ein hauseigenes Ausführungssystem zu erstellen, das in einer Hochleistungssprache wie C geschrieben ist, um irgendeine reale HFT durchzuführen. Als Anekdote hatten wir in dem Fonds, in dem ich früher beschäftigt war, eine 10-minütige Handelsschleife, wo wir alle 10 Minuten neue Marktdaten herunterladen und dann Trades basierend auf diesen Informationen im gleichen Zeitrahmen ausführen würden. Dies war mit einem optimierten Python-Skript. Für alles, was Minuten-oder zweite Frequenz Daten, ich glaube, CC wäre mehr ideal. In einem größeren Fonds ist es oft nicht die Domäne des Quant-Traders, die Ausführung zu optimieren. Allerdings in kleineren Geschäften oder HFT-Firmen, die Händler sind die Ausführenden und so eine viel breitere Skillset ist oft wünschenswert. Denken Sie daran, wenn Sie von einem Fonds beschäftigt werden möchten. Ihre Programmierkenntnisse werden so wichtig sein, wenn nicht mehr, als Ihre Statistiken und Ökonometrie Talente Ein weiteres wichtiges Thema, das unter dem Banner der Ausführung fällt, ist die der Transaktionskostenminimierung. Es gibt in der Regel drei Komponenten zu Transaktionskosten: Provisionen (oder Steuern), die die Gebühren sind, die durch das Maklergeschäft, die Börse und die SEC (oder ähnliche Regulierungsbehörde) Schlupf, die der Unterschied zwischen dem, was Sie beabsichtigten Ihre Bestellung zu sein Gefüllt im Vergleich zu dem, was es tatsächlich auf Ausbreitung gefüllt wurde, was der Unterschied zwischen dem Bidask-Preis des gehandelten Wertes ist. Es ist zu beachten, dass die Spreizung NICHT konstant ist und von der gegenwärtigen Liquidität (d. h. Verfügbarkeit von Buysell-Aufträgen) auf dem Markt abhängt. Transaktionskosten können den Unterschied zwischen einer äußerst profitablen Strategie mit einer guten Sharpe-Ratio und einer äußerst unrentablen Strategie mit einer schrecklichen Sharpe-Ratio machen. Es kann eine Herausforderung sein, die Transaktionskosten von einem Backtest korrekt vorherzusagen. Abhängig von der Häufigkeit der Strategie benötigen Sie Zugriff auf historische Daten, die Tick-Daten für Bidask-Preise enthalten. Gesamte Teams von Quants werden aus diesen Gründen der Optimierung der Ausführung in den größeren Fonds gewidmet. Betrachten Sie das Szenario, in dem ein Fonds eine beträchtliche Menge von Geschäften (von denen die Gründe dafür vielfältig sind) abzuladen brauchen. Durch das Dumping so viele Aktien auf den Markt, werden sie schnell drücken den Preis und kann nicht erhalten optimale Ausführung. Daher existieren Algorithmen, die Futteraufträge auf den Markt tropfen, obwohl der Fonds das Risiko eines Rutschens ausübt. Darüber hinaus gehen andere Strategien auf diese Notwendigkeiten und können die Ineffizienzen ausbeuten. Dies ist die Domäne der Fondsstruktur Arbitrage. Das letzte Hauptproblem bei Ausführungssystemen betrifft die Divergenz der Strategieperformance von der getesteten Performance. Dies kann aus einer Reihe von Gründen geschehen. Weve bereits diskutiert, Blick nach vorne Bias und Optimierung Bias in der Tiefe, bei der Prüfung Backtests. Einige Strategien machen es jedoch nicht einfach, diese Vorurteile vor der Bereitstellung zu testen. Dies geschieht in HFT überwiegend. Es kann Bugs in der Ausführung System sowie die Trading-Strategie selbst, die nicht angezeigt werden, auf einem Backtest aber DO zeigen sich im Live-Handel. Der Markt könnte unter Umständen einem Regimewechsel nach dem Einsatz Ihrer Strategie unterliegen. Neue regulatorische Rahmenbedingungen, veränderte Investorenstimmung und makroökonomische Phänomene können alle zu Divergenzen in der Marktverfassung und damit zur Rentabilität Ihrer Strategie führen. Risikomanagement Das letzte Stück des quantitativen Handelspuzzles ist der Prozess des Risikomanagements. Das Risiko beinhaltet alle bisherigen Vorurteile, die wir besprochen haben. Es umfasst Technologie-Risiko, wie z. B. Server an der Börse plötzlich eine Festplatte Fehlfunktion an. Es enthält Brokerage-Risiko, wie der Makler Bankrott (nicht so verrückt wie es klingt, angesichts der jüngsten Angst mit MF Global). Kurz gesagt, es deckt fast alles, was möglicherweise die Handelsumsetzung stören könnte, von der es viele Quellen gibt. Ganze Bücher sind dem Risikomanagement für quantitative Strategien gewidmet, so will ich nicht versuchen, auf alle möglichen Quellen des Risikos hier zu erhellen. Das Risikomanagement umfasst auch die so genannte optimale Kapitalallokation. Die ein Zweig der Portfolio-Theorie ist. Dies ist das Mittel, mit dem Kapital zu einer Reihe von verschiedenen Strategien und den Handel innerhalb dieser Strategien zugeordnet wird. Es ist ein komplexes Gebiet und stützt sich auf einige nicht-triviale Mathematik. Der Industriestandard, nach dem die optimale Kapitalallokation und die Hebelwirkung der Strategien zusammenhängen, wird das Kelly-Kriterium genannt. Da dies ein einleitender Artikel ist, werde ich nicht auf seine Berechnung. Das Kelly-Kriterium macht einige Annahmen über den statistischen Charakter der Renditen, die oft nicht auf den Finanzmärkten gelten, so dass Händler oft konservativ sind, wenn es um die Umsetzung geht. Ein weiterer Schwerpunkt des Risikomanagements liegt im Umgang mit dem eigenen psychologischen Profil. Es gibt viele kognitive Verzerrungen, die in den Handel einschleichen können. Obwohl dies bei algorithmischem Handel zugegebenermaßen weniger problematisch ist, wenn die Strategie allein bleibt. Eine gemeinsame Vorspannung ist diejenige der Verlustaversion, bei der eine Verlustposition aufgrund des Schmerzes, einen Verlust zu realisieren, nicht ausgeschlossen wird. Ebenso können Gewinne zu früh genommen werden, weil die Angst, einen bereits gewonnenen Gewinn zu verlieren, zu groß sein kann. Eine andere gemeinsame Vorspannung wird als Wiederholungsvorspannung bezeichnet. Dies äußert sich, wenn die Händler zu viel Wert auf die jüngsten Ereignisse legen und nicht längerfristig. Dann gibt es natürlich das klassische Paar emotionale Vorurteile - Angst und Gier. Diese können häufig zu Unter - oder Überhebungen führen, was zu einem Blow-up (d. h. dem Konto-Eigenkapital-Überschrift zu null oder schlechter) oder zu reduzierten Gewinnen führen kann. Wie zu sehen ist, ist der quantitative Handel ein äußerst komplexer, wenn auch sehr interessanter Bereich der quantitativen Finanzierung. Ich habe buchstäblich zerkratzt die Oberfläche des Themas in diesem Artikel und es ist schon ziemlich lange Ganze Bücher und Papiere wurden über Themen, die ich habe nur einen Satz oder zwei in Richtung geschrieben. Aus diesem Grund, vor der Anwendung für quantitative Fondshandel Arbeitsplätze, ist es notwendig, eine erhebliche Menge an Grundlagenstudie durchzuführen. Zumindest benötigen Sie einen umfangreichen Hintergrund in Statistik und Ökonometrie, mit viel Erfahrung in der Umsetzung, über eine Programmiersprache wie MATLAB, Python oder R. Für mehr anspruchsvolle Strategien am höheren Frequenz Ende, ist Ihre Fähigkeit gesetzt wahrscheinlich Um Linux Kernel-Modifikation, CC, Assembly-Programmierung und Netzwerk-Latenz-Optimierung. Wenn Sie daran interessiert sind, Ihre eigenen algorithmischen Trading-Strategien zu schaffen, wäre mein erster Vorschlag, um gute Programmierung zu bekommen. Meine Vorliebe ist es, so viel von der Daten-Grabber, Strategie Backtester und Execution-System von sich selbst wie möglich zu bauen. Wenn Ihr eigenes Kapital auf der Linie ist, würden Sie nicht besser schlafen in der Nacht wissen, dass Sie Ihr System vollständig getestet haben und wissen, ihre Fallstricke und besondere Probleme Outsourcing dies zu einem Anbieter, während potenziell Zeitersparnis auf kurze Sicht könnte extrem sein Teuer in der Langzeit. Algorithmische Handelsstrategien mit MATLAB-Beispielen Das traditionelle Paradigma der Anwendung nichtlinearer maschineller Lerntechniken auf algorithmische Handelsstrategien leidet typischerweise massive Daten-Snooping-Bias. Auf der anderen Seite haben sich lineare Techniken, inspiriert und eingeengt durch fundierte Domain-Kenntnisse, als wertvoll erwiesen. Diese Präsentation beschreibt die Anwendung des Kalman-Filters, eine quintessenziell lineare Technik, auf zwei verschiedene Arten des algorithmischen Handels. Produktfokus Wählen Sie Ihr Land aus


No comments:

Post a Comment