新闻详情
基于ESP引擎构建量化投资平台
作者:管理员    发布于:2017-06-25 15:27   
有一群人,他们依靠神秘的数学模型和强大的计算机系统扫描金融市场,捕捉交易机会,挟带着巨额资金获取稳健的超额收益。他们被有些媒体称为金融危机的罪魁祸首,连股神巴菲特也直言:小心这些会算术的人。这些人被称为 宽客,他们是金融工程师,他们所依赖的计算机系统被称为量化投资平台,“对冲”、“套利”、“策略模型”、“回测”、“算法交易”、“高频交易”、“程序化交易”这些对我们来说时有耳闻又搞不清准义的词,常常与量 化投资平台被一起讨论。
然而,量化投资平台这样的计算机系统,并非近来才有的新生事物,在发达金融市场它已经有数十年历史,只是国内才从近两年随着证券、期货市场的活跃,股指期货、融资融券等投资品种、交易手段的丰富,逐渐为大家所认识。
量化投资是一种主动型投资策略,它借助于高速计算机系统和 网络,以多市场多品种的广度、多维度多因子的深度扫描、过滤、聚 合、计算、判断,及时发现投资机会触发交易订单;同时,量化投资 者一般资金量相对较大,在订单执行时还需要根据预设的执行策略, 将一笔大单拆分成一系列的子单,以减轻对市场的冲击,降低执行成 本,这通常被叫做算法交易。所以,量化投资平台作为一个IT系统, 各种市场因素、技术因素、基本面因素,包括账户上的资金、持仓、 委托、成交等都是它潜在的输入,而它的输出就是一系列针对具体交 易品种的明 交易信号或订单:交易方向、价格多少、数量多少。
当然,在量化投资的各类策略模型在被投入 到实际操作之前,构建这些模型的金融工程 师,往往需要使用不同标的、不同频度的历 史数据、反复尝试不同的模型参数,对策略 模型的盈亏能力进行回归测试和盈亏对比分 析。这就是量化投资平台上常说的“回测” 功能。
通过对这类IT系统的关键应用场景的分析,我们可以看到量化投资平台与普通OLAP或 OLTP系统明显不同的特征:有多种多样的快速变 化的输入事件流,需要实时监控一定大小的时间窗口或 长度窗口的输入数据事件流,通过对事件流的分析处理,快速做 出交易决策,并可以在较短时延内执行预先定义的处理行为。所以, 保证系统有能力去监控并处理快速多变的输入事件数据流是量化投资 平台系统成功的关键,其核心就是一个高性能、低时延、大并发的ESP(Event Stream Processing事件流处理)引擎。在业界,一般也把ESP引擎归类为复杂事件处理(CEP)平台。
同时我们也看到,量化投资平台决不仅仅是解决复杂的IT实现问 题,使用这个平台的金融工程师在上面发挥自己的聪明才智和投资经 验,构建出适合当前金融市场的量化投资策略模型才是最重要的。所 以,从分析量化投资平台使用者群体特征的角度,我们可以发现支撑量化投资平台的ESP引擎必须要能支持某种简单、易用的策略模型定 义方式,于是我们看到了事件编程语言(EPL,Event Programming Language),甚至有的系统直接就把这类策略定义语言叫做Easy Language。这种基于事件流处理的语言一般提供了丰富的语法来表 达复杂的业务逻辑,还具如下特征:
l  支持基于事件流的查询、过滤、计算,生成新的流
l  事件流上基于时间窗口、长度窗 事件聚集等
l  允许多个事件流之间的连接
l  基于事件流的模式匹配
此外,有的语言还包括在策略模型回测时对图表功能的支持。
 

在量化投资平台领域,常用的ESP平台有:Software AG的APAMA、Sybase的Aleri、还有属于开源项目的Esper。当然 Oracle、IBM之类的公司也有相应的ESP/CEP产品。
  •              APAMA
Apama是Software AG的一个产品。上世纪90年代,剑桥大学的John Bates意识到了事件流处理这种需求并开始着手对这种新平台的研究,促使了Apama这个事件处理平台的诞生。 Apama平台是一种模块化的、可扩展的事件处理平台,这种平台的核心功能可以归纳为:
l  实时监控各类市场数据提供商所传送过来的数据事件流,如行情、资讯;
l  在内存中的事件流上快速分析处理这些事件,同时可以把多个存在特征相关或者次序相关等关联模式的事件联系起来;
l  触发新事件的生成,这种新事件往往触发输入事件分析结果的响应动作;
l  提供了一种叫MonitorScript的事件处理脚本语言;
除此之外,Apama平台性能优越的另外一点是可以支持几千个策 略模型同时运行,当这么多的策略模型同时运行时,每个策略模型都会有本身所监控的事件、匹配模式以及处理行为,而且不同的策略模型之间必要时还可以进行交互。
Apama平台的这些特征使其非常适用在拥有快速变化的多样输入数据流,需要实时监控输入数据并快速做出决策以及采取相应的预期处理行为等需求的这类系统的实现。


  •              Aleri
Sybase在针对金融服务领域的ESP产品 Aleri是屡获殊的复杂事件处理(CEP)平台,支持快速开发和部署 在高速、大容量数据流上进行分析和执行实时业务的关键应用。
  •              开源Esper项目
开源的Esper引擎也是为了满足对事件进行分析并做出反应等 这些应用需求而产生的,这些应用要求实时或接近实时处理事件(或消息),有时候是为了应对复杂事件处理(CEP)和事件流分析(ESP) 的。同样,Esper引擎实现时考虑这些类型应用的高吞吐量、低响应时间和需求逻辑的复杂程度(复杂 )。Esper设计就是被用在股票系统、风险监控系统等等要求实时性比较高的系统中。


总之, Esper引擎是为了满足对事件进行分析并做出反应等这些应用需求而产生的,这些应用要求实时或接近实时处理事件(或消息)。有时候是为了应对复杂事件处理(CEP)和事件流分析的,关键是要考虑这些类型应用的高吞吐量、低响应时间和需求逻辑的复杂程度(复杂计算)。Esper可以用在股票系统、风险监控系统等要求实时性比较高的系统中,其在量化投资的领域里必能大展拳脚。