卖出股票时如何选择成本基础方法:FIFO、HIFO、SpecID 实战指南

规划师陈先生, CFP®规划师陈先生, CFP®

财务规划咨询

规划需求 *(可多选)
规划师陈先生, CFP® 审核|持有 CFP®, EA 执照
卖出股票时如何选择成本基础方法:FIFO、HIFO、SpecID 实战指南 — 美国高净财务指南博客封面图

本文写给谁

你在一个 taxable brokerage 账户中持有多笔不同时间、不同价格买入的同一只股票或 ETF。现在你需要卖出一部分——可能是为了再平衡、筹集现金、或者减少集中持仓。券商问你要用哪种 cost basis 方法。

本文写给以下读者:

  • 持有多次 RSU vest 批次的科技公司员工,需要卖出部分股票
  • 长期定投 VOO/VXUS 等指数基金的投资者,需要部分卖出
  • 有 DCA(定投)股票持仓的投资者
  • 管理家庭 taxable brokerage 的 DIY 投资者

本文不适合:所有投资都在 IRA/401(k) 等退休账户中的投资者——退休账户内部卖出没有税务影响,不需要选择 cost basis 方法。

一、什么是 Cost Basis?

Cost basis(成本基础) 是你买入投资时支付的价格,加上佣金。当你卖出时,资本利得或亏损等于:

资本利得(或亏损) = 卖出价格 - 成本基础

如果你在不同时间、不同价格分多次买入同一只股票(例如每月定投 VOO,或每季度 RSU vest),每笔买入就是一个税 lot(tax lot)。卖出时,你需要决定卖的是哪一笔的份额——这就是 cost basis 方法选择的核心。

为什么重要

选错方法可能让你多交数千甚至数万美元的税:

场景100 股卖出价 $200成本 $50(2020 年)成本 $180(2025 年)
卖低成本 lot利得 $15,000 → 长期资本利得税 $2,250(15%)
卖高成本 lot利得 $2,000 → 长期资本利得税 $300(15%)
差异$1,950

同样是卖出 100 股,选不同的 lot,税差近 $2,000。如果你持有数十万股 RSU,差异可能是数万美元。

二、六种主要 Cost Basis 方法

1. FIFO(First In, First Out)

机制:最早买入的份额最先被卖出。

优点缺点
简单直观通常产生最高的资本利得
券商默认方法之一卖出的是成本最低(通常利得最大)的 lot

适合场景:当你希望产生长期资本利得(持有超过 1 年的部分优先被卖)而不是短期资本利得。早期 lot 如果持有超过 1 年,其利得适用 15%/20% 的长期税率而非最高 37% 的短期税率。

2. LIFO(Last In, First Out)

机制:最近买入的份额最先被卖出。

优点缺点
通常产生最低的利得(近期买入价更高)可能产生短期资本利得(税率更高)
适合短期内需要最小化应税利得不适用于 mutual fund(IRS 限制)

适合场景:最近买入的 lot 成本高且持有超过 1 年,或者你想在当前年度最小化资本利得。

3. HIFO(Highest In, First Out)

机制:成本最高的份额最先被卖出。

优点缺点
最大化资本利得的减少不考虑持有期——可能卖出短期 lot
自动化,不需要手动选择如果高成本 lot 是短期持有的,税反而可能更高
研究显示可增加 0.5-1.0% 的长期财富最终会留下低成本 lot,未来卖出税更高

适合场景:你有多个高成本的税 lot 需要优先卖出,且这些 lot 已持有超过 1 年。

Financial Planning Association 的研究显示,在典型的退休规划场景中,使用 HIFO 方法可以在退休时增加 0.5% 到 1.0% 的总财富,因为延迟缴税带来的复利效果。

4. SpecID(Specific Identification)

机制:你在卖出时手动指定要卖哪几个具体的税 lot。

优点缺点
最大灵活性需要手动操作,不能设为默认方法
可以精确控制长期 vs 短期、利得大小需要提前了解每个 lot 的成本和持有期
最适合复杂税务规划券商必须在结算日前确认你的指定

适合场景:你有明确的税务规划目标(例如:今年想实现 $3,000 净资本亏损来抵扣普通收入),或者需要精确控制短期和长期利得的比例。

5. Tax Lot Optimizer / MinTax

