跳转到主要内容
Beancount.io LogoBeancount.io

加密货币投资组合追踪

在 Beancount.io 中设置和管理加密货币投资组合的完整指南,包括多交易所追踪、成本基础计算和业绩分析。

使用 Beancount.io 进行加密货币投资组合追踪

管理分布在多个交易所、钱包和 DeFi 协议中的加密货币投资组合可能具有挑战性。 本综合指南将向你展示如何使用 Beancount.io 强大的纯文本会计系统设置和维护准确的加密货币投资组合跟踪。

探索实时加密货币账本示例:

为什么传统的投资组合追踪工具会失败

加密货币投资组合工具的常见问题

  • 有限的交易所支持:许多工具不支持所有交易所或 DeFi 协议
  • 不准确的成本基础:简化的 FIFO/LIFO 计算遗漏了复杂的场景
  • 缺少交易:API 限制和手动输入差距
  • 无法定制:固定的类别和报告结构
  • 隐私问题:与第三方服务共享 API 密钥
  • 供应商锁定:专有数据格式和有限的导出选项

Beancount.io 的优势

  • 完全控制:以纯文本格式拥有你的数据
  • 无限定制:创建你需要的任何帐户结构
  • 精确的成本基础:基于批次的跟踪与特定标识
  • 多协议支持:处理任何交易所、钱包或 DeFi 协议
  • 透明的计算:准确了解数字的计算方式
  • 面向未来:纯文本格式确保长期可访问性

设置你的加密货币投资组合结构

基本账户层级结构

首先使用反映你的加密货币生态系统的综合帐户结构:

; 交易所账户 - 按平台组织
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: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 协议账户
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
 
; 收入追踪
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
 
; 费用追踪
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 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"

多交易所投资组合追踪

记录跨交易所的购买

以精确的成本基础跟踪不同交易所的相同加密货币:

; 在不同交易所购买比特币
2024-01-15 * "在 Coinbase 上购买 BTC"
  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 * "在 Binance 上购买 BTC"
  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 * "在 Kraken 上购买 BTC"
  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

跨交易所转账

跟踪交易所之间的转账,同时保持成本基础:

2024-02-01 * "将 BTC 从 Coinbase 转移到 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}

套利机会

跟踪交易所之间的套利交易:

2024-02-10 * "套利:在 Binance 上购买 ETH,在 Coinbase 上出售"
  ; 在 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
  
  ; 在 Coinbase 上出售(价格更高)
  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

高级成本基础管理

基于批次的跟踪

Beancount.io 基于批次的系统提供精确的成本基础跟踪:

; 以不同价格多次购买
2024-01-01 * "BTC 购买批次 1"
  Assets:Crypto:Coinbase:BTC  1.0 BTC {40000.00 USD}
  Assets:Crypto:Coinbase:USD -40000.00 USD
 
2024-02-01 * "BTC 购买批次 2"
  Assets:Crypto:Coinbase:BTC  1.0 BTC {45000.00 USD}
  Assets:Crypto:Coinbase:USD -45000.00 USD
 
2024-03-01 * "BTC 购买批次 3"
  Assets:Crypto:Coinbase:BTC  1.0 BTC {50000.00 USD}
  Assets:Crypto:Coinbase:USD -50000.00 USD

特定识别方法

出售特定批次以实现最佳税务管理:

; 首先出售最高成本基础批次(税务亏损收割)
2024-04-01 * "出售 BTC 批次 3 以进行税务优化"
  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  ; 已实现亏损

FIFO 与 LIFO 跟踪

实施不同的成本基础方法:

; FIFO 销售(先进先出)
2024-05-01 * "FIFO 销售 - 首先出售最早的 BTC"
  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 销售(后进先出) - 如果使用不同的方法
2024-05-01 * "LIFO 销售 - 首先出售最新的 BTC"
  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

投资组合业绩分析

价格追踪设置

设置自动价格提要以进行准确估值:

; 每日价格更新
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

投资组合分配追踪

使用 Beancount.io 的报告功能来分析分配:

; 按资产查询投资组合分配
SELECT 
  account, 
  sum(position) as balance,
  value(sum(position)) as market_value
WHERE account ~ "Assets:Crypto"
GROUP BY 1
ORDER BY market_value DESC

业绩指标

