计算工具 · 投资理财

股票手续费

印花税/佣金/过户费/总成本

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 54 次使用
交易市场切换联动默认费率
交易方向过滤计费项
买入价
元/股
卖出价可选
元/股
数量1000 股 · 10 手
费率参数(全可调)
佣金费率买卖各一次 · 最低 5 元/笔
%
佣金最低每笔
印花税卖出单向
%
过户费双向 · 现约 0.001%
%
沪深现统一按成交额 0.001% 双向计收过户费(约万 0.1);印花税 0.05% 仅卖出。
多券商 / 年度成本对比
券商佣金率(万)横比省钱
A
B
C
年交易笔数
平均单笔额
常见场景
输入价位数量与费率即时计算 · 全程本地运算不上传
各市场费率结构 / 计算公式

A 股(沪 / 深 / 创业板)

佣金(买、卖各一次)= max(成交额 × 佣金费率, 最低 5 元)。行业普遍万 1.5~万 3,开户可议价。

印花税 = 卖出成交额 × 0.05%(2023-08-28 起减半,仅卖出单向)。

过户费 = (买入额 + 卖出额) × 0.001%(沪深现统一双向,约万 0.1)。

规费 + 经手费:证管费 0.002% + 经手费约 0.00487%(沪)/ 0.00341%(深),通常已并入佣金,超低佣账户单列。

总手续费 = 买入佣金 + 卖出佣金 + 印花税 + 过户费(+规费经手)。保本价 = 使卖出净收入 = 买入总成本的卖出价,即至少需涨「保本涨幅」才覆盖来回全部费用。

科创板(688)/ 北交所

科创板费率同 A 股,但单笔买入 ≥ 200 股(卖出可不足);北交所近似 A 股、1 元起买、100 股整数倍。

港股

佣金 0.03%~0.25%(每笔有最低);印花税双向各 0.1%(进位 HK$1);交易征费 SFC 0.0027%、交易费 HKEX 0.00565%、结算费 CCASS 0.002%(HK$2~100)、AFRC 0.00015%,均双向。

美股

主流互联网券商 0 佣金;SEC 监管费仅卖出约 0.00278%(每年更新);FINRA TAF仅卖出 $0.000166/股、单笔上限 $8.30。

说明:本工具专注交易手续费成本本身——各项费用、总成本、保本点、费率对比。配色按中国习惯红涨绿跌。费率为现行常见口径,实际以你所在券商与交易所届时执行标准为准,仅供参考,不构成投资建议。

第一节

关于本工具

About

下单前最怕的,是券商App里显示的“手续费”到底含不含印花税和过户费。输入买入价、卖出价和股数,这个工具把印花税(成交额0.05%)、佣金(默认万2.5,可调)、过户费(成交额0.01%)逐项拆开,最后给出单边和双向总成本。所有计算在浏览器本地完成,数据不上传服务器。

使用场景

挂单前算清成本

股民老张打算以10.50元挂单买入1000股工商银行,但券商APP只显示买入金额,不显示最终到手成本。他先用本工具输入股价、佣金率、沪市过户费,算出总成本10530元,比单纯买入金额多了30元。这让他重新评估了挂单价格:若想控制总投入在10500元以内,挂单价必须压到10.46元。工具帮他在下单前就锁死了预算红线,避免成交后才发现超支。

对比两家券商佣金

小陈在A券商佣金万2.5,朋友推荐B券商佣金万1.5。他打算每月交易50万元,想知道一年下来到底差多少。用本工具分别输入两套佣金率,同样50万成交额,A券商单笔佣金125元,B券商75元,一年240笔交易差出12000元。这个数字让他立刻决定转户——工具把抽象的佣金率差异变成了具体的年支出,决策不再靠感觉。

定投扣款前调金额

小吴每月定投沪深300ETF 5000元,券商佣金万1.5。最近工资涨了,想把定投额提到8000元。他用本工具算了一笔:5000元时佣金7.5元,8000元时佣金12元,但过户费从0.1元涨到0.16元,总成本从7.6元变成12.16元。他发现佣金占比从0.15%降到0.15%没变,但绝对额多了4.56元。这让他决定把定投额调到7500元,刚好卡在免收最低5元佣金的标准之上,每笔省下2.5元。

卖出时算净到手

