每次基于策略的证券买卖都会产生交易成本。交易越频繁,交易成本对策略的盈利影响就越大。交易成本不仅包括经纪商收取的佣金,还包括流动性成本一当你以市场价格买卖证券时,要支付买卖差价。如果你采用限价指令买卖证券,确实可以避免流动性成本,但却要承担机会成本。因为限价指令可能不被执行,并因此错失了交易的潜在盈利。同样,如果你买卖大笔证券,不可能在不影响价格的情况下完成整个交易。(有时,仅仅是出现大额的买单,哪怕尚未实际买入一股股票之前,就能拉高股票价格!)这种由自身指令所引起的市场价格变动效应被称为“市场冲击”。当证券流动性不好时,它往往会是交易成本的大头。
最后,由于互联网或各种软件的滞后,指令通过程序传送给经纪商的时刻,与指令在交易所被执行的时刻之间存在滞后。这种滞后会造成“滑价”,即触发指令的价格和执行价格之间的差。当然,滑价有正有负,但平均来说,对交易员是成本而不是收益。(如果你觉得滑价是收益,我建议你修改程序,在发送指令的时候,故意延迟几秒钟!)
不同证券的交易成本相差也很大。如果你的指令规模不比最佳买卖报价的平均规模大很多,交易成本通常可以用平均买卖差价的一半再加上佣金来估计。例如,标准普尔500指数成分股的平均交易成本(不考虑佣金,这取决于你的经纪商)大约是5个基点(即万分之五)。这里,对一个交易循环中的买入和卖出计作两次交易成本。一个先买后卖的来回交易被视作两笔交易,因此,这个例子中的一个来回交易的成本是10个基点。E-迷你标准普尔500期货合约的交易成本大约是1个基点。有时,策略的作者会说明他们的回测业绩中考虑了交易成本,但更多时候并不会这么做。如果没有说明,你就得假设回测结果没有考虑交易成本,从而得判断在考虑成本后策略是否仍然有效。
交易成本影响策略的一个例子是,E-迷你标准普尔500期货合约的简单均值回归策略。这项策略基于布林线指标:每当价格超过移动平均值的正负两个标准差时,相应卖空或者买入。当价格回到移动平均值的正负一个标准差之内时清仓。如果允许每5分钟建仓和清仓一次,你会发现不计交易成本时夏普比率大约为3—当然非常出色!不幸的是,如果扣除1个基点的交易成本,夏普比率则变成了—3,变成了完全无利可图的策略。