机制:券商的算法自动选择预计税后成本最低的 lot 组合。不同券商名称不同:

券商名称
Charles SchwabTax Lot Optimizer
FidelityTax-Sensitive Lot Selection
VanguardMinTax
Merrill LynchBest Tax Lot Selection
优点缺点
自动化,兼顾持有期和成本只看当前交易,不考虑长期税务优化
通常比 FIFO/HIFO 更优不同券商算法不同,结果可能有差异
适合不想手动操作的投资者不一定在所有情况下都最优

适合场景:大多数情况下推荐的方法——自动考虑持有期和成本,通常比手动 FIFO 好。

6. Average Cost

机制:所有份额的成本取平均值。仅适用于 mutual fund,不适用于 ETF 或个股。

优点缺点
计算简单IRS 规定一旦选用 average cost,不可撤销
Vanguard mutual fund 默认方法不利于税务优化

注意:如果你持有 Vanguard 的 mutual fund(如 VTSAX),默认是 average cost。如果改用 SpecID,需要在第一次卖出前就更改,否则 IRS 不允许再改。

三、实战案例

案例 1:RSU 多次 vest 后卖出

假设你在 NVDA 工作,过去 4 年每年 RSU vest 100 股:

Vest 日期股数Vest 时价格成本基础持有期
2022-06-15100$160$16,000长期
2023-06-15100$260$26,000长期
2024-06-15100$125$12,500长期
2025-06-15100$140$14,000长期

当前价格 $130。你想卖出 100 股。不同方法的结果:

方法卖出 lot卖出成本利得/(亏损)税率预计税
FIFO2022 lot$16,000-$3,000 (亏)15% LTCG-$450 亏损可抵其他利得
HIFO2023 lot$26,000-$13,000 (亏)15% LTCG-$1,950 亏损可抵其他利得
SpecID2023 lot$26,000-$13,000 (亏)15% LTCG-$1,950 亏损可抵其他利得

这个案例中,当前价格低于所有 vest 价格,卖出任何 lot 都是亏损——此时应选 HIFO 最大化亏损来抵扣其他利得。

案例 2:长期定投 VOO 后部分卖出

假设你每月定投 VOO,过去 3 年积累了以下代表性税 lot:

买入日期股数买入价成本基础持有期
2023-0110$380$3,800长期
2024-0110$430$4,300长期
2024-0710$470$4,700长期
2025-0110$510$5,100长期
2025-0710$490$4,900长期
2026-0110$520$5,200短期

当前价格 $530。你需要卖出 20 股来筹集现金。比较:

方法卖出哪些 lot总成本利得
FIFO2023-01 + 2024-01$8,100$2,500 LTCG$375(15%)
HIFO2026-01 + 2025-01$10,300$300($200 STCG + $100 LTCG)~$79
MinTax2025-07 + 2024-07$9,600$1,000 LTCG$150(15%)
SpecID2026-01 + 2025-01$10,300$300(含短期)~$79

在这个案例中,HIFO 产生的税最低,但部分是短期利得。MinTax 会自动避开短期 lot,牺牲一点利得最小化来换取长期税率。

案例 3:混合利得和亏损的税 lot

你持有以下 META 税 lot:

Lot股数成本当前价利得/(亏损)持有期
A50$200$580+$19,000长期
B50$340$580+$12,000长期
C50$600$580-$1,000短期

你想卖出 50 股。用 SpecID 精确选择:

  • 如果目标是最小化当前税:选 Lot B(利得 $12,000 LTCG,税 $1,800)
  • 如果目标是产生亏损来抵扣其他利得:选 Lot C(亏损 $1,000 STCL,可抵普通收入 $1,000,节税 $370)
  • 如果目标是长期规划:卖 Lot A(利得最大但释放低成本 lot 给未来增值空间)

四、如何设置和更改

各主要券商的操作路径

券商路径
FidelityAccount Settings → Cost Basis Method → 选择账户和证券
Charles SchwabSettings → Account Settings → Cost Basis Method
VanguardProfile & Settings → Cost basis method → 选择账户
Morgan Stanley / E*TRADEAccount → Settings → Tax Lot Method
Robinhood设置 → 成本基础方法

