Be your own Analyst Wie analysiere ich das On-Chain-Verhalten von Bitcoin?

Auf der Suche nach neuen Erkenntnissen über Bitcoin & Co. kann uns die Datenanalyse gute Dienste erweisen. In diesem Artikel wollen wir gemeinsam eine kleine Datenanalyse machen und den Zusammenhang zwischen Bitcoin-Kurs und Transaktionsvolumen anschauen.

Dr. Philipp Giese
Teilen

Beitragsbild: Shutterstock

Do your own research ist ein beliebtes Motto im Krypto-Bereich. Sowohl hier auf BTC-ECHO als auch in der BTC-ACADEMY bemühen wir uns, unsere Leserinnen und Leser mit dem dafür notwendigen Rüstzeug auszustatten beziehungsweise an unseren Einsichten teilhaben zu lassen. Unser Discord ist als Anlaufpunkt für die BTC-ECHO-Community ebenfalls eine Quelle für derartige eigene Forschungen.

Zur own research zählt aber auch der nüchterne Blick auf die Rohdaten. Der mündige Krypto-Bürger sollte auch immer ein kleiner Datenanalyst sein. Letzte Woche haben wir einen diesbezüglich ersten Schritt gemacht: Im ersten Teil dieser Reihe habe ich erklärt, wie Interessierte Kursdaten herunterladen und damit arbeiten können. Mit TradingView und APIs wie der von Coingecko kommen Investoren und Analysten schon sehr weit. Sie können Kurse von Bitcoin & Co. nach gängigen Regeln der technischen Kursanalyse betrachten und neue Metriken und Indikatoren studieren. Man kann auch Investment-Strategien wie Dollar-Cost-Averaging und das Nutzen von Saisonalitäten studieren oder auf Basis mehrerer Kryptowährungen ein Portfolio erstellen.

Der Kurs berücksichtigt jedoch eine Besonderheit der Kryptowährungen nicht: Dank der öffentlichen Natur der Blockchains kann jeder Analyst selber einen Blick on-chain werfen. Wie viele Transaktionen gab es auf der Blockchain? Wie voll sind die Blöcke? Derartige Fragen können Analysten mit einem Blick on-chain klären. In diesem Artikel möchten wir ein paar Möglichkeiten erläutern, wie man mithilfe von APIs an derartige Daten kommen kann. Wie im letzten Artikel der Reihe erläutert nutzen wir dazu R.

Ein zweites Ziel dieses Artikels ist, gemeinsam eine kleine explorative Datenanalyse zu erstellen. Wir beginnen deshalb mit der Datenakquise und spielen gemeinsam mit den entsprechenden Daten. Mal sehen, was wir dabei herausfinden.

Anspruchsvolle Bitcoin-Daten dank Coinmetrics

Für einen ersten Blick auf Daten jenseits des reinen Kursgeschehens leistet Coinmetrics gute Dienste. Coinmetrics ist ein Unternehmen, welches sich auf krypto-relevante Analysen fokussiert. Ihre Analysen wurden in verschiedenen Artikeln in der Vergangenheit diskutiert. Neben diesen Insights bietet Coinmetrics der Community eine große Menge an Daten, die für viele Analysen der erste Schritt sein können.

Auch jene, die nicht sofort mit R loslegen wollen, können auf ihrer Plattform schon loslegen. Unter diesem Link erreichen Interessierte ein Frontend, in welchem verschiedene Daten hinsichtlich ihrer zeitlichen Entwicklung betrachtet werden können:

Die erste Darstellung bei Coinmetrics zeigt den Bitcoin-Kurs an, es ist aber deutlich mehr möglich

Wie man sieht, können neben Bitcoin verschiedenste andere Kryptowährungen untersucht werden. Obige Darstellung zeigt die Entwicklung des Bitcoin-Kurses. Es sind jedoch auch Größen wie die realisierte Kapitalisierung, die NVT-Ratio oder die aktuelle Blockgröße anwählbar. Wem das nicht genügt, der kann noch über „Formula“ Kombinationen der genannten Größen erstellen und grafisch auftragen. Hier kann der Bitcoin-Analyst in spe schon sehr weit gehen und beispielsweise einfache Trendvoraussagen modellieren.

Was jedoch, wenn man weitere Modelle anwenden oder die Daten von Coinmetrics mit anderen gemeinsam betrachten möchte? Oder wenn Daten nicht einfach in ihrer zeitlichen Abhängigkeit analysiert werden sollen? Sagen wir mal, dass wir den Zusammenhang zwischen Bitcoins Transaktionsanzahl und seinem Kurs genauer analysieren möchten. Wir sind nicht am zeitlichen Zusammenhang interessiert, sondern welchen einen Einfluss die Transaktionsanzahl auf den Bitcoin-Kurs hat.

Hier können wir wieder ähnlich wie in der letzten Woche vorgehen und die API von Coinmetrics nutzen. Für jene, die keine Fans des JSON-Formats sind, kann man sich die Daten im CSV-Format ausgeben lassen. Unsere Daten bezüglich Transaktionsanzahl und Kurs von Bitcoin können wir über diesen API-Call erhalten:

https://community-api.coinmetrics.io/v2/assets/btc/metricdata.csv?metrics=PriceUSD,TxCnt

