Mit der Entwicklung des quantitativen Handels mit Blockchain-Assets haben immer mehr Blockchain-Asset-Händler das Werkzeug des quantitativen Handels erkannt. Aber als neues Mitglied dieses Kreises sind Sie sehr verwirrt über viele Konzepte, verwirrt durch verschiedene Begriffe, Software, Informationen usw. Dieser Artikel wird Sie dazu bringen, gemeinsame Konzepte zu verstehen und sich mit ihnen vertraut zu machen, und verschiedene nützliche Informationen im quantitativen Handel mit Blockchain-Assets aus verschiedenen Aspekten zu verstehen. Dieser Artikel fasst zunächst die Grundkonzepte zusammen und gibt anschließend Beispiele auf der FMZ Quant Trading Plattform, die diesen Grundkonzepten entsprechen.
Zunächst einmal müssen wir das Konzept der Plattform verstehen. Wir müssen in die Blockchain-Assets in unseren Händen auf Plattformen spekulieren und investieren. Derzeit gibt es viele Plattformen, Senior, Emerging, großes und kleines Maßstab. Was die Plattform angeht, um programmatischen und quantitativen Handel durchzuführen, ist es notwendig, sich selbst auf der Grundlage verschiedener Informationen auszuwählen.
Plattformkonto Ein Plattformkonto ist ein auf der Plattform registriertes und geöffnetes Konto. Blockchain-Assets können für den Handel auf diesem Konto gespeichert werden.UnterkontenSie müssen die Informationen auf der spezifischen Plattform-Website überprüfen. Oder konsultieren Sie den Kundenservice der Plattform.
Nach der Anmeldung mit einem Konto auf der Plattform-Website können Sie normalerweise sehen, dass der Ort, an dem Blockchain-Assets gespeichert werden können, in mehrere
API für Plattformsysteme
Viele Schüler, die die Funktion auf der Plattform nicht benutzt haben, fragen sich vielleicht:
Die Plattform-API ist in verschiedene Arten von Schnittstellen unterteilt.REST
Protokollschnittstellen undWebSocket
Einige Plattformen bieten auchFIX
Wir müssen nur ein Verständnis für diese Schnittstellen haben. Die am häufigsten verwendete Schnittstelle ist das REST-Protokoll. Die Dokumentation dieser Schnittstellen kann normalerweise im Link mit dem Wort gefunden werdenAPISie finden sie unten auf der offiziellen Website dieser Plattformen. Manchmal müssen Sie, um einige Interface-Fehlerinformationen abzufragen, immer noch die Interface-Dokumentation überprüfen. Das API-System jeder Plattform ist unterschiedlich, und die Unterschiede sind relativ groß. Für spezifische Probleme müssen Sie ihre Dokumentation überprüfen. Wenn Sie kein Strategieentwickler sind, sind diese nur zum Verständnis.
API-Schlüssel des Kontos Das Konto API KEY muss sorgfältig verstanden werden, da dies mit der Sicherheit von Blockchain-Assets verbunden ist, die auf der von Ihnen verwendeten Plattform gespeichert sind. Es wird gesagt, dass die API-Schnittstelle ein Kanal ist, dann kann der API KEY als diePassWenn es einen Zugangskanal gibt, können nicht alle Programme zugreifen, da es gefährlich ist. Daher ist die Verifizierung erforderlich und der API KEY wird verwendet, um die Identität zu überprüfen. Daher ist der API KEY mit der Sicherheit Ihrer Assets verbunden, also muss er ordnungsgemäß aufbewahrt werden.
Normalerweise wird der APIKEY einer Plattform in der oberen rechten Ecke der Plattformseite auf der Account-Management-Seite erstellt (es kann auch Plattformen geben, die ihn an anderer Stelle auf der Webseite platzieren, den Link mit dem Schlüsselwort access key
, und die zweite Zeichenfolge wird normalerweise genanntsecret key
. Es gibt auch Plattformen, deren API KEY auch andere Informationen enthält.PassPhrase
, die ebenfalls aus einer Zeichenfolge besteht (eine Zeichenfolge, die Sie selbst festlegen müssen, um die Sicherheitsüberprüfung zu verstärken).
Bei der Einstellung des API-Key ist es in der Regel notwendig, die Berechtigungen dieses API-Key zu setzen. Im Allgemeinen gibt es Berechtigungen wie
Austauschobjekt
Das Konzept des Austauschobjekts ist das Konzept auf der FMZ Quant Trading Platform (FMZ.COMEinfach ausgedrückt bezieht es sich auf ein Objekt, das durch die Verkapselung der Plattformoberfläche erzeugt wird.
Dieses Objekt ist
Wenn die Strategie darin besteht, Futures-Austauschobjekte zu betreiben, fügen Sie Futures hinzu, und wenn Sie Spot-Austauschobjekte betreiben möchten, fügen Sie Spot hinzu.
Auf der FMZ-Plattform ist
Der hier erwähnte Handelsmarkt bezieht sich auf eine spezifische Handelsmarktsituation (vorstellen Sie sich eine Handelsseite), die in der Regel in mehreren Modulen gehandelt wird.Handel mit Währungen, Spot-Margin-Handel, Vertragshandel, usw.
Handelspaar
Was wir normalerweise mit "Handelspaar" meinen, ist einfach, was wir kaufen und verkaufen, wie wenn wir auf den Markt gehen, um Kohl zu kaufen.
StellflächeHandel mit WährungenundSpot-Margin-HandelDer Handel mit einem Wertpapier, der in einem anderen Wertpapier verkauft wird, wird als Spothandel eingestuft.HandelspaarBeschreibung, auf welchem Markt er gehandelt wird.
Zum Beispiel, wenn Sie es auf FMZ Quant verwenden, wenn Sie ein Handelspaar von BTC für USDT austauschen möchten.
Wir verwenden die Funktionexchange.SetCurrency("BTC_USDT")
auf der FMZ-Plattformexchange.SetCurrency("BTC_USDT")
die Umstellung des aktuellen Handelspares auf:BTC_USDT
.
Für Schüler, die nicht verstehenSetCurrency
, können Sie sich auf:https://www.fmz.com/api#exchange.setcurrency- Ich weiß.
Für Schüler, die nicht verstehenexchange
, können Sie sich auf:https://www.fmz.com/api#exchange.
Vertrag (Futures und Optionen)
Der Vertragshandel unterscheidet sich stark vom Spothandel.crypto-margined contracts
undUSDT-margined contracts
Für den programmatischen Handel und den quantitativen Handel ist es notwendig, nicht nur das Handelspaar, sondern auch die Art des Vertrages zu bestimmen. Zum Beispiel, wenn wir mit BTC handeln wollen, dann gibt es viele BTC-Verträge, einschließlich vierteljährlicher Verträge (Lieferung, wenn jedes Quartal abgelaufen ist), wöchentliche Verträge (Lieferung, wenn jeder Freitag abgelaufen ist), ewige Verträge (Nichtlieferung), usw. Dann, wenn nur ein Handelspaar zur Identifizierung verwendet wird, welche Art von Vertrag wird verwendet? Daher ist ein spezifischer Vertragskode erforderlich, um das zu beschreiben und zu bestimmen.
Auf diese Weise müssen wir, wenn wir beschreiben, auf welchem Vertragsmarkt wir handeln sollen, beschreiben, welches Währungssymbol (Handelspaar) und welcher Vertragstyp (Vertragscode) es ist.
Krypto-Margin-Kontrakt
In der Regel wird die Kurswährung des Handelspaares des Krypto-Margin-Kontrakts in USD ausgedrückt (es ist nicht notwendig, darauf zu eingehen, die meisten Plattformen verwenden es zum Ausdrücken). Das Handelspaar ist BTC_USD, und der Vertrag ist ein vierteljährlicher Vertrag.BTC crypto-margined quarterly contract
Markt.
Auf der FMZ Quant Trading Plattform,exchange.SetCurrency("BTC_USD")
das Handelspaar festlegt und dannexchange.SetContractType("quarter")
Das aktuelle Handelssymbol wird auf diese Weise festgelegt.BTC crypto-margined quarterly contract
.
Vertrag mit USDT-Margin
Verträge, die USDT als Margin verwenden (z. B. BTC USDT-Margined Perpetual Contract, der USDT als Margin verwendet und die Rendite ebenfalls USDT ist), haben eine Rendite von USDT. Normalerweise wird die Kurswährung des Handelspares des USDT-Margined-Kontrakts in USDT ausgedrückt. Daher ist das Handelspärchen BTC_USDT und der Vertrag ist ein Perpetual-Kontrakt.BTC USDT-margined perpetual contract
Markt.
Auf der FMZ Quant Trading Plattform,exchange.SetCurrency("BTC_USDT")
das Handelspaar festlegt und dannexchange.SetContractType("swap")
Das Handelssymbol wird als "perpetual contract" eingestellt.BTC USDT-margined perpetual contract
.
Aufordnung Was genau bedeutet ein Befehl? Eine Bestellung ist das Bestellticket, das wir einer Plattform beim Kauf oder Verkauf auf der Plattform übermitteln. Bestellungen werden in Marktordern, Limitordern, bedingten Bestellungen usw. unterteilt. Die grundlegendsten Attribute einer Bestellung sind: der Gegenstand der Bestellung (einfach ausgedrückt, was zu kaufen oder zu verkaufen ist), der Bestellbetrag (wie viel zu kaufen oder zu verkaufen ist) und der Bestellpreis (zu welchem Preis zu kaufen oder zu verkaufen ist). Wenn die nächste Bestellung nicht wichtig ist, wie viel es ist, sondern nur die Menge bestimmt, die gekauft oder verkauft werden soll und was gekauft oder verkauft werden soll, dann wird eine solche Bestellung als Marktbestellung bezeichnet. Natürlich gibt es auch bedingte Bestellungen (Stop-Loss-Orders, Eisberg-Orders usw.), die mit den Plattformen zusammenhängen. Einige Plattformen bieten bedingte Bestellungen, andere nicht.
Stellfläche Der Bestellbetrag für den Kauf von Spot-Orders ist nicht der Währungssymbolbetrag, sondern der Geldbetrag. Da die Marktorder den Preis nicht bestimmen, kann nur der Geldbetrag verwendet werden, um zu bestimmen, wie viel zu kaufen ist. Der Verkaufsmarktbestellbetrag ist der Währungssymbolbetrag, da selbst wenn der Preis unsicher ist, der Betrag der verkauften Währungssymbole bestimmt werden kann.
Vertrag Der Auftragsbetrag eines Vertrages ist speziell, normalerweise der Vertragsbetrag. Die Auftragsbestelloberfläche einer Plattform ist im Grunde genommen der Vertragsbetrag, und es gibt keine Schnittstelle, die den Währungssymbolbetrag als Auftragsbetrag nimmt. Im Allgemeinen ist der Auftragsbetrag die Zahl des Auftragsbetrags, unabhängig davon, ob es sich um eine Markt- oder Limit-Order handelt.
Auftraggeber und Auftraggeber Ein Taker-Order ist ein Auftrag, der Liquidität liefert. Einfach ausgedrückt bedeutet dies, dass der aktuelle Marktpreis 10 für den Kauf eines und 11 für den Verkauf eines ist. Zu diesem Zeitpunkt, ich warte auf einen Kauf-Auftrag mit einem Kaufpreis von 9, oder einen Verkaufs-Auftrag mit einem Verkaufspreis von 12. Dann, ich biete einen Auftrag für die Tiefe im Markt. Dieser Auftrag von mir ist Maker. Noch dieses Beispiel, wenn ich einen Kauf-Auftrag zu einem Preis von 11 platziere; zu diesem Zeitpunkt wird mein Auftrag mit einem Verkaufs-Auftrag zu einem Preis von 11 auf dem Markt gehandelt. Zu diesem Zeitpunkt, ich nehme einen Auftrag vom Markt, der Kauf-Auftrag, den ich zu diesem Zeitpunkt platziert habe, war der Taker-Auftrag.
Zum Beispiel die Bestellfunktionenexchange.Sell
undexchange.Buy
Bei der Auftragserteilung hängt es vom Auftragspreis und dem aktuellen Markt ab, ob der Auftrag Liquidität liefert oder verringert.
Wenn ein Preis von -1 auf FMZ Quant importiert wird, ist es eine Marktorder zu platzieren. Beachten Sie, dass der Auftragsbetrag der Spotmarktkauforder der Geldbetrag ist, dann reduziert die Marktorder sicherlich die Liquidität und es muss ein Taker-Auftrag sein.
Bedingte Reihenfolge der Plattform
Viele Plattformen unterstützen auch bedingte Aufträge, wieiceberg order
, stop loss order
, stop profit order
, post_only: only place maker order
, fok: all executed or canceled immediately
, ioc: executed immediately or cancel the rest
, usw.
Diese Anordnungen können dieexchange.IO
Funktion auf der FMZ Quant, um direkt auf die Plattform-Order-Schnittstelle zuzugreifen, um die zu festlegenden Parameter anzugeben (zu spezifizieren, welche bedingte Order platziert werden soll), um eine Order zu platzieren.exchange.IO
Funktion, siehe die FMZ-API-Dokumentation:https://www.fmz.com/api#exchange.io...
Eine quantitative Handelsplattform kann als quantitatives Handelswerkzeug betrachtet werden, es kann ein Online-Software-System, eine Website oder ein lokales ausführbares Programm oder sogar ein Open-Source-Projekt auf GITHUB sein.
FMZ Quant Handelsplattform Die FMZ Quant Trading Plattform ist ein online verteiltes System.https://www.fmz.com/bbs-topic/4145
Backtestsystem der FMZ Quant Trading Plattform Was ist ein Backtestsystem? Einfach ausgedrückt, ist das Backtest-System, um die Historiedaten eines bestimmten Handelssymbols erneut abzuspielen und eine bestimmte Strategie in das Wiedergeben aufzunehmen und die Handelsleistung der Strategie zu erhalten, wenn die Historiedaten wiedergegeben werden.
FMZ Quant Trading Backtest System:
Name | Typ | Anweisungen |
---|---|---|
Bitfinex | Gegenstand des Spot-Austauschs | Unterstützung begrenzter Handelspare wie BTC_USD, ETH_USD und LTC_USD usw. (beachten Sie, dass die Kurswährung der Handelspare USD-Dollar ist) |
Binance | Gegenstand des Spot-Austauschs | Unterstützung begrenzter Handelspare wie BTC_USDT, ETH_USDT, ETH_BTC und LTC_BTC usw. |
Das ist OK. | Gegenstand des Spot-Austauschs | Unterstützung begrenzter Handelspare wie BTC_USDT, ETH_USDT, ETH_BTC und LTC_BTC usw. |
Weiß nicht. | Gegenstand des Spot-Austauschs | Unterstützung begrenzter Handelspare wie BTC_USDT, ETH_USDT, ETH_BTC und LTC_BTC usw. |
OKEX Futures | Futures-Börseobjekt | Unterstützung von begrenzten Handelsparen, wie BTC_USD und ETH_USD usw.; die Kurswährung der Handelspare ist USD; nach Einstellung eines spezifischen Vertragscodes (siehe Funktion exchange.SetContractType) ist der Vertrag ein Krypto-Margin-Vertrag; die unterstützten Vertragscodes sind: this_week, next_week, quarter und swap |
HuobiDM | Futures-Börseobjekt | HuobiDM ist Huobi Futures (Huobi Contract), das begrenzte Handelspare wie BTC_USD und ETH_USD usw. unterstützt; die Kurswährung der Handelspare ist USD; nach Einstellung eines spezifischen Vertragscodes (siehe Funktion exchange.SetContractType) ist der Vertrag ein Krypto-Margin-Kontrakt; die unterstützten Vertragscodes sind: this_week, next_week, quarter und swap. |
BitMEX | Futures-Börseobjekt | das Handelspaar ist XBT_USD; nach Einstellung des spezifischen Vertragscodes (siehe Funktion exchange.SetContractType) ist der Vertrag ein Krypto-Margin-Kontrakt; der unterstützte Vertragscode lautet: XBTUSD |
Binance Futures | Futures-Börseobjekt | Unterstützung von begrenzten Handelsparen, wie BTC_USDT und ETH_USDT usw.; die Kurswährung der Handelspare ist USD; nach Einstellung eines spezifischen Vertragscodes (siehe Funktion exchange.SetContractType) ist der Vertrag ein USDT-Margin-Kontrakt; der unterstützte Vertragscode ist swap |
Derbit-Optionen | Futures-Börseobjekt | Handelspaare sind: BTC_USD und ETH_USD; nach Festlegung des spezifischen Vertragscodes (siehe Funktion exchange.SetContractType) ist der Vertrag ein Krypto-Margin-Kontrakt; spezifische Optionskontraktcodes müssen festgelegt werden |
API KEY des quantitativen Handels
Alle Plattformen haben API-Schnittstellen, und die quantitative Handelsplattform hat auch API-Schnittstellen.extended API
. Einige Funktionen der FMZ-Plattform können programmatisch betrieben werden. Zum Beispiel das Hinzufügen von Bots in Chargen, das Starten von Bots in Chargen, das Ändern der Konfiguration von Bots in Chargen usw.https://www.fmz.com/api#fmz平台扩展api- Ich weiß.
Die erweiterte API kann auch verwendet werden, um etwas Interessantes zu tun, zum BeispielVerwenden Sie die erweiterte API auf FMZ Quant, um
Was genau steuert automatisch mein Plattformkonto für den Handel? Das ist die spezifische Verkörperung von Programmhandel und quantitativer Handel - programmierte Handelsscripts. Diese Echtzeitprogramme können in verschiedenen Sprachen geschrieben werden. Zum Beispiel unterstützt FMZ Quant Trading Platform das Schreiben von Echtzeithandelsstrategien in JavaScript, Python und C++ Sprachen. Diese Skriptprogramme führen verschiedene Operationen wie Kauf und Verkauf eines Kontos über die Plattform-API-Schnittstellen durch.
Das Gerät, auf dem das programmierte Handelsscript ausgeführt wird
Ein Skriptprogramm eines Bots muss einen Geräteträger haben (kurz gesagt, der Bot muss einen Ort haben, an dem er ausgeführt werden kann). Der quantitative Handel im Kryptowährungskreis setzt normalerweise ein Botprogramm auf den Alibaba Cloud-Server in Hongkong ein (natürlich können Sie auch Server von anderen Orten, anderen Betreibern verwenden). Angesichts der Tatsache, dass viele Plattformen derzeit überseeischen Netzwerkzugang erfordern, ist es unmöglich, inländische Server zu verwenden, um viele Plattform-API-Schnittstellen auszuführen. Im Allgemeinen, wenn die Schnittstelle nicht zugänglich ist, kann ein Fehler vontimeout
wird gemeldet.
Auf FMZ Quant können Sie in der Regel Ihr eigenes Softwareprogramm auf dem Alibaba Cloud Server in Hongkong bereitstellen (die Bot-Carrier-Software von FMZ Quant heißt
Sprachenoptionen für Skripte Es gibt so viele Programmiersprachen, und im Grunde können alle verwendet werden, um die Skriptprogramme von Bots zu schreiben. Hier nehmen wir auch FMZ Quant Trading Platform als Beispiel, um Ihnen die Vorteile verschiedener Sprachen zu vermitteln.
JavaScript Es ist einfach und einfach zu bedienen, fast ohne Abhängigkeit von der Geräteumgebung, und unterstützt den ES6-Standard.
Python Python hängt in gewissem Maße von der Geräteumgebung ab, und verschiedene Bibliotheken können installiert werden, so dass seine Erweiterbarkeit stark ist. (es wird für Studenten empfohlen, die mit der FMZ-Plattform vertraut sind und mit Python vertraut sind).
C++
Die Strategien von C++ haben die schnellste Ausführungsgeschwindigkeit, die höchste Effizienz und sind auch schwieriger zu bedienen.
Nachdem du die Sprache beherrscht hast, wirst du die anderen erfahren.so easy!
Mylanguage Die von FMZ unterstützte Mylanguage ist nur für die grundlegendsten Befehle.
Visualisierungsmodul Verschmelzte Strategie Das Erstellen von Strategien auf visuelle Weise dient nur dem Interesse, der Verbesserung und dem Verständnis der Programmlogik. Es kann verwendet werden, um einige einfache Logik zu erstellen, aber es ist nicht geeignet, eine leicht komplizierte Strategie zu entwerfen, da es schwierig ist, sie zu pflegen und zu erweitern, und schwieriger, komplexe Logik zu entwerfen.