老李持有2000股格力电器,现价38.5元,想卖出后换仓。他担心卖出成本吃掉利润,用本工具输入卖出价、数量、佣金万2、印花税千1、过户费万0.1,算出卖出总成本:佣金15.4元、印花税77元、过户费0.77元,合计93.17元。净到手76906.83元。他拿这个数字去对比另一只股票的买入成本,发现换仓后只要涨幅超过0.12%就能覆盖卖出成本,于是果断下单。工具把模糊的“手续费”变成了精确的“换仓门槛”。

新股中签后算缴款

小赵中了500股科创板新股,发行价28.5元,缴款金额14250元。他想知道上市后涨多少卖出才不亏。用本工具输入卖出价30元(预期涨幅5%),算出卖出总成本:佣金万2.5为37.5元、印花税千1为150元、过户费0.15元,合计187.65元。净到手29812.35元,相比缴款额盈利15562.35元。但如果涨到29元卖出,净利润只剩462.35元。工具让他看清:涨幅不到2%时卖出基本白干,坚定了持有到30元以上的策略。

对比矩阵

维度本工具券商 APP 内置计算器手工计算
印花税自动按成交额 0.05% 计算通常支持,但需手动切换买卖方向需记住税率并手动乘算
佣金支持自定义佣金率(默认万 2.5)一般固定为开户佣金率,无法临时调整需自行查询账户佣金率
过户费自动按成交额 0.01‰ 计算部分券商 APP 不单独显示过户费容易遗漏或记错费率
总成本印花税+佣金+过户费一次性汇总需逐项查看或加总分步计算易出错
离线可用纯浏览器计算,不联网需登录券商账户纸笔计算,无依赖
第二节

使用指南

Getting Started

使用步骤

  1. 1在「买入价格」输入框填入每股买入价(元),「卖出价格」输入框填入每股卖出价(元),下方实时显示印花税、佣金、过户费及总成本金额
  2. 2在「股票数量」输入框填入成交股数(整数),「佣金比例」输入框可手动调整(默认万分之2.5),结果区同步更新各费用项
  3. 3点击「计算」按钮,结果区展开显示费用明细:印花税(卖出时收取)、佣金(双向)、过户费(双向)及总成本,并标注盈亏平衡卖出价
  4. 4点击「重置」按钮清空所有输入与结果,恢复默认佣金比例,可重新开始计算

输入输出示例

输入输出说明
买入价10元,卖出价11元,数量100股,佣金万分之2.5,印花税千分之1,过户费万分之0.1买入费用:佣金2.5元(最低5元按5元收),过户费0.1元,合计5.1元;卖出费用:佣金2.75元(最低5元按5元收),印花税1.1元,过户费0.11元,合计3.96元;总费用9.06元常规:佣金因不足5元按最低5元收取,展示最低收费规则的实际影响
买入价15元,卖出价16元,数量1000股,佣金万分之3,印花税千分之1,过户费万分之0.2买入费用:佣金4.5元(未触发最低5元),过户费0.3元,合计4.8元;卖出费用:佣金4.8元(未触发最低5元),印花税16元,过户费0.32元,合计21.12元;总费用25.92元常规:佣金超过5元,展示正常按比例计算;印花税为卖出单边征收
买入价0.01元,卖出价0.02元,数量1股,佣金万分之2.5,印花税千分之1,过户费万分之0.1买入费用:佣金0.00025元(按最低5元收),过户费0.00001元(按最低0.01元收),合计5.01元;卖出费用:佣金0.0005元(按最低5元收),印花税0.00002元(按最低0.01元收),过户费0.00002元(按最低0.01元收),合计5.02元;总费用10.03元边界:极低价和极少量,佣金和过户费均触发最低收费,展示多个最低收费叠加
买入价100元,卖出价100元,数量1000000股,佣金万分之1,印花税千分之0.5,过户费万分之0.1买入费用:佣金100元,过户费10元,合计110元;卖出费用:佣金100元,印花税500元,过户费10元,合计610元;总费用720元边界:大额交易(百万股),佣金和过户费按比例计算,展示大额场景下费用规模
买入价50元,卖出价50元,数量0股,佣金万分之2.5,印花税千分之1,过户费万分之0.1错误:数量必须为正整数易错:输入0股,工具应提示错误而非返回0费用,避免用户误以为免费
买入价-5元,卖出价10元,数量100股,佣金万分之2.5,印花税千分之1,过户费万分之0.1错误:买入价不能为负数易错:负数价格,工具需校验输入合法性,防止计算异常
买入价10元,卖出价10元,数量100股,佣金万分之0,印花税千分之0,过户费万分之0买入费用:0元;卖出费用:0元;总费用0元边界:所有费率设为0,验证工具对零费率的处理,并展示零费用场景

