3
konzentrieren Sie sich auf
1444
Anhänger

Spätes Teilen: Der Bitcoin-Hochfrequenzroboter, der 2014 5 % pro Tag verdiente, ist öffentlich verfügbar

Erstellt in: 2017-11-30 14:15:27, aktualisiert am: 2024-12-26 21:36:00
comments   28
hits   38119

Spätes Teilen: Der Bitcoin-Hochfrequenzroboter, der 2014 5 % pro Tag verdiente, ist öffentlich verfügbar

Einführung in die Strategie

Adresse für den Strategieaustausch: https://www.fmz.com/strategy/1088 Diese Strategie ist meine Hauptstrategie, seit ich mit dem Handel mit virtuellen Währungen begonnen habe. Sie ist durch kontinuierliche Verbesserungen und Modifikationen viel komplizierter geworden, aber die Grundidee hat sich nicht geändert. Die Version, die ich teile, ist die erste Version ohne offensichtliche Fehler. Es ist die einfachste und übersichtlichste Version ohne Positionsmanagement. Jede Transaktion erfolgt mit voller Position, ohne Einfrieren oder Neustarten usw., aber es reicht aus, um das Problem zu veranschaulichen. Die Strategie lief von August 2014 bis die Börse Anfang dieses Jahres begann, Gebühren zu erheben. Das Unternehmen lief in diesem Zeitraum recht gut und wies nur sehr wenige Verluste auf. Der Betrag wurde von anfänglich 200 Yuan auf 80 Bitcoins erhöht. Der konkrete Vorgang ist ersichtlichXiaocaos Sina-BloginnenDer Weg zum automatisierten KryptowährungshandelArtikelserie. Die folgende Abbildung zeigt die Gewinnkurve der OKcoin-Plattform, die ich speziell berechnet habe. Das Anfangskapital beträgt 1.000 Yuan. Sie können sehen, dass das Anfangskapital stetig gestiegen ist. Die gerade Linie in der Mitte ist der Punkt, an dem meine Strategie endete. Später, weil die Strategie wurde in eine Münzgewinnstrategie geändert, die in RMB denominierten Die Renditen schwanken dramatisch. Der spezifische Prozess istZweijahresübersicht zum strategischen HandelEine Beschreibung gibt es im Artikel. Spätes Teilen: Der Bitcoin-Hochfrequenzroboter, der 2014 5 % pro Tag verdiente, ist öffentlich verfügbar Die folgende Abbildung zeigt die Kurve des Gesamtvermögens umgerechnet in Währung: Spätes Teilen: Der Bitcoin-Hochfrequenzroboter, der 2014 5 % pro Tag verdiente, ist öffentlich verfügbar

Warum diese Strategie teilen?

  1. Nachdem die Börse Transaktionsgebühren erhoben hatte, führte dies beinahe zum Abbruch aller Hochfrequenzstrategien, einschließlich meiner. Aber vielleicht kann es immer noch funktionieren, wenn die Strategie geändert wird. Sie können es untersuchen.
  2. Ich habe lange nichts mehr mitgeteilt, und ich wollte diesen Artikel schon lange schreiben.
  3. Kommunizieren und lernen Sie mit allen.

Grundsätze der Strategie