Eigentlich kann man obigen API-Call fast vorlesen. Wir erfragen für das Asset Bitcoin (btc) Daten in Form einer CSV-Datei (metricdata.csv) und zwar konkret den Bitcoin-Kurs (PriceUSD) und die Transaktionsanzahl (TxCnt).

Hübsche Bilder mit dem Tidyverse

So weit, so einfach. Wie stellen wir jetzt den obigen Zusammenhang grafisch dar? Prinzipiell könnten wir wie in der letzten Woche den Befehl plot nutzen. Ich möchte jedoch angehende Analysten mit dem Tidyverse vertraut machen.

Wie bereits letzte Woche angerissen ist das Tidyverse eine Sammlung von Bibliotheken, die die Arbeit mit Daten in R vereinfacht. Gerade im Feld der explorativen Datenanalysen, sprich, wenn man erstmal mit den Daten etwas spielen möchte, ist das Tidyverse eine sehr angenehme Hilfe. Mit ihr ist die Aufbereitung, Analyse und Visualisierung der Daten recht einfach.

Um mit dem Tidyverse zu arbeiten zu können, müssen wir als erstes die entsprechenden Bibliotheken aufrufen. Dazu gehen wir wie in der letzten Woche vor und rufen über den Befehl library das Tidyverse auf:

library(tidyverse)

Übrigens: Sollte es hier eine Fehlermeldung geben, wird man höchstwahrscheinlich die entsprechenden Bibliotheken installieren müssen. Das kann man über den Befehl install.packages machen:

install.packages(tidyverse)

Nun können wir mit den Daten arbeiten. Mit einem einfachen Befehl ziehen wir die Daten:

read_csv("https://community-api.coinmetrics.io/v2/assets/btc/metricdata.csv?metrics=PriceUSD,TxCnt")

Wir könnten wie in der letzten Woche die Daten in eine Variable ziehen:

daten <- read_csv("https://community-api.coinmetrics.io/v2/assets/btc/metricdata.csv?metrics=PriceUSD,TxCnt")

Bitcoin-Kurs und Transaktionsanzahl unter der Lupe

Nun können wir mit den Daten etwas spielen. Im Tidyverse gibt es dazu einen direkten Weg: Mit dem Operator %>% können Daten von einem Befehl zum nächsten weitergegeben werden. Nutzen wir das aus, um den gewünschten Zusammenhang darzustellen:

daten %>% ggplot(aes(x=TxCnt,y=PriceUSD)) + geom_point()

Wir stellen damit einen Rohdiamanten her. Aktuell sieht es noch wie eine recht wüste Punktwolke aus, von den Achsenbeschriftungen etc. mal zu schweigen. Aber wir stehen noch am Anfang unserer Analysen:

Bitcoin-Kurs steigt sicherlich grob mit der Transaktionsanzahl, viel mehr kann man aber nicht aussagen.

In beiden Fällen – Kurs und Transaktionszahl von Bitcoin – betrachten wir Größen, die über mehrere Größenordnungen gehen. Um sowohl kleinere wie auch größere Werte besser im Blick zu haben, bietet sich eine logarithmische Darstellung an. Das ist mit Befehlen namens scale_*_log10 machbar, wobei für * x oder y eingegeben werden kann. Das Gute an diesem Befehl ist, dass wir damit auch etwas bessere Achsenbeschriftungen implementieren und Limits setzen können. Insgesamt kommen wir über diese Erweiterung:

daten %>% ggplot(aes(x=TxCnt,y=PriceUSD)) + geom_point() + scale_x_log10("Transaktionsanzahl",limits = c(30,1e6)) + scale_y_log10("Bitcoin-Kurs in US-Dollar")

auf einen sehr interessanten Chart:

Eine logarithmische Darstellung des Zusammenhangs zwischen Bitcoin-Kurs und Transaktionsanzahl wird da doch interessant.

Das sieht doch insgesamt nach einem spannenden linearen Zusammenhang aus. Der Bitcoin-Kurs steigt mit der Transaktionszahl. Er folgt dabei einem Korridor. Durch diese Visualisierung bestätigt sich ein wenig Metcalfés Law: Der Wert eines Netzwerks steigt mit den Nutzern an.

Wieder sollte dieser Artikel eine kleine Einführung liefern, wie man mithilfe der Datenanalyse und -visualisierung Bitcoin & Co. besser verstehen kann. Und auch dieser Artikel ist als ein Anfang gedacht: Wie sehen derartige Zusammenhänge bei anderen Kryptowährungen aus? Sollte man die Kursentwicklung vor Einführung des Lightning-Netzwerks gesondert betrachten? Kann man den oben visualisierten Zusammenhang vielleicht sogar modellieren? Fragen über Fragen. Wie so oft in der Forschung finden sich hinter einer geöffneten Tür weitere verschlossene.

Wir wünschen jedem Leser viel Spaß beim Öffnen weiterer Türen. Und wenn du etwas Interessantes gefunden hast, wäre es toll, wenn du es der Community im Discord erzählst.

4 DeFi-Strategien für maximale Rendite
Erfahre jetzt, wie du mit Krypto passives Einkommen generieren kannst und lerne in der BTC-ECHO Academy, welche DeFi-Strategien wann sinnvoll sind.
Jetzt entdecken