常见错误对照

1.买入卖出只算一边手续费

✗ 错误买入 1000 股,只扣一次佣金就以为总成本算完了
✓ 修复买入佣金 5 元 + 卖出佣金 5 元 + 卖出印花税 10 元 + 过户费 2 元 = 总成本 22 元

A 股交易佣金买入卖出双向收取,印花税仅卖出时收,过户费双向收。只算单边会低估实际成本。

2.佣金最低 5 元规则被忽略

✗ 错误佣金率 0.025%,交易金额 2000 元,算佣金为 0.5 元
✓ 修复佣金按 5 元收取(不足 5 元按 5 元)

证监会规定 A 股佣金每笔最低 5 元(部分券商可申请免除但非默认)。低于 5 元时按 5 元计,否则算出的成本偏低。

3.印花税税率用错

✗ 错误卖出 10000 元股票,印花税按 0.1% 算成 10 元
✓ 修复2023 年 8 月 28 日起印花税减半征收,按 0.05% 算为 5 元

财政部 2023 年 8 月 28 日将证券交易印花税从 0.1% 降至 0.05%。使用旧税率会导致计算结果偏高。

4.过户费费率用错或遗漏

✗ 错误卖出 10000 股(每股 10 元),只算佣金和印花税,没算过户费
✓ 修复过户费 = 成交金额 × 0.01‰ = 100000 × 0.00001 = 1 元(双向)

过户费自 2022 年 4 月 29 日起调整为成交金额的 0.01‰(十万分之一),双向收取。遗漏会导致每笔成本少算 0.01%。

5.沪市深市过户费规则混淆

✗ 错误深市股票(如 000001)也按沪市过户费规则计算
✓ 修复深市股票过户费同样按成交金额 0.01‰ 收取,与沪市一致

2022 年 4 月 29 日之前深市过户费与沪市不同,但之后统一为成交金额的 0.01‰。仍用旧规则会导致深市成本计算错误。

6.交易金额单位搞错(元 vs 万元)

✗ 错误卖出 10 万元股票,输入 10 以为单位是万元
✓ 修复输入 100000(单位:元)

工具输入框默认单位为元,若误按万元输入(如 10 代表 10 万),实际金额会被缩小 10000 倍,导致所有费用计算错误。

7.佣金率输入为百分比而非小数

✗ 错误佣金率 0.03%,输入 0.03
✓ 修复输入 0.0003(或按工具提示输入 0.03%,但需确认单位)

部分工具要求输入小数形式(如 0.0003),若直接输入 0.03 则佣金率被放大 100 倍,导致佣金计算结果严重偏高。

8.忽略 ETF 与股票手续费差异

✗ 错误用股票手续费工具算 ETF 交易成本
✓ 修复ETF 交易免印花税,佣金通常更低(如 0.01%),需使用 ETF 专用计算器

ETF 交易免收印花税(财政部规定),且部分券商佣金费率低于股票。混用会导致成本高估。

第三节

工作原理

How It Works

核心公式

总成本 = 成交金额 × (印花税率 + 佣金率 + 过户费率)

变量说明

  • 成交金额买入或卖出股票的总价,元
  • 印花税率卖出时征收,当前 0.05%
  • 佣金率券商收取,通常 0.01%–0.03%,最低 5 元
  • 过户费率沪深 A 股 0.001%,仅卖出时收取

示例

卖出 1000 股,每股 50 元,成交金额 50000 元。佣金率 0.02%(最低 5 元,实际 10 元),印花税 0.05%(25 元),过户费 0.001%(0.5 元)。总成本 = 50000 × (0.05% + 0.02% + 0.001%) = 50000 × 0.071% = 35.5 元。

