Ga naar hoofdinhoud

Cryptocurrency Portfolio Tracking met Beancount.io

Het beheren van een cryptocurrency portfolio over meerdere exchanges, wallets en DeFi protocollen kan een uitdaging zijn. Deze uitgebreide handleiding laat zien hoe je een accurate cryptocurrency portfolio tracking opzet en onderhoudt met behulp van Beancount.io's krachtige plain-text accounting systeem.

Cryptocurrency Portfolio Tracking

Waarom Traditionele Portfolio Trackers Tekortschieten

Veelvoorkomende Problemen met Crypto Portfolio Tools

  • Beperkte Exchange Ondersteuning: Veel tools ondersteunen niet alle exchanges of DeFi protocollen
  • Onnauwkeurige Kostprijs: Vereenvoudigde FIFO/LIFO berekeningen missen complexe scenario's
  • Ontbrekende Transacties: API beperkingen en handmatige invoer hiaten
  • Geen Customisatie: Vaste categorieën en rapportagestructuren
  • Privacy Zorgen: Het delen van API keys met third-party services
  • Vendor Lock-in: Propriëtaire data formaten en beperkte export opties

Beancount.io Voordelen

  • Complete Controle: Behoud je data in plain-text formaat
  • Onbeperkte Customisatie: Creëer elke account structuur die je nodig hebt
  • Precise Kostprijs: Lot-gebaseerde tracking met specifieke identificatie
  • Multi-Protocol Ondersteuning: Handel elke exchange, wallet of DeFi protocol af
  • Transparante Berekeningen: Zie exact hoe de getallen worden berekend
  • Toekomstbestendig: Plain-text formaat verzekert lange termijn toegankelijkheid

Het Opzetten van Je Crypto Portfolio Structuur

Basis Account Hiërarchie

Start met een uitgebreide account structuur die je crypto ecosysteem reflecteert:

; Exchange Accounts - Georganiseerd per Platform
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 Accounts - Georganiseerd per Type
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 Protocol Accounts
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

; Income Tracking
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

; Expense Tracking
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal

Commodity Definities met Metadata

Definieer je cryptocurrencies met rijke metadata voor betere tracking:

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

Aankopen Vastleggen Tussen Exchanges

Track dezelfde cryptocurrency over verschillende exchanges met precieze kostprijs:

; Bitcoin aankopen op verschillende exchanges
2024-01-15 * "Koop BTC op Coinbase"
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 * "Koop BTC op Binance"
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 * "Koop BTC op Kraken"
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 Overdrachten

Track overdrachten tussen exchanges terwijl de kostprijs behouden blijft:

2024-02-01 * "Overdracht BTC van Coinbase naar Ledger"
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 Mogelijkheden

Track arbitrage trades tussen exchanges:

2024-02-10 * "Arbitrage: Koop ETH op Binance, Verkoop op Coinbase"
; Koop op 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

; Verkoop op Coinbase (hogere prijs)
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

Geavanceerd Kostprijsbeheer

Lot-gebaseerde Tracking

Beancount.io's lot-gebaseerde systeem biedt precieze kostprijs tracking:

; Meerdere aankopen tegen verschillende prijzen
2024-01-01 * "BTC Aankoop Lot 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD

2024-02-01 * "BTC Aankoop Lot 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD

2024-03-01 * "BTC Aankoop Lot 3"
Assets:Crypto:Coinbase:BTC 1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD -50000.00 USD

Specifieke Identificatie Methode

Verkoop specifieke lots voor optimaal belastingbeheer:

; Verkoop hoogste kostprijs lot eerst (tax loss harvesting)
2024-04-01 * "Verkoop BTC Lot 3 voor belastingoptimalisatie"
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 ; Gerealiseerd verlies

FIFO vs LIFO Tracking

Implementeer verschillende kostprijs methoden:

; FIFO Verkoop (First In, First Out)
2024-05-01 * "FIFO Verkoop - Verkoop oudste BTC eerst"
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 Verkoop (Last In, First Out) - indien andere methode gebruikt wordt
2024-05-01 * "LIFO Verkoop - Verkoop nieuwste BTC eerst"
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

Prijs Tracking Setup

Zet geautomatiseerde price feeds op voor accurate waardering:

; Dagelijkse prijs updates
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 Allocatie Tracking

Gebruik Beancount.io's rapportage functies om allocatie te analyseren:

; Query voor portfolio allocatie per 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 Metrics

Track belangrijke performance indicatoren:

; Totale portfolio waarde query
SELECT
sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"

; Gerealiseerde winsten/verliezen
SELECT
sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"

