Zum Inhalt springen

Crypto R-Packages


knut.h

Empfohlene Beiträge

Hallo Forum, 

nutzt hier jemand die freie Statistiksoftware R um z.B. sein Portfolio zu tracken oder Marktanalysen durchzuführen? Mich würde vor allem der Aufbau einer Datenbank interessieren, über die man seine Steuerreports erstellt und die Entwicklung des Portfolios analysieren kann. Quasi ein Cointracking R-Package. Zur Zeit habe ich ein Cointracking Abo und bin auch zufrieden mit der Lösung, es gibt aber immer wieder Situationen, in denen ich die Software gerne an meine persönlichen Bedürfnisse anpassen möchte. Da R sehr flexibel ist und es für fast alle Anwendungsfälle ein passendes Paket gibt, hoffe ich mittelfristig auf R umsteigen zu können. 

Meine Recherche beginnt hier im Forum. Am Ende soll der Thread R-Interessierten einen Überblick über die verfügbaren Pakete liefern und ggf. auch Skripte enthalten, die weniger erfahrene User nutzen können. 

Ich freue mich auf eure Erfahrungen und Berichte! 

Grüße, Knut

_____________________

Im Folgenden noch ein paar erste Leitfragen, die noch nicht vollständig sind:

Welche Crypto-R-Packages kennt ihr? 

Welche Funktionen bieten sie? 

Gibt es Sicherheitsbedenken? 

Habt ihr eigene Scripte geschrieben, die Ihr vielleicht in diesem Thread teilen wollt? 

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey Knuth.h,

ich habe ein R Package gebaut, um historische Daten zu Kryptowährungen in R zu erhalten und auswerten zu können. Coinmarketcap zum Beispiel bietet nur ein paar Coins an und ab dann wird es kostenpflichtig. Das hat mich extrem gestört also habe ich selbst eine Lösung gebaut:

https://bahibo.com/de/blog/r/Bahibo-package/

Vielleicht hilft dir das weiter, damit bekommst du zumindest (einige)Daten erstmal in R implementiert. Wenn du Fragen hast, dann melde dich gerne über die Website. Ich kann dir auch weitere historischen Daten zu anderen Coins hinzufügen.

Übrigens habe ich auch ein Excel Tool gebaut, um die Daten in Excel auswerten zu können ;)

Gruß

Stephan

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Stephan, 

mit einer so schnellen Antwort habe ich nicht gerechnet - vielen Dank 🙂

Dein Paket gucke ich mir auf jeden Fall an! Hast Du auch eine Lösung für den Import und die Verwaltung der eigenen Transaktionen? Auf meiner Suche habe ich einige Pakete für die Marktanalyse gefunden, aber ein Paket ala Cointracking war noch nicht dabei. Ein Importer, der die ganzen Daten von Börsen, Blockchains und Wallets Homogenisiert wäre schon BTC wert. 

Excel kommt bei mir wenn nur als Eingabetool in Frage - Auswertungen, Datentransformation, etc. lieber in R. Bin kein Freund von Klickmenüs. Skripte sind für mich einfacher zu handhaben und transparenter. 

Grüße, Knut

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey,

also mein Bahibo Package macht erstmal nichts weiter, als historische Daten für 10 Kryptowährungen zu laden. Ich kann die Daten aber problemlos erweitern, dahingehend, dass ich weitere Coins mit in die Liste aufnehme.

Wenn wir die Daten erstmal haben, dann können wir  auch die Importe der verschiedenen Börsen mit einbauen. Wenn hier Interesse besteht, dass wir das Package erweitern oder ein neues Cointracking Tool für R bauen - Ich wäre dabei :)

 

 

 

 

  • Love it 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @biker_70599, hallo @Bahibo.com,

es wäre schon spannend gemeinsam ein Paket zu denken und wenn Bahibo die Ideen in sein bestehende Paket integrieren kann, umso besser. Ich hatte gehofft das es bereits fertige Lösungen gibt. 

Was imho fehlt, sind Pakete zum tracken des eigenen Portfolios. Nicht ohne Grund wird es bisher wenig geben. Die heterogenen Daten sind wahrscheinlich kaum zu händeln - zumindest wenn der Datenimport von verschiedenen Börsen und Blockchains ohne Fummelei funktionieren soll. Wenn man solch ein Paket umsetzt, müsste es wahrscheinlich fortlaufend angepasst und gepflegt werden. 

