作者: 高低之间_简单价投

1、程序化交易模型的信号闪烁问题

所谓信号闪烁,是指程序化交易模型在图表上显示的买卖信号时而出现时而消失。出现这种情况,说明模型的策略在判断买卖交易的条件中使用了未来函数。

所谓未来函数,是指可能引用未来数据的函数,即引用或利用当时还没有发生的数据,对之前发出的判断进行修正的函数。


具体地说,就是本周期结束后显示的指标值(包括线段和买卖提示信号),可能在发生新的数据后改变位置或者干脆消失。对于未来函数可以理解为某一变量依赖另一变量而先期变化。

如变量A和变量B,B变化使得A也变化,那么A是B的函数,但如果B是稍后的变量,而A是稍早的变量,A跟着B变化,则A是B的未来函数。

有三类函数属于未来函数:一是以之字转向为代表的ZIG类函数;二是准未来函数类;三是使用跨周期数据函数类,这是一种最为隐蔽的方法,它的危害性很大。

含有未来数据指标的基本特征是买卖信号不确定,常常是某日或某时点发出了买入或卖出信号,第二天或下一个时点如果继续下跌或上涨,则该信号消失,并在以后的时点位置又显示出来。

比如,一个量化策略定义为日K线收盘价大于均线时买入,反之卖出。由于日K线的收盘价在当天交易结束前表现为最新价,它随着行情的变动而变化,盘中的日收盘价以及由此计算出来的均线价格也会变动。

当最新价离均线价格非常近时,就会出现盘中的日收盘价忽而高于均线价格,忽而低于均线价格。

从而程序化交易模型就会在图表上一会儿发出买进信号,一会儿买进信号消失出现卖出信号,反复交替,即出现信号闪烁现象。

信号闪烁反复的问题会对模型设计人员造成极大的困惑,模型策略中一旦使用了未来函数而出现信号闪烁,则实盘中模型会不断地开平仓。

但在用历史数据测试时,只会有一次信号出现,导致实盘交易结果和测试结果会有很大差异。

很多程序化模型在测试时表现很好,真正拿到实盘上运行就让人大跌眼镜,这就是买卖信号出现反复所引起的。

2、要解决信号闪烁的问题可以采用两种办法:

一、用不可逆的条件来作为信号判断条件。比如,程序化模交易型策略规定,一根K线的最高价高于某个固定价位时,模型发出买入信号。由于一根K线的最高价只能是不断增大的,所以某一刻开始满足条件,就会一直满足这个条件,出现的信号就不会消失,也就不会出现信号闪烁现象。

二、使正在变动的未来函数变成已经不再变动的完成函数。由于未来函数有时间周期,有些指标在一个短的周期内可能是未来函数,但在稍长的周期内就不是未来函数。

例如,收盘价在一天收市前都是不确定的,所以对于一个日周期的指标在分时周期内具有未来函数特征,但是一旦收盘该指标就是定值,不会随明日及以后的行情而变动,所以该指标在大于一日的周期中就不是未来函数。

其实许多交易问题也和程序化交易软件有一定关系,笔者之前试用过一段时间的国信TS,功能感觉稍有复杂,加上网站也没有什么配套培训的服务,并且软件购买费用也不低后来就没用了。不过最近又看一家上市券商又推出了个程序化交易软件好像是叫一创量化通,我模拟玩了玩也不用付费,对量化、程序化交易感兴趣的可以自行去了解下,就不在此打广告了。以上便是我同大家分享的在平时在做程序化交易时常遇到的信号闪烁问题,个人认为量化和程序化交易在国内目前还算是个新颖的东西,也有一定的前景,希望大家可以多多交流好的量化学习平台和工具,让我们一同走在投资者行列的前沿。