交易成本:吃掉收益的隐形杀手
这一篇讲量化里最不性感、却最能决定成败的一个变量:交易成本。很多人把精力放在找因子上,最后发现策略不赚钱,原因不是因子不行,而是成本吃掉了全部超额。
成本有哪些
显性成本:佣金、印花税、过户费。这部分清楚明白,容易算,通常在万分之几到千分之一之间。它的特点是"确定"——你知道要付多少。
隐性成本:这才是大头,也容易被低估。
- 买卖价差:买一价和卖一价之间的差。你买入要付卖一价,卖出拿买一价,这个差就是即时损失。流动性差的股票价差大,成本也高。
- 冲击成本:你的买单本身推动价格上涨。买得越多,越难按看到的价格成交。这一项与订单规模相对日均成交额的比值直接相关。
- 滑点:从你决定交易到实际成交之间,价格已经变了。对日频策略来说,这一项尤其重要。
- 时机成本:为了降低冲击而拆单慢慢买,导致没买到的那部分错过了行情。
换手率是放大器
成本总额大致等于:换手率乘以单次成本。所以控制成本有两个方向:降低单次成本(选流动性好的标的、用算法拆单),或者降低换手率。
后者往往更有效。换手率从每年十二倍降到六倍,成本直接减半,而策略的超额未必下降多少——因为很多调仓其实是在噪声层面来回换。
怎么降低换手
几个常用手段:
- 调仓缓冲:不是分数一变化就换,而是设一个缓冲区。比如股票要跌出前百分之三十才卖出,而不是跌出前百分之二十就卖。
- 降低调仓频率:从每月调到每季度。前提是因子的信号衰减没那么快。
- 换手率约束:在组合构建时直接限制每期的换手上限。
- 剔除高成本标的:把流动性过差的股票从候选池里去掉。
回测里怎么估成本
这是关键。三种做法,可信度依次提高:
固定值:假设每笔交易扣万分之几。简单,但会低估冲击成本,而且对大额资金完全失真。
按流动性分档:根据个股日均成交额、波动率,给不同的股票设定不同的成本。比固定值合理很多。
成交量限制模型:假设单期成交量不能超过日均成交额的某个比例(比如百分之十),超出的部分按更高的冲击成本计价,甚至不允许成交。这更接近真实约束。
无论用哪种,都建议把成本估高一点做压力测试。一个在乐观成本下年化超额百分之八、在悲观成本下只剩百分之一的策略,是不值得上线的。
一个检验习惯
每次评估策略,都同时看毛收益和净收益。如果两者差距超过超额收益的一半,说明这个策略对成本过于敏感,实盘很可能会低于预期。
一句人话:量化里没有"免费调仓"。每次买卖都在付钱,付多少取决于你买的是什么、买多大、多急。把成本当成策略的一部分来设计,而不是事后扣掉的一个数字。
写在最后
控制住成本之后,还有一个更大的问题要不要处理:要不要判断市场方向。下一篇讲择时与资产配置。
本文为投研学习参考资料,仅供研究参考,不作为投资决策依据。市场有风险,投资需谨慎。
← 返回智远教投