成交金额佣金率拆分计算佣金 = 金额 × 佣金率印花税 = 金额 × 0.1%过户费 = 金额 × 0.002%总成本佣金 + 印花税 + 过户费所有计算在浏览器内完成,数据不上传服务器
用户输入 拆分计算 输出结果
第四节

开发者集成

For Developers

4 种主流语言实现,复制即用:

def calc_stock_fee(price: float, shares: int, commission_rate: float = 0.00025, stamp_tax_rate: float = 0.001, transfer_fee_rate: float = 0.00001) -> dict: """ 计算 A 股股票交易手续费(买入 + 卖出) 参数:价格(元/股),股数,佣金费率,印花税率,过户费率 返回:各项费用明细 """ turnover = price * shares # 佣金最低 5 元(部分券商可免,此处按行业惯例) commission = max(turnover * commission_rate, 5.0) stamp_tax = turnover * stamp_tax_rate # 仅卖出时收取,此处按单边计算 transfer_fee = turnover * transfer_fee_rate total = commission + stamp_tax + transfer_fee return { "成交额": round(turnover, 2), "佣金": round(commission, 2), "印花税": round(stamp_tax, 2), "过户费": round(transfer_fee, 2), "总费用": round(total, 2) } # 示例:10 元买入 1000 股 print(calc_stock_fee(10.0, 1000)) # 输出:{'成交额': 10000.0, '佣金': 5.0, '印花税': 10.0, '过户费': 0.1, '总费用': 15.1}
function calcStockFee(price, shares, commissionRate = 0.00025, stampTaxRate = 0.001, transferFeeRate = 0.00001) { const turnover = price * shares; // 佣金最低 5 元 const commission = Math.max(turnover * commissionRate, 5.0); const stampTax = turnover * stampTaxRate; const transferFee = turnover * transferFeeRate; const total = commission + stampTax + transferFee; return { turnover: parseFloat(turnover.toFixed(2)), commission: parseFloat(commission.toFixed(2)), stampTax: parseFloat(stampTax.toFixed(2)), transferFee: parseFloat(transferFee.toFixed(2)), total: parseFloat(total.toFixed(2)) }; } // 示例:10 元买入 1000 股 console.log(calcStockFee(10.0, 1000)); // 输出:{ turnover: 10000.0, commission: 5.0, stampTax: 10.0, transferFee: 0.1, total: 15.1 }
package main import ( "fmt" "math" ) type FeeResult struct { Turnover float64 Commission float64 StampTax float64 TransferFee float64 Total float64 } func calcStockFee(price, shares, commissionRate, stampTaxRate, transferFeeRate float64) FeeResult { turnover := price * shares // 佣金最低 5 元 commission := math.Max(turnover*commissionRate, 5.0) stampTax := turnover * stampTaxRate transferFee := turnover * transferFeeRate total := commission + stampTax + transferFee return FeeResult{ Turnover: math.Round(turnover*100) / 100, Commission: math.Round(commission*100) / 100, StampTax: math.Round(stampTax*100) / 100, TransferFee: math.Round(transferFee*100) / 100, Total: math.Round(total*100) / 100, } } func main() { // 示例:10 元买入 1000 股 result := calcStockFee(10.0, 1000, 0.00025, 0.001, 0.00001) fmt.Printf("%+v\n", result) // 输出:{Turnover:10000 Commission:5 StampTax:10 TransferFee:0.1 Total:15.1} }
#!/bin/bash # 使用 bc 计算股票手续费,需安装 bc(多数 Linux 自带) calc_stock_fee() { local price=$1 local shares=$2 local commission_rate=${3:-0.00025} local stamp_tax_rate=${4:-0.001} local transfer_fee_rate=${5:-0.00001} local turnover=$(echo "$price * $shares" | bc -l) # 佣金最低 5 元 local raw_commission=$(echo "$turnover * $commission_rate" | bc -l) local commission=$(echo "if ($raw_commission < 5) 5 else $raw_commission" | bc -l) local stamp_tax=$(echo "$turnover * $stamp_tax_rate" | bc -l) local transfer_fee=$(echo "$turnover * $transfer_fee_rate" | bc -l) local total=$(echo "$commission + $stamp_tax + $transfer_fee" | bc -l) printf "成交额: %.2f\n佣金: %.2f\n印花税: %.2f\n过户费: %.2f\n总费用: %.2f\n" \ $turnover $commission $stamp_tax $transfer_fee $total } # 示例:10 元买入 1000 股 calc_stock_fee 10 1000 # 输出: # 成交额: 10000.00 # 佣金: 5.00 # 印花税: 10.00 # 过户费: 0.10 # 总费用: 15.10
第五节

常见问题

Q & A
佣金算出来是 5 块钱,但我券商实际收我 15,是不是这个工具算错了?

工具默认按行业常见的万分之二点五(0.025%)计算佣金,并假设了最低 5 元起收。如果你的券商实际佣金费率不同(比如是万分之一或万三),或者最低收费标准不是 5 元(部分券商对散户也免最低),结果就会不一样。请在工具输入框里把“佣金费率”改填成你券商给你的实际数字,结果就会匹配。

我买 100 股和买 1000 股,手续费怎么差这么多?过户费是不是按笔收的?

过户费(目前沪深 A 股按成交金额的万分之零点一收取)和印花税(卖出时收万分之五)都是按成交金额比例算的,买 1000 股金额大,这两项自然多。但佣金有最低 5 元的门槛:如果按比例算出来的佣金不足 5 元,会直接收 5 元。所以买 100 股(金额小)时,佣金大概率被“最低 5 元”拉高;买 1000 股金额大,佣金比例正常,总费率反而显得低。

这个工具算的是买入还是卖出?我一次操作里买卖都算吗?

工具默认算单次买入或单次卖出的全部费用。印花税只在卖出时征收,所以买入和卖出的总成本不同。如果你需要算一笔完整的买卖来回成本,可以分两次算:先填买入金额看买入费用,再填卖出金额(注意卖出金额一般和买入不同)看卖出费用,最后把两次的“总费用”相加。工具结果区会清晰列出印花税、佣金、过户费各自的金额,方便你手动合计。

我用的券商是万一免五,这个工具能算吗?

可以。工具支持自定义“佣金费率”和“最低佣金”两个参数。万一免五的意思是:佣金费率万分之 1,且不设最低 5 元门槛(即最低为 0)。你在工具里把“佣金费率”填 0.01%,把“最低佣金”填 0 元,计算结果就会和你券商的实际扣费一致。如果工具界面上没有直接暴露“最低佣金”输入框,可以联系站长反馈增加该字段。

为什么我算出来的印花税是 0?我记得卖出要交印花税啊。

印花税只在卖出股票时征收,买入不征收。工具默认是单次操作,如果你在“买入/卖出”选择里选了“买入”,印花税就会显示为 0。请确认操作方向选的是“卖出”。另外,目前 A 股印花税税率为成交金额的万分之五(0.05%),如果工具结果里印花税金额明显不对,检查一下费率设置是否被改过。

这个工具算的是 A 股还是港股?港股通能用吗?

工具默认按 A 股(沪深)的费率结构设计:印花税(卖出收万分之五)、佣金(可自定义)、过户费(万分之零点一)。港股通的收费结构完全不同,有印花税(千分之一)、交易征费、交易费、股份交收费等,且最低收费规则复杂,所以这个工具不适用港股通。如果你需要算港股通的成本,请找专门的港股通手续费计算器。

为什么我输入一个金额后,结果里佣金显示 0 元?

佣金显示为 0 元可能有三种原因:一是佣金费率被设成了 0(比如手动清空了输入框);二是你输入的成交金额太小,按费率算出来的佣金不足 0.01 元,工具可能四舍五入后显示 0;三是工具默认最低佣金为 5 元,但你的金额极低(比如 10 元),按比例算出来只有几分钱,但最低 5 元规则生效,此时实际应收 5 元而非 0 元。请检查佣金费率输入框和最低佣金设置是否正常。

这个工具的数据是实时的吗?比如印花税政策变了,它会不会自动更新?

工具的计算逻辑基于当前 A 股通用的费率标准(印花税万分之五、过户费万分之零点一、佣金可自定义)。这些费率由证监会和交易所规定,并非实时波动数据。如果国家调整印花税(例如 2023 年 8 月印花税减半),工具需要站长手动更新后台的默认费率。建议在政策变动后,先核对工具默认值是否与最新公告一致;如有偏差,可以手动修改输入框里的费率来临时使用。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