博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
金融市场前台办公室中的 IBM 技术,第 1 部分: 一个金融市场前台办公室集成蓝图概述...
阅读量:2494 次
发布时间:2019-05-11

本文共 5433 字,大约阅读时间需要 18 分钟。

, IT 咨询专家, IBM  
Mary 在 SWG Technical Strategy and Incubation 团队工作,管理 SWG Incubation 计划。她是 SaaS Community of Practice 的负责人之一并参与 SaaS Blueprints。她当前主要关注 IBM 中间件在金融市场前端办公室中的定位。
, IBM 杰出工程师, IBM  
Germán Goldszmidt 博士是 IBM Software Group, Technical Strategy 的一位杰出工程师。他负责 SWG Advanced Technology 计划,包括孵化项目和 Software Group Research Joint Program。他领导过复合业务服务和 Software as a Service 领域的多个项目。在 2003 年之前,他是 IBM Research T.J. Watson 实验室的资深研究人员和经理。他曾带领团队开发了第一个计算供应电子实用程序,这个程序可以自治地调整资源分配,从而高效地处理各种工作负载和基础结构变化。以前,他设计和开发了高性能负载平衡程序 Network Dispatcher,为多种 IBM 产品和部署提供可靠性和可伸缩性。他在专业期刊和会议录上发表了 50 多篇论文,拥有 15 项专利。

简介: 本文是一个 的第一篇,探讨如何集成 IBM® 中间件功能,以便满足金融市场前台办公室中的技术要求。这种前台办公室需要专业软件以极高的速度处理海量数据。这个 介绍一个算法交易场景,该场景作为一个 IBM Software Group 孵化项目的一部分而实现。本文将提供该项目中编制的一个集成蓝图的高级概览,该蓝图展示这个场景中的组件是如何互联的。本系列后续文章将深入探讨集成这个蓝图中的各种产品的技术细节,以及如何在这个场景中使用那些产品。

这个 Software Group 孵化项目的代码名为 “Botticelli”,主要关注资本市场中的前台办公室。前台办公室负责通过交易商买入和卖出证券。这个项目实现了一个简单的算法交易用例。算法交易指的是以编程方式生成买入和卖出订单。在算法交易中,一个数量模型根据某些参数和约束自动生成订单的时间和大小。这些交易环境需要一个高速基础设施来处理海量数据,从而优化公司的交易。在这个算法场景中,算法程序分析并处理实时市场数据和其他参考数据,然后生成订单以买入或卖出证券。

支持算法交易所需的前台办公室基础设施与中间和后台办公室基础设施不同。后两者更倾向于以业务流程驱动,它们的一个关键要求是确保消息的交付,以便确保订单不会丢失。

在一个算法交易场景中,有几个步骤必须执行,我们通过应用 IBM 技术来演示每个步骤。

算法交易要求基础设施支持高速访问海量数据。这个交易平台通常需要各种功能,包括:

  • 接受入站市场数据流
  • 在数毫秒之内将市场数据分发到各个应用程序/流程
  • 实时分析市场数据
  • 预先加载参考和历史数据
  • 支持业务规则
  • 允许交易商访问市场数据和其他金融信息
  • 监测算法交易环境的健康状况

图 1 中描述的 Botticelli 场景表示一个经过简化的算法交易用例。

Botticelli                     算法交易场景图

交易流如下所示:

  • NYSE 和 NASDAQ 市场数据通过提要处理程序处理,并允许订阅者订阅。
  • 两个订阅者接收市场数据 — 交易索引算法交易程序和数据中心。
  • 参考数据和阈值参数被加载到内存,以便算法交易程序在交易会话期间使用。
  • 交易索引程序通过一个高速连接接收市场数据并执行以下操作:
    • 从内存检索参考数据,比如每股收益、分析师评级和配置参数。
    • 为交易计算数量加权平均价格。
    • 执行计算并生成订单,这些订单已作为交易识别。
    • 确定订单是否异常(超过大小阈值)。
    • 通过数据中心发送非异常订单,将其路由到执行地点。
    • 调用业务规则确定将异常订单路由给谁。
    • 通过数据中心将异常订单路由给适当的交易商。
  • 交易商桌面订阅到数据中心并显示:
    • 股票(本场景是 Dow 30)、各种金融小部件以及该交易商的异常订单的监视清单。
  • 监控指示板订阅到数据中心并显示:
    • 订单数据、订单状态、交易索引程序的输出、系统延迟信息以及异常订单中断的多维视图。

