挂单前算清成本
股民老张打算以10.50元挂单买入1000股工商银行,但券商APP只显示买入金额,不显示最终到手成本。他先用本工具输入股价、佣金率、沪市过户费,算出总成本10530元,比单纯买入金额多了30元。这让他重新评估了挂单价格:若想控制总投入在10500元以内,挂单价必须压到10.46元。工具帮他在下单前就锁死了预算红线,避免成交后才发现超支。
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。
说明:本工具专注交易手续费成本本身——各项费用、总成本、保本点、费率对比。配色按中国习惯红涨绿跌。费率为现行常见口径,实际以你所在券商与交易所届时执行标准为准,仅供参考,不构成投资建议。
下单前最怕的,是券商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 不单独显示过户费 | 容易遗漏或记错费率 |
| 总成本 | 印花税+佣金+过户费一次性汇总 | 需逐项查看或加总 | 分步计算易出错 |
| 离线可用 | 纯浏览器计算,不联网 | 需登录券商账户 | 纸笔计算,无依赖 |
| 输入 | 输出 | 说明 |
|---|---|---|
| 买入价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 交易免收印花税(财政部规定),且部分券商佣金费率低于股票。混用会导致成本高估。
总成本 = 成交金额 × (印花税率 + 佣金率 + 过户费率)
成交金额买入或卖出股票的总价,元印花税率卖出时征收,当前 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 元。
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工具默认按行业常见的万分之二点五(0.025%)计算佣金,并假设了最低 5 元起收。如果你的券商实际佣金费率不同(比如是万分之一或万三),或者最低收费标准不是 5 元(部分券商对散户也免最低),结果就会不一样。请在工具输入框里把“佣金费率”改填成你券商给你的实际数字,结果就会匹配。
过户费(目前沪深 A 股按成交金额的万分之零点一收取)和印花税(卖出时收万分之五)都是按成交金额比例算的,买 1000 股金额大,这两项自然多。但佣金有最低 5 元的门槛:如果按比例算出来的佣金不足 5 元,会直接收 5 元。所以买 100 股(金额小)时,佣金大概率被“最低 5 元”拉高;买 1000 股金额大,佣金比例正常,总费率反而显得低。
工具默认算单次买入或单次卖出的全部费用。印花税只在卖出时征收,所以买入和卖出的总成本不同。如果你需要算一笔完整的买卖来回成本,可以分两次算:先填买入金额看买入费用,再填卖出金额(注意卖出金额一般和买入不同)看卖出费用,最后把两次的“总费用”相加。工具结果区会清晰列出印花税、佣金、过户费各自的金额,方便你手动合计。
可以。工具支持自定义“佣金费率”和“最低佣金”两个参数。万一免五的意思是:佣金费率万分之 1,且不设最低 5 元门槛(即最低为 0)。你在工具里把“佣金费率”填 0.01%,把“最低佣金”填 0 元,计算结果就会和你券商的实际扣费一致。如果工具界面上没有直接暴露“最低佣金”输入框,可以联系站长反馈增加该字段。
印花税只在卖出股票时征收,买入不征收。工具默认是单次操作,如果你在“买入/卖出”选择里选了“买入”,印花税就会显示为 0。请确认操作方向选的是“卖出”。另外,目前 A 股印花税税率为成交金额的万分之五(0.05%),如果工具结果里印花税金额明显不对,检查一下费率设置是否被改过。
工具默认按 A 股(沪深)的费率结构设计:印花税(卖出收万分之五)、佣金(可自定义)、过户费(万分之零点一)。港股通的收费结构完全不同,有印花税(千分之一)、交易征费、交易费、股份交收费等,且最低收费规则复杂,所以这个工具不适用港股通。如果你需要算港股通的成本,请找专门的港股通手续费计算器。
佣金显示为 0 元可能有三种原因:一是佣金费率被设成了 0(比如手动清空了输入框);二是你输入的成交金额太小,按费率算出来的佣金不足 0.01 元,工具可能四舍五入后显示 0;三是工具默认最低佣金为 5 元,但你的金额极低(比如 10 元),按比例算出来只有几分钱,但最低 5 元规则生效,此时实际应收 5 元而非 0 元。请检查佣金费率输入框和最低佣金设置是否正常。
工具的计算逻辑基于当前 A 股通用的费率标准(印花税万分之五、过户费万分之零点一、佣金可自定义)。这些费率由证监会和交易所规定,并非实时波动数据。如果国家调整印花税(例如 2023 年 8 月印花税减半),工具需要站长手动更新后台的默认费率。建议在政策变动后,先核对工具默认值是否与最新公告一致;如有偏差,可以手动修改输入框里的费率来临时使用。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。