Hier habe ich ein Skript gefunden, mit dem man Transaktionen direkt in R eingeben kann. Der Ansatz gefällt mir schon ganz gut, nur fehlen die Gebühren und die händische Eingabe ist bei einer Vielzahl von Trades zu mühsam. https://steemit.com/programming/@cryptovest/this-simple-r-script-keeps-track-of-crypto-portfolio-calculate-realtime-portfolio-value-in-any-fiat-or-crypto 

Und hier ein weitere Ansatz, den ich noch nicht vollständig durchblickt habe. https://towardsdatascience.com/building-a-cryptocurrency-dashboard-using-plotly-and-binance-api-352e7f6f62c9 

 

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

Hallo zusammen, 

leider hat meine weitere Recherche nicht viel ergeben. Es gibt ein Python Projekt, welches ziemlich genau meinen Vorstellungen entspricht, allerdings habe ich (noch) keine Erfahrungen mit Python Code. Hier der Link: https://pythonrepo.com/repo/provinzio-CoinTaxman 

Für R habe ich mir bisher ein paar simple Scripte geschrieben: 

1. Download von historischen Preisdaten

2. Analyse der Daten

3. Bilanzen für Portfolio

4. FIFO Algorithmus (in Arbeit) 

Mir fehlt leider die Zeit und der Kopf, um das Projekt als Ganzes zu planen. Daher spiele und probiere ich erstmal nur rum und versuche das System zu verstehen. Am Ende kann ich die einzelnen Skripte hoffentlich zu einem Tool ala Cointaxman zusammenfassen. Für mich auf jeden Fall eine anspruchsvolle Aufgabe, da ich R in einem ganz anderen Kontext nutze. 

Offene Fragen: 

A. Können Transaktionen nach Coin/Datum aggregiert und ein Tagespreis für die Steuer verwendet werden oder muss für jeden Trade eine Echtzeitwert genutzt werden?  

B. Können die Preisdaten von Coingecko für die Steuer genutzt werden oder gibt es eine offizielle Quelle für Preisdaten (z.B. Coinmarketcap)? 

C. Kann jemand die Abfragelogik für die Haltefrist (die ggf. durch Staking verlängert wird) posten? Hatte bisher noch keine Zeit darüber nachzudenken. Aus dem Bauch heraus braucht es eine Variable, über die man die Steuerfreiheit abfragen kann. Wenn Variable = Staking, dann Haltefrist 10 Jahre... danach könnte man dann das Datum für die Steuerfreiheit berechnen. Kauf Datum + 1 oder 10 Jahre. 

Muss nun zum Zug. Irgendwann dann mehr. 

Grüße, Knut 

Link zu diesem Kommentar
Auf anderen Seiten teilen

21 minutes ago, knut.h said:

A. Können Transaktionen nach Coin/Datum aggregiert und ein Tagespreis für die Steuer verwendet werden oder muss für jeden Trade eine Echtzeitwert genutzt werden?  

Das Finanzamt würde das möglicherweise durchwinken, weil Tagespreise im normalen Börsensektor, der üblicherweise nicht ganz so volatil inst,  IMHO durchaus verwendet werden können.

Im extrem volatilen Kryptosektor wird du dir damit aber größere Abweichungen einfangen. Du kannst hoffen, dass sich die ganzen Abweichungen in Summe weitgehend ausmitteln; mit etwas Pech bleibt aber auch im Gesamtergebnis eine merkliche Abweichung zu deinen Gunsten oder Ungunsten übrig.

Du kannst aber zumindest stundenaktuelle Preise für diverse Jahre über verschiedene Quellen kostenfrei bekommen, z.B. cryptocompare.com. Das sollte die Unschärfe zumindest deutlich mildern.

29 minutes ago, knut.h said:

B. Können die Preisdaten von Coingecko für die Steuer genutzt werden oder gibt es eine offizielle Quelle für Preisdaten (z.B. Coinmarketcap)? 

Irgendwer hatte - wenn meine Erinnerung nicht trügt - geschrieben, dass viel akzeptiert wird, solange man konsistent bleibt.

Allerdings: Sollte deiner Steuererklärung ausnahmsweise genau geprüft werden, und es werden die Trades von den Börsen verlangt, dann hast du mit den gemittelten Preisen von Coingecko/Coinmarketcap/Cryptocompare/... dann halt lauter kleine Abweichungen.

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 20 Stunden schrieb PeWi:

Irgendwer hatte - wenn meine Erinnerung nicht trügt - geschrieben, dass viel akzeptiert wird, solange man konsistent bleibt.

Ich war das.

vor 20 Stunden schrieb PeWi:

Allerdings: Sollte deiner Steuererklärung ausnahmsweise genau geprüft werden, und es werden die Trades von den Börsen verlangt, dann hast du mit den gemittelten Preisen von Coingecko/Coinmarketcap/Cryptocompare/... dann halt lauter kleine Abweichungen.

Erstmal wird die Detaillierung der Angaben in der Anlage SO angefragt.

Man schickt also ein Dokument an das Finanzamt in dem aufgeführt ist wie man auf die Zahlen in der Anlage SO kommt.

Das Finanzamt prüft ob dieses Dokument "glaubhaft" ist und die Zahlen der Anlage SO somit auch "glaubhaft" werden.

Für meine erste Kryptosteuererklärung musste ich dem Finanzamt glaubhaft machen, dass die Gewinnermittlung korrekt ist. Da ich Cointracking nutze musste ich somit nachrechnen, dass Cointracking korrekt rechnet. Also auch mit dem Beleg des Kurses an der Börse.

Damit hab ich allen Cointrackingnutzern im Bereich der Zuständigkeit der Oberfinanzdirektion NRW einen guten Dienst erwiesen. Das muss nun (eigentlich) keiner mehr machen :D 

Grundsätzlich kann man jedoch  einfachere Methoden nutzen solange man die Methode beibehält auch wenn es zu den eigenen Ungunsten ist. Monatskurse dürften zu ungenau sein, bei Wochenkursen wird es bestimmt auch Probleme geben. Tageskurse gibt es über 300 mal im Jahr, da passt das schon.

In meinem Mio-Spiel benutze ich die Kurse, die bei blockchair.com in den Transaktionen stehen und den USD-Kurs von x-rates. Da treten teilweise erhebliche Abweichungen auf - jedoch in beide Richtungen. Und deshalb mittelt sich der Fehler am Ende aus.

 

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 21 Stunden schrieb knut.h:

Es gibt ein Python Projekt, . Hier der Link: https://pythonrepo.com/repo/provinzio-CoinTaxman 

Der github-Account ist aussagekräftiger: https://github.com/provinzio/CoinTaxman?ref=pythonrepo.com

In den dortigen Issues ist ein Support von DeFi angemahnt worden.

Genau das fehlt mir auch hier.

R, Ruby  und Python Scripts sind über die Truffle-Umgebung übrigens verknüpfbar. Du schreibst deinen Code in einer der Sprachen und bindest die Scripten einfach als Programmaufrufe ein.  Kommt halt auf die Qualität der Scripte an.

 

 

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für eure Anregungen @PeWi @Jokin @biker_70599 

Woher beziehen denn Seiten wie x-rates und cryptocompare ihre Kursdaten? Gibt es Vergleiche zwischen den Diensten und hat sich einer als besonders zuverlässig herausgestellt? Welche Quellen nutzt Cointracking - hab auf der Seite nichts dazu gefunden. Coingecko Daten sind relativ leicht zu bekommen, da es ein R Paket für den Download gibt. Am Ende würde ich aber gerne die "zuverlässigsten" Daten nutzen wollen - wenn es diese denn gibt.  

Angenommen ich würde die Kurse von den Börsen nutzen, dann hätte ich ja verschiedene Quellen. Also alle Trades auf Bincance werden mit Binance Kursen berechnet, Coinbase Pro mit Coinbase Pro ... schwierig wird es dann mit kleineren Börsen, da sie bestimmt keinen Export der Kursdaten erlauben. Mir erscheint es daher sinnvoller, auf einen der oberen Dienste (Coingecko und Co) zurückzugreifen -> konsistente Daten. Richtig? 

Aktueller Stand: FIFO Algorithmus funktioniert, nur die Depottrennung klappt noch nicht so ganz. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 9.12.2021 um 09:08 schrieb knut.h:

Offene Fragen: 

A. Können Transaktionen nach Coin/Datum aggregiert und ein Tagespreis für die Steuer verwendet werden oder muss für jeden Trade eine Echtzeitwert genutzt werden?  

B. Können die Preisdaten von Coingecko für die Steuer genutzt werden oder gibt es eine offizielle Quelle für Preisdaten (z.B. Coinmarketcap)? 

Bei »normalen« Finanztransaktionen wird ein Tagesreferenzpreis für die Währungsumrechnung eines Assets verwendet. Ich meine, dass Intradaytrades aggregiert werden dürfen.

Da es im Kryptobereich keine offiziellen Daten gibt, bin ich bei dir, eine konsistente Annahme zu treffen, was als Referenz verwendet wurde. Wäre natürlich schön, wenn man das konfigurieren könnte. Falls der Finanzbeamte dann rummäkelt, benutzt man halt seine Vorgabe.

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.