用途
Cost Basis Engine 用于计算加密货币交易的成本基础,并比较不同会计方法下的税务负担。它处理链上活动的完整复杂性,包括部分卖出、代币迁移、空投、质押奖励、LP 进入/退出和多跳交换。
免责声明:该技能仅提供信息性计算工具,不构成税务、法律或财务建议。请咨询合格的税务专业人士。税法因司法管辖区而异且经常变化。
主要能力
支持五种成本基础计算方法:
- FIFO(先进先出):先卖出最早购买的批次。美国默认方法。
- LIFO(后进先出):先卖出最新购买的批次。
- HIFO(最高成本先出):先卖出成本最高的批次,以最小化已实现收益。
- 特定识别:交易者明确选择卖出哪些批次,需要详细记录。
- 平均成本法:所有持有批次的加权平均成本,每次买入后更新。
处理特殊事件:
- 空投:按收到日期的公允价值(FMV)作为收入,FMV 成为未来销售的成本基础。
- 质押奖励:收到时按 FMV 作为收入,每次奖励事件创建新批次。
- 代币拆分和迁移:通常不是应税事件,总成本基础转移到新代币。
- LP 进入/退出:视为代币交换,进入时处置存入的代币并接收 LP 代币,退出时反向操作。
- 多跳交换:每个中间步骤创建单独的应税事件。
提供比较视图:将同一交易历史通过所有五种方法运行,比较总已实现收益和估计税务负担。
使用方式
前置条件:Python 3.10+,无需外部依赖(仅标准库)。交易历史为字典列表或 CSV,列包括:date, action, token, quantity, price_usd, fee_usd。
快速开始:
from scripts.cost_basis_calculator import CostBasisEngine
engine = CostBasisEngine()
# 添加购买
engine.add_buy("2025-01-10", "TOKEN", 100, 1.00)
engine.add_buy("2025-02-15", "TOKEN", 50, 2.00)
engine.add_buy("2025-03-01", "TOKEN", 75, 1.50)
# 卖出并比较方法
results = engine.sell_compare("2025-04-01", "TOKEN", 120, 3.00)
engine.print_comparison(results)
文件:
- references/planned_features.md:方法公式、部分卖出示例、特殊事件处理、多跳处理。
- scripts/cost_basis_calculator.py:完整引擎,包含所有 5 种方法、比较表、演示模式。
适用场景
- 税务季节准备:在报告前将全年交易通过所有方法运行。
- 积累策略:在 DCA 积累期间跟踪部分卖出,查看每种方法对剩余基础的影响。
- LP 头寸跟踪:将 LP 进入/退出建模为交换,捕获相关的收益/损失事件。
- 空投和质押收入:正确记录收入事件并为未来处置设置成本基础。
- 多跳交换分解:将 Jupiter 路由分解为单独的应税事件。
限制
“最佳”方法取决于司法管辖区、具体交易历史和税务情况。该引擎帮助比较,税务专业人士帮助决定。该技能不提供税务建议。