Andrew Barisser ist ein Software- und Kryptowährungsingenieur bei Assembly. Zuvor studierte er Biophysik an der UCSB, wo er eine "nagende Faszination" mit Bitcoin zu Software führte. In diesem Artikel teilt er seine Erfahrungen aus der Erstellung seines eigenen Bitcoin-Trading-Bot in den "Haifisch-verseuchten Gewässern" von Coinbase's neuem Exchange.

Ich habe vor kurzem begonnen, Bitcoins algorithmisch auf der neuen Coinbase-Börse zu handeln. Nachdem ich im Buch Flash Boys von Michael Lewis über den Hochfrequenzhandel gelesen hatte, entschied ich, dass ich es selbst ausprobieren würde, wenn auch in einer etwas ungeschickteren, laienhafteren Art und Weise.

Die Erfahrung war sowohl auf technischer als auch auf strategischer Ebene faszinierend. Eine Logik zu schreiben, die das Geld selbst kontrolliert, ist eine merkwürdige Sache. Es zum ersten Mal loszulassen, zu wissen, dass jeder Käfer buchstäblich Geld wegwerfen könnte, war erschreckend.

Bitcoin ist ein unglaublich offenes System, das besonders für No-Name-Entwickler geeignet ist. Die Börsen haben offene APIs, mit denen jeder, buchstäblich jeder, handeln kann. Es gibt keinen Premium-Zugang, keine teuren Trading Floor-Anmeldeinformationen. Es ist total offen - ich liebe das.

Haifischverseuchte Gewässer

Wie ich meinen Trading-Bot entworfen habe, habe ich erkannt, wie viel strategische Tiefe es für diese Art von Spielen gibt. Die Börsen sind mit Handelsbots bereits weit ; Das sind von Haien befallene Gewässer. Bots tanzen in einem chaotischen Wirbel umeinander. Sie setzen so viele verschiedene Strategien ein. Es ist wie so viele Mikroben, die im Urschlamm konkurrieren.

Beim Eintritt in diese Umgebung musste ich sofort andere Bots kennen.

Algorithmische Händler müssen eine bestimmte Nische besetzen. Sie profitieren von Marktineffizienzen. In einem perfekten Markt wäre das, was sie tun, nicht profitabel.

Gerade weil Märkte in ihrem ursprünglichen Zustand nicht ideal glatt, kontinuierlich und gut funktionierend sind, können diese algorithmischen Händler jeden Wert extrahieren. Wenn man die kleinen Fehler korrigiert, die kleinen Fälle von Slippage, die auf Märkten auftreten, kann man kleine Gewinne erzielen.

Wenn ein großer Hai die konkurrenzlose Kraft des Marktes ist, sind die kleinen Trottel, die ihm folgen, die Schrotte aufräumen und Ordnung schaffen, die algorithmischen Händler. Sie haben auch ihren Platz.

Die Coinbase-Tiefenkarte, ein Fixierungsobjekt für Market-Maker.

Ein weiteres Paradox ist, dass ich meine Handelsstrategie nicht offen legen kann, ohne sie zu kompromittieren.

Meine Strategie wäre in einem kleinen Umfang eine Einladung an Konkurrenten, für die die Grenzkosten für die Einrichtung der Software sehr gering sind. Viel gefährlicher jedoch, wenn die genaue Strategie meines Bot bekannt war, konnte entwertet werden.

Wenn Sie bei jedem Schritt voraussagen könnten, könnten Sie es austricksen, immer wieder Geld aufzugeben.Dies ist etwas anderes, das meine Paranoia am Leben hält, die Angst, dass jemand da draußen meinen Bot beobachten und im Hin und Her seiner Befehle seine Strategie herausfinden wird.

Ich stelle mir vor, wie ich zu meinem Bot zurückkehre und sehe, dass sein Gleichgewicht leer ist, weil irgendein Mastermind es algorithmisch gespielt hat und bei jedem Zyklus Pennies ablässt.

Fast alle dieser Limit-Aufträge stammen von Bots.

Market Making 101

Auf der anderen Seite ist die Strategie meines Bot sehr konservativ und würde schwer zu spielen sein. Es ist im Grunde ein anspruchsvoller Market Maker. Es bietet Liquidität für die Coinbase-Börse. Dies bedeutet, dass es das Auftragsbuch betrachtet und beobachtet, wo die Aufträge dünn sind. Vielleicht gibt es auf der Kaufseite sehr wenig Ordertiefe.

