Diskussion zum Artikel "Trianguläre Arbitrage" - Seite 4

 

Da es in der Schlichtung immer wieder zu sehr negativen Situationen kommt, ist es fast immer notwendig, eine Notabschaltung für den Kampfeinsatz vorzusehen.

 
fxsaber:

Da es in der Schlichtung viele manchmal sehr negative Situationen gibt, ist es fast immer notwendig, eine Notabschaltung für den Kampfeinsatz vorzusehen.


Dagegen hat niemand etwas einzuwenden. Aber das ist etwas, das jeder für sich selbst hinzufügen kann.

 

Die mathematische Interpretation der Währungsarbitrage ist im Allgemeinen recht einfach


Eine Suche ergab, dass dies genau das ist, was hier im Forum vorgeschlagen wurde

Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien.

Flache Konstruktion, aber wie auf sie zu öffnen?

Anonym, 2014.09.23 22:30

1) Die Eckpunkte des Graphen sind alle Währungen im Einsatz.

2) Die Gewichte der Kanten des Graphen sind die Logarithmen der entsprechenden Wechselkurse (Transaktionskosten können ebenfalls berücksichtigt werden).

3) Die Lösung kann mit Hilfe des Bellman-Ford-Algorithmus ermittelt werden.

4) Wenn es keinen Pfad mit negativen Kosten gibt, liegt keine Arbitrage-Situation vor.

Schnell und ohne rohe Gewalt.

Ein paar Bilder für den Anfang

Die Suche nach einer negativen Schleife (Arbitrage) mittels Bellman-Ford ist nicht schwierig. In diesem recht aktuellen Artikel wird jedoch behauptet, dass der optimale negative Zyklus - der kürzeste (kleinste Summe der Kanten) Zyklus - nicht gefunden wird. Stimmt das nun oder nicht?


Ist es wirklich notwendig, im Jahr 2017 einen eigenen Zyklus zu erstellen, um die stärkste aktuelle Arbitrage zu ermitteln?

 

Bellman-Ford ist gut geeignet, um schrittweise einen synthetischen Jahrgang zu erhalten

  1. Mit Hilfe der aktuellen Preise (bestprice) über BF, finden wir den besten synthetischen Preis. Wir setzen ihn auf den besten Preis des synthetischen Bechers. Wir berechnen das Volumen auf der Grundlage der Tatsache, dass das gesamte Volumen des bestprice des realen Symbols, das in der besten synthetischen Kombination enthalten ist, aufgefressen wird.
  2. Der beste Preis des realen Symbols aus Schritt 2 wird dann auf das nächste Band umgestellt. Auf die "neuen Preise" wenden wir Punkt 1 an.
Am Ende durchlaufen wir beide Punkte, bis sich herausstellt, dass es kein Symbol (das an der synthetischen Kombination teilnehmen kann) mit einer "Liquidität" ungleich Null gibt. An diesem Punkt wird das synthetische Glas gebildet.

 
fxsaber:

der optimale negative Zyklus - der kürzeste (kleinste Summe der Kanten) Zyklus - wird nicht gefunden. Stimmt das oder nicht?


https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0_%E2%80%94_%D0%A4%D0%BE%D1%80%D0%B4%D0%B0: "Der Bellman-Ford-Algorithmus ist ein Algorithmus zum Finden des kürzesten Pfades in einem gewichteten Graphen".

Wenn der Weg mit dieser Länge nicht der einzige ist, besteht die Möglichkeit, einen Weg mit den gleichen Kosten zu wählen, der aber durch mehr Knoten führt. Es gibt zwei Möglichkeiten, das Problem zu lösen (Vermutung, es ist faul, das zu überprüfen):

1) Anstelle von N Iterationen durch die Anzahl der Währungen und anschließender Prüfung auf eine negative Schleife - machen Sie N Iterationen, aber prüfen Sie ab der dritten auf eine negative Schleife.

2) Bei der Wiederherstellung des kürzesten Pfades die Suche mit Rückgabe verwenden. Der schlimmste Fall ist, wenn alle Wege negativ sind und die gleichen Kosten haben. Unrealistisch für korrekte Daten + Sie können sich leicht dagegen schützen, indem Sie einen Sicherheitszähler hinzufügen.

 
anonymous:

EURUSD und GBPUSD haben einen negativen Spread. Aber die GBPUSD-Arbitrage ist günstiger. Der BF kann jedoch einen negativen EUR->USD->EUR-Zyklus aufweisen, aber nicht GBP->USD->GBP. Die Kosten des zweiten Zyklus sind geringer, aber der BF ist nicht dazu gedacht, die "besten" negativen Zyklen anzuzeigen.

Der genannte Artikel schlägt eine ungenaue Methode vor, um den besten negativen Zyklus zu finden. Wurde bisher nicht ein klarer Zyklus ermittelt?


ZY Das Beispiel ist zwar schlecht, aber wenn BF mit USD beginnt, sollte es GBPUSD anzeigen. Aber der Punkt ist trotzdem klar.

 

Dieses Bild zeigt Arbitrage aus vier Währungspaaren (Anzahl der blauen Pfeile). Ist eine optimale Arbitrage von mehr Teilnehmern möglich?

 

> Und ihr Vorhandensein wird durch die Erfüllung der Relaxationsbedingung bei der letzten Iteration des BF bestimmt.

Trotzdem schlage ich vor, nach jeder Iteration mit der Überprüfung zu beginnen :)

> Die Kosten des zweiten Zyklus sind geringer, aber das BF ist nicht dazu gedacht, die "besten" negativen Zyklen anzuzeigen.

Es bedeutet, dass Ihre Implementierung einfach den ersten Zyklus mit negativen Kosten nimmt. Nimm nicht den erstbesten, der sich ergibt...

  for (unsigned int i = 0; i < n; i++) {
    for (unsigned int j = 0; j < n; j++) {
      // Geben Sie drei Variablen ein: 1) den besten Wert der Differenz zwischen dem linken und dem rechten Teil;
      // 2-3) Indizes i & j, bei denen dieser Wert erreicht wird.
      if ((dis[i] + weights(i, j)) < dis[j]) { 
        // Der Schleifenabruf sollte nach Abschluss von i/j Iterationen erfolgen
        return extract_cycle(pre, j, n);
      }
    }
  }


 
anonymous:

> Und ihr Vorhandensein wird durch die Erfüllung der Relaxationsbedingung bei der letzten Iteration des BF bestimmt.

Trotzdem schlage ich vor, nach jeder Iteration mit der Überprüfung zu beginnen :)

> Die Kosten des zweiten Zyklus sind geringer, aber das BF ist nicht dazu gedacht, die "besten" negativen Zyklen anzuzeigen.

Es bedeutet, dass Ihre Implementierung einfach den ersten Zyklus mit negativen Kosten nimmt. Nimm nicht den ersten...

Ja, es kam die Idee auf, alle Zyklen auf einmal zu durchlaufen. Aber es ist keineswegs offensichtlich, dass der kleinstmögliche Zyklus darunter sein wird.

Ehrlich gesagt sind die Beweise für die Korrektheit von BF (alle, die ich gelesen habe) vage. Und wenn es um negative Zyklen geht, erscheinen sie nur als Bonus. Und nichts Konkretes, außer der Feststellung ihres Vorhandenseins, wird durch die BF garantiert.

Wenn es eine einfache Brute-Force-Lösung gäbe, würde in dem Artikel wahrscheinlich kein annähernder Algorithmus zum Auffinden des optimalen Zyklus vorgestellt. Ich habe mich selbst noch nicht mit dem Zyklus beschäftigt, aber bisher kann ich nicht erkennen, was so unüberwindbar ist. Die Suche führt zu nichts anderem als zu einer primitiven HFT-Argumentation für Quantenressourcen.

 

Ist es nicht einfacher, einen Roboter laufen zu lassen und zu sehen, was er findet und handelt?
Ich respektiere Theoretiker, ohne sie kommt man nirgendwo hin, aber ich bin ein Praktiker, und diese Idee, zumindest für den Handel an den Märkten, erfordert keine so ernsthafte mathematische Vorbereitung, denn

a) alle Preise, die uns angeboten werden, haben bereits ihren Aufschlag

b) die Gegengebote bereits zusammengestellt sind, bevor sie uns erreichen

c) in der erhaltenen Form hat die Arbitrage probabilistischen Charakter.


Ich würde gerne Ihre Meinung darüber hören, warum eine so einfache Idee eine so komplizierte Lösung benötigt.