Staking en DeFi Integratie

Staking Beloningen Tracking

Registreer staking beloningen met correcte inkomsten erkenning:

2024-01-31 * "ETH Staking Beloningen - Januari"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 200.00 USD

2024-01-31 * "ADA Staking Beloningen - Januari"
Assets:Staking:Cardano:ADA 25 ADA {0.50 USD}
Income:Crypto:Staking:ADA 12.50 USD

DeFi Yield Tracking

Track complexe DeFi posities:

2024-02-01 * "Uniswap LP Positie"
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 Beloningen - Februari"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield 400.00 USD

Geautomatiseerd Portfolio Management

API Integratie Setup

Verbind met exchange API's voor geautomatiseerde data import:

# Example configuration for 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"

Geautomatiseerde Reconciliatie

Zet geautomatiseerde balans verificatie op:

; Balans beweringen voor geautomatiseerde verificatie
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

Price Feed Automatisering

Configureer geautomatiseerde prijs updates:

; Price feed configuration
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.forecast"

; Geautomatiseerde prijs ophalen
2024-01-01 custom "price-source" BTC "coinbase"
2024-01-01 custom "price-source" ETH "coinbase"
2024-01-01 custom "price-source" ADA "binance"

Belastingoptimalisatie Strategieën

Tax Loss Harvesting

Implementeer systematische tax loss harvesting:

; Identificeer posities met ongerealiseerde verliezen
2024-12-15 * "Tax loss harvesting - Verkoop ADA met verlies"
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 ; Gerealiseerd verlies

; Terugkopen na wash sale periode (31 dagen)
2025-01-16 * "Terugkoop ADA na wash sale periode"
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

Lange termijn vs Korte termijn Winsten

Track holding periodes voor belastingoptimalisatie:

; Gebruik metadata om aankoop datums te tracken
2024-01-01 * "BTC Aankoop - Lange termijn hold" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD

; Verkoop na één jaar voor lange termijn capital gains behandeling
2025-01-02 * "BTC Verkoop - Lange termijn capital gains" ^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

Rapporteren en Analyseren

Portfolio Samenvatting Rapporten

Genereer uitgebreide portfolio rapporten:

-- Portfolio allocatie per cryptocurrency
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 Analyses

Track portfolio performance over tijd:

-- Maandelijkse 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;

Inkomsten Analyse

Analyseer inkomsten bronnen:

-- Inkomsten uitsplitsing per bron
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;

Best Practices en Tips

1. Consistente Registratie

  • Registreer transacties direct na uitvoering
  • Gebruik gestandaardiseerde transactie beschrijvingen
  • Inclusief transactie hashes in metadata

2. Regelmatige Reconciliatie

  • Verifieer balansen wekelijks over alle platformen
  • Gebruik balans beweringen om afwijkingen te vangen
  • Monitor voor ontbrekende transacties

3. Backup en Beveiliging

  • Regelmatig backuppen van je Beancount files
  • Gebruik versie controle (Git) voor change tracking
  • Encrypt gevoelige data

4. Documentatie

  • Documenteer je account structuur beslissingen
  • Onderhoud notities over complexe transacties
  • Houdt records bij van API configuraties

5. Belasting Voorbereiding

  • Genereer rapporten per kwartaal voor belasting planning
  • Onderhoud gedetailleerde records voor audit doeleinden
  • Raadpleeg belasting professionals voor complexe situaties

Conclusie

Effectieve cryptocurrency portfolio tracking vereist precisie, consistentie en de juiste tools. Beancount.io biedt de flexibiliteit en kracht die nodig is om complexe crypto portfolio's te beheren over meerdere exchanges, wallets en DeFi protocollen.

Belangrijkste voordelen van het gebruik van Beancount.io voor crypto portfolio tracking:

  • Compleet Data Eigendom: Jouw data in plain-text formaat
  • Precise Kostprijs: Lot-gebaseerde tracking met specifieke identificatie
  • Onbeperkte Flexibiliteit: Custom account structuren en rapportage
  • Belastingoptimalisatie: Geavanceerde strategieën voor het minimaliseren van belastingplicht
  • Toekomstbestendig: Open formaat verzekert lange termijn toegankelijkheid

Start met een basis setup en breidt je tracking geleidelijk uit naarmate je portfolio in complexiteit groeit. De investering in de juiste setup zal zich uitbetalen in accurate rapportage, belastingoptimalisatie en portfolio inzichten.

Klaar om de controle over je cryptocurrency portfolio te nemen? Start vandaag nog met Beancount.io.