Wie wird ein Börsenkurs ermittelt?

Ich versuche zu verstehen, wie ein Tickerpreis für einen Vermögenswert bestimmt wird, in diesem Fall schaue ich mir speziell BTC-Daten von GDAX an. Die Frage entstand, als ich historische BTC-Daten von GDAX herunterlud und Folgendes (abgekürzt) sah:

1516099829,11921.070000000000,0.008100000000 1516099829,11921.070000000000,0.037873260000 1516099829,11921.070000000000,0.031519050000 1516099829,11921.060000000000,0.037464080000 1516099829,11920.000000000000,0.001000000000 1516099829,11912.530000000000,0.001678900000 1516099829,11909.000000000000,0.000100990000 1516099829,11908.360000000000,0.001000000000 1516099829,11908.360000000000,0.001000000000 1516099829,11900.630000000000,0.001680580000 1516099829,11900.000000000000,1.293924550000 1516099829,11900.000000000000,0.132108480000 1516099829,11895.000000000000,0.000300000000 1516099829,11891.170000000000,0.000727720000 1516099829,11890.190000000000,1.400000000000 1516099829,11890.160000000000,0.000838510000 1516099829,11890.000000000000,0.058736000000 1516099829,11888.740000000000,0.001682260000 1516099829,11885.310000000000,0.252173310000 1516099829,11882.920000000000,0.841910000000 1516099829,11876.860000000000,0.001683950000 1516099829,11876.310000000000,0.000728620000 1516099829,11871.000000000000,0.000100990000 1516099829,11871.000000000000,0.000100990000 1516099829,11869.590000000000,0.010000000000 1516099829,11868.000000000000,0.000100990000 1516099829,11865.630000000000,0.010000000000 1516099829,11865.000000000000,0.001685630000 1516099829,11864.490000000000, 0,900000000000 1516099829,11864,480000000000,1,1130980000001516099829,11865.000000000001516099829,11865.00000000000

Wie Sie sehen können, schwankt der Preis in einer einzigen Sekunde stark. Ich verstehe, dass diese Daten korrekt sind und alle ausgeführten Orders für die Sekunde zeigen, aber ich verstehe nicht, wie der Tickerwert für diese Sekunde bestimmt wird.

Ich gehe von der (möglicherweise falschen) Annahme aus, dass das wiederholte Abrufen des Tickerwerts von ihrer REST-API diese wilden Schwankungen nicht für eine einzige Sekunde zeigen würde. Ich ziehe diese Schlussfolgerung, weil ich eine Schleife laufen gelassen habe, die die Tickerdaten immer wieder mit nur 300 ms Verzögerung erhält und der Preis sich nie in derselben Sekunde geändert hat. Tatsächlich zeigt es den gleichen Zeitstempel, bis sich der Preis ändert, in diesem Fall zeigt es den neuen Zeitstempel. Dies lässt mich glauben, dass es etwas hinter den Kulissen gibt, das den Tickerpreis pro Sekunde bestimmt, basierend auf allen Trades, die in dieser Sekunde stattfinden.

Wenn es hilft, frage ich das, weil ich GDAX-Daten für ein Programm, das ich geschrieben habe, rücktesten möchte. In meinem Programm erhalte ich alle zwei Sekunden die Tickerdaten für den aktuellen Zeitpunkt und erhalte einen Wert zurück (den Tickerkurs). Wenn jetzt beim Backtesting 1516099829 angezeigt wird, weiß ich nicht, welchen Preis ich verwenden soll. Mein Programm wird sich sehr unterschiedlich verhalten, je nachdem welchen Datenpunkt ich verwende, weil die Preise so stark variieren.

Willkommen beim Volatilitätsproblem.
Ganz einfach, es ist die jüngste Marktorder, die die höchste/niedrigste Kauf-/Verkaufsorder im Buch angenommen hat.

Antworten (1)

Wenn Sie den wss-Feed abonnieren, können Sie sehen, dass die meisten Subsekunden-Sachen Limit-Orders öffnen und stornieren, was sich nicht auf den Ticketpreis auswirkt. Nur Marktaufträge stellen den Austausch von Bitcoin dar. Marktaufträge sind Liquiditätsnehmer, erhalten Sie also eine Gebühr. Sie repräsentieren die tatsächliche Marktbewegung. Die Limit-Orders werden oft nie abgeglichen. Unter normaler Handelsatmosphäre können Market-Orders oft nur jede Minute bis fünf Minuten eingehen. Also Tickerpreis konstanter. Ich hoffe das hilft.

danke für die Antwort. Verstehe ich also richtig, dass die Daten, die ich gepostet habe, nur Orders im Buch sind, nicht unbedingt übereinstimmende Orders, die den Tickerpreis bewegt haben? Wenn ja, klingt es so, als wäre es nicht möglich, den tatsächlichen Tickerpreis zu einem bestimmten Zeitpunkt anhand der mir vorliegenden Daten zu ermitteln? Ich müsste einen anderen Datensatz finden, der den tatsächlichen Tickerpreis pro Sekunde anzeigt, wenn ich ein Programm backtesten möchte, das mit dem Tickerpreis funktioniert? Ich habe meine Daten von api.bitcoincharts.com/v1/csv , falls das hilft.
Market-Orders gehen nie ins Buch, es wären Open-Limit-Orders, die das Buch verlassen, aber wie können Sie feststellen, ob sie übereinstimmen oder einfach storniert wurden. Die meisten Transaktionen sind offene/schließende Aufträge. Im Grunde ringen Algorithmen um Positionen usw. Viel weniger sind der Austausch von Bitcoin. Es ist also wirklich nicht so aktiv, wie es scheinen mag. Manchmal kann es sich jedoch beschleunigen, wie bei einem plötzlichen Marktanstieg oder -einbruch. In der Regel angespornt durch eine große Market-Order-Füllung.
Sie sollten den gdax-Websocket-Feed verwenden. Es gibt die detailliertesten Informationen fast sofort weiter, wenn sie auf den Markt kommen. Die Verzögerung hängt von Ihrem physischen Standort und den Marktbedingungen ab. Auch für andere Orderbücher aus der Rest-API, insbesondere lvl 3, sollten Sie ausdrücklich nicht regelmäßig anfordern. Starten Sie stattdessen den wss-Feed und rufen Sie dann das Buch auf und aktualisieren Sie das Buch mit dem Feed unter Verwendung der Buch- und wss-Transaktionssequenznummer, ähnlich wie Blutungspausen für ein luftdichtes Buch.
Ok, ich habe den Preis überprüft, indem ich alle 30 Sekunden den Tickerwert erhalten habe und alle paar Sekunden meinen Bestellstatus überprüft habe, um zu sehen, ob einer von ihnen gefüllt ist (beide REST-API). Ich habe Web-Sockets vermieden, weil ich dachte, dass das mehr ist, als ich für mein einfaches Programm brauche, aber ich werde sie mir genauer ansehen. Danke, dass Sie Aufschluss darüber geben, was ich mit den von mir geposteten Rohdaten tatsächlich betrachtet habe. Es macht jetzt Sinn. Ich werde abstimmen / akzeptieren, wenn ich die Punkte dafür habe.
Ja, die Rest-API ist einfach, aber wenn Sie mit der authentifizierten Rest-API umgehen können, sollte das wss-Abonnement einfacher sein.
Auch 30-Sekunden-Poling ist wahrscheinlich kein Problem, aber wenn Sie so detaillierte Dinge wissen wollen, wie Sie fragen, sollten Sie einfach den wss-Feed verwenden.
Es hängt alles von der Genauigkeit ab, die Sie benötigen.