图 2 展示了集成起来以提供上一小节中定义的功能的 IBM 中间件套件。

展示金融市场前台办公室蓝图的图表

我们逐一检查以下用于这些功能的 IBM 技术和产品。下面描述的每个产品都关联到 中的一个字母组件(例如 “A”)。

IBM WebSphere® Front Office (A) WebSphere Front Office 提供 95% 以上的提要处理程序,覆盖北美、欧洲和亚洲的主要股票提要,最大的期权提要,以及北美的一些期权和商品期货提要。提要处理程序知道如何解释入站数据,规范化数据,并使其对订阅者可用。数据分发特性提供各种方法来分发数据,每种方法都涉及不同的服务质量。
WebSphere MQ Low Latency Messaging (B) WebSphere MQ Low Latency Messaging 是一个低延迟分发总线,用于满足金融市场交易基础设施的要求。它支持多种功能,比如高性能消息传递、多播和单播传输、组件状态复制、故障检测和故障转移、以及顺序一致的交付。

Low Latency Messaging 最近参与了一个 Securities Technology Analysis Center (STAC) 性能基准测试。就速度而言,WebSphere MQ Low Latency Messaging 通过了 STAC 在 Infiniband 上以每秒 50K 消息的速度进行的 8 毫秒单跳延迟基准测试。就流量而言,在内部性能测试中,WebSphere MQ Low Latency Messaging 通过了在 InfiniBand 上进行的每秒处理 1300 万条 45 字节的消息的基准测试。

IBM InfoSphere™ Streams (C) InfoSphere Streams 是一种高性能流处理技术,能够用于以实时方式快速分析来自数千个实时源的数据流中的数据、新闻和视频。这个 Streams 平台能够分析结构化和无结构的数据,并能扩展到 125 多个节点(服务器)实例上。在 Botticelli 中,我们将交易索引实现为一个在 Streams 平台上运行的程序。

展示了这个交易索引程序的运行时视图。这个程序实现为一个单向数据元组流。它首先接收来自 WebSphere Front Office 的市场数据输入,然后将这些数据分割为多个交易和报价。然后使用其他数据充实交易,并执行数量加权平均价格计算。最后生成一些订单,并通过一个 WebSphere MQ Low Latency Messaging 连接将输出发送到数据中心。这个程序使用一种流处理语言创建,该语言支持运算符的声明性合成,这些运算符是该语言的基本构建块。Streams 提供针对高性能和平台独立性的代码生成。鉴于这些特性,Streams 是可用于算法交易平台的极好技术。

Streams 交易索引程序图

IBM solidDB® (D) solidDB 使用特殊的访问方法提供数据的内存检索。这些访问方法使数据访问和存储速度比从传统的基于磁盘的数据库系统访问缓存数据的速度最多快 10 倍。在 Botticelli 中,我们将算法程序需要的参考数据预先加载到 solidDB,以便以最快速度实时访问那些数据。
WebSphere ILOG® Business Rule Management Systems (BRMS) (E) ILOG 技术擅长业务规则管理、优化和可视化。ILOG BRMS 称为 JRules。 JRules 支持集中企业内的规则管理,以便提供可审计能力和可追踪能力,而这两种能力是金融市场业的关键要求。鉴于上述原因,我们使用 JRules 将异常订单路由到交易商以进行审查。

在 Botticelli 中,我们调用在 JRules 中创建的规则,以确定将异常订单路由到何处。这些异常订单是按照算法生成的订单,它们超过了在订单大小上设置的阈值。 下一篇文章将展示如何集成 Streams 和 ILOG。(要收听一个录制好的 ILOG 演示,了解如何在一个 Financial Markets 公司中使用 JRules,请参见 。)

Botticelli 还在交易商桌面中使用 ILOG 可视化小部件。IBM ILOG JViews Enterprise 提供范围广泛的图形界面,它们可以集成到桌面、Ajax 和 Eclipse 显示中。