Das Prinzip dieser Strategie ist äußerst einfach und kann als quasi-Hochfrequenz-Market-Making-Strategie verstanden werden. Nachdem Sie dies gelesen haben, möchten Sie vielleicht jemanden schlagen, denn damit lässt sich Geld verdienen und fast jeder hätte es damals schreiben können. Zeit. Ich hätte zunächst nicht gedacht, dass es so effektiv ist. Es zeigt, dass man, wenn man eine Idee im Kopf hat, diese schnell in die Tat umsetzen sollte, und dass man möglicherweise unerwartete Überraschungen erlebt. Im Jahr 2014, als die ersten Bitcoin-Roboter auftauchten, war es zu einfach, profitable Strategien zu schreiben. Wie alle Hochfrequenzstrategien basiert auch diese Strategie auf Orderbüchern. Die folgende Abbildung zeigt die Auftragsverteilung einer typischen Bitcoin-Börse. Spätes Teilen: Der Bitcoin-Hochfrequenzroboter, der 2014 5 % pro Tag verdiente, ist öffentlich verfügbar Sie können sehen, dass sich links Kaufaufträge mit der Anzahl der ausstehenden Aufträge zu unterschiedlichen Preisen befinden und dass sich rechts Verkaufsaufträge befinden. Es ist denkbar, dass eine Person, die Bitcoin kaufen möchte, keine Bestellung aufgeben und warten möchte, nur die Möglichkeit hat, die Bestellung anzunehmen. Wenn sie viele Bestellungen hat, führt dies zu einer großen Anzahl von Verkaufsaufträgen. ausgeführt werden, was Auswirkungen auf den Preis hat, aber diese Auswirkungen werden im Allgemeinen nicht ewig anhalten. Wenn sie anhalten und es immer noch Leute gibt, die die Bestellung annehmen und verkaufen wollen, wird sich der Preis wahrscheinlich in sehr kurzer Zeit erholen. Umgekehrt Ähnlich verhält es sich, wenn jemand die Währung verkaufen möchte. Nehmen Sie als Beispiel die ausstehende Bestellung in der Abbildung. Wenn Sie 5 Münzen direkt kaufen möchten, erreicht der Preis 10377. Wenn zu diesem Zeitpunkt jemand 5 Münzen direkt verkaufen möchte, erreicht der Preis 10348. Dieser Raum ist der Gewinn Raum. Die Strategie besteht darin, eine Bestellung zu einem Preis aufzugeben, der etwas unter 10377 liegt, z. B. 10376,99, und zu einem Preis zu kaufen, der etwas über 10348 liegt, z. B. 10348,01. Wenn die Situation gerade erst eintritt, verdienen Sie offensichtlich die Differenz. Obwohl es aufgrund des Wahrscheinlichkeitseffekts nicht immer perfekt sein wird, sind die Chancen, Geld zu verdienen, tatsächlich überraschend hoch. Lassen Sie uns die spezifischen Operationen mit den Parametern der aktuellen Strategie erklären. Natürlich kann dieser Parameter nicht mehr verwendet werden, es handelt sich nur um eine Erklärung. Es wird nach dem Preis mit einer kumulierten Verkaufsorder von 8 Münzen gesucht, der hier 10377 beträgt. Der Verkaufspreis zu diesem Zeitpunkt ist dieser Preis minus 0,01 (der Minusbetrag kann zufällig sein). Ebenso wird nach dem Preis mit einem kumulative Kauforder von 8 Münzen, hier ist 10348, dann ist der Verkaufspreis zu diesem Zeitpunkt 10348,01 und die Differenz zwischen den Kauf- und Verkaufspreisen ist 10376,99-10348,01=28,98, was größer ist als die durch die Strategie voreingestellte Differenz von 1,5. Dann platzieren Sie eine Bestellung zu diesen beiden Preisen und warten auf die Transaktion. Wenn der Preisunterschied weniger als 1,5 beträgt, finden wir auch einen Preis, um eine Bestellung aufzugeben, beispielsweise den Marktpreis plus oder minus 10, und warten auf ein Leck (es wäre angemessener, weiter nach mehr Tiefe zu suchen). Beachten Sie auch, dass sich diese Strategie nur auf die aktuelle Tiefe der ausstehenden Aufträge bezieht und sich nicht um historische Marktbedingungen und ihre eigenen historischen Transaktionen kümmert. Die Strategie hat auch nicht das Konzept eines einzelnen Verlusts. Tatsächlich ist die einzelne Gewinnrate ist sehr hoch.

