Eine Einführung in den algorithmischen Handel von Vince Tabora | Die Hauptstadt | Dezember 2020
Im traditionellen Finanzsystem haben Auftragsbücher den Händlern gute Dienste geleistet. Während es seinen Zweck erfüllt, haben sich die Dinge mit dem rasanten Tempo des technologischen Fortschritts geändert. Der Handelssaal ist online gegangen, und jede Minute und Sekunde ist der Unterschied zwischen großen Gewinnen oder schweren Verlusten auf dem Markt. Es kann eine enorme Aufgabe sein, wenn ein Broker die Preisschwankungen verwaltet, insbesondere auf dem Markt für Kryptowährungen.
Im Digital- und Informationszeitalter wurden die Dinge verbessert. Dies geschieht durch die Verwendung von algorithmischer Handel. Wie der Name schon sagt, handelt es sich hierbei um eine Handelsform, bei der Entscheidungen mithilfe von in Software geschriebenen Algorithmen automatisch getroffen werden können. Viele Händler kennen sich aus Bots die Trades täglich ausführen und ausführen. Sie waren eine der ursprünglichen Formen von Software, die in der Handelsautomatisierung verwendet wurden. Es folgen Apps und später Blockchain-basierte Smart-Verträge.
Bedingungen werden in Code geschrieben und im Netzwerk ausgeführt. Dies lässt den Händlern mehr Zeit, sich um andere Dinge zu kümmern. Dies spart Zeit und Geld, da ein automatisiertes Handelssystem den Händlern helfen kann, zu kaufen oder zu verkaufen, sobald ein Ereignis auf dem Markt eintritt. Es kann auch beim Risikomanagement, bei der Berichterstellung und bei der Planung von Aufgaben hilfreich sein. Händler, die sich auf das ältere Orderbuchsystem verlassen, können verlieren, wenn sie nur ein paar Sekunden oder schlimmer noch Minuten oder Stunden zu spät kommen.
Die Vorteile der Handelsautomatisierung
Um einige der Hauptvorteile bei der Verwendung des algorithmischen Handels aus entwicklungspolitischer Sicht zu nennen:
- Verwenden Sie die branchenübliche REST-API
- Unterstützt OAuth für den delegierten Zugriff
- Automatisiert Bestellungen über intelligente Verträge und Apps
- Programmierbarer Zugriff auf Datenfeeds (Orakel)
Die branchenübliche API (Application Programming Interface) ermöglicht Entwicklern den Zugriff auf unterstützte Aufrufe und Funktionen in einer vertrauten Umgebung. Diese Abstraktionsebene beseitigt die Komplexität bei der Entwicklung einer Anwendung von unten nach oben, wenn Routinen aus Bibliotheken aufgerufen werden können, die von verschiedenen Anbietern verfügbar sind, die sie als Dienst bereitstellen. Von der Verwendung von Web3.JS bis hin zu individuelleren Tools zur Algorithmusgenerierung, die das REST-Entwicklungsframework unterstützen.
Durch die Verwendung von Zugriffsdelegierungsprotokollen wie OAuth können sich Benutzer mit ihrer App über ein bereits vorhandenes Konto anmelden, das mit einer Plattform verbunden ist. Dies ist eine bequemere Möglichkeit für Benutzer, sich online bei Finanz-Apps mit einer gültigen Identität anzumelden, die entweder mit einem Anbieter digitaler Identität oder einem Social-Media-Konto verknüpft werden kann. Dies hält gefälschte Konten, Trolle und Spam-Bots vom Zugriff auf das Netzwerk ab, verhindert dies jedoch nicht unbedingt. Wichtig ist, dass Sie, wenn Sie bereits eine etablierte Identität haben, Ihr vorhandenes Konto zum Ausführen der Software verwenden können.
Eine der Hauptanwendungen des algorithmischen Handels ist AMM (Automated Market Makers), das intelligente Verträge einsetzt. Es ist eine vollautomatische Handelsumgebung, wenn eine Transaktion stattfindet. Zuvor mussten Auftragsbücher genehmigt werden, um eine Transaktion auszuführen. Mit AMM werden Auftragsbücher vom System automatisiert, und intelligente Verträge, in denen der Code ausgeführt wird, können geschrieben werden, um bestimmte Handelsbedingungen hinzuzufügen, die die Position eines Händlers maximieren können.
Es ist wichtig, dass Händler auf dem Kryptowährungsmarkt aufgrund der Preisvolatilität stabil und wachsam bleiben. Ein wichtiger Weg, um die neuesten Preisaktionen im Auge zu behalten, ist die Verwendung von Orakel-Feeds. Auf diese Weise können Händler eine Vorstellung davon bekommen, welche Märkte einen Vermögenswert verkaufen (Arbitrage-Möglichkeiten) und welche zu vermeiden sind (Preisdivergenz). Aktuelle und zweite Informationen sind hilfreich, um durch die beste Preisfindung bessere Handelsentscheidungen zu treffen. Es reduziert auch das Risiko und die Verluste für den Händler, wenn er die beste Entscheidung trifft.
Die Tools und Implementierung
Entwickler und Händler können verfügbare Tools nutzen, die online als Services angeboten werden. Viele von ihnen bieten einen API-Schlüssel sowie Ressourcen zum Verbinden von Apps mit ihrem System. QuantConnect, AlgoTrader, und InteractiveBrokers sind einige der Ressourcen, die Software für den algorithmischen Handel bereitstellen. Es ist wichtig, sich eingehend mit den angebotenen Dienstleistungen und den Vorteilen zu befassen. Jedes Unternehmen verfügt über allgemeine Merkmale und eine eigene Art von Service, die es von allen anderen unterscheidet. Das ist die Funktion, die überprüft werden muss.
Mit den Handelstools sollten Händler in der Lage sein, die Software zu verwenden, um die Entscheidungsfindung bei Ereignissen wie den folgenden zu automatisieren:
Kaufen Sie x Betrag eines digitalen Vermögenswerts, wenn sein gleitender 50-Tage-Durchschnitt über dem gleitenden 200-Tage-Durchschnitt liegt, oder verkaufen Sie x Betrag eines digitalen Vermögenswerts, wenn sein gleitender 50-Tage-Durchschnitt unter den gleitenden 200-Tage-Durchschnitt fällt
Im Pseudocode würde der Algorithmus folgendermaßen aussehen:
Let 50day =If 50day > 200day then:
Let 200day =
function(purchase x amount of asset H)
Else If 50day < 200day then:
function(sell x amount of asset H)
Dies kann in Echtzeit implementiert werden, um nur einmal ausgeführt zu werden, wenn die Bedingung erfüllt ist. Das Programm überwacht diesen Zustand ab dem Zeitpunkt seiner Bereitstellung. Sobald die Bedingung erfüllt ist, wird der Code ausgeführt und das Programm beendet.
Hier ist ein Beispiel von QuantConnect zum Erstellen eines Programms zum Konsolidieren von Daten zum Erstellen von Balken. Das Programm führt die folgenden Routinen aus:
- Erstellen Sie das Konsolidierungsobjekt.
- Binden Sie einen Ereignishandler, um die neuen Balken zu verarbeiten.
- Registrieren Sie es beim Abonnement-Manager, um Daten zu empfangen.
Hier ist der in Python (From QuantConnect) geschriebene Beispielcode:
from datetime import datetime, timedelta
class DataConsolidationAlgorithm(QCAlgorithm):def Initialize(self):
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''
self.SetStartDate(2016,1,1) #Set Start Date
self.SetEndDate(datetime.now()) #Set End Date
# Find more symbols here: http://quantconnect.com/data
self.AddEquity("SPY", Resolution.Minute)
# define our 30 minute trade bar consolidator. we can
# access the 30 minute bar from the DataConsolidated events
thirtyMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=30))
# attach our event handler. The event handler is a function that will
# be called each time we produce a new consolidated piece of data.
thirtyMinuteConsolidator.DataConsolidated += self.ThirtyMinuteBarHandler
# this call adds our 30-minute consolidator to
# the manager to receive updates from the engine
self.SubscriptionManager.AddConsolidator("SPY", thirtyMinuteConsolidator)
def ThirtyMinuteBarHandler(self, sender, bar):
'''This is our event handler for our 30-minute trade bar defined above in Initialize(). So each time the consolidator produces a new 30-minute bar, this function will be called automatically. The sender parameter will be the instance of the IDataConsolidator that invoked the event '''
self.Debug(str(self.Time) + " " + str(bar))
def OnData(self, data):
pass
Andere Dienste, bei denen algorithmischer Handel verwendet werden kann, werden von digitalen Börsen wie bereitgestellt Binance und Krake. Sie bieten einen API-Schlüssel, mit dem Händler auf die an den Börsen verfügbaren Handels-, Finanzierungs- und Verwaltungsfunktionen zugreifen können. Für den Zugriff auf die an die Vermittlungsstellen getätigten API-Aufrufe wird ein API-Schlüssel benötigt. Der API-Schlüssel ermöglicht den Zugriff von einer App nur auf den Händler, dem das Konto gehört.
Zusammenfassung
Informationen sind der Schlüssel zum Handel auf dem freien Markt. Die Verwendung automatisierterer Methoden hat für algorithmische Händler einen großen Vorteil. Es ist bequemer, schneller und aktualisierter als herkömmliche Handelstechniken, bei denen der Händler online sein muss, um einen Handel abzuschließen. Wenn die Software so programmiert wurde, dass sie Entscheidungen trifft, kann der Händler aufwachen und wissen, dass er einen automatisierten Verkaufsauftrag für einen Vermögenswert hatte, der innerhalb eines Zeitraums von 1 Stunde im Schlaf schnell abfiel. Dies hilft, Verluste zu reduzieren und eine Reise in die sogenannte „REKT-Stadt“ zu verhindern.
Wie bei jedem Online-System gibt es zahlreiche Bedenken hinsichtlich der Cybersicherheit. Das Hauptanliegen hier ist, wenn Sie Junior-Trader und Entwickler haben, die zum ersten Mal algorithmische Trades codieren. Es können Fehler gemacht werden und die Folgen sind sehr schlimm. Ein schlecht codierter Smart-Vertrag kann beispielsweise dazu führen, dass Händler ihr gesamtes Geld verlieren. Wenn die Logik fehlerhaft ist, kann die Bedingung möglicherweise nicht ausgeführt werden und mehr Schaden als Nutzen verursachen. Aus diesem Grund muss der Code überprüft, getestet und geprüft werden, um seine Integrität und Zuverlässigkeit zu überprüfen. Wenn der Entwickler nicht über das Wissen verfügt, sichere und zuverlässige Programme zu erstellen, ist dies ein Problem.
Der Handel birgt Risiken, sei es auf herkömmliche Weise oder durch eine algorithmische Methode. Es gibt viele komplexe Bedingungen und Situationen auf dem Markt. Es ist wichtig, dass eine gewisse Schadensbegrenzung vorhanden ist, und automatisierte Systeme können dabei helfen. Es gibt unvorhergesehene Umstände wie Ereignisse mit schwarzen Schwänen, die nicht verhindert werden können. Sie passieren einfach plötzlich und wenn es keine Abhilfemaßnahmen gibt, riskieren Händler, alles zu verlieren. Die Anwendung algorithmischer Handelsmethoden kann vorteilhaft eingesetzt werden, ist jedoch sehr vorsichtig. Algorithmen erleichtern die Arbeit, gehen jedoch nicht davon aus, dass sie perfekt sind. Bei der Entwicklung einer Anwendung für den algorithmischen Handel sind Planung und Qualitätssicherung erforderlich. Es kann die Lösung sein, solange Sicherheit und Zuverlässigkeit ernst genommen werden.