复杂事件处理
现代的事件处理技术从20世纪90年代开始发展,加州理工学院的ManiChandy,剑桥大学的JohnBates和斯坦福大学的DavidLuckham分别开始了独立的学术研究。这些研究的目标是开发一种处理事件流数据的新手段,用于识别复杂的事件序列,其中可能包括一些时间或范围的限制,然后根据这些复杂的事件模式的结果做出响应。
事件是一个很广泛的概念,例如一次交易的完成,一架飞机的降落,或一个参数的输入等等。计算机系统内的事件被定义为状态的改变,例如当一个货物销售出去之后,状态从“待售”变为“已售出”。
简单事件指的是那些不是对其他事件抽象而成的事件。相对应的,复杂事件(或组合事件)就是对两个或更多事件抽象而得到的事件。那些被抽象的事件则被称为成员事件。事件之间存在着相互的联系,例如时间关系.因果关系、组合关系等等。这些关系将事件联系在-起形成了复杂事件,例如,1987年美国股市的大崩盘是由成千上万的简单事件抽象和联系而成,其中包括每个股票的交易情况.每个交易员的抛售等等。
随着越来越多的自动化交易系统的出现,复杂事件处理(complexeventprocess)技术逐渐在算法交易领域取得了很大的成功。通过复杂事件处理技术,投资者可以很容易和清楚地将自已所制定的复杂的交易策略编写到计算机系统当中。计算机系统可以根据投资者的需求,通过分析一系列事件的集合,按照预先设定的规则做出交易决策。另外,金融机构可以将监管的规则以复杂事件的形式编制进人计算机系统,有效地防止违规和欺诈行为。
例如,算法交易中很重要的一个方面就是确定交易的时间和数量,这就需要交易系统不断地观察变化中的市场条件,发现交易机会。
交易系统对IBM和微软(代码:MSFT)股票进行价差套利。我们可以很容易地理觶这段规则:如果在两分钟内微软股票价格高于或低于15分钟内VWAP价格的2%,然后标准普尔指数移动了0.5%,同时,IBM的价格上涨5%或者微软股票的价格下降了2%,那么就买进微软股票,卖出IBM的股票。
复杂事件处理技术可以为机构投资者在算法交易系统的开发上带来许多的优势和便利。通过复杂事件处理技术,投资者可以很方便和容易地开发算 的法交易策略。它使交易策略更容易理解,从而提高算法开发的效率,而且方便结网修改和重新利用。
在金融市场上,监管机构可能会不断地提出新的监管要求.利用复杂事件处理系统会使算法交易系统更方便和灵活地适应变化的环境。利用复杂事件处理技术,算法交易系统的开发者可以更多地关注交易策略的层面,而不是计算机系统本身的开发。这样,不但可以减少系统开发中的错误和风险,而且能够为投资者节省人力,更多地关注能够带来附加值的业务。