Weitere Erläuterung

  1. Was tun, wenn Sie kein Geld oder Kleingeld haben? Diese Situation kommt sehr häufig vor, wenn ich weniger Geld habe und meistens nur eine einseitige Bestellung aufgebe, aber das ist kein großes Problem. Tatsächlich kann die Logik des Währungs- und Geldgleichgewichts hinzugefügt werden, aber Verluste sind im Ausgleichsprozess unvermeidlich. Schließlich wird jede Transaktion durch die Wahrscheinlichkeit begünstigt. Ich entscheide mich, auf einer Seite weiter auf die Transaktion zu warten. Natürlich ist dies vergeudet außerdem die Transaktionsmöglichkeit auf der anderen Seite.
  2. Wie werden Positionen verwaltet? Zu Beginn erfolgten alle Transaktionen ausschließlich im Kauf- und Verkaufsmodus. Später wurden sie nach unterschiedlichen Parametern in verschiedene Gruppen unterteilt und die Transaktionen wurden nicht auf einmal abgeschlossen.
  3. Kein Stop-Loss? Die Strategie hat eine vollständige Logik für Kauf- und Verkaufsaufträge. Ich glaube nicht, dass ein Stop-Loss erforderlich ist (kann besprochen werden). Außerdem spielt die Wahrscheinlichkeit eine Rolle. Eine Transaktion ist eine Chance, daher wäre ein Stop-Loss schade.
  4. Wie passt man die Strategie an, um Münzen zu verdienen? Die Parameter sind zu diesem Zeitpunkt symmetrisch, d. h. die kumulierten Verkaufsaufträge von 8 Münzen nach oben und die kumulierten Kaufaufträge von 8 Münzen nach unten. Wenn sie leicht unausgeglichen sind, beispielsweise die kumulierten Verkaufsaufträge von 15 Münzen nach oben, besteht die Chance, Verkaufen Sie seltenere Münzen. Es besteht eine größere Chance, dass Sie sie zu einem niedrigeren Preis zurückbekommen, wodurch Sie Münzen verdienen und wiederum Geld verdienen. Tatsächlich waren die frühen Strategien so effektiv, dass sowohl die Münzen als auch das Geld an Wert gewannen.
  5. Wie geht man mit schwebenden Verlusten um? Natürlich führt eine einzelne Transaktion zu einem Verlust. Wenn beispielsweise der Preis der Währung nach dem Verkauf steigt und nach dem Kauf fällt, müssen solche schwebenden Verluste nicht verarbeitet werden, da Transaktionen sehr häufig sind und es normal ist, habe Tausende von Transaktionen pro Tag. Schwebende Verluste sind normal, solange die Gewinnwahrscheinlichkeit höher ist.
  6. Wie kann man schwarze Schwäne verhindern? Es gibt viele Black Swan-Ereignisse bei Bitcoin. Manchmal fällt der Kurs einfach weiter, ohne dass eine Chance zum Verkauf besteht. In diesem Fall besteht kein Grund zur Sorge, denn Black Swan-Ereignisse bringen oft eine hohe Volatilität mit sich, und das ist der Teil, den die Strategie verdient Geld. Das verlorene Geld kann schnell wieder hereingeholt werden.

Code Erklärung

Den vollständigen Code finden Sie in meiner Strategieerklärung unter www.fmz.com. Hier erkläre ich nur die Kernlogikfunktionen. Ohne Änderungen funktioniert die mit Botvs gelieferte Simulationsdiskette tatsächlich völlig normal. Dies ist eine Strategie von vor über 3 Jahren, und die Plattform unterstützt sie bis heute. Es ist so rührend. Zuerst müssen wir GetPrice() verwenden, um den Gebots- und Briefkurs abzurufen. Wir müssen die Informationen zur Auftragstiefe abrufen. Beachten Sie, dass die Längen der Informationen zur Auftragstiefe auf verschiedenen Plattformen unterschiedlich sind, und selbst wenn alle Aufträge durchlaufen werden, gibt es immer noch keine erforderliche Menge (im späteren Stadium führen viele 0,01-Rasteraufträge zu dieser Situation), der Aufruf lautet GetPrice(‘Buy’), um den Kaufpreis zu erhalten.

