본문으로 건너뛰기

암호화폐 포트폴리오 추적

Beancount.io에서 암호화폐 포트폴리오를 설정하고 관리하는 완전한 가이드 - 다중 거래소 추적, 비용 기준 계산, 성과 분석 포함.

여러 거래소, 지갑, DeFi 프로토콜에 걸친 암호화폐 포트폴리오를 관리하는 것은 어려울 수 있습니다. 이 완전한 가이드는 Beancount.io의 강력한 일반 텍스트 회계 시스템을 사용하여 정확한 암호화폐 포트폴리오 추적을 설정하고 유지하는 방법을 보여줍니다.

실시간 암호화폐 예제 원장을 살펴보세요:

새 탭에서 암호화폐 예제 원장 열기

전통적인 포트폴리오 추적 도구의 한계

암호화폐 포트폴리오 도구의 일반적인 문제점

  • 제한된 거래소 지원: 많은 도구가 모든 거래소나 DeFi 프로토콜을 지원하지 않습니다.
  • 부정확한 비용 기준: 단순화된 FIFO/LIFO 계산은 복잡한 상황을 놓칩니다.
  • 누락된 거래: API 제한 및 수동 입력 공백.
  • 맞춤 설정 불가: 고정된 카테고리 및 보고 구조.
  • 개인정보 보호 문제: 제3자 서비스와 API 키 공유.
  • 벤더 종속: 독점 데이터 형식 및 제한된 내보내기 옵션.

Beancount.io의 장점

  • 완전한 데이터 소유권: 일반 텍스트 형식으로 데이터 소유.
  • 무제한 맞춤 설정: 필요한 모든 계정 구조 생성.
  • 정밀한 비용 기준: 특정 식별을 통한 로트 기반 추적.
  • 다중 프로토콜 지원: 모든 거래소, 지갑, DeFi 프로토콜 처리.
  • 투명한 계산: 숫자가 어떻게 계산되는지 정확히 확인.
  • 미래 보장: 일반 텍스트 형식으로 장기적인 접근성 보장.

암호화폐 포트폴리오 구조 설정

기본 계정 계층

암호화폐 생태계를 반영하는 포괄적인 계정 구조로 시작하세요:

; 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:Crypto

여기서 한 가지 명명 규칙이 중요하며, 파서가 관례보다 이것을 강제합니다: 모든 계정 구성 요소와 모든 상품 기호는 대문자 또는 숫자로 시작해야 합니다. Compound는 자체 인터페이스에서 수령 토큰을 cUSDC라고 쓰지만, Assets:DeFi:Compound:cUSDCcUSDC 상품은 모두 어휘 오류입니다. CUSDC로 쓰고 상품의 name: 메타데이터에 프로토콜의 원래 철자를 유지하세요.

상품 정의 및 메타데이터

더 나은 추적을 위해 풍부한 메타데이터로 암호화폐를 정의하세요:

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 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 USD

거래소 간 전송

비용 기준을 유지하면서 거래소 간 전송을 추적하세요:

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}

차익거래 기회

차익거래는 두 장소에 걸친 하나의 경제적 사건이므로 하나의 거래로 기록하세요. 이 항목은 보유 중인 10 ETH를 Coinbase에서 $2,580.00에 매도하고 즉시 Binance에서 $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 basis

세 가지 복사할 사항:

  • 포스팅 사이에 빈 줄을 두지 마세요. 빈 줄은 거래를 종료하며, Beancount는 그 이후의 포스팅에 대해 구문 오류를 보고합니다. 대신 들여쓰기된 ; 주석을 사용하여 레그를 표시하세요 — 위의 두 주석 줄이 하는 일입니다.
  • 이익은 처분의 이익인 $800.00이며, Income 계정이 대변을 보유하므로 음수입니다. $55.00의 수수료는 별개입니다: 그것이 $800.00의 총 스프레드를 $745.00의 이익으로 바꾸는 것이며, 이미 자체 두 개의 포스팅에 기록되어 있습니다.
  • 매도 레그는 반드시 이미 보유하고 있는 로트를 감소시킵니다. 이 항목은 이전에 Coinbase에서 $2,500.00에 구매한 10 ETH를 가정합니다; 해당 로트가 없으면 감소는 대체할 대상이 없습니다.

