Gestionar una cartera de criptomonedes en múltiples exchanges, carteres i protocols DeFi pot ser tot un repte. Aquesta guia completa et mostra com configurar i mantenir un seguiment precís d'una cartera de criptomonedes utilitzant el potent sistema de comptabilitat de text pla de Beancount.io.
Explora un llibre major d'exemple de criptomonedes en directe:
Per què els rastrejadors tradicionals de carteres queden curts
Problemes comuns amb les eines de cartera cripto
- Suport limitat d'exchanges: Moltes eines no donen suport a tots els exchanges o protocols DeFi
- Base de cost imprecisa: Els càlculs simplificats FIFO/LIFO no cobreixen escenaris complexos
- Transaccions que falten: Limitacions de les API i buits en l'entrada manual
- Sense personalització: Categories i estructures d'informes fixes
- Preocupacions de privacitat: Compartir claus API amb serveis de tercers
- Dependència del proveïdor: Formats de dades propietaris i opcions d'exportació limitades
Avantatges de Beancount.io
- Control complet: Les teves dades en format de text pla
- Personalització il·limitada: Crea qualsevol estructura de comptes que necessitis
- Base de cost precisa: Seguiment per lots amb identificació específica
- Suport multiprotocol: Gestiona qualsevol exchange, cartera o protocol DeFi
- Càlculs transparents: Veu exactament com es calculen els números
- A prova de futur: El format de text pla garanteix l'accessibilitat a llarg termini
Configuració de l'estructura de la teva cartera cripto
Jerarquia bàsica de comptes
Comença amb una estructura de comptes completa que reflecteixi el teu ecosistema cripto:
; Exchange Accounts - Organized by 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
1970-01-01 open Assets:Crypto:Kraken:ADA
1970-01-01 open Assets:Crypto:Binance:ADA
; Wallet Accounts - Organized by 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:MetaMask:UNI
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:Crypto:Arbitrage
1970-01-01 open Income:CapitalGains:Crypto
1970-01-01 open Income:CapitalGains:LongTerm
; 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
1970-01-01 open Expenses:CapitalLoss:CryptoUna regla de nomenclatura mossega aquí, i l'analitzador sintàctic la fa complir en lloc de la convenció: cada component de compte, i cada símbol de mercaderia, ha de començar amb una lletra majúscula o un dígit. Compound escriu el seu token de rebut cUSDC a tota la seva pròpia interfície, però Assets:DeFi:Compound:cUSDC i una mercaderia cUSDC són tots dos errors del lexer. Escriu-los CUSDC i mantén l'ortografia pròpia del protocol a la metadada name: de la mercaderia.
Definicions de mercaderies amb metadades
Defineix les teves criptomonedes amb metadades riques per a un millor seguiment:
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"Seguiment de cartera multi-borsa
Registre de compres entre borses
Segueix la mateixa criptomoneda en diferents exchanges amb una base de cost precisa:
; Bitcoin purchases on different exchanges
2024-01-15 * "Buy BTC on 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 * "Buy BTC on 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 * "Buy BTC on 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 USDTransferències entre borses
Segueix les transferències entre exchanges mantenint la base de cost:
2024-02-01 * "Transfer BTC from Coinbase to 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}Oportunitats d'arbitratge
Un arbitratge és un sol esdeveniment econòmic en dos mercats, així que registra'l com a una sola transacció. Aquesta entrada ven 10 ETH que ja tens a Coinbase a 2.580,00 $ i immediatament restaura la posició a Binance a 2.500,00 $:
2024-02-10 * "Arbitrage: Buy ETH on Binance, Sell on Coinbase"
; Buy leg on 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
; Sell leg on Coinbase, at the higher price
Assets:Crypto:Coinbase:ETH -10 ETH {2500.00 USD} @ 2580.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 -800.00 USD ; 25,800.00 proceeds - 25,000.00 basisTres coses a copiar:
- No deixis mai una línia en blanc entre els apunts. Una línia en blanc acaba la transacció, i Beancount informa d'un error de sintaxi en els apunts posteriors. Fes servir comentaris
;indentats per etiquetar les potes — que és el que fan les dues línies de comentari de dalt. - El guany és el guany de la disposició, 800,00 $, i és negatiu perquè els comptes d'
Incomecontenen abonaments. Els 55,00 $ de comissions són a part: és el que converteix 800,00 $ de diferencial brut en 745,00 $ de benefici, i ja està registrat en els seus propis dos apunts. - La pota de venda redueix un lot que ja has de tenir. Aquesta entrada assumeix 10 ETH comprats abans a Coinbase a 2.500,00 $; sense aquest lot, la reducció no té res contra què registrar-se.
Gestió avançada de la base de cost
Seguiment basat en lots
El sistema per lots de Beancount.io proporciona un seguiment precís de la base de cost:
; Multiple purchases at different prices
2024-01-01 * "BTC Purchase Lot 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
2024-02-01 * "BTC Purchase Lot 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
2024-03-01 * "BTC Purchase Lot 3"
Assets:Crypto:Coinbase:BTC 1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD -50000.00 USDLa convenció de signes per a guanys i pèrdues
Els comptes d'Income contenen abonaments, així que Beancount els emmagatzema com a números negatius. Cada guany a continuació és, per tant, un apunt negatiu a un compte d'ingressos, i cada pèrdua és un apunt positiu a un compte de despeses. La comissió és a part de tots dos: és una despesa per dret propi, així que restar-la també del guany la deduiria dues vegades i deixaria la transacció desequilibrada.
Per a una disposició, l'aritmètica sempre és:
gain (or loss) = gross proceeds - cost basis of the lots removed
net cash = gross proceeds - feesMètode d’identificació específica
Ven lots específics per a una gestió fiscal òptima. Anomenar el cost del lot a l'apunt de reducció és el que significa "identificació específica" a Beancount, i funciona sota el booking STRICT per defecte:
; Sell the most expensive lot: 1.0 BTC bought at $50,000.00
2024-04-01 * "Sell BTC Lot 3 for tax optimization"
Assets:Crypto:Coinbase:BTC -1.0 BTC {50000.00 USD} @ 48000.00 USD
Assets:Crypto:Coinbase:USD 48000.00 USD ; gross proceeds
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Expenses:CapitalLoss:Crypto 2000.00 USD ; 50,000.00 basis - 48,000.00 proceedsVendre el lot més antic o el més recent
Anomenar un cost diferent selecciona un lot diferent. Aquestes dues vendes prenen el lot de 40.000,00 $ i després el lot de 45.000,00 $ — els dos que encara queden després que el de 50.000,00 $ entrés a l'exemple de dalt — que és la mateixa selecció que FIFO i LIFO farien automàticament, escrita a mà:
; Sell the oldest lot (bought 2024-01-01 at $40,000.00)
2024-05-01 * "Sell 0.5 BTC from the oldest lot"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.00 USD} @ 52000.00 USD
Assets:Crypto:Coinbase:USD 26000.00 USD ; gross proceeds, 0.5 * 52,000.00
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto -6000.00 USD ; 26,000.00 proceeds - 20,000.00 basis
; Sell the newest remaining lot (bought 2024-02-01 at $45,000.00)
2024-05-02 * "Sell 0.5 BTC from the newest lot"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD} @ 52000.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 ; 26,000.00 proceeds - 22,500.00 basisMateix preu de venda, lot diferent, 2.500,00 $ de diferència en el guany realitzat. Si prefereixes que Beancount triï el lot per tu, estableix un mètode de booking al compte en lloc d'anomenar un cost — "FIFO", "LIFO" o "HIFO" a la directiva open, descrit a Gestió d'inventari.
Anàlisi del Rendiment del Portafolis
Configuració de Seguiment de Preus
Configura fonts de preus automatitzades per a una valoració precisa:
Per a llibres allotjats, Preus en directe subministra parells compatibles automàticament. Les directives estàtiques de baix mostren les dades que utilitza una valoració i continuen sent útils per a exemples locals reproduïbles.
; Daily price 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 USDSeguiment de l'Assignació del Portafolis
Utilitza les funcions d'informes de Beancount.io per analitzar l'assignació:
-- Query for portfolio allocation by asset
SELECT
account,
sum(position) as balance,
value(sum(position)) as market_value
WHERE account ~ "Assets:Crypto"
GROUP BY 1
ORDER BY market_value DESCMètriques de Rendiment
Segueix els indicadors clau de rendiment:
-- Total portfolio value query
SELECT
sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"
-- Realized gains/losses
SELECT
sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"Integració de Staking i DeFi
Seguiment de Recompenses de Staking
Registra les recompenses d'staking amb un reconeixement d'ingressos adequat. Les unitats que arriben i els ingressos reconeguts són el mateix esdeveniment vist des de dos costats, així que els seus pesos han de cancel·lar-se: [unitats] × [preu] d'actiu que entra, el mateix nombre de dòlars d'ingressos que surt — i els ingressos són un abonament, així que és negatiu.
2024-01-31 * "ETH Staking Rewards - January"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH -200.00 USD ; 0.08 * 2,500.00
2024-01-31 * "ADA Staking Rewards - January"
Assets:Staking:Cardano:ADA 25 ADA {0.50 USD}
Income:Crypto:Staking:ADA -12.50 USD ; 25 * 0.50Els {2.500,00 USD} i {0,50 USD} són valoracions externes. Beancount emmagatzema el que escriguis; no obté un preu ni decideix quina cotització és la correcta. Tria una font — l'exchange on realment vendries, o un índex publicat — i utilitza-la de manera consistent, perquè aquest número és alhora el teu ingrés i la teva futura base de cost.
La base de la recompensa es reconeix una vegada
Els 200,00 $ reconeguts a dalt es converteixen en la base de cost dels 0,08 ETH. Vendré'ls més tard només realitza el moviment des de la data de la recompensa:
2024-06-30 * "Sell the January ETH staking reward"
Assets:Staking:Ethereum:ETH -0.08 ETH {2500.00 USD} @ 3000.00 USD
Assets:Crypto:Coinbase:USD 240.00 USD ; gross proceeds, 0.08 * 3,000.00
Income:CapitalGains:Crypto -40.00 USD ; 240.00 proceeds - 200.00 basis40,00 $ de guany de capital, no 240,00 $ — els primers 200,00 $ ja van ser ingressos al gener. Registrar els 240,00 $ sencers com a guany és la manera més comuna que els ingressos per recompenses es comptin dues vegades. Quan la recompensa esdevé imposable, i a quina taxa, varia segons la jurisdicció; el llibre major registra la recepció i la disposició per separat, de manera que qualsevol dels dos tractaments es pot informar a partir d'ell.
Seguiment de Rendiments DeFi
Segueix posicions DeFi complexes:
Proporcionar liquiditat intercanvia dues mercaderies per una tercera, així que cada pota ha de pesar en la mateixa moneda abans que la transacció es pugui equilibrar. Les potes d'ETH i LP ja ho fan, perquè porten un cost; la pota d'establecoin necessita un @ 1,00 USD explícit, altrament Beancount veu 25.000 unitats de USDC que surten i 25.000,00 $ de valor que arriben, que són mercaderies diferents i no es cancel·len.
2024-02-01 * "Uniswap LP Position"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC @ 1.00 USD
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}
2024-02-28 * "Uniswap LP Rewards - February"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield -400.00 USD ; 50 * 8.00Gestió Automàtica del Portafolis
Importació de dades d'intercanvi
Beancount no inclou cap client d'API d'exchanges, i no hi ha cap fitxer de configuració que el faci parlar amb Coinbase o Binance. El camí suportat és un importador: descarregues l'exportació CSV de l'exchange (o l'obtens amb el teu propi script) i la converteixes en transaccions de Beancount amb beangulp, el marc d'importadors que va succeir el beancount.ingest integrat de Beancount 2. beancount.ingest no existeix a Beancount 3.
Si escrius un script d'obtenció, el seu fitxer de credencials és només teu — res a la cadena d'eines de Beancount el llegeix:
# Configuration for YOUR OWN fetch script. No Beancount tool reads this file.
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"Reconciliació automatitzada
Configura la verificació automatitzada de saldos:
; Balance assertions for automated verification
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 ADAAquests tres números provenen de les teves pantalles d'exchange, no d'aquesta pàgina, així que el bloc de dalt no es verificarà contra res fins que les teves pròpies transaccions estiguin al llibre major. Dues regles decideixen si es verifica. Una directiva balance afirma el saldo a l'inici del dia indicat, així que una afirmació datada el 2024-01-31 no veu res publicat el 2024-01-31 — data-la el dia després del període que estàs tancant. I cada compte afirmat ha d'estar obert, que és per què Assets:Crypto:Kraken:ADA apareix a la secció Jerarquia bàsica de comptes de dalt.
Preus gestionats en un llibre major allotjat
Utilitza Preus en directe per triar una moneda de valoració i actius cripto compatibles, i després enganxa els includes generats al teu llibre major allotjat. Els símbols dels actius han de coincidir amb les teves possessions. Les fonts proporcionen preus de valoració datats; no estableixen l'import d'ingressos ni el cost d'adquisició de recompenses d'staking i airdrops.
El teu propi preu té prioritat per a la mateixa data i parell, incloent-hi el parell recíproc. Una cotització en memòria cau pot estar desactualitzada durant una interrupció, així que comprova el seu moment d'observació. El flux de treball d'obtenció local de baix continua sent útil per a Beancount i Fava upstream.
Mantenir els preus actualitzats
Els preus viuen al llibre major com a directives price. Beancount 3.2.3 upstream no els obté ell mateix; els includes gestionats allotjats utilitzen l'extensió del carregador de Beancount.io descrita a dalt. No hi ha cap directiva custom "price-source" — un símbol de mercaderia nu no és ni tan sols un valor custom vàlid, així que aquesta línia és un error de sintaxi — i no hi ha cap mòdul beancount.plugins.forecast; el carregador s'atura amb un error d'importació si l'anomenes.
Activa beanprice dins del motor gestionat amb bea engine enable beanprice, i després obtén cotitzacions amb bea price main.beancount. Llegeix un camp de metadades price: a cada directiva commodity, en la forma "<moneda de cotització>:<mòdul font>/<ticker>", i escriu directives price que afegeixes al teu llibre major:
1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
price: "USD:beanprice.sources.coinbase/BTC-USD"
1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
price: "USD:beanprice.sources.coinbase/ETH-USD"
; Example quotes to append after reviewing the output of bea price - and what you would otherwise type by hand
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USDQualsevol altra metadada que adjuntis a una mercaderia — sector, website, o el camp price-source usat abans en aquesta guia — és documentació de forma lliure per al teu propi benefici. El carregador l'emmagatzema i cap eina hi actua.
Estratègies d’optimització fiscal
Recol·lecció sistemàtica de pèrdues fiscals
Implementa la collita sistemàtica de pèrdues fiscals:
; The lot being harvested, so this block stands on its own
2024-03-01 * "Buy ADA on Binance"
Assets:Crypto:Binance:ADA 1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD -600.00 USD
; Identify positions with unrealized losses
2024-12-15 * "Tax loss harvesting - Sell ADA at loss"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD} @ 0.45 USD
Assets:Crypto:Binance:USD 450.00 USD ; gross proceeds
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD ; 600.00 basis - 450.00 proceeds
; Repurchase after wash sale period (31 days)
2025-01-16 * "Repurchase ADA after wash sale period"
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 USDGuanys a llarg termini versus a curt termini
Segueix els períodes de tinença per a l'optimització fiscal:
; Use metadata to track purchase dates
2024-01-01 * "BTC Purchase - Long-term hold" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
; Sell after one year for long-term capital gains treatment
2025-01-02 * "BTC Sale - Long-term capital gains" ^long-term-btc
Assets:Crypto:Coinbase:BTC -1.0 BTC {40000.00 USD} @ 55000.00 USD
Assets:Crypto:Coinbase:USD 55000.00 USD
Income:CapitalGains:LongTerm -15000.00 USD ; 55,000.00 proceeds - 40,000.00 basisL'enllaç ^long-term-btc a totes dues entrades és el que et permet recuperar la compra i la venda juntes més tard; Beancount no segueix els períodes de tinença ell mateix.
Informes i anàlisis
Informes resum del portafoli
Calcula la quota de cada criptomoneda de la cartera en una sola moneda de valoració. Aquest exemple utilitza preus en USD disponibles el 31 de març de 2024, i tinençes abans de l'1 d'abril. Canvia totes dues dates alhora per a una data d'informe diferent. Executa la sentència SELECT de sota a la teva eina local de consultes BQL.
-- Portfolio allocation by cryptocurrency
SELECT
currency,
units(sum(position)) AS total_units,
convert(sum(position), 'USD', 2024-03-31) AS allocation_value
FROM close ON 2024-04-01
WHERE account ~ '^Assets:Crypto:'
GROUP BY currency
ORDER BY currency;Comprova que cada allocation_value diferent de zero estigui en USD abans de calcular percentatges. La conversió utilitza preus registrats disponibles en o abans de la data de valoració. Una conversió que falta pot deixar un import en la seva moneda original. Si queda algun import de BTC, ETH o una altra cosa que no sigui USD, la valoració està incompleta. Afegeix els preus datats que falten i torna a executar; no tractis els actius sense preu com a zero ni afegeixis unitats de moneda no relacionades.
Suma els imports en USD per obtenir el total de la cartera. Després calcula l'assignació de cada actiu com valor de l'actiu en USD / valor total en USD * 100. Mantén la precisió completa fins a mostrar el percentatge. Per exemple, tinençes d'1 BTC i 3 ETH, amb preus de 200 USD per BTC i 20 USD per ETH, donen:
| Actiu | Valor en USD | Càlcul de l'assignació | Quota mostrada |
|---|---|---|---|
| BTC | 200 | 200 / 260 * 100 | 76,92% |
| ETH | 60 | 60 / 260 * 100 | 23,08% |
| Total | 260 | 260 / 260 * 100 | 100,00% |
Arrodonir les quotes individuals a dos decimals pot fer que la seva suma mostrada difereixi lleugerament del 100%. Un invent amb valor zero pot mostrar-se en blanc. Per a una cartera buida o un total en USD zero, informa les assignacions com a no disponibles i no divideixis per zero. Aquest exemple descriu tinençes d'actius positives; els saldos negatius requereixen interpretar exposicions amb signe en lloc de quotes de cartera ordinàries.
Anàlisi del rendiment
Informa del valor de tancament de la cartera de cada mes utilitzant totes les tinençes abans del mes següent. Estableix la data de valoració a final de mes perquè els preus posteriors no puguin canviar la instantània. Aquests exemples informen en USD. Executa cada SELECT per separat a la teva eina local de consultes BQL.
Per al 31 de gener:
SELECT convert(sum(position), 'USD', 2024-01-31) AS portfolio_value
FROM close ON 2024-02-01
WHERE account ~ '^Assets:Crypto:';Per al 29 de febrer:
SELECT convert(sum(position), 'USD', 2024-02-29) AS portfolio_value
FROM close ON 2024-03-01
WHERE account ~ '^Assets:Crypto:';Per al 31 de març:
SELECT convert(sum(position), 'USD', 2024-03-31) AS portfolio_value
FROM close ON 2024-04-01
WHERE account ~ '^Assets:Crypto:';FROM close ON exclou els assentaments datats en o després del seu punt de tall. La data dins de convert selecciona els preus disponibles en o abans de la data d'informe. Per a un altre mes, canvia totes dues dates alhora. Demana cada mes que vulguis informar, incloent-hi els mesos sense transaccions. Comprova si hi ha monedes no convertides tal com es descriu a dalt abans de tractar el resultat com un total en USD.
Per exemple, suposa que el gener acaba amb 2 BTC amb un preu de 100 USD cadascun i 3 ETH a 10 USD cadascun. Vendre 1 BTC al febrer deixa 1 BTC i 3 ETH. Si el març no té operacions però els preus registrats pugen a 200 USD per BTC i 20 USD per ETH, les instantànies són:
| Final de mes | Valor cripto de tancament |
|---|---|
| 31 de gener | 2 * 100 + 3 * 10 = 230 USD |
| 29 de febrer | 1 * 100 + 3 * 10 = 130 USD |
| 31 de març | 1 * 200 + 3 * 20 = 260 USD |
El valor de febrer assumeix que no hi ha noves directives de preu aquell mes. El preu @ d'una venda registra els seus ingressos; no crea una directiva de preu de mercat. Aquestes consultes només cobreixen els comptes Assets:Crypto:, així que els ingressos en efectiu mantinguts en un altre lloc queden exclosos.
Agrupar els assentaments pel mes de la transacció mesura els moviments de cada mes, no les tinençes acumulades de tancament. També omet els mesos sense transaccions. Els canvis entre valors de tancament inclouen compres, vendes, transferències i canvis de preu. No són rendiments d'inversió ajustats per fluxos d'efectiu.
Anàlisi d’ingressos
Analitza les fonts d'ingressos:
-- Income breakdown by source
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;Bones pràctiques i consells
1. Registre consistent
- Registra les transaccions immediatament després de l'execució
- Utilitza descripcions de transaccions estandarditzades
- Inclou els hashes de transacció a les metadades
2. Reconciliació regular
- Verifica els saldos setmanalment a totes les plataformes
- Utilitza afirmacions de saldo per detectar discrepàncies
- Monitora transaccions que falten
3. Còpia de seguretat i seguretat
- Fes còpies de seguretat regularment dels teus fitxers de Beancount
- Utilitza control de versions (Git) per al seguiment de canvis
- Xifra les dades sensibles
4. Documentació
- Documenta les decisions sobre l'estructura de comptes
- Mantén notes sobre transaccions complexes
- Guarda registres de les configuracions d'API
5. Preparació fiscal
- Genera informes trimestralment per a la planificació fiscal
- Mantén registres detallats per a propòsits d'auditoria
- Consulta amb professionals fiscals per a situacions complexes
Conclusió
El seguiment efectiu d'una cartera de criptomonedes requereix precisió, consistència i les eines adequades. Beancount.io proporciona la flexibilitat i la potència necessàries per gestionar carteres cripto complexes en múltiples exchanges, carteres i protocols DeFi.
Beneficis clau d'utilitzar Beancount.io per al seguiment de carteres cripto:
- Propietat completa de les dades: Les teves dades en format de text pla
- Base de cost precisa: Seguiment per lots amb identificació específica
- Flexibilitat il·limitada: Estructures de comptes i informes personalitzats
- Optimització fiscal: Estratègies avançades per minimitzar la càrrega fiscal
- A prova de futur: El format obert garanteix l'accessibilitat a llarg termini
Comença amb una configuració bàsica i amplia gradualment el teu seguiment a mesura que la teva cartera es torna més complexa. La inversió en una configuració adequada donarà dividends en informes precisos, optimització fiscal i perspectives de cartera.
A punt per prendre el control de la teva cartera de criptomonedes? Comença amb Beancount.io avui.