WebSphere eXtreme Scale (F) WebSphere eXtreme Scale 是一种缓存和网格技术,我们可以将其用作一个中央数据中心,存储需要提供给客户端应用程序的数据。我们缓存来自 Sphere Front Office 的市场数据,来自 Streams 的订单数据,以及交易商桌面需要的历史数据。

我们创建了多个不同的接收程序,它们可以根据多种类型的消息传递协议来处理入站数据,并通过一个订阅管理程序使该数据可用。

桌面客户端:IBM Lotus® Expeditor and WebSphere sMash (G) 根据不同的数据交换数量和频率,对客户端桌面有不同的要求。我们使用 Lotus Expeditor 创建了一个延迟时间极低的桌面应用程序,并使用 WebSphere sMash 创建了一个基于 Web 的应用程序(可通过任何 Internet 浏览器访问)。

Lotus Expeditor 是一个由服务器管理的客户端平台,提供一个单一的容器来集成桌面应用程序、Web 应用程序和遗留应用程序。您可以通过使用一个属性代理来以上下文方式链接这些应用程序的内容。在 Botticelli 中,我们还为我们的图表和图形集成了 ILOG JViews 可视化小部件。

WebSphere sMash 是一个开发和执行平台,用于使用 SOA 原则快速构建和运行动态的、基于 Web 2.0 的应用程序。它支持 PHP 和 Groovy 这样的脚本语言,并提供一个敏捷的 Web 应用程序开发环境。

IBM Cognos® Now! (H) 除了交易商桌面外,我们发现还需要提供应用程序监控功能。交易专柜经理负责管理交易专柜,他们对下面的信息感兴趣:
  • 生成了多少订单
  • 标明了部门/符号/时间的订单中断
  • 数据提要的运行方式
  • 订单状态

Cognos Now! 拥有一个流引擎,支持近乎实时地处理提要。在我们的场景中,订单数据从算法程序发送到 Cognos Now! 指示板。指示板以各种格式显示订单数据的多维视图。Alert Manager 功能允许业务用户识别他们愿意设置警报的数据条件。监视点可用于在指示板表中突出显示这些数据条件。

的一篇后续文章将介绍这个项目的一部分:Cognos Now! 和 WebSphere MQ Low Latency Messaging 之间的集成。

有多个集成点,它们作为这个项目的一部分处理。由于 WebSphere MQ Low Latency Messaging 是主消息传递总线,这个 Blueprint 中的产品必须能够使用它。这就需要开发几个新的 APIs。那些 APIs 的代码已经贡献给产品团队。这个项目还集成了 JRules 引擎和 Streams,支持在一个运行的 Streams 程序中动态刷新业务规则。本 的后续文章将介绍我们如何解决这些和其他集成问题。这些集成点包括:

  • 将 WebSphere Front Office 数据发送到 InfoSphere Streams
  • 将 solidDB 数据接收到 InfoSphere Streams
  • 使用 WebSphere MQ Low Latency Messaging 协议将 InfoSphere Streams 输出发送到其他应用程序
  • 通过 WebSphere MQ Low Latency Messaging 将数据接收到 Cognos Now!
  • 将 ILOG JRules 引擎嵌入一个 InfoSphere Streams 程序
  • 从 WebSphere Front Office、WebSphere MQ Low Latency Messaging、InfoSphere Streams 和 solidDB 提取延迟性指标

本文简要介绍了一些 IBM 功能在金融市场业(具体而言是前台办公室)中的应用。我们使用了一个算法交易场景来演示如何集成 IBM 中间件技术,从而提供一个样例解决方案。这些技术能为这个要求高速度、高流量功能的领域中的其他许多解决方案提供一个框架。

原文链接:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-673758/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14789789/viewspace-673758/

你可能感兴趣的文章
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则16_附原版海龟交易法则
查看>>
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>
通向财务自由之路02_成功的决定因素:你
查看>>
中低频量化交易策略研发01_引言
查看>>
中低频量化交易策略研发06_推进的择时策略
查看>>
史丹·温斯坦称傲牛熊市的秘密
查看>>
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>