Es kann Limit-Aufträge, wie kleine Fallen, in verschiedenen Tiefen auf der Kauf- und Verkaufsseite platzieren. Es variiert die genaue Art, wie es dies basierend auf den jüngsten Marktbedingungen tut. Wenn ein großer Trade dann plötzlich ausgeführt wird, kann dies die Verfügbarkeit von Angeboten zum besten Preis überfordern. Ein solch großes Angebot kann dann eines meiner Angebote auf einen günstigeren Preis auslösen.

Dies ist Market-Making 101. Es ist ziemlich die am wenigsten eigensinnige Strategie da draußen, obwohl ich meine eigene Implementierung mit etwas zusätzlicher Preisvorhersagelogik abgeschwächt habe. Im Großen und Ganzen ist es eine äußerst langweilige Strategie.

Market-Making liefert auch einen echten sozialen Nutzen. Je tiefer die Liquidität der Market Maker ist, desto schwieriger ist es, sprunghafte Preissprünge zu verursachen. Market Maker reduzieren auch die Geld-Brief-Spanne, ein Konzept, das den meisten Menschen gar nicht bewusst ist: ein Zeugnis für erfolgreiche Praktiker an der Wall Street.

Andere Bot-Strategien

Andere Bots verwenden sehr unterschiedliche Strategien. Einige korrigieren die Ausbreitung zwischen getrennten Börsen, eine Strategie, die vollständig von der Geschwindigkeit abhängt. Wenn jemand 1,000 BTC auf Bitfinex fallen lässt, stürzt der Preis auf Coinbase synchron ab, weil jemand rennt, um eine Marktorder auszuführen.

Andere Strategien drehen sich darum, andere Bots zu betrügen, für die es endlose Taktiken gibt. Sie beinhalten oft aufwändiges Posieren und täuschen die Logik anderer in tödliche Fehltritte. Wieder andere sollen Menschen mit massiven Kauf- oder Verkaufsaufträgen einschüchtern. Ich bin mir sicher, dass es noch andere gibt, von denen ich keine Ahnung habe.

Auf einer praktischen Ebene muss mein Bot sehr schnell sein. Wenn es zwischen der Stornierung und der Auftragserteilung um wenige Sekunden verzögert wird, können die Marktbedingungen dazu führen, dass die neuen Aufträge unangemessen werden.

Die Befehle, die ich anordne, folgen einer Soundlogik unter der Annahme, dass der Bot den Status des Orderbuchs richtig verstanden hat. Diese Annahme hält nicht lange an. Innerhalb einer Sekunde könnte eine Menge bedeutender Aufträge das aktuelle Orderbuch verfälscht haben, so dass die neuen Aufträge, die ich mir ausgedacht habe, jetzt völlig falsch sind.

Ich muss auch nach feindlichen Bots Ausschau halten, die große Aufträge platzieren und schnell entfernen können, um andere Bots auszutricksen. Je schneller mein Bot das Auftragsbuch im Auge behält, desto weniger anfällig wird es für solche Taktiken.Mein Bot verfügt sogar über zusätzliche Logik, um zu verhindern, dass er von falschen Volumenwänden anderer Bots ausgetrickst wird.

Menschliche Geschwindigkeit vs Bot Geschwindigkeit

Im Streben nach Geschwindigkeit musste ich über technische Details nachdenken, mit denen ich nicht sehr vertraut war. Ich musste viele alltägliche, langweilige Funktionen parallelisieren. Ich kann veraltete Bestellungen nicht seriell stornieren, es würde zu lange dauern, bis meine JSON-Anfragen über das Internet hin und her gehen.

Da Coinbase keinen einzigen API-Endpunkt anbietet, um alle Bestellungen gleichzeitig zu stornieren, etwas, für das ich nach gefragt habe, storniere ich sie mit vielen separaten Anfragen parallel. Ebenso fehlt Coinbase ein Endpunkt für die gleichzeitige Erstellung mehrerer Aufträge. Also muss ich mehrere Anfragen gleichzeitig ausgeben. Eine synchrone Lösung würde mehrere Sekunden dauern, was viel zu lang ist.

Es ist lustig, wie ein menschliches Zeitgefühl für Bots völlig ungeeignet ist. Selbst ein Bruchteil einer Sekunde kann hoffnungslos lang sein. Versuche es halb so hart oder halb so schnell zu machen, garantiere nicht die Hälfte des Profits; sie ergeben Null (oder schlechter). Wenn man sich in den algorithmischen Handel vertieft, muss man den Lebenszyklus eines Bots bewohnen und sein eigenes Zeitkonzept auf Millisekunden ausdehnen. In dieser Größenordnung sehe ich meinen Bot immer noch dumm und langsam.

Zumindest ist das Bot vom Auftragsbuch sehr schnell informiert. Es streamt einen Websocket-Feed von neuen Bestellungen. Jeder Artikel ist eine Permutation des Auftragsbuchs, daher muss ich den Status des Buches beibehalten und bei seiner Ankunft kleine Änderungen vornehmen.