重要规则

  1. 你可以在卖出前随时更改默认方法
  2. SpecID 不能设为默认——必须在每次卖出时手动选择
  3. Mutual fund 的 average cost 一旦选用,IRS 不允许改回其他方法
  4. 更改方法只影响未来的卖出,不影响已经报税的交易

建议默认设置

情况推荐默认方法
大多数投资者MinTax / Tax Lot Optimizer
有明确税务规划需求SpecID(每次手动)
不确定HIFO(通常优于 FIFO)
全在 IRA/401(k) 中不需要选择(免税)

五、常见错误

错误 1:使用默认 FIFO 而不思考

大多数券商的默认方法是 FIFO。对于长期持有的增值资产,FIFO 通常产生最大的资本利得。检查你的设置,至少改为 HIFO 或 MinTax。

错误 2:忽略持有期

HIFO 自动卖出高成本 lot,但不考虑持有期。如果高成本 lot 是短期内买入的,你可能在 HIFO 下产生短期资本利得(最高 37%),这比 FIFO 下的长期资本利得(15-20%)更贵。

解决:使用 MinTax/Tax Lot Optimizer(兼顾持有期和成本)或手动用 SpecID。

错误 3:不考虑 wash sale

如果你在卖出亏损 lot 后 30 天内买回"实质性相同"的证券,IRS 会否认亏损扣除。这在使用 tax loss harvesting 时尤其需要注意。

解决:卖出亏损 lot 后,用相似但不相同的 ETF 替代(如卖出 VOO 后买 VV 或 SPY),或等待 31 天。

错误 4:只看当年税务,不看长期

最小化当前税务不等于最优长期结果。有时候在低税率年份主动实现一些利得("tax gain harvesting")可能更好——尤其是你当前处于 0% 或 15% 长期资本利得税率区间时。

错误 5:Mutual fund 的 average cost 陷阱

如果你持有 Vanguard mutual fund 并计划卖出部分份额,先检查 cost basis 方法。如果你之前有任何卖出使用了 average cost,你不能再改为 SpecID。

解决:在第一次卖出前就改为 SpecID。如果你持有的是 ETF 版本(如 VTI 而非 VTSAX),不受此限制。

六、与 RSU 税务的交互

RSU vest 时,vest 价格就是你的 cost basis。但 RSU 有一个额外的复杂度:

  • RSU vest 时,你按普通收入缴纳了 vest 价格 × 股数的所得税
  • 之后卖出时,利得或亏损是资本利得/亏损
  • 如果你同一年 vest 并卖出,且价格变化不大,利得很小——此时 cost basis 方法影响不大
  • 如果你持有 vest 的股票超过 1 年再分批卖出,cost basis 方法的选择就非常重要
RSU 策略Cost Basis 建议
Vest 后立即卖出不需要选择(只有一个 lot)
持有 1 年以上后分批卖出用 SpecID 或 MinTax
多年累积后一次性卖出用 SpecID 选高成本 lot + 亏损 lot

👉 想计算你的 RSU vest 后的实际到手金额?试试我们的工具:

七、行动清单

  • 登录你的 taxable brokerage 账户,检查当前 cost basis 默认方法
  • 如果是 FIFO,改为 MinTax/Tax Lot Optimizer 或 HIFO
  • 列出你持有的主要股票/ETF 的所有税 lot(成本、日期、持有期)
  • 在下次卖出前,评估是否应该用 SpecID 手动选择特定 lot
  • 如果你使用 tax loss harvesting,确保了解 wash sale 规则
  • 如果持有 Vanguard mutual fund,确认是否使用 average cost——如果是,考虑转向 ETF 版本

本文不是什么

  • 本文不是税务建议。具体 cost basis 选择应结合你的整体税务规划
  • 本文不涉及 401(k)/IRA 等退休账户——退休账户内不需要选择 cost basis
  • 本文不讨论期权交易的 cost basis 规则(期权有额外的复杂规则)

官方来源与参考资料

截至 2026 年 6 月核验。IRS 规则和券商政策可能更新,请以官方最新指引为准。

免责声明:本文由 规划师陈先生, CFP® 撰写并审核,仅供一般信息和教育目的,不构成法律、税务或财务建议。每个家庭的具体情况不同,建议在做出任何财务决策前咨询持牌的税务专业人员或财务顾问。税法和监管政策可能随时变化,请以最新的官方发布为准。

相关文章