Saturday 25 November 2017

Handelsstrategien Matlab


MatlabTrading Dieser Beitrag ist, wie wichtig es ist, verschiedene Arten von Optimierungsmethoden wie genetische Algorithmen und Parallelisierung verwenden, um Ergebnisse schneller zu erhalten. Genetische Algorithmen Optimierung Trotz der Tatsache, dass das genetische (evolutionäre) Algorithmusprinzip in den MathWorks-Webinars sehr gut erklärt ist, wird es in den Beispielen jedoch nur zur Optimierung der Wahl einer Strategiegruppe aus einem Satz verwendet. Dies ist ein gutes Beispiel für die Verwendung dieser Algorithmen, aber es passiert, dass es notwendig ist, viele Variablen mit erheblichen Intervallen für eine Strategie, die Sie nicht durch mit einer Iteration und die Parallelisierung von Prozessen 8211 Berechnungen kann mehrere Tage dauern . Sicherlich gibt es Strategien in der letzten Phase der Optimierung. Wenn wir fast sicher wissen, dass die Trading-Strategie erfolgreich ist, können wir für mehrere Tage warten oder mieten Sie den gesamten Cluster - das Ergebnis könnte sich lohnen. Allerdings, wenn wir die Ergebnisse einer sperrigen Strategie abschätzen und entscheiden müssen, ob es sich lohnt, die Zeit zu verbringen, dann können genetische Algorithmen perfekt geeignet sein. Wir bieten die Möglichkeit, drei Methoden zur Optimierung der Strategie in WFAToolbox zu verwenden: Lineare Methode 8211 Es ist eine übliche Art der Sortierung, in der Sie alle Zwischenergebnisse (suboptimal) sehen werden. Es gibt maximale Genauigkeit. Parallel-Methode 8211 werden alle Kernel Ihrer CPU verwendet. Es ist nicht erlaubt, Zwischenergebnisse zu sehen, aber erheblich beschleunigt den Betrieb. Es gibt maximale Genauigkeit während Erhöhung der Berechnungsgeschwindigkeit. Genetische Methode 8211 verwendet es den evolutionären Optimierungsalgorithmus. Es erlaubt, suboptimale Werte zu sehen, gibt aber das Ergebnis nahe am besten. Seine nicht eine sehr genaue Methode, aber seine genaue genug für den ersten Lauf der Strategie. Sehr schnell. Wir werden oft gefragt, ob WFAToolbox - Walk-Forward Analysis Toolbox für MATLAB die Möglichkeit hat, die GPU in Berechnungen zu verwenden. Leider ist GPU nicht für alle Aufgaben geeignet und seine Verwendung ist sehr spezifisch. Um es zu benutzen, müssen Sie die Logik und den Code der einzelnen Strategien für Grafikkerne testen. Leider, aufgrund dieser Nicht-Universalität der Methode kann man nicht verwenden GPU in WFAToolbox. Weiterführend Teil 2 der Diskussion von Problemen und Lösungen bei der Prüfung und Analyse der algorithmischen Handelsstrategie in MATLAB, lade ich Sie zu diesem Beitrag über das Problem der Nichtverfügbarkeit der Visualisierung der Prozesse in modernen Software-Lösungen für das Testen von Handelssystemen zu lesen. Visualisierung des Testprozesses In meiner Arbeitserfahrung analysierte ich häufig andere populäre Plattformen für das Trading-Strategie-Testen. Wie zum Beispiel TradeStation. MetaStock. Multicharts etc. und ich war immer überrascht, wie wenig Aufmerksamkeit für die Visualisierung des Testprozesses bezahlt wurde. Die Sache ist, dass, wenn wir nicht sehen, die Ergebnisse der Zwischen-, suboptimale Werte der optimierten Parameter, wir oft wegwerfen Gold zusammen mit dem Schmutz. Die Sache ist, weil eine übermäßig breite Stichprobe, die Strategie passt die Parameter, wie wir entweder sehen, eine perfekte Strategie, die im wirklichen Leben scheitert oder sehen Sie ein oder zwei Angebote, die angeblich die besten sind, weil es solche Zeitintervalldaten, wo die gewählt wurde Beste Handelsstrategie wäre Buy-and-Hold, aber warum sind dann andere Strategien notwendig für die Visualisierung des Trading-Strategie-Testprozess in MATLAB (im Webinar vorgeschlagen) Als Ergebnis, ohne zu sehen, Zwischenergebnisse, müssen wir 171blindly187 ändern Sie die Parameter zu versuchen Um die besseren Daten zu erhalten oder sie in einigen 3D oder 4D (Farbe ist die 4. Dimension), wie in Webinaren vorgeschlagen. Die Analyse der Werte in den N-dimensionalen Räumen kann auf jeden Fall eine Alternative sein, hat aber mehrere Einschränkungen: Was passiert, wenn es mehr als 4 Dimensionen Wenn Sie sehen, welche Signale und mit welcher Frequenz sie in der Preisklasse erscheinen, haben Sie fast alle Notwendige visuelle Darstellung Ihrer Strategie: die Häufigkeit der Transaktionen, ihre Rentabilität (Einkommenskurve), die Genauigkeit der Öffnung, die Ähnlichkeit mit anderen suboptimalen Werten usw., die nicht über die Leistung im N-dimensionalen Raum gesagt werden können, wo alle nützlichen Informationen Ist in der Tat, dass der optimale Wert nicht nur eine ist, sondern es gibt einen ganzen Bereich von suboptimalen Werten in einem oder mehreren Bereichen. Während Optimierung einer Strategie in WFAToolbox 8211 Walk-Forward Analysis Toolbox für MATLAB174. Wenn ein neuer optimaler Wert gefunden wird, erscheinen die Trading-Strategiesignale in der Periode in-sample und out-of-sample sofort auf dem Chart, so dass Sie immer kontrollieren können, welchen Bereich von Optionen Sie zuordnen sollten und auch die Optimierung pausieren können Ohne auf das Ende des Tests warten, wie es klar wird, dass etwas schief ging oder alles in Ordnung ist. Hallo, mein Name ist Igor Volkov. Ich entwickle seit 2006 algorithmische Handelsstrategien und habe in mehreren Hedgefonds gearbeitet. In diesem Artikel möchte ich die Schwierigkeiten auf dem Weg der MATLAB Trading Strategies Entwickler während der Prüfung und Analyse zu diskutieren, sowie mögliche Lösungen zu diskutieren. Seit 2007 nutze ich MATLAB zum Testen von Algorithmusstrategien, und ich bin zu dem Schluss gekommen, dass es sich dabei nicht nur um das geeignetste Forschungswerkzeug handelt, sondern auch um das mächtigste, weil es die Verwendung von komplexen statistischen und ökonometrischen Modellen, Maschine-Lernen, digitale Filter, Fuzzy-Logik, etc, indem Toolbox. Die MATLAB-Sprache ist recht einfach und gut dokumentiert, so dass selbst ein Nichtprogrammierer (wie ich) es beherrschen kann. Wie alles begann. Es war 2008 (wenn ich mich nicht irre), als das erste Webinar über den algorithmischen Handel in MATLAB mit Ali Kazaam veröffentlicht wurde, das das Thema der Optimierung einfacher Strategien basierend auf technischen Indikatoren, etc. trotz eines ziemlich 8220chaotic8221-Codes enthielt, waren Werkzeuge interessant Genug zu bedienen. Sie dienten als Ausgangspunkt für die Erforschung und Verbesserung eines Test - und Analysemodells, das es erlaubte, die ganze Kraft der Werkzeugkästen und die Freiheit der MATLAB-Aktionen während der Schaffung eigener Handelsstrategien zu nutzen und gleichzeitig den Prozess zu kontrollieren Der Tests und die erhaltenen Daten und ihre anschließende Analyse würde ein wirksames Portfolio von robusten Handelssystemen wählen. Anschließend wurden die Mathworks-Webinare jedes Jahr aktualisiert und allmählich mehr und mehr interessante Elemente eingeführt. So wurde im Jahr 2010 das erste Webinar zum Paarenhandel (statistisches Arbitrage) unter Verwendung der Econometric Toolbox abgehalten, obwohl die Toolbox für Testen und Analysen gleich geblieben ist. Im Jahr 2013 erschien Trading Toolbox von Mathworks, die erlaubt, MATLAB an verschiedene Broker für die Ausführung ihrer Anwendungen zu verbinden. Obwohl es automatische Lösungen für die Durchführung der Transaktionen gab, könnte MATLAB von diesem Punkt an ein System für die Entwicklung von Handelsstrategien mit einem vollen Zyklus betrachtet werden: von der Datenverladung bis zur Ausführung automatisierter Handelsstrategien. Warum sollte jeder Algotrader Reinly the Wheel Allerdings hat Mathworks nicht eine komplette Lösung für das Testen und Analysieren der Strategien 8211 angeboten, die Codes, die Sie von Webinaren erhalten konnten, waren die einzigen Elemente eines vollständigen Systemtests, und es war notwendig, sie zu modifizieren , Passen Sie sie an und fügen Sie sie zur GUI für Benutzerfreundlichkeit hinzu. Es war sehr zeitaufwendig und stellte so eine Frage: Was auch immer die Strategie war, es muss durch denselben Test - und Analyseprozess gehen, der es erlauben würde, als stabil und nutzbar zu klassifizieren, also warum sollte jeder Algotrader das Rad neu erfinden und schreiben Seinen eigenen Code für die richtigen Test-Strategien in MATLAB So wurde die Entscheidung getroffen, um ein Produkt, das ermöglichen würde, um den gesamten Prozess im Zusammenhang mit der Prüfung und Analyse von algorithmischen Handelsstrategien mit einer einfachen und benutzerfreundlichen Schnittstelle. Zuerst möchte ich die folgenden Fragen beantworten: Was mit dem Blog passiert ist 1. Jev Kuznetsov ist nicht der Eigentümer mehr Der Blog wurde von unserem Freund, Jev Kuznetsov, der zu seinem anderen Blog tradingwithpython. blogspot verschoben hat gekauft. Er kam zu dem Schluss, dass Python besser ist als MATLAB für den Handel, den ich für falsch halte. MATLAB bleibt eine der besten Software der Welt für algorithmische Handelszwecke IMHO (Ich habe einige Tatsachen über dieses zwar für zukünftige Diskussion). 2. Wir haben die Marke verändert Von diesem Moment wird der Blog MatlabTrading genannt werden, was viel verständlicher ist in Bezug auf die Themen, die es enthalten wird. Außerdem wurde der Domänenname in matlabtrading anstelle des ursprünglichen matlab-trading. blogspot geändert. Obwohl die alte Domäne immer noch von dem primären Domänennamen weiterleitet. Was passiert mit dem Blog 1. Mehr Beiträge und Artikel Wir hoffen, das Leben in diesem Blog zu bringen, indem wir relevante Inhalte ein - oder zweimal pro Woche posten. In den ersten Monaten werden wir meistens jene Artikel und Videos posten, die wir bereits haben, um es unseren Lesern einfacher zu machen, nach Informationen über eine Ressource zu suchen und sie zu vernetzen. Dann haben wir Pläne, Beiträge über praktische Aspekte des algorithmischen Handels in MATLAB zu schreiben. Wie schafft man moderne automatische Handelsstrategien wie: Statistische Arbitrage Paare Handel bedeuten Reversion marktneutrale Trading-Strategien auf Cointegration bollinger Bands kalman Filter etc für Rohstoffe, Aktien und Forex. Trend nach Strategien mit Jurik Moving Average und anderen anspruchsvollen digitalen Filtern Vorhersage Strategien mit maschinellem Lernen (Support Vector Machines) und andere Methoden Erstellen Sie robuste Trading-Strategien mit visuellen Walk-forward-Prüfung Geld-Management für die Reinvestition Ihres Kapitals (Wissenschaft, wie man 1M von 10K zu bekommen In einem Jahr mit maximaler, aber geschätzter Risiko - und Schweißbelastung). Vielleicht nach der Lektüre dieses youve dachte, das wird ein weiterer dummer Artikel für die armen Jungs suchen, wie man reich durch den Handel auf Forex und all das werden. Nun, das ist völlig falsch Wir arbeiten in MATLAB, und die Mehrheit von uns sind Wissenschaftler und Experten in diesem Aspekt, so dass alles ernst ist. 2. Mehr Interaktivität Ich werde glücklich sein, wenn wir alle durch Kommentare in Beiträgen beziehen können. Abonnieren Sie unsere News, um über die neuesten Beiträge und Veranstaltungen informiert zu werden. Später haben wir Pläne, Google Hangouts Webinare zu machen. Dont miss it, klicken Sie auf Follow-Button an der oberen rechten Ecke zu unserer Community beitreten. Was möchten Sie in unseren Blogbeiträgen lesen? Welche Themen können Sie vorschlagen? Schreiben Sie hier in den Kommentaren. In meinem früheren Post kam ich zu dem Schluss, dass die Nähe zu engen Paaren Handel ist nicht so profitabel, wie es früher vor 2010 war. Ein Leser wies darauf hin, dass es sein könnte, dass Mittel-wiederkehrende Natur der Spreads nur in Richtung kürzere Zeitskalen verschoben . Ich habe zufällig die gleiche Idee zu teilen, so dass ich beschlossen, diese Hypothese zu testen. Dieses Mal wird nur ein Paar getestet: 100 SPY vs -80 IWM. Backtest wird auf 30-Sekunden-Bar-Daten von 11.2011 bis 12.2012 durchgeführt. Die Regeln sind einfach und ähnlich wie Strategie, die ich in der letzten Post getestet: Wenn Bar Rückgabe des Paares 1 auf z-Score übersteigt, den nächsten Balken. Das Ergebnis sieht sehr hübsch aus: Ich halte dies für ausreichend, um zu beweisen, dass es in der 30-Sekunden-Skala noch genügend Mittelwert-Reversion gibt. Wenn Sie denken, dass diese Tabelle zu gut ist, um wahr zu sein, ist das leider tatsächlich der Fall. Es wurden keine Transaktionskosten oder Bid-Ask-Spannen berücksichtigt. In der Tat, ich würde bezweifeln, dass es keinen Gewinn nach der Subtraktion aller Handelskosten übrig. Doch diese Art von Charts ist die Karotte baumelt vor meiner Nase, halten mich gehen. Schlechte Nachrichten alle, nach meinen Berechnungen, (die ich aufrichtig hoffe, sind falsch) ist das klassische Paar Handel ist tot. Manche Leute würden stark widersprechen, aber hier ist, was ich gefunden habe: Lets nehmen eine hypothetische Strategie, die auf einem Korb von etfs funktioniert: SPY, XLY, XLE, XLF, XLI, XLB, XLK, IWM, QQQ, DIA Von diesen etfs 90 einzigartig Paare gebildet werden können. Jedes Paar ist marktneutral aufgebaut. Strategie Regeln: An jedem Tag, für jedes Paar, berechnen z-Score basierend auf 25-Tage-Standardabweichung. Wenn z-Score gt Schwelle, gehen Sie kurz, schließen nächsten Tag Wenn z-Score lt-Schwelle gehen lange, schließe nächsten Tag Um es ganz einfach, die Berechnung erfolgt ohne Kapitalmanagement (man kann bis zu 90 Paare im Portfolio haben An jedem Tag). Auch Transaktionskosten werden nicht berücksichtigt. Um es einfach auszudrücken, verfolgt diese Strategie eine eintägige Umkehrung der Marktneutralspreads. Hier werden die Ergebnisse für mehrere Schwellen simuliert: Egal welche Schwelle verwendet wird, die Strategie ist 2008 sehr erfreulich, ziemlich gut von 2009 und völlig wertlos ab Anfang 2010. Dies ist nicht das erste Mal, dass ich auf diese Veränderung im Mittelrückgang gestoßen bin Verhalten in etfs. Egal, was Ive versucht, hatte ich kein Glück bei der Suche nach einem Paar Handelsstrategie, die auf ETFs Vergangenheit 2010 arbeiten würde. Meine Schlussfolgerung ist, dass diese Arten von einfachen stat-arb-Modelle nur nicht schneiden es nicht mehr. Bitfinex gab heute den Beginn des Bergbaus Verträge als Handelsprodukt auf ihrer Plattform. Insgesamt wurden 100 THS (Terahashes pro Sekunde) mit einer Laufzeit von 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 mehr Bergbau-Verträge in Zukunft verfügbar sein könnten. Interessanterweise ist dies das erste Mal, dass es möglich ist, einen Bergbau-Vertrag zu kürzen. Der Abbau eines Bergbaukontrakts bedeutet, dass wir den Betrag von Bitcoin jetzt erhalten (den Preis, den wir verkaufen) und anschließend die Dividendenzahlung (in Bitcoin) über die folgenden 3 Monate, bis der Vertrag Mitte Dezember abläuft. Ein Gewinn wird erzielt, wenn die Summe aller ausbezahlten Dividenden (zuzüglich der Zinsen, die wir gezahlt haben, um den Vertrag zu kürzen) geringer ist als das, was wir zu Beginn des Verkaufs des Vertrages erhalten haben (an eine andere Person offensichtlich). Dies bedeutet, dass der Preis von TH1BTC von 3 Variablen abhängt (in absteigender Reihenfolge): Veränderung der Bergbauproblem bis zum 15. Dezember Die verbleibende Zeit bis zum 15. Dezember Der Zinssatz (Swapsatz) Wenn Schwierigkeiten die Dividendenzahlungen kleiner werden, weil 1 THS repräsentiert einen kleineren Bruchteil der gesamten Netzhash-Leistung. Daher sollte der Preis eines Vertrages sinken, wenn die Schwierigkeit zunimmt. Je näher wir bis zum Ausatmen des Fiebers Bitcoins können Geist mit 1 THS insgesamt. Daher sollte der Preis eines Kontrakts sinken, je näher wir zum Auslauf kommen und einen Preis von 0 bei Verfall erreichen. Je höher der Zinssatz, desto teurer ist es, den Vertrag über die volle Länge von 3 Monaten einzugeben und zu halten. Bitfinex bietet keine 90-Tage-Swaps an, so dass ein Vertrag mit dem Ziel, es zu halten, bis das Ende ziemlich viel Zinsrisiko enthält, weil an einem gewissen Punkt ein neuer Swap (bei einem potenziell ungünstigen Zinssatz) genommen werden muss. Dies ist weniger ein Problem beim Gehen lang (Bitcoin Preise sind in der Regel niedrig) als beim Gehen kurz (es gibt nur maximal 100 Verträge zur Verfügung, insgesamt keine nackte Shorting). Der Ausgleich für die Risikopreise sollte steigen, wenn die Swapsätze steigen. Das große Unbekannte ist natürlich die Veränderung in den Bergbau Schwierigkeiten in den nächsten 90 Tagen. In der folgenden Abbildung sehen wir, wie sich die Schwierigkeit in den letzten 6 Monaten verändert hat. Die Daten sind von Tradeblock und es zeigt nicht nur eine grafische Darstellung der vergangenen Veränderungen in der Schwierigkeit (Schwierigkeitsänderungen alle 14 Tage abhängig von der Vergangenheit Hash Rate Mehr Infos finden Sie im Wiki), sondern auch einige grundlegende Zusammenfassung Statistiken. Im Durchschnitt hat sich die Schwierigkeit 27 in den letzten 30 Tagen und 77 in den letzten 60 Tagen erhöht. Zur Schätzung des fairen Preises eines TH1BTC werden wir davon ausgehen, dass die Schwierigkeit im Durchschnitt 15 pro Monat über die nächsten 3 Monate steigen wird. Derzeit ist der Preis für den Kauf eines Vertrags im Wert von 1 THS 2 BTC. Der Pool Gebühr 3 ist und wir ignorieren Zinsen. Füllen Sie alle Informationen, die wir erhalten die folgenden Ergebnisse: Wenn wir also einen langen Vertrag auf der Grundlage unserer Annahmen gehen wir einen Verlust von etwa 0,39 Bitcoin (ein bisschen mehr in Wirklichkeit, da wir mit dem Bergbau in der Mitte des Septembers bis Mitte beginnen Von Dezember), da die erwarteten Dividenden (monatliche Einnahmen) nicht die anfänglichen Kosten von 2 BTC vor Ablauf des Vertrags abdecken werden. Auf der anderen Seite, würde zu einem Preis von 2 Bitcoin kurz gehen würde einen Gewinn von etwa 0,39 Bitcoin pro Vertrag erzeugt haben. Denken Sie daran, dass wir didn8217t enthalten Swap-Kosten, die derzeit rund 1 pro Tag (). Es gibt zwei Möglichkeiten, um 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, Schwierigkeiten werden mehr als 15 pro Monat steigen, dann sollten die Preise sogar noch niedriger sein. Oder wir könnten sagen, dass der Markt effizient ist und die Preise korrekt sind, was implizieren würde, dass der Markt in den nächsten 90 Tagen durchschnittlich etwa 2 pro Monat sinken dürfte. In jedem Fall werden die Ergebnisse in 90 Tagen mit Sicherheit bekannt sein. Kämpfen, um von der jüngsten Bitcoin-Flash-Crash, die auf Bitfinex entstanden nur vier Tage zu erholen. Die Bitcoin-Preise nahmen heute einen weiteren Tauchgang ein, da Margin-Trader ihre Positionen auf BTC-e liquidierten. Die Veranstaltung begann um 1:36 PM (UTC1), als große Verkaufsaufträge anfingen, oben auf dem drittgrößten westlichen Bitcoin Austausch BTC-e zu erscheinen. Das Abwärtsmomentum nahm stetig zu, da das Orderbuch zunehmend dünn wurde, und stürzte die Preise auf einen Tiefstand von USD 309 pro Bitcoin um 1,43 PM. In den folgenden Minuten stiegen die Preise rasch auf dünnem Volumen zurück auf rund USD 442, da Arbitrage-Händler begannen, den Rabatt gegenüber anderen Börsen zu nutzen. BTC-e ist eine der wenigen großen Börsen, die ihren Kunden über die MetaTrader-Plattform seit November 2013 Margin-Trading anbieten, aber die Details, wer exakt die für den Margin-Handel notwendigen Mittel zur Verfügung stellt, blieben unklar. Die Form und insbesondere Timing des Crash-Punkte in Richtung Margin-Händler werden liquidiert (oder Stop-Aufträge ausgeführt werden), ähnlich wie auf Bitfinex vor ein paar Tagen passiert. Im Gegensatz zu Bitfinex, das über offene Swap-Positionen transparent ist. BTC-e liefert keine wichtigen Daten, die für eine gründlichere Analyse erforderlich wären, und so kann diese letzte Aussage nur als eine gute Vermutung angesehen werden. Anders als Bitfinex, das auf einem versteckten Algorithmus basiert, um den Auftragsfluss zu steuern. BTC-e scheint keine besonderen Schutzmaßnahmen vorhanden zu haben, um solche Ereignisse zu mildern. Der Rückgang 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ückstoß auf über 440 Minuten später im Grunde bewiesen wurde. Daher könnte das Anhalten des Handels während der extremen Abwärtsvolatilität leicht das Blutvergießen unter den Margin-Händlern abgelehnt haben, indem anderen Marktteilnehmern mehr Zeit gegeben wurde, das Orderbuch zu verdicken. Update 4:58 PM (UTC1): BrCapoeira hat auf Reddit eine interessante Grafik geschrieben, die auf Daten der Metatrader-Plattform basiert: Diese Grafik impliziert, dass ein einzelner großer Auftrag die Ursache für dieses Ereignis war. Ob dieser Auftrag aufgrund eines Margin Call, eines einfachen Fehlers, des Manipulierens des Marktes oder der Eröffnung einer großen Short-Position entstanden ist, bleibt unklar. Der gesunde Menschenverstand würde vermuten, dass dies wahrscheinlich das Ergebnis eines Margin Call eines einzigen großen Händlers war. Mein vorheriger Beitrag zu diesem Thema wurde während der Diskussionen in der Folge des jüngsten Bitcoin-Flash-Crash aufgewachsen. Coindesk war einer der ersten, der es abholte, und seitdem begannen verschiedene Beiträge über die Transparenz und die mögliche Verantwortlichkeit des Austauschs zur aktiven Verwaltung der Auftragsausführung zu erscheinen. Als Ergebnis dieser Ereignisse Josh Rossi, Vice President Business Development bei Bitfinex, ging auf Reddit, um offen einige der Fragen angesprochen, die gegen die Börse. 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 bevor ein großer Verkaufsauftrag auf Bitfinex den Crash auslöste. Doch die Daten sagen uns nicht, ob es Insiderhandel, eine Form der Marktmanipulation war. Oder ein einfacher Fehler. Tatsache ist, dass nach dem Bitcoin Blitz Absturz offenen Swap-Positionen von rund 28m auf 24m, die etwa 8400 Margin Long Positionen wurden geschlossen (bei einem Durchschnitt von 475) in einer Weise (Margin Call) oder ein anderes (Stop-Order-Hit). Die Daten sagen uns nicht, was das Verhältnis ist aber nach Josh nur etwa 650 Bitcoins wurden als Ergebnis von Margin-Anrufe verkauft. Wie richtig bemerkt von Jonathan Levin. Tatsache ist, dass ab etwa 24 Stunden vor dem Bitcoin-Flash-Crash bis zum Crash selbst zusätzliche 1000 Bitcoins in Short-Positionen entnommen wurden und etwa 2500 Shorts anschließend während des Crashs geschlossen wurden. Ob diese Shorts zur Sicherung bestehender Positionen geöffnet wurden, weil ein böswilliger Versuch, einen Margin-Aufruf auszulösen, oder eine Möglichkeit, den Markt mit privaten Informationen voranzutreiben, aus den verfügbaren Daten nicht ermittelt werden kann (es sieht seltsam verdächtig aus). Was war unerwartet Persönlich, ist der interessante Punkt nicht, dass Bitcoin-Flash abgestürzt. Plötzliche Preisschwankungen passierten in der Vergangenheit und werden in Zukunft auch in illiquiden Märkten wie Bitcoin passieren. Der interessante Punkt ist die Beteiligung von Bitfinex und wie sie die Auftragsabwicklung aktiv gesteuert haben, ohne die Marktteilnehmer vorher zu informieren. Die Bitfinex-Matching-Engine wurde während des gesamten Crashs nicht gestoppt, obwohl es langsamer wurde (aber nirgendwo so schlimm wie die berüchtigte 70-minütige Orderverzögerung auf dem jetzt verstorbenen MtGox-Tausch während des Absturzes im Jahr 2012). Jedoch was Bitfinex taten, wurde sie etwas eingeführt, das sie jetzt als Geschwindigkeitsstöße bezeichnen. Was es bedeutet, ist, dass sie im Wesentlichen Fahnen Bestellungen, die sie für ungültig oder potenziell gefährlich und verlangsamen sie absichtlich. Auf den ersten Blick mag das eine nette Idee sein. Wer nicht will, dass ein Filter böswillige Anordnungen beseitigt oder verlangsamt, aber wie so oft mit solchen Sachen steht der Teufel im Detail. Das Problem ist, dass Bitfinex nicht (und möglicherweise nie wird) öffentlich machen, wie genau sie eine Bestellung als 8220bad8221 und 8220slow es down8221 kategorisieren. Wenn ein Marktteilnehmer beschließt, eine große Verkaufsauftrag gegen ein dünnes Auftragsbuch zu setzen, dann that8217s seine Entscheidung. Ob seine Handlung beabsichtigt war oder nicht, ist nicht an der Börse zu entscheiden. Es könnte sein, dass dieser Marktteilnehmer einfach die erste Person war, die auf ein Großereignis reagiert und bereit ist, die zusätzlichen Kosten des daraus resultierenden Schlupfes im Vorgriff auf eine große Preisbewegung zu tragen. Es gibt einfach keinen Weg, Ordnungen a priori genau zu klassifizieren als 8220good8221 oder 8220bad8221, da das automatisch Wissen über alle unmittelbaren zukünftigen Ereignisse annehmen würde. Was kann verbessert werden Mistakes (8220fat finger8221, Algorithmus gehen Chaos) passieren, werden Margen gerufen und die Leute versuchen, das System in jeder möglichen Weise zu spielen. Logischerweise müssen die Märkte und ihre Teilnehmer geschützt werden. Bitfinex war sich der potenziellen toxischen Auftragsströme und präventiver Gegenmaßnahmen bewusst. Das einzige, was sie vergessen, war es, ihre Kunden über die versteckten Sicherheits-Features zu informieren. Das Verbergen dieser Schutzmaßnahmen von der Öffentlichkeit fügt dem Markt Unsicherheit hinzu (vor allem jetzt, wo wir wissen, dass sie existieren und manchmal etwas tun) und bringt im Wesentlichen alle Händler in die Hände von Bitfinex. An diesem Punkt kann ein Händler nur hoffen, dass Bitfinex wird immer in den besten Absichten ihrer Kunden handeln. Diese Hoffnung könnte aber zwecklos sein, denn Bitfinex macht Geld aus Handelsgebühren, unabhängig davon, ob ein Händler tatsächlich Geld macht. Man muss nicht lange denken, um das verborgene Potenzial für Missbrauch in einem solchen System zu verwirklichen. Der Hauptgrund von Josh aufgeworfen, warum Bitfinex nicht beabsichtigt, ihre Algorithmus zu veröffentlichen ist zu vermeiden, dass Händler die Möglichkeit, es zu nutzen, ist gefälscht und die folgenden zeigt, warum. Das sind die offiziellen marktweiten Leistungsschalter von NASDAQ, die online und vollständig transparent für jeden Marktteilnehmer. Diese Regeln sind sicher nicht perfekt, aber sie sind einfach, transparent und arbeiten für eine der größten Aktienmärkte der Welt. Nun, ich habe großen Respekt für die Menschen auf der Bitfinex-Plattform arbeiten, aber ich bezweifele, dass sie es geschafft, kommen mit einem Algorithmus, der Marktteilnehmer besser als die, die von einer großen Börse von mehr als 900.000.000 Aktien pro Tag im Durchschnitt verwendet schützt . Und wenn sie es taten, ist jetzt die Chance für Bitfinex, es der Welt zu beweisen und möglicherweise Geschichte zu schreiben, indem sie den großen Jungs lehrt, wie man einen Austausch richtig durchführt. Wenn es um den öffentlichen Austausch geht, ist Transparenz ein Muss, nicht nur für Bitfinex, sondern für jeden Austausch. Die Marktteilnehmer müssen genau wissen, was geschieht, wenn sie einen Auftrag erteilen und unter keinen Umständen allein auf Treu und Glauben angewiesen sind. Schutzmaßnahmen sind wichtig, weil Unfälle passieren und Märkte Crash, aber es ist nicht an der Börse, sich in geheimer Ordnung Diskriminierung. Es gibt verschiedene Möglichkeiten, um die Finanzmärkte zu schützen und keiner von ihnen ist perfekt. 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 eine verborgene, komplexe. Vor zwei Tagen senkte BitMEX ihre Handelsgebühren auf 0 und feierte sie durch die Freigabe eines Basismarktes, der Bot auf Github macht. BitMEX führt derzeit eine Handelsherausforderung bis zum 29. August 2014, um ihre neue Plattform zu fördern. Freigabe einer Markierung bot ist wahrscheinlich eine interessante und effektive Möglichkeit, um API-Verkehr zu erhöhen und Stress-Test der Plattform ein wenig. Natürlich konnte ich nicht widerstehen und schaute mich um. Market-Maker ist ein gegabelter Liquidbot. Das ursprünglich entworfen wurde, um auf dem jetzt obsolet MtGox Austausch laufen zu lassen. Es gab einige kleinere Änderungen (neue api-Klasse, um mit BitMEX zu verbinden, einige zusätzliche Drucke zur Konsole, Änderungen bei der Anpassung an Futures-Kontrakte und ein riesiger und unnötiger Druck zur Konsole beim Start), aber keine signifikanten Änderungen der Handelslogik. Der Algorithmus verwendet REST und überprüft nur alle 60 Sekunden Änderungen. Dies disqualifiziert bereits den Bot, da er zu langsam ist, um auf laufende Änderungen im Orderbuch zu reagieren. BitMEX Begrenzungen Anfragen an die REST-API auf 150 pro 5 Minuten, so können Sie versuchen, die Reduzierung der 60 Sekunden, um etwas wie 3, aber es ändert sich die Tatsache, dass, sobald die Märkte beginnen zu bewegen, werden Sie die Grenze treffen und mit offenen Positionen stecken. Um fair zu sein, bietet BitMEX die Bot mehr als Marketing-Stunt und explizit erklärt, dass die Umstellung auf WebSocket wird sehr vorteilhaft sein, da es Echtzeit-Updates ermöglicht. Insgesamt ist der Algorithmus solide geschrieben, technisch funktioniert und ist einfach einzurichten, aber es macht Sie kein Geld auf lange Sicht. Wenn jemand ernsthaft bedenkt, um diesen Bot zu verwenden, würde ich die folgenden kleinen Änderungen empfehlen, um den Code mehr brauchbar zu machen: 1. Wechseln Sie zu Websocket 2. Exit position on close: 3. Build-Aufträge ab dem Mittelpunkt: Zusätzlich würde ich raten zu messen Volatilität in irgendeiner Weise und passen die Distanz zwischen Aufträgen dynamisch sowie die Größe. Während meiner Tests war die API immer ansprechbar und akkurat. Das Volumen an der Börse ist noch niedrig, aber die Grundlagen der Plattform sehen vielversprechend aus. Dieser Bot ist ein lustiges Werkzeug, um Benutzer in die Welt der Markteinführung und algorithmischen Handel einzuführen, aber es gewinnt eine Chance gegen etablierte Algorithmen. Hinweis: Wenn Sie erwägen, mit diesem Algorithmus im Auge zu behalten, dass die Markteinführung ein Vollzeitjob ist. Alles, was weniger als komplette Widmung, schnelle Reaktionszeit und 100 Uptime wird dazu führen, dass Sie Geld verlieren. Edit: Follow-up auf die Nachwirkungen hier Heute Bitcoin Preise nahm einen Tauchgang als Margin Händler auf einer der größten Börse Bitfinex erhielt ihre Aufträge liquidiert. Für viele enge Marktbeobachter und anspruchsvollere Händler war das keine Überraschung. In der Tat haben sich lange Positionen in den letzten Monaten kontinuierlich aufgebaut, in Erwartung einer neuen Blase in Bitcoin-Preisen und erreichten bis zu 30 m in hervorragenden Swap-Positionen auf Bitfinex. Nun wäre dies kein Problem für sich alleine, solange es genügend Kapital zur Unterstützung des Darlehens gibt. Leider waren die meisten dieser Long-Positionen rund 600 8211 640 USD BTC eingetragen und die Sicherheiten wurden meistens in Bitcoins selbst zur Verfügung gestellt. Das folgende Diagramm zeigt schön den Aufbau von Longpositionen, die um den 14. Juli mit knapp 32m in Swaps reichen. Auf der Grundlage der Instandhaltungsspanne von Bitfinex von 13 und unter der Annahme, dass Bitcoin als Sicherheit gilt, finden wir, dass die Margin-Anrufe um die 520 8211 540 USD BTC-Marke beginnen sollten. Gestern waren die Preise nah, und heute sind sie endlich über die Klippe gesprungen. Das Problem ist, dass, sobald Margin-Anrufe in Sie gesetzt haben eine kaskadierende Wirkung, die durch das Orderbuch reißt, wodurch noch mehr Aufträge, um den Punkt der keine Rückkehr zu erreichen und die Erhöhung der Abwärtströmung weiter. Diese Art von Veranstaltungen sind nicht auf Bitcoin-Börsen beschränkt, sondern kann auch auf großen Börsen wie während der 2010 Flash-Crash in den USA auftreten. Die Ursache eines solchen Flash-Crashe kann variieren und geht von Fett-Finger Fehler, Programmierfehler zu Cascading Margin-Anrufe. Es ist interessant zu sehen, wie sich die Börsen mit diesen Ereignissen befassen. In den USA implementierte Nasdaq marktweite Leistungsschalter, die den Handel unter solchen extremen Umständen stoppen werden. Bitcoin Märkte sind noch nicht so fortgeschritten und in der Regel weiter Handel. Wenn wir die Order-Aktion auf Bitfinex heute sehen, sehen wir etwas ganz Besonderes: Es scheint (und das ist nur eine Vermutung, da es keinen offiziellen Kommentar aus der Börse gibt) als ob Bitfinex einen Algorithmus ausführt, um die Margin-Aufrufe zu bearbeiten. Der Algorithmus beginnt zu verkaufen, sondern begrenzt sich auf eine 10 Tropfen der Preise innerhalb von 1 Minute. Wenn die Preise mehr als 10 in 1 Minute fallen, hört es auf zu verkaufen und wartet auf Kaufaufträge. Sobald es wieder eine gewisse Anzahl von Kaufaufträgen 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 zeigen und es entspricht meiner persönlichen Beobachtung zum Zeitpunkt der Veranstaltung. Dies scheint ein interessanter Umgang mit kaskadierenden Margin-Anrufen zu sein, kann aber auch als Borderline-Marktmanipulation von der Börsenseite betrachtet werden. Durch die Ausbreitung der Verkaufsaufträge im Laufe der Zeit wird die Abwärtsdynamik verringert, aber Händler am Ende Handel gegen die Börse selbst und nicht den Markt mehr. Die Börse hat zu diesem Zeitpunkt einen informativen Vorteil und ist daher eher als die Händler zu profitieren. Glücklicherweise dauerte diese nur etwa 10 Minuten, wonach die Kontrolle auf den Markt zurückgegeben wurde. Andere Börsen, die auch Margin-Trading wie BTC-e und OKcoin anbieten, befinden sich nun in einer günstigen Position und können von den heutigen Veranstaltungen lernen. Die Implementierung eines Systems, das den Leistungsschaltern von großen Börsen wie Nasdaq ähnlicher ist, könnte ein intelligenter erster Schritt sein. Vor kurzem arbeite ich, um meine neue Handelsplattform zu erhalten. This new version is based on Python, uses MySQL to keep a database of all time series of different virtual currencies with automatic backfill from BitcoinCharts and integrates the 3 major exchanges MtGox, BTC-E and Bitstamp. The platform will be used as way to backtest some strategies and engage in automatic trading. During the run-up to this I decided to pull some data of BTC against USD from BitcoinCharts and based on the ideas of a paper by Hashem and Timmermann (1995) implemented a simple trading strategy. The idea is to forecast the sign of the t1 period return based on a regression, which is estimated on an automatic selection of technical indicators during the last n period up until t . Then, after t1 happened, we refresh the model and try to predict t2 using all the data available of the last n periods until t1 and so on. For my Bachelor Thesis I examined four different technical trading rules in Forex markets. It uses MCS and SPA test to search for valid models among different parameters that are not subject to data snooping. Taking into account realistic transaction costs we find no evidence of excess returns, which is consistent with market efficiency. With this code you should be able to look for Bitcoin arbitrage opportunities within BTC-e. It uses the idea of one price and applies triangular arbitrage, taking into account costs and spread. The reason I post this here is despite that it works, chances are you will be too slow to compete with other investors doing the same. Possible improvements would be to take into account the order book depth and split the trades up dynamically, trying to undercut other traders doing the same. Also setting everything up on a dedicated server close to the physical location of the BTC-e match engine should drastically reduce lag and give you a potential edge. Post navigation

No comments:

Post a Comment