メインコンテンツまでスキップ

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"

マルチ取引所ポートフォリオのトラッキング

取引所を跨いでの購入記録

正確な取得原価で、異なる取引所間で同じ暗号通貨を追跡します。

; 異なる取引所での Bitcoin 購入
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 * "Coinbase から Ledger に BTC を振替"
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 vs 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"

ステーキングと DeFi の統合

ステーキング報酬のトラッキング

適切な収入認識でステーキング報酬を記録します。

2024-01-31 * "ETH ステーキング報酬 - 1 月"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 200.00 USD

2024-01-31 * "ADA ステーキング報酬 - 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

長期 vs 短期ゲイン

税務最適化のために保有期間を追跡します。

; メタデータを使用して購入日を追跡
2024-01-01 * "BTC 購入 - 長期保有" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD

; 長期キャピタルゲインの処理のために 1 年後に売却
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 を始めましょう