Coinpaprika Release - Preisberechnungsalgorithmus verbessert

Wie wir es früher gemacht haben und wie wir es jetzt machen!


Letzten Mittwoch sind wir vom alten System der Preisberechnung auf das völlig neue System umgestiegen. Die Ergebnisse waren sofort sichtbar. Aber nur für eine kleine Anzahl von Leuten. Dann dachten wir uns - Hey, wie um alles in der Welt kann ein durchschnittlicher Nutzer von einer solchen Aktualisierung erfahren? Da haben wir uns hingesetzt und beschlossen, dass wir unser Know-how teilen werden.

Zu Beginn werden wir den bisherigen Berechnungsprozess erläutern:

1. Von jedem Austausch die auf coinpaprika gelistet ist, haben wir die Märkte von deren API geholt. Jede Markt muss 3 Dinge enthalten:
Name des Marktes, Preis mit der angegebenen Einheit und das 24-Stunden-Volumen. Hier ist ein Beispiel, an dem wir arbeiten werden:

2. Für jeden Markt, der abgefragt wurde, haben wir sowohl den Preis als auch das Volumen in BTC und USD berechnet. Für diese Berechnung verwendeten wir Preise die zuvor auf coinpaprika (aus der vorherigen Iteration des Algorithmus) berechnet wurden. Der Einfachheit halber werden wir uns nur auf die USD-Berechnung konzentrieren.

Der vorherige Preis von USDT zu USD war 1,01

3. Für jeden angegebenen Markt haben wir auch den Preis der zweiten Währung des Paares berechnet.

Der vorherige Preis von LTC zu USD war 44,00

4. Auf diese Weise haben wir bereits eine vollständige Marktliste für jede beliebige Münze, hier ist ein Beispiel:

Für Märkte aus dem obigen Bildschirm wurde der Preis für LTC/BTC wie in Schritt #2 und XRP/LTC wie in Schritt #3 berechnet (hier ist LTC die zweite Währung in unserem Paar)

5. Wenn man viele Märkte mit Preisen in USD hat, ist es recht einfach, den Gesamtpreis zu berechnen. Er ist der gewogene Durchschnitt aller Märkte mit einem bestimmten Volumen. Bei dieser Berechnung werden Ausreißer oder Märkte ohne Gebühren und Transaktionen ausgeschlossen. Bergbau. Der endgültige Preis wird auf der Hauptseite angezeigt und kann für die nächste Iteration des Algorithmus verwendet werden

Wo lag also das Problem?

Für 98% gab es damals noch keine. Aber sie begannen zu erscheinen, als es mehr volatile Bewegungen auf dem Markt gab. Wir haben einige Male beobachtet, dass der BTC-Preis im Verhältnis zum USD anders war als auf anderen Listing-Websites. Als es zum Beispiel massive Kurseinbrüche gab, war unser BTC/USD-Preis höher als auf dem Markt selbst oder auf den Plattformen der Konkurrenz.

Was war die Ursache des Problems?

Wie in Schritt #2 und #3 beschrieben, hing der Preis nicht nur von der aktuellen Marktsituation ab, sondern auch vom Preis der letzten Iteration des Algorithmus
"Der vorherige Preis von USDT zu USD war 1,01"
"Der vorherige Preis von LTC zu USD war 44,00"
Dieser Algorithmus musste zur Berechnung des aktuellen Preises den Preis der vorherigen Iteration kennen, und dieser Preis wurde ebenfalls in Korrelation zur vorherigen Iteration berechnet usw. Dies führte zu einer langsamen Reaktion unserer angezeigten Preise auf die volatilen Bewegungen auf dem Markt.

Was hat sich geändert?

Wir haben versucht, diese Abhängigkeiten zu begrenzen, indem wir neue Umrechnungskurse (Referenzpreise) für die Währungen festgelegt haben, die nur den aktuellen Stand des gesamten Marktes berücksichtigen.

Wie haben wir das geschafft?

Wir mussten den Preis in jedem Markt auf eine gemeinsame Einheit bringen und dann einen gewichteten Durchschnitt festlegen - auf diese Weise würden wir einen Umrechnungskurs erhalten, der alle Märkte abdeckt. Auf der Website verwenden wir hauptsächlich Preise in USD und BTC, also werden wir die Preise in diese Einheiten umrechnen. Es handelt sich um einen mehrstufigen Prozess, bei dem wir im Ausgangszustand nicht wussten, wie viel eine Einheit einer bestimmten Währung kostet. Wir legen einen Referenzpunkt fest, der für uns Bitcoin ist (die BTC-Märkte für die meisten Währungen sind in der Regel die liquidesten), für den wir im Anfangsstadium den Preis in USD als gewichteten Durchschnittspreis aller BTC/USD-Märkte berechnen. Dann können wir beginnen, jeden Markt in BTC- und USD-Preise umzurechnen:

1. Im ersten Schritt berechnen wir die durchschnittlichen Währungspreise nur für den BTC- und den FIAT-Markt (indem wir sie zunächst in USD zum Wechselkurs von https://openexchangerates.org/ und dann in BTC zum durchschnittlichen Wechselkurs des BTC/USD-Marktes) - als Ergebnis erhalten wir Informationen darüber, wie viel BTC jede Währung im Durchschnitt kostet.

2. Wir wissen jetzt auch, wie viel USD jede Währung kostet, weil wir den BTC/USD-Konverter kennen.

3. Einige Kryptowährungen haben keine Märkte mit BTC oder BTC-Märkte sind die Minderheit des Gesamtvolumens, wodurch der berechnete Durchschnitt ungenau ist.

4. Im nächsten Schritt verwenden wir daher alle zuvor berechneten Umrechnungskurse, um die neuen Preise der Kryptowährungen in BTC und USD zu berechnen. Indem wir diese Schritte einige Male wiederholen, haben wir Daten von allen Märkten gleichzeitig berechnet.

Mit dieser Methode hängt der aktuelle Preis von diesen wenigen Iterationen ab, die die Marktpreise in BTC und USD bringen, und nicht von der gesamten historischen Preiskette.


Was halten Sie von dieser Funktion?

Prüfen Sie es jetzt auf Coinpaprika & lassen Sie es uns wissen!

Vergessen Sie nicht, uns auf zu folgen:

Twitter: twitter.com/coinpaprika

Facebook: facebook.com/coinpaprika

Telegramm: t.me/coinpaprika

Kommentar verfassen