跟踪关键业绩指标:

; 总投资组合价值查询
SELECT 
  sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"
 
; 已实现收益/亏损
SELECT 
  sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"

Staking 和 DeFi 集成

Staking 奖励跟踪

记录 staking 奖励并进行适当的收入确认:

2024-01-31 * "ETH Staking 奖励 - 1 月"
  Assets:Staking:Ethereum:ETH     0.08 ETH {2500.00 USD}
  Income:Crypto:Staking:ETH     200.00 USD
 
2024-01-31 * "ADA Staking 奖励 - 1 月"
  Assets:Staking:Cardano:ADA      25 ADA {0.50 USD}
  Income:Crypto:Staking:ADA      12.50 USD

DeFi 收益跟踪

跟踪复杂的 DeFi 头寸:

2024-02-01 * "Uniswap LP 头寸"
  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 奖励 - 2 月"
  Assets:Crypto:Wallet:MetaMask:UNI    50 UNI {8.00 USD}
  Income:Crypto:DeFi:Yield           400.00 USD

自动化投资组合管理

API 集成设置

连接交易所 API 以实现自动数据导入:

# 交易所 API 集成的示例配置
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"

自动对账

设置自动余额验证:

; 用于自动验证的余额断言
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

价格提要自动化

配置自动价格更新:

; 价格提要配置
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.forecast"
 
; 自动价格获取
2024-01-01 custom "price-source" BTC "coinbase"
2024-01-01 custom "price-source" ETH "coinbase"
2024-01-01 custom "price-source" ADA "binance"

税务优化策略

税务亏损收割

实施系统的税务亏损收割:

; 识别具有未实现亏损的头寸
2024-12-15 * "税务亏损收割 - 以亏损出售 ADA"
  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  ; 已实现亏损
 
; 在虚卖期(31 天)后回购
2025-01-16 * "在虚卖期后回购 ADA"
  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

长期与短期收益

跟踪持有期以进行税务优化:

; 使用元数据跟踪购买日期
2024-01-01 * "BTC 购买 - 长期持有" ^long-term-btc
  Assets:Crypto:Coinbase:BTC  1.0 BTC {40000.00 USD}
  Assets:Crypto:Coinbase:USD -40000.00 USD
 
; 一年后出售以获得长期资本收益待遇
2025-01-02 * "BTC 销售 - 长期资本收益" ^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

报告和分析

投资组合摘要报告

生成综合投资组合报告:

-- 按加密货币划分的投资组合分配
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;

业绩分析

跟踪投资组合随时间的推移的表现:

-- 每月投资组合业绩
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;

收入分析

分析收入来源:

-- 按来源划分的收入细目
SELECT 
  account,
  sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;

最佳实践和提示

1. 一致的记录

  • 在执行后立即记录交易
  • 使用标准化的交易描述
  • 在元数据中包含交易哈希

2. 定期对账

  • 每周验证所有平台上的余额
  • 使用余额断言来捕获差异
  • 监控缺少的交易

3. 备份和安全

  • 定期备份你的 Beancount 文件
  • 使用版本控制 (Git) 进行更改跟踪
  • 加密敏感数据

4. 文档

  • 记录你的账户结构决策
  • 维护复杂交易的注释
  • 保留 API 配置的记录

5. 税务准备

  • 每季度生成报告以进行税务规划
  • 维护详细记录以进行审计
  • 咨询税务专业人士以了解复杂情况

结论

有效的加密货币投资组合跟踪需要精确、一致和正确的工具。 Beancount.io 提供了管理跨多个交易所、钱包和 DeFi 协议的复杂加密货币投资组合所需的灵活性和强大功能。

使用 Beancount.io 进行加密货币投资组合跟踪的主要优势:

  • 完全数据所有权:你的数据采用纯文本格式
  • 精确的成本基础:基于批次的跟踪与特定标识
  • 无限的灵活性:自定义帐户结构和报告
  • 税务优化:用于最大限度减少税务责任的高级策略
  • 面向未来:开放格式确保长期可访问性

从基本设置开始,并随着你的投资组合复杂性的增长逐渐扩展你的跟踪。 对正确设置的投资将在准确的报告、税务优化和投资组合见解方面获得回报。

准备好掌控你的加密货币投资组合了吗? 立即开始使用 Beancount.io