手续费到底是什么东西 为什么你总感觉赚了指数没赚钱
做交易的人都有过这种体验:明明方向看对了,也赚了几个点,可账户里的钱就是不见多。打开交割单一看,手续费吃掉了一大块。股票还好,手续费相对透明,期货的手续费规则就复杂多了,不同品种、不同合约、不同期货公司,甚至同一天开平仓的顺序不一样,收费都可能差出好几倍。
手续费不是券商或期货公司白拿的,它分两块:交易所收的部分和期货公司加收的部分。交易所那部分是全国统一的,期货公司加收的部分才是它们真正的收入来源。你开户时谈的“加一分”“加一毛”,说的就是期货公司在交易所标准之上多收多少。

期货手续费有两种收法 按手数和按成交额
期货手续费不像股票那样统一按成交金额的万分之几来算,它分两种模式。
固定值收取。一手就是固定多少钱,跟盘面价格涨跌没关系。像玉米、豆粕、白糖这些农产品,还有甲醇、PTA部分合约,交易所收的就是固定金额。比如玉米交易所收1.2元一手,期货公司加收一毛,你开一手就是1.3元。价格涨到天上,手续费还是1.3元。
比例值收取。按成交金额的万分之几来收,盘面价格越高,手续费越贵。螺纹钢、铁矿石、铜、股指期货都是这种。计算公式是:盘面价格 × 合约乘数 × 手续费率。螺纹钢合约乘数是10吨每手,盘面4000块,交易所费率万分之一,那一手手续费就是4000×10×0.0001=4块钱。价格涨到5000,手续费就变成5块。
股票的手续费就简单多了,佣金、过户费、印花税。佣金是券商收的,万分之一到万分之三不等,最低五块。印花税千分之一,只在卖出时收,这个是国家收的,谁也免不了。过户费万分之零点一,买卖都收。买卖一次股票,光印花税加过户费就差不多千分之一出头,再加上佣金,一个来回成本大概千分之一到千分之一点五。
日内平仓的手续费猫腻最多
期货市场有个规矩,很多品种日内平仓免收平仓手续费,只收开仓那一下。这个规则是交易所为了鼓励流动性给的优惠。但期货公司加收的那部分,免不免就看公司政策了。有的公司跟着交易所免,有的公司照收不误。
更关键的是平今仓和平昨仓的区别。你昨天开的仓今天平掉,这叫平昨仓,手续费按正常标准收。你今天开今天平,这叫平今仓,有的品种平今仓手续费是开仓的好几倍。股指期货最典型,交易所平今仓手续费是开仓的十倍以上,一手IF开仓二十多块,平今仓要两百多块。这个规则就是为了抑制日内过度投机。
做日内短线的人,一定要搞清楚自己做的品种平今仓收不收、收多少。很多新手一天来回做十几次,收盘一算,手续费比本金还多。
算清楚盈亏平衡点 别给期货公司白打工
做交易之前,心里要有一本账:这单开进去,价格要动多少才能回本。
固定手续费的品种好算。玉米一手手续费一块三,波动一个点是10块,那价格动0.13个点就回本了,基本可以忽略。比例手续费的品种就要小心。螺纹钢一手手续费四块,波动一个点10块,来回手续费八块,价格至少要动0.8个点才不亏。看着不多,但一天做十次,光成本就八个点,一个月二十个交易日,一百六十个点没了。螺纹钢一天才波动多少点?
股票也是一个道理。十万块买一只股票,佣金万二就是二十块,卖出印花税一百块加佣金二十块,一个来回一百四十块。股价要涨0.14%才回本。看着不高,但如果你天天满仓进满仓出,一年两百多个交易日,光交易成本就能吃掉本金的百分之三十以上。
怎么谈手续费 散户也能拿到优惠
期货手续费不是期货公司说了算,你可以谈。交易所收的部分谁也动不了,但期货公司加收的那部分,弹性很大。默认开户一般是交易所标准的两三倍,你主动找客户经理谈,加一毛、加一分都正常。资金量大或者交易频繁的,甚至可以谈到交易所标准加零。
股票佣金也一样。默认万三,你打个电话找券商,万一点五甚至万一点二都能谈下来。别嫌麻烦,一年下来省的钱够买台好电脑。
选择期货公司的时候,别光看手续费。交易通道的稳定性、出入金速度、客服响应,这些比省那一两毛钱重要得多。尤其是做日内高频的,行情来了下不了单,省再多手续费也是白搭。
程序化交易里的手续费陷阱
写量化策略的人最容易忽略手续费。回测的时候用理想价格成交,滑点设个最小,手续费按默认的来,结果实盘一跑,收益曲线直接对半砍。
拿一个简单的均线策略举例,用backtrader框架回测螺纹钢,手续费参数设置不对,结果天差地别。
import backtrader as bt
class MaCross(bt.Strategy):
params = (('fast', 5), ('slow', 20),)
def __init__(self):
self.fast_ma = bt.indicators.SMA(self.data.close, period=self.p.fast)
self.slow_ma = bt.indicators.SMA(self.data.close, period=self.p.slow)
self.crossover = bt.indicators.CrossOver(self.fast_ma, self.slow_ma)
def next(self):
if not self.position:
if self.crossover > 0:
self.buy(size=1)
elif self.crossover < 0:
self.close()
cerebro = bt.Cerebro()
data = bt.feeds.GenericCSVData(dataname='rb.csv', dtformat='%Y-%m-%d',
datetime=0, open=1, high=2, low=3, close=4, volume=5)
cerebro.adddata(data)
cerebro.addstrategy(MaCross)
cerebro.broker.setcash(100000)
# 关键在这里:按比例收手续费,螺纹钢万分之一
cerebro.broker.setcommission(commission=0.0001, margin=0.1, mult=10)
cerebro.run()
这个setcommission里的commission参数,写0和写0.0001,回测出来的净利润能差出百分之三十以上。如果是日内策略,还要把平今仓的惩罚性费率加进去,否则回测就是自欺欺人。
更隐蔽的是滑点。程序化交易用市价单,成交价往往比信号价差一两个点。螺纹钢一个点10块,一开一平滑掉两个点就是20块,加上手续费八块,一单成本28块。一天交易十次,成本280块。本金十万,一个月二十天光成本就5600块,收益率直接少五个多点。
把手续费当成策略的一部分
不管是股票还是期货,手续费和滑点都是交易系统里绕不开的摩擦成本。做趋势跟踪的,持仓周期长,手续费占比低,可以稍微放宽标准。做高频日内和套利的,手续费就是生死线,差一毛钱策略就从赚变亏。
开户之前花半小时把费率搞清楚,回测的时候把参数设准确,实盘交易前算好盈亏平衡点。这些事不复杂,但能让你少亏很多冤枉钱。交易的本质是概率游戏,每一分成本都在降低你的胜率。把摩擦成本压到最低,长期来看就是最大的优势。
