Sunday, 24 September 2017

Gebäude Modelle Für Hochfrequenz Algorithmik Trading Strategien Use Matlab


Bitfinex gab heute den Beginn der Bergbau-Verträge als Handelsprodukt auf ihrer Plattform bekannt. Insgesamt wurden 100 THS (Terahashes pro Sekunde) mit einem Ablauf in 3 Monaten zum Handel unter dem Namen TH1BTC zur Verfügung gestellt. Die 100 THS sind Teil eines größeren Pools von 3500 THS, so dass weitere Minenverträge in Zukunft verfügbar sein könnten. Interessanterweise ist dies das erste Mal, dass es möglich ist, einen Bergbauvertrag zu schließen. Die Abkürzung eines Bergbauvertrags bedeutet, dass wir jetzt einen Betrag von Bitcoin erhalten (den Preis, den wir verkaufen) und anschließend Dividenden (in Bitcoin) über die folgenden 3 Monate, bis der Vertrag Mitte Dezember abläuft. Ein Gewinn wird gemacht, wenn die Summe aller ausgezahlten Dividenden (zuzüglich der Zinsen, die wir bezahlt haben, um den Vertrag zu kürzen) weniger als das, was wir zu Beginn erhalten haben, als wir den Vertrag verkauften (an einen anderen offensichtlich). Dies bedeutet, dass der Preis von TH1BTC von 3 Variablen abhängt (in absteigender Reihenfolge von Bedeutung): Die Änderung der Bergbau-Schwierigkeit bis zum 15. Dezember Die verbleibende Zeit bis zum 15. Dezember Der Zinssatz (Swap-Rate) Wenn Schwierigkeiten steigen, werden die Dividendenzahlungen kleiner, da 1 THS stellt einen kleineren Bruchteil der gesamten Netz-Hash-Leistung dar. Daher sollte der Preis eines Vertrages abnehmen, wenn Schwierigkeiten zunehmen. Je näher wir das Fieber beenden, so kann Bitcoins mit 1 THS gesorgt werden. Daher sollte der Preis eines Vertrages abnehmen, je näher wir anlaufen und bei Verfall einen Preis von 0 erreichen. Je höher der Zinssatz, desto teurer ist es, den Vertrag über die volle Länge von 3 Monaten zu betreten und zu halten. Bitfinex bietet nicht 90 Tage Swaps an und gibt damit einen Vertrag mit dem Ziel ein, es zu halten, bis das Ende ein bisschen Zinsrisiko enthält, da irgendwann ein neuer Swap (zu einem potenziell ungünstigen Zinssatz) entnommen werden muss. Dies ist weniger ein Problem, wenn man lange geht (Bitcoin-Raten sind in der Regel niedrig) als wenn man kurz (es gibt nur maximal 100 Verträge insgesamt verfügbar, keine nackte Kurzschluss). Um das Risiko zu kompensieren, sollten die Preise steigen, wenn die Swapsätze steigen. Das große Unbekannte ist natürlich die Veränderung der Bergbau-Schwierigkeit in den nächsten 90 Tagen. In der folgenden Abbildung sehen wir, wie sich die Schwierigkeiten in den letzten 6 Monaten geändert haben. Die Daten stammen aus Tradeblock und zeigen nicht nur eine grafische Darstellung vergangener Veränderungen in der Schwierigkeit (Schwierigkeitsänderungen alle 14 Tage je nach vergangener Hash-Rate. Weitere Informationen finden Sie im Wiki), aber auch einige grundlegende Summary Statistics. Durchschnittliche Schwierigkeiten haben sich in den letzten 30 Tagen um 27 erhöht und in den letzten 60 Tagen 77. Um den fairen Preis von einem TH1BTC abzuschätzen, gehen wir davon aus, dass die Schwierigkeit im Durchschnitt 15 pro Monat über den nächsten 3 Monaten steigen wird. Derzeit ist der Preis für den Kauf eines Vertrages im Wert von 1 THS 2 BTC. Die Poolgebühr beträgt 3 und wir werden die Zinsen ignorieren. Wenn wir alle Informationen erhalten, erhalten wir folgende Ergebnisse: Wenn wir also einen Vertrag auf der Grundlage unserer Annahmen machen, würden wir einen Verlust von etwa 0,39 Bitcoin machen (ein bisschen mehr in Wirklichkeit, da wir den Bergbau Mitte September bis zur Mitte beginnen werden Im Dezember), da die erwarteten Dividenden (monatliche Einnahmen) unsere anfänglichen Kosten von 2 BTC nicht abdecken werden, bevor der Vertrag abläuft. Auf der anderen Seite, knapp zu einem Preis von 2 Bitcoin hätte einen Gewinn von etwa 0,39 Bitcoin pro Vertrag generiert. Denken Sie daran, dass wir didn8217t enthalten Swap-Kosten, die derzeit bei etwa 1 pro Tag (). Es gibt zwei Möglichkeiten, die Ergebnisse zu betrachten. Entweder könnten wir sagen, dass die Preise für TH1BTC derzeit überbewertet sind und näher bei etwa 1,5 BTC liegen sollten. Wenn wir davon ausgehen, dass die Schwierigkeit mehr als 15 pro Monat ansteigen wird, dann sollten die Preise sogar noch niedriger sein. Oder wir könnten sagen, dass der Markt effizient ist und die Preise korrekt sind, was bedeutet, dass der Markt in den nächsten 90 Tagen im Durchschnitt etwa 2 pro Monat schwer abnehmen wird. So oder so werden die Ergebnisse in 90 Tagen mit Sicherheit bekannt. Kämpfen, um sich von dem jüngsten Bitcoin-Blitz-Crash zu erholen, der auf Bitfinex nur vier Tage entstand. Bitcoin-Preise haben heute einen weiteren Tauchgang gemacht, da die Margin-Trader ihre Positionen auf BTC-e liquidiert haben. Die Veranstaltung begann um 1:36 Uhr (UTC1), als große Verkaufsaufträge auf der drittgrößten westlichen Bitcoin-Börse BTC-e auftauchten. Die nach unten gerichtete Dynamik nahm stetig zu, da das Orderbuch immer dünner wurde und die Preise bis zu einem Tiefstkurs von USD 309 pro Bitcoin um 1,43 PM stürzten. In den folgenden Minuten erholten sich die Preise rasch auf dünnem Volumen zurück auf rund USD 442, als Arbitrage-Händler begannen, den Rabatt im Vergleich zu anderen Börsen zu nutzen. BTC-e ist einer der wenigen großen Börsen, die ihren Kunden über die MetaTrader-Plattform seit November 2013 einen Margin-Trading anbieten, aber die Details, wer exakt die für den Margin-Trading notwendigen Mittel zur Verfügung stellt, sind unklar. Die Form und vor allem das Timing des Crash-Punktes auf Margin-Trader, die liquidiert werden (oder Stopp-Aufträge ausgeführt werden), ähnlich wie auf Bitfinex vor ein paar Tagen passiert ist. Im Gegensatz zu Bitfinex, die über offene Swap-Positionen transparent ist. BTC-e liefert keine wichtigen Daten, die für eine gründlichere Analyse erforderlich sind, und so kann diese letzte Aussage nur als eine gute Vermutung angesehen werden. Im Gegensatz zu Bitfinex, die auf einem versteckten Algorithmus beruht, um den Auftragsablauf zu kontrollieren. BTC-e scheint keine besonderen Schutzmaßnahmen zu haben, um solche Ereignisse zu mildern. Der Fall unter 400 war vor allem auf einen Mangel an Angeboten im Orderbuch zurückzuführen und nicht, weil der Markt glaubte, dass der wahre Wert unter 400 lag, da der Rückschlag auf über 440 nur Minuten später grundsätzlich bewiesen wurde. Daher konnte das Stoppen des Handels bei extremer Abwärtsvolatilität das Blutvergießen unter den Margin-Händlern leicht abwenden, indem es anderen Marktteilnehmern mehr Zeit gab, das Orderbuch zu verdicken. Update 4:58 PM (UTC1): BrCapoeira posted on Reddit eine interessante Grafik basierend auf Daten aus der Metatrader-Plattform: Diese Grafik impliziert, dass eine einzige große Bestellung war die Ursache für dieses Ereignis. Ob diese Bestellung aufgrund eines Margin Call, ein einfacher Fehler, die Manipulation des Marktes oder eine große Short-Position eröffnet wurde, bleibt unklar. Der gesunde Menschenverstand würde vorschlagen, dass es wahrscheinlich das Ergebnis einer Margin Call von einem einzigen großen Händler war. Mein früherer Beitrag zu diesem Thema wurde während der Diskussionen nach dem jüngsten Bitcoin-Flash-Crash aufgeworfen. Coindesk war einer der ersten, der es abholte und seitdem verschiedene Beiträge über Transparenz und die mögliche Verantwortlichkeit des Austauschs zur aktiven Verwaltung der Auftragsabwicklung begannen zu erscheinen. Als Ergebnis dieser Ereignisse ging Josh Rossi, Vizepräsident der Geschäftsentwicklung bei Bitfinex, auf Reddit, um offenbar einige der Probleme zu erörtern, die gegen den Austausch erhoben wurden. Die Tatsachen, die wir sicher wissen, sind, dass es einige große Verkaufsaufträge kurz vor dem Absturz gab, zum Beispiel ein 500-Verkaufsauftrag auf Bitstamp um 9.49 Uhr (UTC1), etwa 6 Minuten vor einem großen Verkaufsauftrag auf Bitfinex ausgelöst den Crash. Doch die Daten sagen uns nicht, ob es Insiderhandel, irgendeine Form der Marktmanipulation war. Oder ein einfacher Fehler. Tatsache ist, dass nach dem Bitcoin-Blitz-Crash offenen Swap-Positionen von etwa 28m auf 24m abnahm, was bedeutet, dass etwa 8400 Margin-Long-Positionen geschlossen wurden (unter der Annahme eines Durchschnitts von 475) in einer Weise (Margin Call) oder einem anderen (Stop Order Hit). Die Daten sagen uns nicht, was das Verhältnis ist, sondern laut Josh nur etwa 650 Bitcoins wurden als Ergebnis von Margin Anrufe verkauft. Wie richtig von Jonathan Levin hervorgehoben wurde. Tatsache ist, dass etwa 24 Stunden vor dem Bitcoin Flash Crash, bis der Crash selbst eine zusätzliche 1000 Bitcoins wurden in kurzen Positionen genommen und etwa 2500 Shorts wurden anschließend während des Crashs geschlossen. Ob diese Shorts geöffnet wurden, um bestehende Positionen zu sichern, als bösartiger Versuch, einen Margin Call auszulösen, oder ein Weg, um den Markt mit privaten Informationen voranzutreiben, kann aus den verfügbaren Daten nicht ermittelt werden (es sieht seltsam verdächtig aus). Was war unerwartet Persönlich ist der interessante Punkt nicht, dass Bitcoin Flash abgestürzt ist. Plötzliche Preisschwankungen sind in der Vergangenheit passiert und werden in der Zukunft passieren, vor allem in illiquiden Märkten wie Bitcoin. Der interessante Punkt ist die Beteiligung von Bitfinex und die Art und Weise, wie sie die Auftragsabwicklung aktiv verwalteten, ohne die Marktteilnehmer im Voraus zu informieren. Die Bitfinex-Matching-Engine wurde während des ganzen Crashs nicht angehalten, obwohl es sich verlangsamte (aber nirgendwo so schlimm wie die berüchtigte 70-minütige Order auf dem jetzt verstorbenen MtGox-Tausch während des Crashs im Jahr 2012). Doch was Bitfinex tat, wurde sie eingeführt, was sie jetzt als Geschwindigkeitsstöße bezeichnen. Was es bedeutet, ist, dass sie im Wesentlichen Befehle kennzeichnen, die sie als ungültig oder potenziell gefährlich ansehen und sie absichtlich verlangsamen. Auf den ersten Blick könnte das wie eine nette Idee aussehen. Wer will einen Filter, um bösartige Befehle zu entfernen oder zu verlangsamen, aber so oft mit diesen Sachen ist der Teufel im Detail. Das Problem ist, dass Bitfinex nicht (und vielleicht auch nie) öffentlich machen wird, wie genau sie eine Bestellung als 8220bad8221 und 8220slow it down8221 kategorisieren. Wenn ein Marktteilnehmer beschließt, einen großen Verkaufsauftrag gegen ein dünnes Orderbuch aufzustellen, dann ist das seine Entscheidung. Ob seine Handlung beabsichtigt war oder nicht, ist nicht bis zum Austausch zu entscheiden. Es könnte sein, dass dieser Marktteilnehmer einfach die erste Person war, auf ein Großereignis zu reagieren und ist ganz bereit, die zusätzlichen Kosten des daraus resultierenden Schlupfes in Erwartung eines großen Preises zu tragen. Es gibt einfach keinen Weg, um Aufträge a priori als 8220good8221 oder 8220bad8221 genau zu klassifizieren, da dies automatisch die Kenntnis aller unmittelbaren zukünftigen Ereignisse übernehmen würde. Was kann verbessert werden Fehler (8220fat finger8221, Algorithmus gehen Chaos) passieren, Ränder angerufen werden und Menschen versuchen, das System in jeder möglichen Weise zu spielen. Logischerweise müssen Schutzmaßnahmen vorhanden sein, um die Märkte und ihre Teilnehmer zu schützen. Bitfinex war sich der potenziellen toxischen Auftragsabwicklung bewusst und bereitet Gegenmaßnahmen vor. Das einzige, was sie vergessen haben, war, ihre Kunden über die versteckten Sicherheitsmerkmale zu informieren. Das Verstecken dieser Schutzmaßnahmen aus der Öffentlichkeit fügt Unsicherheit für den Markt hinzu (vor allem jetzt, wo wir wissen, dass sie existieren und manchmal etwas tun) und im Wesentlichen alle Händler vertrauen in die Hände von Bitfinex. An dieser Stelle kann ein Händler nur hoffen, dass Bitfinex immer in den besten Absichten ihrer Kunden agieren wird. Diese Hoffnung könnte aber zwecklos sein, denn Bitfinex macht Geld aus Handelsgebühren, unabhängig davon, ob ein Trader tatsächlich Geld verdient. Man muss nicht lange darüber nachdenken, das verborgene Potenzial für Missbrauch in einem solchen System zu erkennen. Der Hauptgrund, der von Josh aufgeworfen wurde, warum Bitfinex nicht beabsichtigt, ihren Algorithmus zu veröffentlichen, ist es, den Händlern die Möglichkeit zu geben, sie auszunutzen, ist gefälscht und die folgenden zeigen, warum. Das sind die offiziellen marktführenden Leistungsschalter, die von NASDAQ verwendet werden, die für jeden Marktteilnehmer online und vollständig transparent sind. Diese Regeln sind sicher nicht perfekt, aber sie sind einfach, transparent und arbeiten für einen der größten Aktienmärkte der Welt. Jetzt habe ich großen Respekt für die Leute, die auf der Bitfinex-Plattform arbeiten, aber ich bezweifle, dass es ihnen gelang, einen Algorithmus zu finden, der die Marktteilnehmer besser schützt als die, die von einem großen Börsenhandel mit mehr als 900 Millionen Aktien pro Tag im Durchschnitt verwendet werden . Und wenn sie es taten, ist jetzt die Chance für Bitfinex, es der Welt zu beweisen und eventuell Geschichte zu schreiben, indem ich die großen Jungs lehre, wie man einen Austausch richtig ausführt. Wenn es um den öffentlichen Austausch geht, ist die Transparenz ein Muss, nicht nur für Bitfinex, sondern für jeden Austausch. Marktteilnehmer müssen genau wissen, was passiert, wenn sie einen Auftrag vergeben und unter keinen Umständen auf guten Glauben allein verlassen müssen. Schutzmaßnahmen sind wichtig, weil Unfälle passieren und Märkte abstürzen, aber es ist nicht bis zu dem Austausch, um in geheime Ordnung Diskriminierung zu engagieren. Es gibt verschiedene Möglichkeiten, die Finanzmärkte zu sichern und keiner von ihnen ist perfekt. Das Hinzufügen von Komplexität erhöht in der Regel die Chance für unbeabsichtigte Nebenwirkungen und daher ein einfacher, transparenter Ansatz scheint geeigneter als ein versteckter, komplexer. Vor zwei Tagen reduzierte BitMEX ihre Handelsgebühren auf 0 und feierte es, indem er einen grundlegenden Markt, der Bot auf Github machte, veröffentlichte. BitMEX läuft derzeit bis zum 29. August 2014 eine Handelsherausforderung, um ihre neue Plattform zu fördern. Die Freigabe einer Marktmarkierung bot ist wahrscheinlich eine interessante und effektive Möglichkeit, API-Verkehr zu erhöhen und Stress-Test die Plattform ein bisschen. Natürlich konnte ich nicht widerstehen und hatte einen Blick. Market-Maker ist ein Gabelung von Liquidbot. Die ursprünglich entworfen wurde, um auf dem jetzt obsolet MtGox Austausch zu laufen. Es gab einige kleinere Änderungen (neue api-Klasse, um mit BitMEX zu verbinden, einige zusätzliche Drucke zu konsolen, Änderungen an Futures-Kontrakten anzupassen, und ein riesiger und unnötiger Druck zu konsolen beim Start), aber keine signifikanten Änderungen an der Handelslogik. Der Algorithmus verwendet REST und überprüft nur alle 60 Sekunden auf Änderungen. Dies disqualifiziert den Bot, da es zu langsam ist, um auf laufende Änderungen im Orderbuch zu reagieren. BitMEX schränkt Anfragen an die REST-API auf 150 pro 5 Minuten, so dass Sie versuchen können, die 60 Sekunden auf etwas wie 3 zu reduzieren, aber es gewinnt die Tatsache, dass, sobald Märkte beginnen, Sie zu bewegen, die Grenze treffen und mit offenen Positionen festhalten werden. Um fair zu sein, bietet BitMEX den Bot mehr als Marketing-Stunt und erklärt ausdrücklich, dass die Umstellung auf WebSocket sehr vorteilhaft sein wird, da es Echtzeit-Updates ermöglicht. Insgesamt ist der Algorithmus solide geschrieben, technisch funktioniert und ist einfach einzurichten, aber es gewinnt dir kein Geld auf lange Sicht. Wenn jemand ernsthaft bedenkt, diesen bot zu verwenden, würde ich die folgenden kleinen Änderungen empfehlen, um den Code mehr nutzbar zu machen: 1. Wechseln Sie zu Websocket 2. Beenden Sie die Position in der Nähe: 3. Erstellen Sie Aufträge ab dem Mittelpunkt: Darüber hinaus würde ich empfehlen zu messen Volatilität in gewisser Weise und Anpassung der Distanz zwischen Aufträgen dynamisch sowie die Größe. Während meines Tests war die API immer reaktionsschnell und genau. Volumen an der Börse ist immer noch niedrig, aber die Grundlagen der Plattform sehen vielversprechend aus. Dieser Bot ist ein lustiges Werkzeug, um Benutzer in die Welt der Marktmacherei und algorithmischen Handel einzuführen, aber es gewinnt eine Chance gegen etablierte Algorithmen. Hinweis: Wenn Sie diesen Algorithmus in Erwägung ziehen, denken Sie daran, dass die Markteinführung ein Vollzeitjob ist. Alles, was weniger als komplette Hingabe, schnelle Reaktionszeit und 100 Uptime wird dazu führen, dass Sie Geld verlieren. Bearbeiten: Follow-up auf die Nachwirkungen hier Heute Bitcoin Preise nahm einen Tauchgang als Margin Trader auf einem der größten Austausch Bitfinex erhielt ihre Aufträge liquidiert. Für viele enge Marktbeobachter und anspruchsvollere Händler kam das nicht überraschend. Tatsächlich haben sich in den letzten paar Monaten lange Positionen in der Erwartung einer neuen Blase in Bitcoin-Preisen aufgebaut und erreichten so hoch wie 30m in hervorragenden Swap-Positionen auf Bitfinex. Nun, das wäre kein Problem für sich alleine, solange es genug Kapital zur Unterstützung des Darlehens gibt. Leider waren die meisten dieser Long-Positionen rund 600 8211 640 USDBTC und die Sicherheiten wurden meist in Bitcoins selbst zur Verfügung gestellt. Die folgende Grafik zeigt schön den Aufbau von Long-Positionen, peaking um 14. Juli mit knapp 32m in Swaps. Wenn Sie eine kleine Mathematik auf der Wartungsspanne von Bitfinex von 13 ausführen und Bitcoin als Sicherheiten annehmen, finden wir, dass Margin-Anrufe um die 520 8211 540 USDBTC-Marke beginnen sollten. Gestern sind die Preise nahe gekommen und heute sprangen sie endlich über die Klippe. Das Problem ist, dass einmal Margin Anrufe in Sie haben eine kaskadierende Wirkung, die durch das Orderbuch reißt, so dass noch mehr Aufträge den Punkt der keine Rückkehr zu erreichen und die Abwärtsbewegung weiter zu erhöhen. Diese Art von Veranstaltungen sind nicht auf Bitcoin-Börsen beschränkt, sondern können auch an großen Börsen auftreten, wie zum Beispiel während der 2010 Flash-Crash in den USA. Die Ursache eines solchen Blitzes kann variieren und geht von fetten Fingerfehlern zu Programmierfehlern zu Cascading Margin Anrufe. Es ist interessant zu sehen, wie sich der Austausch mit diesen Ereignissen beschäftigt. In den USA hat Nasdaq marktführende Leistungsschalter eingesetzt, die den Handel unter solchen extremen Umständen beenden werden. Bitcoin-Märkte sind noch nicht so fortgeschritten und gehen in der Regel weiter Handel. Wenn wir uns die Auftragsaktion auf Bitfinex anschauen, sehen wir etwas ganz Besonderes: Es scheint (und das ist nur eine Vermutung, da es keinen offiziellen Kommentar von der Börse gibt), als ob Bitfinex einen Algorithmus ausführt, um die Randanrufe zu behandeln. Der Algorithmus beginnt zu verkaufen, aber begrenzt sich auf einen 10 Tropfen der Preise innerhalb von 1 Minute. Wenn die Preise mehr als 10 in 1 Minute fallen, wird es aufhören zu verkaufen und warten auf Kaufaufträge zu kommen. Sobald es wieder eine gewisse Kaufaufträge im Orderbuch gibt, beginnt der Algorithmus wieder zu verkaufen, bis alle Margin-Anrufe erfüllt sind. Edit: LeMogawai war der erste, der dies in diesem Beitrag darauf hinweist und es entspricht meiner persönlichen Beobachtung zum Zeitpunkt der Veranstaltung. Dies scheint ein interessanter Weg zu sein, mit kaskadierenden Margin-Anrufen umzugehen, kann aber auch als Grenzlinienmanipulation von der Börsenseite betrachtet werden. Durch die Ausbreitung der Verkaufsaufträge im Laufe der Zeit wird die Abwärtsmomentum reduziert, aber die Händler am Ende Handel gegen den Austausch selbst und nicht den Markt mehr. Der Austausch hat zu diesem Zeitpunkt einen Informationsvorteil und ist daher eher zu profitieren als die Händler. Glücklicherweise dauerte dies nur etwa 10 Minuten, nach dem die Kontrolle auf den Markt zurückgegeben wurde. Andere Börsen, die auch Margin Trading wie BTC-e und OKcoin bieten, befinden sich nun in einer günstigen Position und können von den heutigen Veranstaltungen lernen. Die Implementierung eines Systems, das den Leistungsschaltern des großen Austausches ähnlicher ähnelt wie Nasdaq, könnte ein kluger erster Schritt sein. Vor kurzem arbeite ich, um meine neue Handelsplattform zu bekommen. Diese neue Version basiert auf Python, nutzt MySQL, um eine Datenbank aller Zeitreihen verschiedener virtueller Währungen mit automatischer Abfüllung von BitcoinCharts zu behalten und integriert die 3 großen Börsen MtGox, BTC-E und Bitstamp. Die Plattform wird als Weg verwendet, um einige Strategien zu backtest und sich im automatischen Handel zu engagieren. Während des Vorlaufs habe ich beschlossen, einige Daten von BTC gegen USD von BitcoinCharts zu ziehen und auf der Grundlage der Ideen eines Papiers von Hashem und Timmermann (1995) eine einfache Handelsstrategie umzusetzen. Die Idee ist, das Vorzeichen der t1 Periodenrendite basierend auf einer Regression zu prognostizieren, die auf einer automatischen Auswahl von technischen Indikatoren während der letzten n Periode bis t geschätzt wird. Dann, nachdem t1 passiert ist, erfrischen wir das Modell und versuchen, t2 mit allen Daten der letzten n Perioden bis t1 und so weiter vorhersagen. Für meine Bachelor-Arbeit habe ich vier verschiedene technische Handelsregeln in Forex-Märkten untersucht. Es verwendet MCS - und SPA-Test, um nach gültigen Modellen unter verschiedenen Parametern zu suchen, die nicht dem Daten-Snooping unterliegen. Unter Berücksichtigung realistischer Transaktionskosten finden wir keine Anhaltspunkte für Überschussrenditen, die mit der Effizienz des Marktes übereinstimmen. Mit diesem Code sollten Sie in der Lage sein, nach Bitcoin Arbitrage Chancen in BTC-e zu suchen. Es nutzt die Idee von einem Preis und wendet Dreieck Arbitrage, unter Berücksichtigung der Kosten und verbreiten. Der Grund, warum ich dies hier posten ist trotzdem es funktioniert, sind die Chancen sind Sie zu langsam, um mit anderen Investoren, die das gleiche zu konkurrieren. Mögliche Verbesserungen wäre, die Auftragsbuchtiefe zu berücksichtigen und die Trades dynamisch aufzuteilen und zu versuchen, andere Händler zu unterbieten, die das gleiche tun. Auch alles auf einem dedizierten Server in der Nähe der physischen Lage des BTC-e-Match-Engine sollte drastisch reduzieren Verzögerung und geben Ihnen eine potenzielle Kante. Post navigationBasics of Algorithmic Trading: Konzepte und Beispiele Ein Algorithmus ist ein spezifischer Satz von klar definierten Anweisungen zur Durchführung einer Aufgabe oder eines Prozesses. Algorithmischer Handel (automatisierte Handel, Black-Box-Handel oder einfach Algo-Trading) ist der Prozess der Verwendung von Computern programmiert, um eine definierte Reihe von Anweisungen für die Platzierung eines Handels zu folgen, um Gewinne mit einer Geschwindigkeit und Häufigkeit zu generieren, die für eine unmöglich ist Menschlicher Händler Die definierten Regelsätze basieren auf Timing, Preis, Menge oder einem mathematischen Modell. Neben den Gewinnchancen für den Händler macht algo-trading die Märkte liquider und macht den Handel systematischer, indem er emotionale menschliche Auswirkungen auf die Handelsaktivitäten ausübt. Angenommen, ein Trader folgt diesen einfachen Handelskriterien: Kaufen Sie 50 Aktien einer Aktie, wenn der 50-Tage-Gleitender Durchschnitt über den 200-Tage-Gleitender Durchschnitt geht. Teilen Sie Aktien der Aktie, wenn der 50-Tage-Gleitender Durchschnitt unter den 200-Tage-Gleitender Durchschnitt geht Mit diesem Satz von zwei einfachen Anweisungen ist es einfach, ein Computerprogramm zu schreiben, das automatisch den Aktienkurs (und die gleitenden durchschnittlichen Indikatoren) überwacht und die Kauf - und Verkaufsaufträge platziert, wenn die definierten Bedingungen erfüllt sind. Der Trader muss nicht mehr auf Live-Preise und Grafiken aufpassen oder die Aufträge manuell einlegen. Das algorithmische Handelssystem tut es automatisch für ihn, indem es die Handelsmöglichkeit korrekt identifiziert. (Für mehr über bewegte Durchschnitte siehe: Einfache Umzugsdurchschnitte machen Trends heraus.) Algo-Trading bietet folgende Vorteile: Trades, die zu den bestmöglichen Preisen ausgeführt werden Sofortige und genaue Trading-Platzierung (damit hohe Chancen auf Ausführung auf Wunsch) Trades Zeitlich abgestimmt und sofort, um signifikante Preisänderungen zu vermeiden Reduzierte Transaktionskosten (siehe Implementierungsfehlbetrag Beispiel unten) Gleichzeitige automatisierte Überprüfung auf mehrere Marktbedingungen Reduziertes Risiko von manuellen Fehlern bei der Platzierung der Trades Backtest der Algorithmus, basierend auf verfügbaren historischen und Echtzeitdaten Reduziert Möglichkeit von Fehlern von menschlichen Händlern, die auf emotionalen und psychologischen Faktoren basieren Der größte Teil des heutigen Algo-Handels ist der Hochfrequenzhandel (HFT), der versucht, eine große Anzahl von Aufträgen mit sehr schnellen Geschwindigkeiten über mehrere Märkte und mehrere Entscheidungen zu tätigen Parameter, basierend auf vorprogrammierten Anweisungen. (Zu mehr im Hochfrequenzhandel siehe: Strategien und Geheimnisse von High Frequency Trading (HFT) - Firmen) Algo-Trading wird in vielen Formen der Handels - und Investitionstätigkeit eingesetzt, darunter: mittel - bis langfristige Anleger oder Buy-Side-Unternehmen (Pensionsfonds) , Investmentfonds, Versicherungsgesellschaften), die in großen Mengen in Aktien kaufen, aber nicht die Aktienpreise mit diskreten, großvolumigen Investitionen beeinflussen wollen. Kurzfristige Händler und Verkaufsseitenteilnehmer (Market Maker, Spekulanten und Arbitrageure) profitieren von der automatisierten Handelsabwicklung darüber hinaus, Algo-Trading hilft bei der Schaffung von ausreichenden Liquidität für Verkäufer auf dem Markt. Systematische Händler (Trendfolger, Paar Trader, Hedgefonds etc.) finden es viel effizienter, ihre Handelsregeln zu programmieren und das Programm automatisch zu handeln. Der algorithmische Handel bietet einen systematischeren Ansatz für den aktiven Handel als Methoden, die auf einer menschlichen Trader-Intuition oder einem Instinkt basieren. Algorithmische Handelsstrategien Jede Strategie für den algorithmischen Handel erfordert eine identifizierte Chance, die in Bezug auf verbesserte Erträge oder Kostensenkungen rentabel ist. Im Folgenden werden gemeinsame Handelsstrategien verwendet, die im Algo-Trading verwendet werden: Die gängigsten algorithmischen Trading-Strategien folgen den Trends bei gleitenden Durchschnitten. Kanalausbrüche. Preisniveaubewegungen und zugehörige technische Indikatoren. Dies sind die einfachsten und einfachsten Strategien, um durch algorithmischen Handel zu implementieren, da diese Strategien keine Vorhersagen oder Preisvorhersagen beinhalten. Trades werden auf der Grundlage des Auftretens von wünschenswerten Trends initiiert. Die einfach und unkompliziert sind, um durch Algorithmen zu implementieren, ohne in die Komplexität der prädiktiven Analyse zu gelangen. Das oben genannte Beispiel von 50 und 200 Tage gleitenden Durchschnitt ist ein beliebter Trend nach Strategie. (Weitere Informationen zu Trendhandelsstrategien finden Sie unter: Einfache Strategien zur Aktivierung von Trends.) Der Kauf eines dualen Börsenplatzes zu einem niedrigeren Preis in einem Markt und der gleichzeitige Veräußerung zu einem höheren Preis in einem anderen Markt bietet die Preisdifferenz als risikofreier Gewinn Oder Arbitrage. Der gleiche Vorgang kann für Aktien gegen Futures-Instrumente repliziert werden, da Preisdifferenzen von Zeit zu Zeit existieren. Die Implementierung eines Algorithmus zur Identifizierung solcher Preisunterschiede und die Platzierung der Aufträge ermöglicht rentable Möglichkeiten in effizienter Weise. Index-Fonds haben Perioden des Neugewinns definiert, um ihre Bestände mit ihren jeweiligen Benchmark-Indizes in Einklang zu bringen. Dies schafft profitable Chancen für algorithmische Händler, die auf erwarteten Trades profitieren, die 20-80 Basispunkte Gewinne in Abhängigkeit von der Anzahl der Aktien im Indexfonds, kurz vor dem Indexfonds-Rebalancing anbieten. Solche Trades werden über algorithmische Handelssysteme für rechtzeitige Ausführung und beste Preise initiiert. Viele bewährte mathematische Modelle, wie die delta-neutrale Trading-Strategie, die den Handel auf Kombination von Optionen und deren zugrunde liegenden Sicherheit ermöglichen. Wo Trades gesetzt werden, um positive und negative Deltas zu versetzen, so dass das Portfolio-Delta auf Null gehalten wird. Die mittlere Reversionsstrategie basiert auf der Idee, dass die hohen und niedrigen Preise eines Vermögenswertes ein temporäres Phänomen sind, das periodisch auf ihren Mittelwert zurückkehrt. Identifizieren und Definieren einer Preisspanne und Implementierung von Algorithmen auf der Grundlage, dass Trades automatisch platziert werden, wenn der Preis von Asset Pausen in und aus seinem definierten Bereich. Die volumengewichtete durchschnittliche Preisstrategie zerbricht einen großen Auftrag und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf den Markt mit Aktienspezifischen historischen Volumenprofilen frei. Ziel ist es, den Auftrag in der Nähe des volumengewichteten Durchschnittspreises (VWAP) auszuführen und damit zu einem durchschnittlichen Preis zu profitieren. Die zeitgewichtete durchschnittliche Preisstrategie zerbricht einen großen Auftrag und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf den Markt mit gleichmäßig geteilten Zeitschlitzen zwischen Start - und Endzeit frei. Ziel ist es, den Auftrag in der Nähe des Durchschnittspreises zwischen Start - und Endzeiten auszuführen und damit die Markteinwirkung zu minimieren. Bis der Trade Order vollständig ausgefüllt ist, fährt dieser Algorithmus fort, Teilaufträge zu senden, entsprechend der definierten Beteiligungsquote und nach dem Volumen, das auf den Märkten gehandelt wird. Die zugehörige Schrittstrategie sendet Aufträge zu einem benutzerdefinierten Prozentsatz des Marktvolumens und erhöht oder verringert diese Erwerbsquote, wenn der Aktienkurs benutzerdefinierte Werte erreicht. Die Implementierungs-Defizitstrategie zielt darauf ab, die Ausführungskosten eines Auftrags durch den Handel auf dem Echtzeitmarkt zu minimieren und dadurch die Kosten der Bestellung zu senken und von den Opportunitätskosten der verzögerten Ausführung zu profitieren. Die Strategie wird die gezielte Erwerbsquote erhöhen, wenn sich der Aktienkurs günstig bewegt und abnimmt, wenn sich der Aktienkurs negativ bewegt. Es gibt ein paar spezielle Klassen von Algorithmen, die versuchen, Ereignisse auf der anderen Seite zu identifizieren. Diese Sniffing-Algorithmen, die zum Beispiel von einem Sell-Side-Market-Maker verwendet werden, haben die eingebaute Intelligenz, um die Existenz von Algorithmen auf der Kaufseite eines großen Auftrags zu identifizieren. Solche Erkennung durch Algorithmen wird dem Marktmacher dabei helfen, große Auftragsmöglichkeiten zu identifizieren und ihm zu ermöglichen, durch die Besetzung der Aufträge zu einem höheren Preis zu profitieren. Dies wird manchmal als Hightech-Frontlauf bezeichnet. (Für mehr auf High-Frequenz-Handel und betrügerische Praktiken, siehe: Wenn Sie Aktien kaufen Online, sind Sie in HFTs beteiligt.) Technische Voraussetzungen für Algorithmic Trading Die Umsetzung der Algorithmus mit einem Computer-Programm ist der letzte Teil, Clubbed mit Backtesting. Die Herausforderung besteht darin, die identifizierte Strategie in einen integrierten computergestützten Prozess umzuwandeln, der Zugang zu einem Handelskonto für die Platzierung von Aufträgen hat. Folgende werden benötigt: Computerprogrammierkenntnisse zur Programmierung der geforderten Handelsstrategie, angepasste Programmierer oder vorgefertigte Trading-Software Netzwerkkonnektivität und Zugriff auf Handelsplattformen für die Platzierung der Aufträge Der Zugriff auf Marktdaten-Feeds, die vom Algorithmus für die Möglichkeit der Platzierung überwacht werden Aufträge Die Fähigkeit und die Infrastruktur, das System einmalig zu testen, bevor es auf echten Märkten geht Erhältlich historische Daten für das Backtesting, abhängig von der Komplexität der im Algorithmus implementierten Regeln Hier ist ein umfassendes Beispiel: Royal Dutch Shell (RDS) ist in Amsterdam aufgeführt Börse (AEX) und Londoner Börse (LSE). Lets bauen einen Algorithmus, um Arbitrage-Möglichkeiten zu identifizieren. Hier sind einige interessante Beobachtungen: AEX handelt in Euro, während LSE in Pfund Sterling pflegt. Aufgrund der einstündigen Zeitdifferenz eröffnet AEX eine Stunde früher als LSE, gefolgt von beiden Börsen, die gleichzeitig für die nächsten Stunden handeln und dann nur in LSE handeln Die letzte Stunde als AEX schließt können wir die Möglichkeit der Arbitrage Handel auf der Royal Dutch Shell Aktie auf diesen beiden Märkten in zwei verschiedenen Währungen gelistet ein Computer-Programm, das aktuelle Marktpreise lesen können Preis Feeds von sowohl LSE und AEX A Forex Rate Feed für GBP-EUR Umrechnungskurs Bestellen von Platzierungsmöglichkeiten, die den Auftrag an den richtigen Austausch weiterleiten können Back-Testing-Fähigkeit zu historischen Preisfuttermitteln Das Computerprogramm sollte folgendes ausführen: Lesen Sie den eingehenden Preisvorschub der RDS-Aktie von beiden Börsen unter Verwendung der verfügbaren Wechselkurse . Umwandlung des Preises einer Währung in andere Wenn es eine ausreichend große Preisdiskrepanz (Abzinsung der Vermittlungskosten) gibt, die zu einer gewinnbringenden Gelegenheit führt, dann legen Sie den Kaufauftrag auf niedrigeren Preisvermittlungs - und Verkaufsauftrag auf höherer Preisvermittlung Wenn die Aufträge als ausgeführt werden Gewünscht, wird die Arbitrage Gewinn folgen Simple und Easy Allerdings ist die Praxis der algorithmischen Handel ist nicht so einfach zu pflegen und auszuführen. Denken Sie daran, wenn Sie einen Algo-generierten Handel platzieren können, so können die anderen Marktteilnehmer. Infolgedessen schwanken die Preise in Milli - und sogar Mikrosekunden. In dem obigen Beispiel, was passiert, wenn Ihr Kaufhandel ausgeführt wird, aber verkaufen Handel nicht als die Verkaufspreise ändern sich um die Zeit Ihre Bestellung trifft den Markt Sie werden am Ende sitzen mit einer offenen Position. Ihre Arbitrage-Strategie wertlos machen. Es gibt zusätzliche Risiken und Herausforderungen: z. B. Systemausfallrisiken, Netzwerkverbindungsfehler, Zeitverzögerungen zwischen Handelsaufträgen und Ausführung und vor allem unvollständige Algorithmen. Je komplexer ein Algorithmus ist, desto strengeres Backtesting ist nötig, bevor es in die Tat umgesetzt wird. Die quantitative Analyse einer Algorithmen-Performance spielt eine wichtige Rolle und sollte kritisch untersucht werden. Es ist spannend, für die Automatisierung zu helfen, die von Computern mit einer Vorstellung geboten wird, um mühelos Geld zu verdienen. Aber man muss sicherstellen, dass das System gründlich getestet ist und die erforderlichen Grenzwerte festgelegt sind. Analytische Händler sollten überlegen, Programmierung und Gebäude-Systeme auf eigene Faust zu lernen, um sicher zu sein, die Umsetzung der richtigen Strategien in narrensicherer Weise zu sein. Vorsichtige Verwendung und gründliche Prüfung von Algo-Trading kann rentable Chancen. Beginner39s Guide to Quantitative Trading In diesem Artikel Im gehen, um Ihnen einige der grundlegenden Konzepte, die ein Ende-zu-Ende quantitativen Handelssystem begleiten. Dieser Beitrag wird hoffentlich zwei Zuschauern bedienen. Die ersten werden Einzelpersonen versuchen, einen Job an einem Fonds als quantitative Trader zu erhalten. Die zweite werden Einzelpersonen sein, die versuchen wollen, ihre eigenen Einzelhandels-algorithmischen Handelsgeschäfte einzurichten. Der quantitative Handel ist ein äußerst anspruchsvolles Gebiet der Quantfinanzierung. Es kann eine beträchtliche Zeit in Anspruch nehmen, um das notwendige Wissen zu gewinnen, um ein Interview zu bestehen oder eigene Trading-Strategien zu konstruieren. Nicht nur das, sondern es erfordert umfangreiche Programmierkenntnisse, zumindest in einer Sprache wie MATLAB, R oder Python. Doch da die Handelshäufigkeit der Strategie zunimmt, werden die technologischen Aspekte viel wichtiger. So vertraut mit CC wird von größter Bedeutung sein. Ein quantitatives Handelssystem besteht aus vier Hauptkomponenten: Strategieidentifizierung - Strategie finden, einen Vorteil ausschöpfen und sich auf die Handelsfrequenz konzentrieren Strategie Backtesting - Daten erwerben, Strategie-Performance analysieren und Biases beseitigen Execution System - Verknüpfung mit einem Brokerage, Automatisierung des Handels und Minimierung Transaktionskosten Risikomanagement - Optimale Kapitalallokation, Wette GrößeKelly Kriterium und Handelspsychologie Beginnen wir mit einem Blick auf die Identifizierung einer Handelsstrategie. Strategieidentifikation Alle quantitativen Handelsprozesse beginnen mit einer anfänglichen Forschungsphase. Dieser Forschungsprozess umfasst die Suche nach einer Strategie, ob die Strategie in ein Portfolio von anderen Strategien, die Sie laufen können, passt, um alle Daten zu erhalten, die notwendig sind, um die Strategie zu testen und zu versuchen, die Strategie für höhere Renditen und ein geringeres Risiko zu optimieren. Sie müssen Ihre Eigenkapitalanforderungen berücksichtigen, wenn Sie die Strategie als Einzelhändler betreiben und wie sich die Transaktionskosten auf die Strategie auswirken werden. Im Gegensatz zum populären Glauben ist es eigentlich ganz einfach, profitable Strategien durch verschiedene öffentliche Quellen zu finden. Die Akademiker veröffentlichen regelmäßig die theoretischen Handelsergebnisse (wenn auch meist die Transaktionskosten). Quantitative Finanz-Blogs diskutieren Strategien im Detail. Fachzeitschriften werden einige der von den Fonds eingesetzten Strategien skizzieren. Sie könnten fragen, warum Einzelpersonen und Firmen sind scharf, ihre rentablen Strategien zu diskutieren, vor allem, wenn sie wissen, dass andere Gedränge der Handel kann die Strategie von der Arbeit auf lange Sicht zu stoppen. Der Grund liegt in der Tatsache, dass sie nicht oft die genauen Parameter und Tuning-Methoden, die sie durchgeführt haben, diskutieren. Diese Optimierungen sind der Schlüssel, um eine relativ mittelmäßige Strategie zu einem sehr profitablen zu machen. In der Tat ist eine der besten Möglichkeiten, um Ihre eigenen einzigartigen Strategien zu schaffen, ähnliche Methoden zu finden und dann führen Sie Ihre eigene Optimierung Verfahren. Hier ist eine kleine Liste von Orten, um auf der Suche nach Strategie-Ideen zu beginnen: Viele der Strategien, die Sie betrachten werden, fallen in die Kategorien von Mittel-Reversion und Trend-Followmomentum. Eine Mittelrückkehrstrategie ist eine, die versucht, die Tatsache auszuschöpfen, dass ein langfristiger Mittelwert für eine Preisreihe (wie die Verteilung zwischen zwei korrelierten Vermögenswerten) besteht und dass kurzfristige Abweichungen von diesem Mittelwert schließlich zurückgehen werden. Eine Impulsstrategie versucht, sowohl die Investorenpsychologie als auch die Großfondsstruktur zu nutzen, indem sie eine Fahrt auf einen Markttrend einnimmt, der in einer Richtung Impulse sammeln und dem Trend folgen kann, bis er sich umkehrt. Ein weiterer wichtiger Aspekt des quantitativen Handels ist die Häufigkeit der Handelsstrategie. Niederfrequenzhandel (LFT) bezieht sich allgemein auf jede Strategie, die Vermögenswerte hält, die länger als ein Handelstag sind. Entsprechend bezieht sich der Hochfrequenzhandel (HFT) im Allgemeinen auf eine Strategie, die Vermögenswerte intraday hält. Ultra-High-Frequenz-Handel (UHFT) bezieht sich auf Strategien, die Vermögenswerte in der Größenordnung von Sekunden und Millisekunden halten. Als Einzelhandels-Praktiker HFT und UHFT sind sicherlich möglich, aber nur mit detaillierten Kenntnissen der Trading-Technologie Stack und Orderbuch Dynamik. Wir werden diese Aspekte in diesem Einführungsartikel in keiner Weise besprechen. Sobald eine Strategie oder eine Reihe von Strategien identifiziert wurde, muss sie nun auf die Profitabilität auf historischen Daten getestet werden. Das ist die Domäne der Backtesting. Strategie Backtesting Das Ziel der Backtesting ist es, den Nachweis zu erbringen, dass die Strategie, die über den oben genannten Prozess identifiziert wurde, 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 das Backtesting aus Sicherheitsgründen keine Garantie für den Erfolg. Es ist vielleicht der subtilste Bereich des quantitativen Handels, da er zahlreiche Vorurteile mit sich bringt, die sorgfältig betrachtet und so weit wie möglich beseitigt werden müssen. Wir diskutieren die gemeinsamen Arten von Bias einschließlich Look-Ahead Bias. Überlebens-Bias und Optimierung Bias (auch bekannt als Data-Snooping Bias). Weitere wichtige Bereiche im Backtesting sind die Verfügbarkeit und Sauberkeit der historischen Daten, das Factoring in realistischen Transaktionskosten und die Entscheidung über eine robuste Backtesting-Plattform. Besprechen Sie die Transaktionskosten weiter unten im Abschnitt Sicherheitssysteme. Sobald eine Strategie identifiziert wurde, ist es notwendig, die historischen Daten zu erhalten, durch die die Durchführung von Tests und eventuell Verfeinerung durchgeführt werden soll. Es gibt eine beträchtliche Anzahl von Datenanbietern über alle Assetklassen hinweg. Ihre Kosten im Allgemeinen skalieren 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 freien Datensatz von Yahoo Finance. Ich werde hier nicht zu viel zu viel zu Hause sein, vielmehr möchte ich mich auf die allgemeinen Fragen konzentrieren, wenn es um historische Datensätze geht. Zu den Hauptanliegen der historischen Daten gehören die Genauigkeitsgleichheit, die Überlebensvorsorge und die Anpassung an Unternehmensaktionen wie Dividenden und Aktiensplits: Die Genauigkeit bezieht sich auf die Gesamtqualität der Daten - ob es Fehler gibt. Fehler können manchmal leicht zu identifizieren, wie mit einem Spike-Filter. Die falsche Spikes in Zeitreihen-Daten auswählen und für sie korrigieren werden. Zu anderen Zeiten können sie sehr schwer zu erkennen sein. Es ist oft notwendig, zwei oder mehr Anbieter zu haben und dann alle ihre Daten gegeneinander zu überprüfen. Überlebensstörung ist oft ein Merkmal von freien oder billigen Datasets. Ein Datensatz mit Überlebensvorgabe bedeutet, dass es keine Vermögenswerte enthält, die nicht mehr handeln. Im Falle von Aktien bedeutet dies, Diese Bias bedeutet, dass jede Aktienhandelsstrategie, die auf einem solchen Datensatz getestet wird, wahrscheinlich besser als in der realen Welt ist, da die historischen Gewinner bereits vorgewählt wurden. Bei den Kapitalmaßnahmen handelt es sich um logistische Aktivitäten des Unternehmens, die in der Regel eine stufenförmige Änderung des Rohpreises verursachen, die nicht in die Berechnung der Renditen des Preises einbezogen werden sollte. Anpassungen für Dividenden und Aktiensplits sind die üblichen Täter. Ein Prozeß, der als Rückenverstellung bekannt ist, ist notwendig, um bei jeder dieser Aktionen durchgeführt zu werden. Man muss sehr vorsichtig sein, einen Aktiensplit nicht mit einer echten Renditeanpassung zu verwechseln. Viele Händler wurden von einer Unternehmensaktion erwischt. Um ein Backtest-Verfahren durchführen zu können, ist es notwendig, eine Softwareplattform zu nutzen. Sie haben die Wahl zwischen dedizierter Backtest-Software wie Tradestation, einer numerischen Plattform wie Excel oder MATLAB oder einer kompletten benutzerdefinierten Implementierung in einer Programmiersprache wie Python oder C. Ich werde nicht zu viel auf Tradestation (oder ähnlich), Excel oder MATLAB, wie ich glaube an die Schaffung eines kompletten Inhouse-Technologie-Stack (aus Gründen unten skizziert). Einer der Vorteile davon ist, dass das Backtest-Software - und Ausführungssystem auch bei extrem fortgeschrittenen statistischen Strategien eng integriert werden kann. Für HFT-Strategien ist es insbesondere wichtig, eine benutzerdefinierte Implementierung zu nutzen. Beim Backtesting eines Systems muss man in der Lage sein zu quantifizieren, wie gut es funktioniert. Die branchenüblichen Metriken für quantitative Strategien sind der maximale Drawdown und das Sharpe Ratio. Der maximale Drawdown charakterisiert den größten Peak-to-Trog-Drop in der Konto-Equity-Kurve über einen bestimmten Zeitraum (in der Regel jährlich). Dies wird am häufigsten 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 die Sharpe Ratio, die heuristisch definiert ist als der Durchschnitt der Überschussrenditen dividiert durch die Standardabweichung dieser Überschussrenditen. Hier bezieht sich die Überschussrendite auf die Rendite der Strategie über einem vorgegebenen Benchmark. Wie die SP500 oder eine 3-Monats-Treasury Bill. Beachten Sie, dass die annualisierte Rendite nicht eine Maßnahme ist, die in der Regel verwendet wird, da sie die Volatilität der Strategie nicht berücksichtigt (im Gegensatz zum Sharpe Ratio). Sobald eine Strategie rückwirkend ist und als frei von Vorurteilen (in so viel wie möglich) gilt, mit einem guten Sharpe und minimierten Drawdowns ist es Zeit, ein Ausführungssystem zu bauen. Ausführungssysteme Ein Ausführungssystem ist das Mittel, mit dem die von der Strategie erzeugte Liste der Trades vom Makler gesendet und ausgeführt wird. Trotz der Tatsache, dass die Handelserzeugung halb - oder sogar vollautomatisch sein kann, kann der Ausführungsmechanismus manuell, halb manuell (d. H. Ein Klick) oder vollautomatisch 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 mit dem Handelsgenerator (aufgrund der gegenseitigen Abhängigkeit von Strategie und Technologie) eng verbunden ist. Die wichtigsten Überlegungen bei der Erstellung eines Ausführungssystems sind die Schnittstelle zum Brokerage. Minimierung der Transaktionskosten (inklusive Provision, Schlupf und Spreizung) und Divergenz der Performance des Live-Systems durch rückwirkende Performance. Es gibt viele Möglichkeiten, eine Brokerage anzuschließen. Sie reichen vom Aufruf Ihres Brokers am Telefon bis hin zu einer vollautomatischen Hochleistungs-Programmierschnittstelle (API). Idealerweise möchten Sie die Ausführung Ihrer Trades so weit wie möglich automatisieren. Dies befreit Sie, um sich auf weitere Forschung zu konzentrieren, sowie ermöglichen es Ihnen, mehrere Strategien oder sogar Strategien der höheren Frequenz laufen (in der Tat ist HFT im Wesentlichen unmöglich ohne automatisierte Ausführung). Die oben beschriebene gemeinsame Backtesting-Software wie MATLAB, Excel und Tradestation sind für niedrigere Frequenz, einfachere Strategien gut. However it will be necessary to construct an in-house execution system written in a high performance language such as C in order to do any real HFT. As an anecdote, in the fund I used to be employed at, we had a 10 minute trading loop where we would download new market data every 10 minutes and then execute trades based on that information in the same time frame. This was using an optimised Python script. For anything approaching minute - or second-frequency data, I believe CC would be more ideal. In a larger fund it is often not the domain of the quant trader to optimise execution. However in smaller shops or HFT firms, the traders ARE the executors and so a much wider skillset is often desirable. Bear that in mind if you wish to be employed by a fund. Your programming skills will be as important, if not more so, than your statistics and econometrics talents Another major issue which falls under the banner of execution is that of transaction cost minimisation. There are generally three components to transaction costs: Commissions (or tax), which are the fees charged by the brokerage, the exchange and the SEC (or similar governmental regulatory body) slippage, which is the difference between what you intended your order to be filled at versus what it was actually filled at spread, which is the difference between the bidask price of the security being traded. Note that the spread is NOT constant and is dependent upon the current liquidity (i. e. availability of buysell orders) in the market. Transaction costs can make the difference between an extremely profitable strategy with a good Sharpe ratio and an extremely unprofitable strategy with a terrible Sharpe ratio. It can be a challenge to correctly predict transaction costs from a backtest. Depending upon the frequency of the strategy, you will need access to historical exchange data, which will include tick data for bidask prices. Entire teams of quants are dedicated to optimisation of execution in the larger funds, for these reasons. Consider the scenario where a fund needs to offload a substantial quantity of trades (of which the reasons to do so are many and varied). By dumping so many shares onto the market, they will rapidly depress the price and may not obtain optimal execution. Hence algorithms which drip feed orders onto the market exist, although then the fund runs the risk of slippage. Further to that, other strategies prey on these necessities and can exploit the inefficiencies. This is the domain of fund structure arbitrage . The final major issue for execution systems concerns divergence of strategy performance from backtested performance. This can happen for a number of reasons. Weve already discussed look-ahead bias and optimisation bias in depth, when considering backtests. However, some strategies do not make it easy to test for these biases prior to deployment. This occurs in HFT most predominantly. There may be bugs in the execution system as well as the trading strategy itself that do not show up on a backtest but DO show up in live trading. The market may have been subject to a regime change subsequent to the deployment of your strategy. New regulatory environments, changing investor sentiment and macroeconomic phenomena can all lead to divergences in how the market behaves and thus the profitability of your strategy. Risk Management The final piece to the quantitative trading puzzle is the process of risk management . Risk includes all of the previous biases we have discussed. It includes technology risk, such as servers co-located at the exchange suddenly developing a hard disk malfunction. It includes brokerage risk, such as the broker becoming bankrupt (not as crazy as it sounds, given the recent scare with MF Global). In short it covers nearly everything that could possibly interfere with the trading implementation, of which there are many sources. Whole books are devoted to risk management for quantitative strategies so I wontt attempt to elucidate on all possible sources of risk here. Risk management also encompasses what is known as optimal capital allocation . which is a branch of portfolio theory . This is the means by which capital is allocated to a set of different strategies and to the trades within those strategies. It is a complex area and relies on some non-trivial mathematics. The industry standard by which optimal capital allocation and leverage of the strategies are related is called the Kelly criterion . Since this is an introductory article, I wont dwell on its calculation. The Kelly criterion makes some assumptions about the statistical nature of returns, which do not often hold true in financial markets, so traders are often conservative when it comes to the implementation. Another key component of risk management is in dealing with ones own psychological profile. There are many cognitive biases that can creep in to trading. Although this is admittedly less problematic with algorithmic trading if the strategy is left alone A common bias is that of loss aversion where a losing position will not be closed out due to the pain of having to realise a loss. Similarly, profits can be taken too early because the fear of losing an already gained profit can be too great. Another common bias is known as recency bias . This manifests itself when traders put too much emphasis on recent events and not on the longer term. Then of course there are the classic pair of emotional biases - fear and greed. These can often lead to under - or over-leveraging, which can cause blow-up (i. e. the account equity heading to zero or worse) or reduced profits. As can be seen, quantitative trading is an extremely complex, albeit very interesting, area of quantitative finance. I have literally scratched the surface of the topic in this article and it is already getting rather long Whole books and papers have been written about issues which I have only given a sentence or two towards. For that reason, before applying for quantitative fund trading jobs, it is necessary to carry out a significant amount of groundwork study. At the very least you will need an extensive background in statistics and econometrics, with a lot of experience in implementation, via a programming language such as MATLAB, Python or R. For more sophisticated strategies at the higher frequency end, your skill set is likely to include Linux kernel modification, CC, assembly programming and network latency optimisation. If you are interested in trying to create your own algorithmic trading strategies, my first suggestion would be to get good at programming. My preference is to build as much of the data grabber, strategy backtester and execution system by yourself as possible. If your own capital is on the line, wouldnt you sleep better at night knowing that you have fully tested your system and are aware of its pitfalls and particular issues Outsourcing this to a vendor, while potentially saving time in the short term, could be extremely expensive in the long-term. Just Getting Started with Quantitative Trading

No comments:

Post a Comment