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 * "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를 시작하십시오.