Kryptowährungsportfolio-Tracking mit Beancount.io
Die Verwaltung eines Kryptowährungsportfolios über mehrere Börsen, Wallets und DeFi-Protokolle hinweg kann eine Herausforderung sein. Diese umfassende Anleitung zeigt Ihnen, wie Sie ein genaues Kryptowährungsportfolio-Tracking mit dem leistungsstarken Plain-Text-Buchhaltungssystem von Beancount.io einrichten und verwalten.
Warum traditionelle Portfolio-Tracker scheitern
Häufige Probleme mit Krypto-Portfolio-Tools
- Begrenzte Börsenunterstützung: Viele Tools unterstützen nicht alle Börsen oder DeFi-Protokolle
- Ungenauer Anschaffungswert: Vereinfachte FIFO/LIFO-Berechnungen übersehen komplexe Szenarien
- Fehlende Transaktionen: API-Beschränkungen und Lücken bei der manuellen Eingabe
- Keine Anpassung: Feste Kategorien und Berichtsstrukturen
- Bedenken hinsichtlich des Datenschutzes: Weitergabe von API-Schlüsseln an Drittanbieter
- Vendor Lock-in: Proprietäre Datenformate und eingeschränkte Exportoptionen
Vorteile von Beancount.io
- Vollständige Kontrolle: Besitzen Sie Ihre Daten im Klartextformat
- Unbegrenzte Anpassung: Erstellen Sie jede Kontenstruktur, die Sie benötigen
- Präziser Anschaffungswert: Losbasierte Verfolgung mit spezifischer Identifizierung
- Multi-Protokoll-Unterstützung: Verarbeiten Sie jede Börse, Wallet oder jedes DeFi-Protokoll
- Transparente Berechnungen: Sehen Sie genau, wie Zahlen berechnet werden
- Zukunftssicher: Das Klartextformat gewährleistet langfristige Zugänglichkeit
Einrichten Ihrer Krypto-Portfoliostruktur
Grundlegende Kontenhierarchie
Beginnen Sie mit einer umfassenden Kontenstruktur, die Ihr Krypto-Ökosystem widerspiegelt:
; Exchange-Konten - Organisiert nach Plattform
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Coinbase:ADA
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:BNB
1970-01-01 open Assets:Crypto:Kraken:USD
1970-01-01 open Assets:Crypto:Kraken:BTC
1970-01-01 open Assets:Crypto:Kraken:ETH
; Wallet-Konten - Organisiert nach Typ
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:TrustWallet:BNB
; DeFi-Protokoll-Konten
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Staking:Cardano:ADA
; Einkommensverfolgung
1970-01-01 open Income:Crypto:Staking:ETH
1970-01-01 open Income:Crypto:Staking:ADA
1970-01-01 open Income:Crypto:Mining:BTC
1970-01-01 open Income:Crypto:Airdrops
1970-01-01 open Income:Crypto:DeFi:Yield
1970-01-01 open Income:CapitalGains:Crypto
; Ausgabenverfolgung
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal
Rohstoffdefinitionen mit Metadaten
Definieren Sie Ihre Kryptowährungen mit umfassenden Metadaten für eine bessere Nachverfolgung:
1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
sector: "digital-currency"
price-source: "coinbase"
website: "https://bitcoin.org"
1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
sector: "smart-contract-platform"
price-source: "coinbase"
website: "https://ethereum.org"
1970-01-01 commodity ADA
name: "Cardano"
asset-class: "cryptocurrency"
sector: "smart-contract-platform"
price-source: "binance"
website: "https://cardano.org"
1970-01-01 commodity DOT
name: "Polkadot"
asset-class: "cryptocurrency"
sector: "interoperability"
price-source: "kraken"
website: "https://polkadot.network"
Multi-Exchange-Portfolio-Tracking
Erfassen von Käufen über verschiedene Börsen
Verfolgen Sie dieselbe Kryptowährung über verschiedene Börsen mit präzisem Anschaffungswert:
; Bitcoin-Käufe an verschiedenen Börsen
2024-01-15 * "BTC auf Coinbase kaufen"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
2024-01-20 * "BTC auf Binance kaufen"
Assets:Crypto:Binance:BTC 0.5 BTC {46000.00 USD}
Assets:Crypto:Binance:USD -23000.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD
Assets:Crypto:Binance:USD -25.00 USD
2024-01-25 * "BTC auf Kraken kaufen"
Assets:Crypto:Kraken:BTC 0.8 BTC {44000.00 USD}
Assets:Crypto:Kraken:USD -35200.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Kraken:USD -30.00 USD
Cross-Exchange-Transfers
Verfolgen Sie Transfers zwischen Börsen unter Beibehaltung des Anschaffungswerts:
2024-02-01 * "BTC von Coinbase zu Ledger übertragen"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 0.5 BTC {45000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {45000.00 USD}
Assets:Crypto:Coinbase:BTC -0.0005 BTC {45000.00 USD}
Arbitrage-Möglichkeiten
Verfolgen Sie Arbitrage-Trades zwischen Börsen:
2024-02-10 * "Arbitrage: ETH auf Binance kaufen, auf Coinbase verkaufen"
; Kauf auf Binance
Assets:Crypto:Binance:ETH 10 ETH {2500.00 USD}
Assets:Crypto:Binance:USD -25000.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD
Assets:Crypto:Binance:USD -25.00 USD
; Verkauf auf Coinbase (höherer Preis)
Assets:Crypto:Coinbase:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Coinbase:USD 25800.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:Crypto:Arbitrage 745.00 USD
Erweiterte Anschaffungswertverwaltung
Losbasierte Verfolgung
Das losbasierte System von Beancount.io bietet eine präzise Verfolgung des Anschaffungswerts:
; Mehrere Käufe zu unterschiedlichen Preisen
2024-01-01 * "BTC-Kauf Los 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
2024-02-01 * "BTC-Kauf Los 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
2024-03-01 * "BTC-Kauf Los 3"
Assets:Crypto:Coinbase:BTC 1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD -50000.00 USD
Spezifische Identifizierungsmethode
Verkaufen Sie bestimmte Lose für eine optimale Steuerverwaltung:
; Verkauf des Loses mit dem höchsten Anschaffungswert zuerst (Verlustvortrag)
2024-04-01 * "BTC-Los 3 zur Steueroptimierung verkaufen"
Assets:Crypto:Coinbase:BTC -1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD 48000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Expenses:CapitalLoss:Crypto 2000.00 USD ; Realisierter Verlust
FIFO- vs. LIFO-Tracking
Implementieren Sie verschiedene Anschaffungswertmethoden:
; FIFO-Verkauf (First In, First Out)
2024-05-01 * "FIFO-Verkauf - Ältestes BTC zuerst verkaufen"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD 26000.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto 6000.00 USD ; 52000 - 20000 = 6000
; LIFO-Verkauf (Last In, First Out) - bei Verwendung einer anderen Methode
2024-05-01 * "LIFO-Verkauf - Neuestes BTC zuerst verkaufen"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 26000.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto 3500.00 USD ; 26000 - 22500 = 3500
Portfolio-Performance-Analyse
Preis-Tracking-Setup
Richten Sie automatisierte Preisfeeds für eine genaue Bewertung ein:
; Tägliche Preisaktualisierungen
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USD
2024-01-15 price ADA 0.50 USD
2024-01-16 price BTC 46000.00 USD
2024-01-16 price ETH 2550.00 USD
2024-01-16 price ADA 0.52 USD
Portfolio-Allokations-Tracking
Verwenden Sie die Berichtsfunktionen von Beancount.io, um die Allokation zu analysieren:
; Abfrage für die Portfolio-Allokation nach Asset
SELECT
account,
sum(position) as balance,
value(sum(position)) as market_value
WHERE account ~ "Assets:Crypto"
GROUP BY 1
ORDER BY market_value DESC
Performance-Metriken
Verfolgen Sie wichtige Leistungsindikatoren:
; Abfrage für den Gesamtwert des Portfolios
SELECT
sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"
; Realisierte Gewinne/Verluste
SELECT
sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"
Staking- und DeFi-Integration
Staking-Belohnungs-Tracking
Erfassen Sie Staking-Belohnungen mit ordnungsgemäßer Einkommensanrechnung:
2024-01-31 * "ETH-Staking-Belohnungen - Januar"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 200.00 USD
2024-01-31 * "ADA-Staking-Belohnungen - Januar"
Assets:Staking:Cardano:ADA 25 ADA {0.50 USD}
Income:Crypto:Staking:ADA 12.50 USD
DeFi-Ertrags-Tracking
Verfolgen Sie komplexe DeFi-Positionen:
2024-02-01 * "Uniswap-LP-Position"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}
2024-02-28 * "Uniswap-LP-Belohnungen - Februar"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield 400.00 USD
Automatisierte Portfolioverwaltung
API-Integrations-Setup
Verbinden Sie sich mit Exchange-APIs für den automatisierten Datenimport:
# Beispielkonfiguration für die Exchange-API-Integration
exchanges:
coinbase:
api_key: "your_api_key"
api_secret: "your_api_secret"
passphrase: "your_passphrase"
binance:
api_key: "your_api_key"
api_secret: "your_api_secret"
Automatisierte Abstimmung
Richten Sie eine automatisierte Saldenprüfung ein:
; Saldenbestätigungen für die automatisierte Überprüfung
2024-01-31 balance Assets:Crypto:Coinbase:BTC 2.5 BTC
2024-01-31 balance Assets:Crypto:Binance:ETH 15.0 ETH
2024-01-31 balance Assets:Crypto:Kraken:ADA 1000.0 ADA
Preisfeed-Automatisierung
Konfigurieren Sie automatisierte Preisaktualisierungen:
; Preisfeed-Konfiguration
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.forecast"
; Automatisches Abrufen von Preisen
2024-01-01 custom "price-source" BTC "coinbase"
2024-01-01 custom "price-source" ETH "coinbase"
2024-01-01 custom "price-source" ADA "binance"
Steueroptimierungsstrategien
Steuerliche Verlusternte
Implementieren Sie eine systematische steuerliche Verlusternte:
; Identifizieren Sie Positionen mit unrealisierten Verlusten
2024-12-15 * "Steuerliche Verlusternte - ADA mit Verlust verkaufen"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD 450.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD ; Realisierter Verlust
; Rückkauf nach der Wash-Sale-Periode (31 Tage)
2025-01-16 * "ADA nach der Wash-Sale-Periode zurückkaufen"
Assets:Crypto:Binance:ADA 1000 ADA {0.45 USD}
Assets:Crypto:Binance:USD -450.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Langfristige vs. kurzfristige Gewinne
Verfolgen Sie Haltefristen zur Steueroptimierung:
; Verwenden Sie Metadaten, um Kaufdaten zu verfolgen
2024-01-01 * "BTC-Kauf - Langfristige Haltedauer" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
; Verkauf nach einem Jahr zur Behandlung langfristiger Kapitalerträge
2025-01-02 * "BTC-Verkauf - Langfristige Kapitalerträge" ^long-term-btc
Assets:Crypto:Coinbase:BTC -1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD 55000.00 USD
Income:CapitalGains:LongTerm 15000.00 USD
Berichterstattung und Analytik
Portfolio-Zusammenfassungsberichte
Generieren Sie umfassende Portfolioberichte:
-- Portfolio-Allokation nach Kryptowährung
SELECT
commodity,
sum(position) as total_units,
value(sum(position)) as market_value,
value(sum(position)) / (
SELECT value(sum(position))
FROM positions
WHERE account ~ "Assets:Crypto"
) * 100 as allocation_percentage
WHERE account ~ "Assets:Crypto"
GROUP BY commodity
ORDER BY market_value DESC;
Performance-Analysen
Verfolgen Sie die Portfolio-Performance im Zeitverlauf:
-- Monatliche Portfolio-Performance
SELECT
year(date) as year,
month(date) as month,
value(sum(position)) as portfolio_value
WHERE account ~ "Assets:Crypto"
GROUP BY year, month
ORDER BY year, month;
Einkommensanalyse
Analysieren Sie Einkommensquellen:
-- Aufschlüsselung des Einkommens nach Quelle
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;
Best Practices und Tipps
1. Konsistente Erfassung
- Erfassen Sie Transaktionen unmittelbar nach der Ausführung
- Verwenden Sie standardisierte Transaktionsbeschreibungen
- Fügen Sie Transaktions-Hashes in Metadaten ein
2. Regelmäßige Abstimmung
- Überprüfen Sie die Salden wöchentlich auf allen Plattformen
- Verwenden Sie Saldenbestätigungen, um Unstimmigkeiten zu erkennen
- Überwachen Sie fehlende Transaktionen
3. Backup und Sicherheit
- Sichern Sie Ihre Beancount-Dateien regelmäßig
- Verwenden Sie die Versionskontrolle (Git) zur Änderungsverfolgung
- Verschlüsseln Sie sensible Daten
4. Dokumentation
- Dokumentieren Sie Ihre Entscheidungen zur Kontenstruktur
- Führen Sie Notizen zu komplexen Transaktionen
- Führen Sie Aufzeichnungen über API-Konfigurationen