Dieser Prozess wird ebenfalls parallelisiert. Es ist erstaunlich, wie schnell das ist, es gibt ungefähr 20 Ordnungspermutationen pro Sekunde.

Also bietet mein Bot hauptsächlich Liquidität. Es verdient eine kleine, aber stetige Menge davon. Es enthält ungefähr gleiche Mengen an Bitcoins und Dollar, so dass abrupte Preisänderungen Verluste in einer bestimmten Stückelung hinterlassen können. Aber im Großen und Ganzen macht es ordentliche Gewinne im Vergleich zu einem 50/50 Korb von Bitcoins / USD.

& ldquo; Wenn man sich in den algorithmischen Handel vertieft, muss man den Lebenszyklus eines Bots bewohnen und sein eigenes Zeitkonzept auf Millisekunden ausdehnen. & rdquo;

Mein Bot funktioniert am besten, wenn die Lautstärke hoch ist, aber die Preisschwankungen sind gering. Als Liquiditätsgeber glättet er die unregelmäßigen Schwankungen, die sonst ohne Market Maker auftreten würden. In diesem stellt es eine nützliche Funktion bereit, so dass Perioden mit hohem Volumen die lukrativsten sind. In einigen Fällen können heftige Schwankungen, hin und her, dazu führen, dass mein Bot den falschen Inhalt behält. So ist es möglich, Geld zu verlieren.

Ich habe festgestellt, dass Systeme mit geringem Volumen am gefährlichsten sind. Mein Bot versucht, die Handelsrate zu schätzen und die Tiefe seiner Aufträge entsprechend zu moderieren. Dies begrenzt das Risiko, bei großen Schwankungen gefangen zu werden, und zwar auf Kosten der Ausführung seiner Aufträge weniger häufig.

Ich habe auch festgestellt, dass sich um mein Gleichgewicht herum ein erheblicher Lärmpegel befindet. Wenn der Preis schwankt, verliert mein Bot regelmäßig Geld. Es kann 45% der Zeit Geld verlieren. Aber wenn es in den anderen 55% gewinnt, wird es auf lange Sicht massiv gewinnen.

Angesichts dieser Chancen würde eine Messung des Bots auf einer häufigen -Basis dazu führen, dass mehr Fälle von Verlust im Vergleich zu seltenen Beobachtungen beobachtet werden.

Es ist, als würden Sie Ihr Aktienportfolio überprüfen. Wenn Sie eine garantierte Strategie haben, die 10% pro Jahr zurückgibt, aber mit einer normalen Menge an Lärm, würden Sie Verluste fast 50% der Zeit beobachten, wenn Sie Ihr Gleichgewicht oft genug beobachten, selbst wenn Sie eine erfolgreiche Strategie anwenden. Das Gesetz der großen Zahlen funktioniert nur ... über längere Zeiträume.

Während dieser Bot zunächst nur eine Ablenkung war, wurde mir klar, dass das, was es tut, wenn auch vereinfacht, wirklich notwendig ist. Eines der größten Probleme mit Bitcoins ist die Art, wie es gehandelt wird . Die Illiquidität des Austausches ist ein großes Problem.

Vergleichen Sie den Bitcoin-Handel mit dem eines realen finanziellen Vermögenswertes, und Sie werden eine Welt der Unterschiede beobachten. Finanzleute extrahieren enormen Wert bei der Aufrechterhaltung effizienter Märkte in anderen Vermögenswerten.

Das passiert nicht nur auf magische Weise. Bitcoin braucht besser funktionierende Märkte, um ernsthafte Spieler zu gewinnen. Es ist auch eine Gewinnmöglichkeit.

Auch bei den aktuellen Handelsvolumina kann durch die Bereinigung von Marktschwankungen viel Wert gewonnen werden. Wenn Bitcoin wachsen würde, würde auch der Liquiditätsbedarf steigen. Ich habe gelernt, dass Infrastruktur nicht nur Server und Github Repos ist. Es sind auch Finanzvermittler, die Märkte zum Funktionieren bringen. Die bloße Tatsache, dass ich mich darin einmischen kann, wie niemand, illustriert die wunderbare Offenheit von Bitcoin.

Dieser Beitrag erschien ursprünglich auf Medium. Es wurde hier mit Erlaubnis neu veröffentlicht.

Bots Bild über Shutterstock


Haftungsausschluss: Dieser Artikel sollte nicht als Finanzberatung oder Anlageempfehlung angesehen werden. Bitte führen Sie Ihre eigenen umfangreichen Recherchen durch, bevor Sie Investitionsentscheidungen treffen.