고급 비용 기준 관리

로트 기반 추적

Beancount.io의 로트 기반 시스템은 정확한 비용 기준 추적을 제공합니다:

; 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 USD

손익의 부호 규약

Income 계정은 대변을 보유하므로 Beancount는 이를 음수로 저장합니다. 따라서 아래의 모든 이익은 소득 계정에 대한 음수 포스팅이고, 모든 손실은 비용 계정에 대한 양수 포스팅입니다. 수수료는 둘 다와 별개입니다: 그것은 그 자체로 비용이므로, 이익에서 그것을 빼면 두 번 차감되어 거래가 불균형해집니다.

단일 처분에 대한 산술은 항상 다음과 같습니다:

gain (or loss) = gross proceeds - cost basis of the lots removed
net cash       = gross proceeds - fees

특정 식별 방법

최적의 세금 관리를 위해 특정 로트를 매도하세요. 감소 포스팅에서 로트의 비용을 명명하는 것이 Beancount에서 "특정 식별"이 의미하는 바이며, 기본 STRICT 예약 방식에서 작동합니다:

; 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 proceeds

가장 오래된 또는 가장 새로운 로트 매도

다른 비용을 명명하면 다른 로트가 선택됩니다. 이 두 매도는 $40,000.00 로트를 먼저, 그 다음 $45,000.00 로트를 가져옵니다 — 위 예제에서 $50,000.00 로트가 나간 후 남아 있는 두 개 — 이는 FIFO와 LIFO가 자동으로 선택하는 것과 동일하며, 수동으로 명시한 것입니다:

; 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 basis

동일한 매도 가격, 다른 로트, 실현 이익 $2,500.00 차이. Beancount가 로트를 선택하도록 하려면 비용을 명명하는 대신 계정에 예약 방법을 설정하세요 — open 지시문"FIFO", "LIFO" 또는 "HIFO"를 사용하며, 재고 관리설명되어 있습니다.

포트폴리오 성과 분석

가격 추적 설정

정확한 평가를 위한 자동 가격 피드 설정:

; 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 USD

포트폴리오 배분 추적

Beancount.io의 보고 기능을 사용하여 배분을 분석하세요:

-- 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 DESC

성과 지표

주요 성과 지표 추적:

-- 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"

스테이킹 및 DeFi 통합

스테이킹 보상 추적

적절한 소득 인식으로 스테이킹 보상을 기록하세요. 도착하는 단위와 인식된 소득은 두 측면에서 본 동일한 사건이므로, 그들의 가중치는 상쇄되어야 합니다: [단위] × [가격] 자산 유입, 동일한 달러 소득 유출 — 그리고 소득은 대변이므로 음수입니다.

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.50

{2,500.00 USD}{0.50 USD}외부 평가입니다. Beancount는 작성하는 모든 것을 저장합니다; 가격을 가져오거나 어떤 견적이 올바른지 결정하지 않습니다. 소스를 선택하세요 — 실제로 매도할 거래소 또는 게시된 지수 — 그리고 일관되게 사용하세요, 그 숫자가 소득이자 미래 비용 기준이기 때문입니다.

보상의 기준은 한 번 인식됩니다

위에서 인식된 $200.00은 0.08 ETH의 비용 기준이 됩니다. 나중에 매도하면 보상 날짜 이후의 변동만 실현됩니다:

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 basis

$240.00이 아닌 $40.00의 자본 이득 — 첫 $200.00는 이미 1월에 소득이었습니다. 전체 $240.00를 이득으로 기록하는 것은 보상 소득이 두 번 계산되는 가장 일반적인 방법입니다. 보상이 과세 대상이 되는 시기와 세율은 관할권에 따라 다릅니다; 원장은 수령과 처분을 별도로 기록하여 어느 쪽 처리든 보고할 수 있습니다.

DeFi 수익 추적

복잡한 DeFi 포지션 추적:

유동성 공급은 두 상품을 세 번째 상품으로 교환하므로, 모든 레그는 거래가 균형을 이루기 전에 동일한 통화로 평가되어야 합니다. ETH 및 LP 레그는 비용을 지니므로 이미 그렇게 합니다; 스테이블코인 레그는 명시적 @ 1.00 USD가 필요합니다, 그렇지 않으면 Beancount는 25,000 단위의 USDC가 유출되고 $25,000.00의 가치가 유입되는 것을 보게 되어, 다른 상품이므로 상쇄되지 않습니다.

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.00

자동화된 포트폴리오 관리

거래소 데이터 가져오기

Beancount는 거래소 API 클라이언트를 제공하지 않으며, Coinbase나 Binance와 통신하게 만드는 구성 파일도 없습니다. 지원되는 경로는 임포터입니다: 거래소의 CSV 내보내기를 다운로드(또는 자체 스크립트로 가져오기)하고 beangulp로 Beancount 거래로 변환하세요. beangulp는 Beancount 2의 내장 beancount.ingest를 대체한 임포터 프레임워크입니다. beancount.ingest는 Beancount 3에 존재하지 않습니다.

가져오기 스크립트를 작성하는 경우, 해당 자격 증명 파일은 전적으로 귀하의 것입니다 — Beancount 도구 체인에는 아무것도 이 파일을 읽지 않습니다:

# 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"

자동화된 조정

자동화된 잔액 검증 설정:

; 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 ADA

이 세 숫자는 이 페이지가 아닌 귀하의 거래소 화면에서 나온 것이므로, 위 블록은 귀하의 거래가 원장에 있을 때까지 아무것도 검증하지 않습니다. 두 가지 규칙이 검증 여부를 결정합니다. balance 지시문은 명명된 날짜 시작 시 잔액을 단언하므로, 2024-01-31 날짜의 단언은 2024-01-31에 게시된 것은 보지 않습니다 — 마감하는 기간의 다음 날짜로 지정하세요. 그리고 단언된 모든 계정은 개설되어 있어야 하므로, Assets:Crypto:Kraken:ADA가 위의 기본 계정 계층 섹션에 나타나는 이유입니다.

가격 최신 상태 유지

가격은 price 지시문으로 원장에 있으며, Beancount 3.2.3의 어떤 것도 이를 가져오지 않습니다. custom "price-source" 지시문은 없습니다 — 단순 상품 기호는 유효한 custom 값조차 아니므로 해당 줄은 구문 오류입니다 — 그리고 beancount.plugins.forecast 모듈은 없습니다; 명명하면 로더가 가져오기 오류로 중지합니다.

존재하는 것은 beanprice로, 별도 패키지(pip install beanprice)이며 bean-price 명령을 제공합니다. 각 commodity 지시문의 price: 메타데이터 필드를 "<따옴표 통화>:<소스 모듈>/<티커>" 형식으로 읽고, 원장에 추가할 price 지시문을 작성합니다:

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"
 
; What bean-price appends - and what you would otherwise type by hand
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USD

상품에 첨부하는 다른 메타데이터 — sector, website, 또는 이 가이드에서 사용된 price-source 필드 — 는 귀하의 이익을 위한 자유 형식 문서입니다. 로더는 이를 저장하고 어떤 도구도 이를 처리하지 않습니다.

세금 최적화 전략

세금 손실 수확

체계적인 세금 손실 수확 구현:

; 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 USD

장기 vs 단기 손익

세금 최적화를 위한 보유 기간 추적:

; 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 basis

두 항목의 ^long-term-btc 링크는 나중에 구매와 매도를 함께 불러올 수 있게 합니다; Beancount는 보유 기간을 자체적으로 추적하지 않습니다.

보고 및 분석

포트폴리오 요약 보고서

포괄적인 포트폴리오 보고서 생성:

-- Portfolio allocation by cryptocurrency
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;

성과 분석

시간 경과에 따른 포트폴리오 성과 추적:

-- Monthly portfolio performance
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;

소득 분석

소득 원천 분석:

-- Income breakdown by source
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 시작하기.

출처: https://beancount.io/ko/docs/Solutions/cryptocurrency-portfolio-tracking