4、交易成本与滑点:佣金、印花税、冲击成本、滑点对套利利润的影响

做跨市场套利,最怕什么?

不是行情判断错,也不是模型不够准。我最怕的是——算账算漏了成本。

你想想看,两边市场同时下单,价差明明有0.3%,你觉得稳了。结果一算账,佣金、印花税、冲击成本全扣完,利润只剩0.05%。要是再碰上滑点,直接亏钱。

这不是段子。我早年做ETF期现套利时,就吃过这个亏。今天咱们把这笔账,一笔一笔算清楚。

4.1 佣金与印花税——看得见的“出血点”

佣金和印花税,是交易成本里最直观的部分。很多新手只盯着价差,却忽略了这些“小钱”。

我习惯把佣金分成两类:

  • 固定佣金:按笔收费,比如每笔5元。适合大单,摊薄后成本低。
  • 比例佣金:按成交金额的万分之几收。比如万1.5,小单更划算。

印花税呢?A股市场是卖出时收,千分之一。期货市场没有印花税,但有交易所手续费。

关键点:跨市场套利涉及双边交易,成本要算两遍。

比如你在A股买ETF,在期货市场卖空股指。买入ETF要付佣金,卖出期货要付手续费。两边加起来,可能吃掉你0.1%的利润。

我建议你做个表格,把每个市场的费率列清楚:

市场 佣金费率 印花税 其他费用
A股(买入) 万1.5 过户费万0.2
A股(卖出) 万1.5 千1 过户费万0.2
股指期货 万分之0.23 平今仓手续费更高

你看,光A股卖出这一项,印花税就千分之一。如果你做的是高频套利,这个成本占比会非常大。

我的习惯:每次回测时,我都会把佣金和印花税设成“保守值”。比如实际是万1.5,我按万2算。多出来的0.5个万分点,就当安全垫。

4.2 冲击成本——大单的隐形杀手

冲击成本,说白了就是你下单时,把价格“推”走了多少。

举个例子。你想买100手某ETF,当前卖一价是1.000元。但你一单下去,卖一到卖五全被吃掉,成交均价变成了1.002元。这多出来的0.002元,就是冲击成本。

为什么会这样?

因为市场深度不够。你想想看,盘口上每个价位的挂单量是有限的。你的单子越大,吃掉的价位就越多,成交均价就越偏离你的预期。

注意:冲击成本不是固定的。它取决于:

  • 你的订单规模
  • 市场的流动性
  • 当时的波动率

我见过有人做跨品种套利,单子太大,直接把价差打没了。嗯,那叫一个惨。

怎么估算冲击成本?

我常用的方法是看“市场深度图”。简单说,就是统计每个价位的挂单量,然后算你的订单会吃掉几个价位。

# 一个简单的冲击成本估算函数
def estimate_impact_cost(order_size, order_book):
    """
    order_size: 你的订单数量
    order_book: 盘口数据,格式为 [(price, volume), ...]
    """
    remaining = order_size
    total_cost = 0
    for price, volume in order_book:
        if remaining <= 0:
            break
        trade_volume = min(remaining, volume)
        total_cost += trade_volume * price
        remaining -= trade_volume
    avg_price = total_cost / order_size
    return avg_price

这个代码很简单,但很实用。你把它跑一遍,就能知道你的订单大概会以什么价格成交。

4.3 滑点——你永远无法完全控制的变量

滑点,是交易成本里最让人头疼的。

它和冲击成本有点像,但本质不同。冲击成本是你主动“推”出来的,滑点是被动“吃”进去的。

什么意思?

你下单时,行情在动。从你看到价差、到手指点下鼠标、再到订单到达交易所,这中间可能已经过了几百毫秒。这几百毫秒里,价格可能已经变了。

我做过一个统计:在股指期货和ETF之间做套利,平均滑点在0.5个tick左右。别小看这0.5个tick,换算成利润,可能就是一笔单子的全部收益。

避坑指南:我曾经在2015年股灾期间做期现套利,那会儿市场波动极大。我按正常滑点估算,结果实际滑点比预期大了3倍。为什么?因为市场深度变浅了,流动性枯竭了。

从那以后,我养成了一个习惯:在回测时,把滑点设成“正常值的2倍”。如果回测还能赚钱,实盘才敢上。

滑点怎么量化?

我建议你用历史数据做模拟。比如,取过去30天的tick数据,统计每个订单从发出到成交的价差变化。然后取一个中位数或90分位数,作为你的滑点参数。

4.4 综合成本模型——把账算清楚

好了,现在我们把所有成本加在一起,看看套利到底能赚多少。

一个完整的成本模型,至少包含这几项:

  • 佣金(双边)
  • 印花税(如有)
  • 冲击成本(估算值)
  • 滑点(历史统计值)
  • 资金成本(如果涉及隔夜持仓)

我习惯用这个公式:

总成本 = 佣金 + 印花税 + 冲击成本 + 滑点 + 资金成本
净利润 = 理论价差 - 总成本

如果净利润小于0,这笔交易就不该做。

我的经验:很多套利机会,理论价差看着有0.5%,但扣完所有成本,可能只剩0.1%。这0.1%还要考虑胜率和频率。如果一个月只能做10次,每次赚0.1%,那还不如买理财。

所以,我一般只做理论价差在1%以上的机会。低于这个数,风险收益比不划算。

4.5 一张图看懂交易成本的影响

下面这张图,是我自己总结的。它展示了不同成本项对套利利润的侵蚀路径。

跨市场套利成本侵蚀路径图 理论价差 1.0% 佣金 -0.05% 印花税 -0.10% 冲击成本 -0.15% 滑点 -0.10% 净利润 0.60% 成本占比 佣金: 5% 印花税: 10% 冲击成本: 15% 滑点: 10% 净利润: 60%

你看,理论价差1.0%,扣完佣金、印花税、冲击成本和滑点,最后只剩0.6%。这还算好的。如果市场流动性差,冲击成本翻倍,净利润可能直接变成负数。

所以,做套利的核心不是找价差,而是控成本。成本控不住,再大的价差也是白搭。


好了,这一章的内容就到这里。交易成本这东西,说复杂也复杂,说简单也简单。你只要记住一句话:算账时,永远往坏处想

公众号:蓝海资料掘金营,微信deep3321