Отслеживание криптовалютного портфеля с помощью 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 * "Купить BTC на 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 * "Купить BTC на 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 * "Купить BTC на 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
Переводы между биржами
Отслеживайте переводы между биржами, сохраняя себестоимость:
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 * "Арбитраж: Купить ETH на Binance, продать на 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 - Январь"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 200.00 USD
2024-01-31 * "Вознаграждения за стейкинг ADA - Январь"
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 - Февраль"
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"