function GetPrice(Type) {
   //_C()是平台的容错函数
    var depth=_C(exchange.GetDepth);
    var amountBids=0;
    var amountAsks=0;
    //计算买价,获取累计深度达到预设的价格
    if(Type=="Buy"){
       for(var i=0;i<20;i++){
           amountBids+=depth.Bids[i].Amount;
           //参数floatamountbuy是预设的累计深度
           if (amountBids>floatamountbuy){
               //稍微加0.01,使得订单排在前面
              return depth.Bids[i].Price+0.01;}
        }
    }
    //同理计算卖价
    if(Type=="Sell"){
       for(var j=0; j<20; j++){
    	   amountAsks+=depth.Asks[j].Amount;
            if (amountAsks>floatamountsell){
            return depth.Asks[j].Price-0.01;}
        }
    }
    //遍历了全部深度仍未满足需求,就返回一个价格,以免出现bug
    return depth.Asks[0].Price
}

Die Hauptfunktion jeder Schleife ist onTick(). Die Schleifenzeit ist auf 3,5 Sekunden eingestellt. Jede Schleife storniert die ursprüngliche Bestellung und platziert eine neue Bestellung. Je einfacher sie ist, desto unwahrscheinlicher ist es, dass Fehler auftreten.

function onTick() {
    var buyPrice = GetPrice("Buy");
    var sellPrice= GetPrice("Sell");
    //diffprice是预设差价,买卖价差如果小于预设差价,就会挂一个相对更深的价格
    if ((sellPrice - buyPrice) <= diffprice){
            buyPrice-=10;
            sellPrice+=10;}
    //把原有的单子全部撤销,实际上经常出现新的价格和已挂单价格相同的情况,此时不需要撤销
    CancelPendingOrders() 
    //获取账户信息,确定目前账户存在多少钱和多少币
    var account=_C(exchange.GetAccount);
    //可买的比特币量,_N()是平台的精度函数
    var amountBuy = _N((account.Balance / buyPrice-0.1),2); 
    //可卖的比特币量,注意到没有仓位的限制,有多少就买卖多少,因为我当时的钱很少
    var amountSell = _N((account.Stocks),2); 
    if (amountSell > 0.02) {
        exchange.Sell(sellPrice,amountSell);}
    if (amountBuy > 0.02) {
        exchange.Buy(buyPrice, amountBuy);}
    //休眠,进入下一轮循环
    Sleep(sleeptime);
}

Schwanz

Das gesamte Programm ist nur etwa 40 Zeilen lang und sieht sehr einfach aus, aber ich habe mehr als eine Woche gebraucht, um es fertigzustellen, und das auf der Botvs-Plattform. Der größte Vorteil ist, dass ich früh angefangen habe. Im Jahr 2014 war der Markt von Arbitrage dominiert, und es gab nicht viele Hochfrequenzgitter und Greifpositionen, was die Strategie wie eine Ente im Wasser machte. Später wurde der Wettbewerb zwangsläufig mehr und heftiger und mein Geld wurde immer mehr. Es kommen immer mehr Herausforderungen auf uns zu und wir müssen von Zeit zu Zeit größere Änderungen vornehmen, um mit ihnen umzugehen, aber insgesamt läuft es reibungslos. Wenn die Handelsplattform keine Bearbeitungsgebühren erhebt, ist sie ein Paradies für den programmatischen Handel. Privatanleger sind geneigt, zu handeln, weil sie keine Bearbeitungsgebühren erheben, was Raum für hohe Frequenz und Arbitrage bietet. All dies wird im Grunde mit dem 0,1 erreicht -0,2 % Die Gebühren für Zweiwegetransaktionen sind abgeschafft. Es geht nicht nur darum, dass Gebühren erhoben werden, sondern auch um einen Rückgang der gesamten Marktaktivität. Es gibt jedoch noch viel Spielraum für quantitative Strategien, die keine hohen Frequenzen erfordern.