曲面套利风险五:对手方风险与交易成本

滑点、手续费对净收益的影响,说实话,是很多做曲面套利的人容易忽略的坑。我见过不少策略回测跑得漂亮,一上实盘就亏钱,十有八九是没算清楚这笔账。

一、对手方风险:你以为成交了,其实没有

做期权曲面套利,我们经常要同时挂很多单。比如买一个虚值call,卖一个平值put。理想情况是两边都成交,锁定价差。但现实呢?

我遇到过这种情况:买call的单子瞬间成交了,卖put的单子却迟迟没反应。这时候曲面上的套利窗口还在,但你的仓位已经暴露了。更糟的是,如果市场突然朝不利方向动一下,卖put的单子可能永远成交不了,你只能看着亏损扩大。

说白了,对手方风险就是「你以为能成交,结果没成交」。在流动性差的合约上尤其明显。比如深度虚值的期权,一天可能就几笔交易。你挂个限价单,等半小时都没人理你。

⚠️ 避坑指南
我曾经在交易深度虚值期权时,同时挂了10个合约的套利单。结果只有7个成交,剩下3个挂了整整一个下午。最后不得不撤单,重新调整策略。那天的收益,全被这3个未成交的单子拖累了。

二、滑点:你的成交价永远比想象中差

滑点这东西,做期权的人应该不陌生。但曲面套利里,滑点的影响会被放大。为什么?因为我们要同时交易多个合约,每个合约都有滑点,加起来就是一笔不小的数目。

举个例子。假设你发现一个套利机会,理论收益是0.5个点。但实际交易时,买价可能比中间价高0.1个点,卖价比中间价低0.1个点。一来一回,0.2个点就没了。如果合约流动性差,滑点可能到0.3甚至0.5个点。那这个套利机会基本就没利润了。

我个人习惯是,在回测时把滑点设得保守一点。比如历史数据里滑点是0.1,我按0.2来算。这样实盘时至少不会太意外。

合约类型 典型滑点(点) 对套利收益的影响
平值期权 0.05 - 0.1 较小,可忽略
虚值一档 0.1 - 0.2 中等,需注意
深度虚值 0.3 - 0.5 严重,可能吃掉全部利润

三、手续费:积少成多的隐形杀手

手续费这东西,单笔看不多,但曲面套利是高频交易,一天可能几十上百笔。你想想看,每笔收个几块钱,一天下来可能就是几百上千。一个月呢?一年呢?

我记得有个项目,策略本身年化收益大概15%。但手续费一扣,只剩8%了。后来我们优化了交易频率,把不必要的交易砍掉,才把收益拉回到12%左右。

这里有个关键点:不同交易所、不同券商的手续费结构不一样。有的按合约收,有的按成交金额收。做套利时一定要搞清楚。我建议在策略里直接写死手续费参数,别靠估算。

💡 我的经验
做曲面套利,手续费占比超过收益的30%就要警惕了。要么降低交易频率,要么找更便宜的通道。别硬扛。

四、综合影响:一个真实的计算例子

咱们来算一笔账。假设你发现一个曲面套利机会,理论收益是1.0个点。实际交易时:

  • 滑点:买和卖各损失0.15个点,合计0.3个点
  • 手续费:双边合计0.1个点
  • 对手方风险:假设有10%的概率未成交,损失0.2个点(期望值)

那么实际净收益 = 1.0 - 0.3 - 0.1 - 0.2 = 0.4个点。只有理论收益的40%。

嗯,这里要注意。如果理论收益本身就不高,比如只有0.5个点,那扣除这些成本后基本就是白忙活。所以我在筛选套利机会时,会设一个最低收益门槛。低于这个门槛的,直接放弃。

五、如何量化这些风险?

我写了个简单的Python函数,用来估算净收益。你可以根据自己的参数调整。

def estimate_net_profit(theoretical_profit, slippage, fee, counterparty_risk):
    """
    估算曲面套利的净收益
    :param theoretical_profit: 理论收益(点)
    :param slippage: 滑点(点)
    :param fee: 手续费(点)
    :param counterparty_risk: 对手方风险概率(0-1)
    """
    # 滑点和手续费是确定的损失
    direct_cost = slippage + fee
    # 对手方风险是期望损失
    expected_loss = theoretical_profit * counterparty_risk * 0.5  # 假设未成交损失一半收益
    net_profit = theoretical_profit - direct_cost - expected_loss
    return net_profit

# 示例
profit = estimate_net_profit(1.0, 0.3, 0.1, 0.1)
print(f"净收益: {profit:.2f} 点")

这个函数很简单,但够用。你可以把滑点、手续费、对手方风险都设成变量,跑回测时调参。我个人习惯是,先跑一个保守版本(滑点设大点),再跑一个乐观版本(滑点设小点),看看收益区间。

六、知识结构图

下面这张图总结了曲面套利中,对手方风险和交易成本对净收益的影响路径。

曲面套利净收益 对手方风险 滑点 手续费 未成交风险 部分成交风险 买卖价差 市场冲击 固定费用 比例费用 净收益 = 理论收益 - 滑点 - 手续费 - 对手方风险损失 实际净收益通常只有理论值的40%-70%

七、一些实操建议

说了这么多,总结几条我自己的经验:

  • 别贪小便宜:理论收益低于0.5个点的套利机会,直接跳过。扣除成本后基本没利润。
  • 流动性优先:尽量选平值附近的合约。深度虚值的合约,滑点和对手方风险都高。
  • 手续费要算细:不同券商差别很大。我见过有人因为手续费太高,策略从盈利变成亏损。
  • 回测要保守:滑点设大一点,手续费按实际算。别用理想值骗自己。
📌 小技巧
做回测时,可以加一个「成本过滤器」。如果扣除滑点和手续费后的预期收益低于某个阈值,直接过滤掉这个交易信号。这样能省下不少时间。

好了,关于对手方风险和交易成本,就聊这么多。这些东西看着琐碎,但做曲面套利的人都知道,细节决定成败。希望这些经验对你有帮助。

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