程序化交易实盘时相比回测应该注意什么

企业微信

回测赚钱实盘亏钱 问题出在哪

许多散户花几个月写出一套程序化交易策略,回测曲线漂亮得像艺术品,年化收益百分之几十,最大回撤个位数。真金白银冲进市场,第一个月就亏掉百分之十。回测和实盘之间隔着一道看不见的墙,墙上写满四个字:现实摩擦。

滑点吃掉利润的速度比你想象的快

回测里你假设价格到了就成交,实际交易中你的单子进入市场需要时间,价格可能已经跳走。流动性好的品种滑点小,冷门合约滑点能吞掉大半利润。程序化交易的散户常犯的错是用回测的成交价当实盘基准。螺纹钢主力合约盘口薄的时候,挂单成交和吃单成交成本差几个跳动点,一天交易十次就是几十个点。

解决办法很简单:回测时主动加滑点。每个品种按历史盘口数据估算平均滑点,加到每次模拟成交里。如果加了滑点策略就不赚钱,实盘一定亏。

手续费和冲击成本不是小钱

回测软件默认手续费往往低于真实水平。期货公司加收的佣金、交易所平今仓惩罚性手续费、大单对市场的冲击,这些成本在回测里容易被忽略。高频策略尤其敏感,回测里每天赚万分之五,实际手续费加滑点可能吃掉万分之八,瞬间变成负期望。

程序化交易实盘时相比回测应该注意什么

拿沪深300股指期货举例,平今仓手续费是开仓的几十倍。程序化交易如果频繁日内开平,回测不把平今费用算进去,实盘直接懵。实盘交易前先把最近三个月的结算单拉出来,算出自己真实的平均手续费率,替换掉回测里的默认值。

流动性幻觉 回测里你能成交 实盘里没人接

回测引擎假设你的单子对市场没有影响,想买多少买多少。实盘中你下五百手螺纹钢,盘口可能只有两百手挂单,剩下的三百手要追价成交,成交均价远高于回测价。小资金影响小,资金量上去之后流动性约束是致命的。

滑点的本质是流动性成本。判断一个策略能不能容纳你的资金规模,看回测里策略每天的成交量占品种日均成交量的比例。超过百分之一就要警惕,超过百分之五基本没法实盘执行。

过拟合 回测好看是因为参数调得太完美

散户最喜欢做的一件事是拿历史数据反复调参数,调到回测曲线最漂亮为止。移动平均线的周期从五天试到五十天,每个品种单独调,每个时间段单独调。调出来的参数完美贴合历史走势,实盘一换环境立刻失效。

过拟合的典型特征是参数敏感。把均线周期从二十天改成二十一天,回测收益腰斩。这种策略实盘没有意义。健康的策略参数应该在合理范围内变动时,回测结果没有剧烈变化。

对抗过拟合的办法:留出样本外数据。用前五年数据开发策略,后两年数据只做验证不做优化。样本外表现和样本内差太多,放弃。

心理偏差 程序化交易也逃不掉

很多人觉得程序化交易没有情绪,机器执行纪律。策略连续亏损三周,回撤超过回测最大回撤,你手动关掉策略,行情随后启动。或者策略浮盈加仓,你在盘中觉得赚够了提前平仓,破坏了策略逻辑。

程序化交易的纪律性取决于人。实盘前先写好策略失效的判定条件:什么情况下停止交易、什么情况下减仓、最大亏损额度是多少。写下来贴在电脑旁边,触发条件就执行,不给自己临时决策的空间。

仿真环境过渡 别拿真金白银当学费

期货公司提供仿真交易环境,用实时行情模拟撮合。程序化策略先跑一个月仿真,对比仿真成交价和回测成交价的差异,对比滑点和手续费。仿真环境跑出来的净值曲线和回测差多少,心里就有数了。

仿真没问题再上小资金实盘。初始仓位控制在计划仓位的十分之一,跑一个月看实际表现。实盘和仿真也有差异,仿真成交不冲击市场,实盘会。这十分之一仓位就是用来暴露这些差异的。

风控规则 实盘前必须写死

回测里最大回撤百分之二十,实盘可能遇到百分之三十。策略逻辑没变,市场波动放大了。风控规则不能是模糊的感觉,必须是代码里的硬约束。单笔亏损上限、单日亏损上限、连续亏损后的仓位缩减比例,全部写成条件判断。

期货有杠杆,程序化交易的风控比股票更严格。满仓加杠杆的策略回测收益再高也不适合散户。仓位管理才是实盘活下来的关键。

不要迷信回测曲线

回测是必要环节,不是充分条件。漂亮的回测曲线只说明策略在历史上能赚钱,不说明未来能赚钱。程序化交易实盘前把滑点、手续费、流动性、过拟合、心理偏差这五关逐一过一遍,过不了就别上。

真金白银的市场里,活着比赚钱重要。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/chengxuhua-jiaoyi-huadian-guo-nihe-1430.html