曲面套利风险二:执行风险,流动性不足、买卖价差对套利收益的侵蚀
各位,咱们接着聊曲面套利。上一节讲了模型风险,说白了就是你的理论模型和现实世界之间的差距。今天要聊的这个风险,更直接、更“肉疼”——执行风险。
什么叫执行风险?就是你明明看到了一个套利机会,算好了能赚5块钱,结果一顿操作下来,发现只赚了2块,甚至亏了1块。为什么会这样?两个罪魁祸首:流动性不足和买卖价差。
我个人习惯把执行风险叫做“滑点风险”。你想想看,曲面套利本质上是在赚“定价错误”的钱。但如果你没法以“理论价格”成交,那这个定价错误对你来说就没有意义。
流动性不足:看得见,吃不着
流动性不足,说白了就是市场上没人跟你玩。你想买的时候没人卖,你想卖的时候没人买。
我在做港股期权的时候遇到过这种情况。某个深度虚值的期权,盘口上只有几手挂单。我这边策略信号出来了,想开仓,结果一吃单子,价格直接被打飞了。原本算好的理论价差是0.5元,实际成交价差变成了0.8元。嗯,这笔交易还没开始就已经亏了。
流动性不足对曲面套利的影响,主要体现在几个方面:
- 开仓困难:你想构建一个多腿组合,比如买call卖put,结果其中一条腿流动性极差,根本开不进去
- 平仓更困难:开仓时还能勉强成交,平仓时发现对手盘更少,只能被动接受更差的价格
- 冲击成本:大单进场会推动价格向不利方向移动,吃掉你的理论利润
我曾经吃过一次大亏。当时看到沪深300ETF期权曲面有个明显的套利机会,算下来年化收益能有15%。我兴冲冲地开了仓,结果发现其中一条腿是次月合约,流动性极差。平仓时等了整整一个下午才成交,最后算下来年化收益不到3%。从那以后,我给自己定了个规矩:流动性不达标的合约,再好的机会也不碰。
买卖价差:隐形的抽水机
买卖价差,就是买一价和卖一价之间的差距。这个差距,就是你的交易成本。
你想想看,曲面套利的利润空间通常都不大,可能就0.1元、0.2元。如果买卖价差就有0.05元,那你的利润直接被打了个八折。如果价差再大点,利润就没了。
我习惯用一张表来评估不同合约的“可交易性”:
| 合约类型 | 典型买卖价差 | 对套利的影响 | 我的建议 |
|---|---|---|---|
| 平值期权(近月) | 0.01-0.03元 | 影响较小 | 优先选择 |
| 虚值期权(近月) | 0.03-0.08元 | 中等影响 | 需评估利润空间 |
| 深度虚值(近月) | 0.05-0.15元 | 影响较大 | 谨慎参与 |
| 远月合约 | 0.10-0.30元 | 严重影响 | 除非利润空间极大 |
你看,远月合约的买卖价差可能是近月合约的10倍。这意味着什么?意味着你如果做跨期套利,光价差成本就能吃掉你大部分利润。
如何量化执行风险?
我个人习惯在策略中加入一个“滑点成本”参数。具体做法是这样的:
# 滑点成本估算函数
def estimate_slippage(option_data):
"""
根据盘口数据估算滑点成本
"""
bid = option_data['bid_price']
ask = option_data['ask_price']
bid_size = option_data['bid_size']
ask_size = option_data['ask_size']
# 买卖价差成本
spread_cost = (ask - bid) / (ask + bid) * 2
# 流动性折扣因子
# 盘口深度越浅,折扣越大
liquidity_factor = min(1.0, (bid_size + ask_size) / 100)
# 综合滑点成本
slippage = spread_cost * (2 - liquidity_factor)
return slippage
# 使用示例
slippage = estimate_slippage(option_chain['2024-06-21']['C3800'])
print(f"预估滑点成本: {slippage:.2%}")
这段代码的逻辑很简单:买卖价差越大,滑点成本越高;盘口深度越浅,滑点成本也越高。实际交易中,我会把这个滑点成本直接加到策略的预期收益里,如果扣掉滑点后收益还是正的,才考虑进场。
我建议你在回测时,不要用收盘价或者中间价来算收益。用买一价和卖一价分别算一下,看看你的策略在“最差成交情况”下还能不能赚钱。如果不行,那这个策略在实盘中大概率会亏钱。
执行风险的应对策略
说了这么多风险,那怎么应对呢?我总结了几条实战经验:
- 只做流动性好的合约:近月平值、近月轻度虚值/实值,这些是首选。远月、深度虚值,除非利润空间极大,否则不碰。
- 用限价单,不用市价单:市价单是滑点的最大来源。我习惯用限价单,挂在自己能接受的价格上,等对手盘来吃。
- 分批建仓:如果仓位比较大,不要一次性全打进去。分几批,每批之间留点时间,让市场消化一下。
- 设置滑点预算:在策略设计阶段,就预留出滑点成本的空间。比如理论利润是0.2元,我给自己定的滑点预算是0.05元,实际利润预期就降到0.15元。
执行风险是曲面套利中最容易被忽视的风险。很多新手看到理论利润就兴奋,结果一进场就被滑点打得鼻青脸肿。记住一句话:理论利润是纸上的,实际利润是成交出来的。
用SVG梳理一下本章的知识结构
下面这张图,把执行风险的来源、影响和应对策略串起来了:
嗯,这张图把执行风险的脉络理清楚了。从两个主要来源出发,到它们各自的影响,再到最终的应对策略。你想想看,是不是一目了然?
最后说一句,执行风险这东西,说白了就是“理想很丰满,现实很骨感”。你在回测里看到的利润,到了实盘里可能就缩水了。所以,我建议你在设计策略时,一定要把执行风险考虑进去。别等到真金白银亏了,才后悔没早点重视这个问题。