用于提供可交易对象的电子价格馈送的系统和方法

文档序号:6477095阅读:111来源:国知局
专利名称:用于提供可交易对象的电子价格馈送的系统和方法
技术领域
本发明涉及电子交易。更具体地,本发明涉及用于在电子交易环 境中提供改进的价格馈送的工具。
背景技术
电子交易通常基于主交易所, 一个或多个计算机网络,和客户设 备。预订交易人借助于通信链路连接到交易所的电子交易平台,以便 便于他们和交易所之间的实时电子消息。电子交易平台包括至少一个 电子市场,它是交易系统的中心,并且处理由该市场的交易人提出的 出价和卖价的匹配。电子消息包括从电子市场通过电子数据馈送分发 给交易人的市场信息。 一旦交易人收到了市场信息,可以在其交易屏 幕上显示该信息。在观看该信息之后,交易人可以采取某些动作,所 述动作包括向电子市场发送购买或销售订单,调整已有订单,删除订 单或管理订单的动作。交易人还可以使用其客户设备上的软件工具自 动进行这些和附加的动作。
虽然电子交易所公开的市场信息类型可能随市场不同而不同,但 是通常存在某些标准信息部分。市场信息可以包括仅表示内部市场的 数据。内部市场是特定时间点针对特定可交易对象的市场内的可获得 的最低报价(最佳报价)和可获得的最高出价(最佳出价)。市场信 息还可以包括市场深度。市场深度指可在内部市场获得的数量,并且 还可以指可以与内部市场不同的其它价格获得的数量。除了提供诸如 订购价格和数量信息的订购簿信息之外,电子交易所可以提供其他类 型的市场信息,诸如开盘价格,结算价格,净兑换,数量,最后交易 价格,最后交易数量,以及订单履行信息。
电子交易所和/或中间设备,诸如网关,通常根据带宽限制和网络可靠性努力平衡市场信息的数量和及时性,以便传递数据密集的, 快速响应的市场数据馈送。在一方面,可由电子市场产生极大数量的 市场信息,以便充分表征给定的市场,尤其是当快速发生市场变化时。 通常交易人希望尽可能多地获取这种信息,从而可以进行消息灵通的 交易。在另一方面,通常在将交易人连接到电子市场的物理网络的设 计中固有地存在对传递给交易人的市场信息的数量的限制。
一般地,存在电子市场如何将市场信息传递给客户设备的两种模 式。另外,某些时候可以使用这两种模式的轻微变型。
最常用于传递市场深度的第一模式是基于delta (变数的增值) 的模式。基于delta的模式涉及每次订购簿中的内部市场或市场深度 改变时发送增量更新。在基于delta的数据传递环境中,客户终端最 初接收列出了每个价格级别和待决于该价格级别的数量的当前市场 状态的快照。当检测到市场改变时,诸如当处在某个价格级别的数量 增加时,向客户终端发送市场更新,以便指出数量的增量改变。
许多当前已有的网络使用多播向客户终端传递基于delta的价格 数据。如本领域已知的,多播指在单个流中同时向许多接收者传递信 息。然而以多播发送基于delta的数据需要实现应用级可靠性,以便 保证在客户终端处接收所有分组。如果客户终端,诸如基于包括在每 个收到的更新中的序列号,检测到缺失的更新,则客户终端重新请求 缺失的更新,以便在下一个更新中正确地使用该信息,因此,引入了 延迟并且导致处理开销。为了克服使用多播的网络的可靠性问题,可 以通过为每个客户终端创建的点到点网络连接发送价格数据。然而, 由于价格服务器必须单独向每个感兴趣的客户终端发送每个更新,因 此导致带宽的低效使用并且在服务器处产生延迟,不希望在包括大量 客户终端的交易环境中使用点到点连接。
通常使用的第二数据传递模式涉及以预编程的间隔,诸如基于时 间间隔或基于事件间隔,发送快照更新。快照更新是包含诸如内部市 场和市场深度的市场信息的消息,其带有与包括在更新中的每个价格 相关地列出的实际价格和数量。出于带宽考虑和分组大小,发送完整的深度快照在历史上被认为是不现实的。
因此,提供一种可容易地适用于以更动态的方式传递市场信息的 用于改进的数据分发的方法和系统是有益的。


在此将参考下面的附图描述示例实施例,其中 图1是示出了客户终端和网关设备在局域网上的示例电子交易 系统的方框图2是示出了根据一个示例实施例的用于传递新的且改进的价 格馈送的示例系统的方框图3是示出了根据一个示例实施例的用于发送价格和数量数据 的消息的示例格式的方框图4A和4B示出了一个级别的示例市场深度,以及为该示例深 度产生的消息格式;
图5A和5B示出了根据在此描述的示例实施例的示例市场深度 和为传递多级市场深度而产生的消息;
图6A和6B示出了非线性市场的示例市场深度和为这种市场产 生的示例市场更新消息;
图7是示出了根据一个示例实施例的可用于发送价格和数量数 据的可替换的消息格式的方框图8示出了示例市场深度和用于使用图7的消息块格式传递多级 市场数据的消息块;
图9示出了另 一个示例市场深度以及用于使用图7的消息块格式 传递示出的市场数据的消息块;
图IO示出了示例详细市场深度以及用于使用图7的消息块格式 传递示出的详细市场深度的消息块;
图IIA和11B示出了非线性市场的示例市场深度以及用于使用 图3的消息格式使用delta传递法为这种市场产生的示例市场更新消
息;
8图12是示出了用于向客户终端发送交易数据的示例消息的方框
图;和
图13是用于示出了向客户终端发送会话数据的示例消息的方框图。

发明内容
根据在此描述的示例实施例,提供了用于在电子交易环境中提供 市场数据的系统和方法。为了说明本发明和其方面,下面的描述,包 括附图和详细描述,提供了例子,本领域的普通技术人员可以使用或 容易修改这些例子,以便产生得益于在此描述和要求的教导的系统或 方法。
根据一个示例方法,接收可交易对象的包括多个价格级别和多个 订购数量的市场信息。在收到市场信息之后,确定所述多个价格级别 是否是线性的。如果所述多个价格级别是线性的,选择基准价格级别, 并且产生价格馈送消息,以便包括该基准价格级别以及多个订购数 量。然后将价格馈送消息发送到客户终端。如果所述多个价格级别包 括非线性价格级别,价格馈送消息还包括非线性价格级别。另外,价 格馈送消息可以包括多个映射指示符,用于指示哪些价格级别的市场 深度级别被包括在价格馈送消息内。
根据下面的描述和权利要求,本发明所属领域的普通技术人员将 更明了本发明的其它特征。
具体实施例方式
本发明涉及产生和提供新的市场数据馈送,并且更具体地,涉及 尤其是可以减少处理,带宽和可靠性问题的价格数据馈送。本发明应 用于电子交易网络环境,但是还可应用于其它网络环境。交易网络环 境是向接收计算机分发诸如价格数据的时间敏感数据的网络环境。虽 然描述集中于价格的传递,这些示例实施例可等同地应用于其它数据 的传递。为了说明本发明的各个方面,使出在此参考的附图以示例形式说明系统和方法。然而本领域的普通技术人员将会认识到,可以使 用在此描述的教导迅速和容易地调整这些例子。由所附的权利要求保 护本发明的各个方面。除非明确地说明或固有地已知,来自本专利说 明书的限制不应被不正确地结合在权利要求书中。 l.示例交易系统配置
图1示出了可以采用这些示例实施例的示例电子交易系统100。 示例系统100包括通过网关106接入电子交易所108的交易站102A 和102B。如图1所示,交易站102A-B和网关106位于局域LAN104 内,虽然其它配置也是可行的,诸如在远程网络配置环境中,交易站 102A-B通过远程主才几与网关106通信。虽然未示出,可以4吏用路由 器在网关106和电子交易所108之间路由消息。电子交易所108包括 匹配从交易站102A-B发送的买卖订单和来自其它交易站(未示出) 的订单的计算机处理(例如,中央计算机)。电子交易所108可以列 出用于交易的一个或多个可交易对象。虽然出于清楚的目的未在图1 中示出,但是如本领域的技术人员理解的,交易系统可以包括诸如中 间件的特定于客户站点的其它设备和诸如防火墙的安全措施,集线 器,安全管理器等。
不论使用何种类型的订单执行算法,电子交易所108向预订交易 站102A - B提供市场信息。市场信息包括一个或多个可交易对象的价 格数据。价格数据可能包括内部市场,其可以是针对可交易对象的当 前可获得的最佳出价和最佳报价,最后交易价格,以及市场中存在待 决数量的其它价格。价格数据可以包括其它感兴趣的项目,或仅包括 某些信息部分。虽然在此以分发价格数据描述了示例实施例,但是可 以在电子交易环境中分发其他类型的信息。
作为交易站102A-B使用的计算机的范围一般可从手持设备, 膝上计算机,或个人计算机到诸如工作站和多处理器的较大计算机。 说明性的个人计算机可以使用Pentium 微处理器,并且可以工作在 Windows操作系统下,或可以使用某些其它微处理器或操作系统。一 般地,交易站102A-B包括监视器(或任意其他输出设备)和输入设备,诸如键盘和/或两键或三键鼠标,以便支持基于点击的交易,如果 希望如此的话。本领域的技术人员将会理解,当前的示例实施例不限
于用于交易站102A-B的任何特定类型或型号的计算机,并且能够选 择适当的系统。
在一个示例实施例中,交易站102A-B使用软件在与其相关联 的终端上创建专用的交互式交易屏幕。交易屏幕优选地使得交易人能 够,尤其是,输入和执行订单,获得市场报价,并且监视状况。交易 人在他或她的交易屏幕上可获得的特征的范围和性质可以随正在运 行的特定软件应用而改变。除了或取代交互交易屏幕,交易站可以运 行自动式的交易应用。
可以任意类型的交易屏幕实现示例实施例,因此,关于交易屏幕 的细节不是理解本发明必须的。然而,在一个实施例中,由来自 Chicago, Illinois的Trading Technologies International, Inc的被称为 X—TRADER 的商业可获得的交易应用提供可以使用的一种类型的 交易屏幕。X—TRADER⑧还提供了一种被称为MD Trader 的电子 交易界面,其中与静态价格轴或刻度尺相关联地显示工作订单和/或买 入数量和卖出数量。
在提交于2000年6月9日的题目为"Click Based Trading With Intuitive Grid Display of Market Depth,,的美国专利No.6,772,132'提 交于2000年6月9日的题目为"Click Based Trading with Market Depth Display"的美国专利No.6,938,011,提交于2001年10月5日的 题目为"Click Based Trading With Intuitive Grid Display of Market Depth and Price Consolidation"的美国专利No.7,127,424,提交于2002 年4月19曰的题目为"Trading Tools For Electronic Trading,,的美国 专利申请No.l0/125,894,和提交于2003年2月28日的题目为"A System and Method for Trading and Displaying Market Information in an Electronic Trading Environment,,的美国专利申请序列号No. 10/376,417中描述了 X—TRADER⑧和MD Trader 类显示的诸部分, 通过引用将上述文献中的每一个的内容结合在此。然而,应当理解,还可以使用任意其他交易应用给出图l和2所示的系统中的订单。另 外,优选实施例不限于执行翻译,存储和显示功能的任意特定产品。
用作网关106的计算机的范围一般地可从个人计算机到较大或 较快的计算机。说明性的网关计算机可以使用PentiumTM微处理器, 并且可以工作在Windows (服务器或工作站)操作系统或某些其它系 统下。 一般地,网关106附加地包括监视器(或任意其他输出设备), 输入设备,和对数据库的访问,如果希望如此的话。计算机系统领域 的技术人员还将会理解,当前的示例实施例不限于用于网关106的任 意特定类型或型号的计算机(多个),并且能够选择适合的系统。附 加地,在某些情况下,诸如网关106的网关甚至不是必须的,和/或可 以使用另 一 种类型的网络中间设备。
应当注意,在此被用作为交易站或网关的计算机系统一般包括中 央处理单元,存储器(主和/或辅存储器单元),用于从通信网络接收 数据的输入接口,用于从一个或多个输入设备(例如,键盘,鼠标等) 接收输入信号的输入接口,以及用于与输出设备(例如,监视器)通 信的输出接口 。系统总线或等同的系统可以提供各种这些元件之间的 通信。
网关106或交易站102上的存储器包括计算机可读介质。如在此 使用的,术语"计算机可读介质,,指参与向处理器单元提供指令以便 执行的任意介质。这种介质可以采用许多形式,包括但不限于,非易 失性介质和传输介质。非易失性介质包括例如光盘或磁盘,诸如存储 设备。易失性介质例如包括动态存储器,诸如主存储器或随机存取存 储器("RAM,,)。计算机可读介质的常见形式包括例如软盘,柔性盘, 硬盘,磁带,穿孔卡,CD-ROM,任意其他物理介质,存储器芯片 或盒式 磁带,或计算机可读的任意其他介质形式。
应当注意,交易站102A-B —般地在交易站的操作系统的控制 下执行驻留在交易站102A-B上的应用程序。同样,网关106在网关 106的操作系统的控制下执行驻留在网关106上的应用程序。在其它 实施例中并且如本领域的技术人员理解的,可由网关106执行交易站102A-B处的应用程序的功能,并且类似地,可由交易站102A-B 执行网关106处的应用程序的功能。
实际的电子交易系统配置是各种各样的,并且电子交易系统领域 的技术人员能够构造适合的网络配置。出于说明的目的,提供了某些 示例配置,以便i兌明元件可以物理地位于^f可处,以及它们可被如〗可连 接以便形成电子交易系统。这些说明旨在帮助读者,并且不意味着作 为限制。根据一个例子,网关设备可以与交易站一起位于通常远离电 子交易所的匹配处理的客户站点。根据另一个例子,网关设备可以位 于交易所侧。从而,本发明不限于任意实际的网络配置。
#4居示出的实施例,交易站102A-B,网关106和任意路由器 在LAN 104上通信,并且网关106可以在Tl, T3, ISDN或某些其 它高速连接上与电子交易所108处的匹配处理通信。在另一个示例说 明中,客户站点可位于电子交易所的实际场所(例如,在交易所的建 筑内)。根据该情况,交易站和网关仍然可以在LAN上通信,但是 如果使用了任意路由器,它们可以通过T1, T3或ISDN之外的另一 连接手段与电子交易所处的匹配处理通信。在另一个示例说明中,网 关可被容纳在其相应的电子交易所处,或接近其相应的电子交易所。 根据这种情况,交易站可以在广域网上或通过使用Tl, T3, ISDN或 某些其它高速连接与网关通信。
虽然图l示出了单个交易所,应当理解交易人可以访问多个电子
交易所并且进行交易。在这种实施例中,客户终端可以通过多个网关
访问多个交易所,每个交易被指定用于特定的交易所。可替换地,可
以对单个网关编程,以便处理多于一个电子交易。
给交易人提供交易在不同电子交易所列出的可交易对象的机会 将是非常有价值的。例如,交易人可以通过一个公共视觉显示器观看
每个可交易对象的市场信息。从而,可以一起呈现来自两个分离的交 易所的价格和数量信息,从而交易人可以在相同窗口中同时观看两个 市场。在另一个例子中,交易人可以差价交易(spread-trade)在不同电 子交易所列出的不同可交易对象。不论怎样,本发明不受如此的限制。
13II. 示例系统配置
图2是示出了根据一个示例实施例的用于传递新的且改进的价 格馈送的示例系统200的方框图。示例系统200包括给价格馈送服务 器206提供价格数据204的交易所202。价格馈送服务器206处理收 到的价格数据204,以便产生下面更详细描述的新的且改进的价格馈 送208。然后将价格馈送208提供给客户终端210。
虽然未具体示出,应当理解价格馈送服务器206可以位于交易所 202。可替换地,价格馈送服务器206可以位于网关。可替换地,价 格馈送服务器206可以是与交易所202和网关通信的自立实体。另夕卜, 虽然出于说明的目的仅示出了单个客户终端,应当理解价格馈送服务 器206可将价格馈送208通过多播或通过当前已知或以后开发的某些 其它通信方法传送到多个客户终端。
III. 示例价格数据馈送产生
现有的价格传递方法受到许多限制,并且大部分通常使用的基于 delta的市场数据传递需要高级别的网络可靠性,这导致招致用于快速 变动的市场的不必要的存储器,带宽和处理资源消耗。提出的新的价 格馈送,尤其是,具有解决这些问题的益处。
通过相应于连续价格之间所允许的最小价格增量的单位大小 (tick size)来表述典型的可交易对象的深度价格。对于快速变动的 高容量市场,价格通常在其在市场内的相对位置之间具有线性关系。 换言之,在大多数情况下,深度价格是相邻价格级别的价格之间相差 的一个单位。例如,具有单位大小为10的一组出价{50,40,30,20, 10} 和同样具有单位大小为10的一组报价{ 60, 70, 80,卯,100, 110}具有线 性关系,这是由于所有价格都有单个单位偏移。通过提供单个基准价 格级别和多个数量值,基于每个价格相对于基准价格的相对位置,为 在价格更新中指定的每个数量推导出其它价格,在此描述的示例价格 馈送的诸方面利用价格级别的这种线性属性。
虽然市场往往是线性的,有时它们可能表现出非线性,诸如例如 当出{介方或报价方的一组价格为{60, 70,卯,100, 110}时。在这个例子中,由于不是所有价格级别都有单个单位偏移,诸如第二个价格级别
"70"和第三个价格级别"90,,相差2个单位,市场被认为是非线性的。 根据用于新价格馈送的示例实施例,除了提供基准价格级别,在价格 更新消息中发送引入了非线性的价格。在线性或非线性市场中,消除 了对在价格更新消息中发送若千价格级别的需要导致高效压缩的价 格馈送,同时客户终端处对压缩更新的处理涉及已知值的加减运算。 下面的例子给出了根据示例实施例的若干价格馈送消息。下面的 多数例子给出了用于提供每个价格级别的合计数量值的消息格式。然 而,应当理解,当系统被配置为提供与待决于某一价格级别的每个订 单相对应的各个数量值时,可以与每个价格级别相关联地定义多于一 个数量值。还给出了用于提供每个价格级别的详细数量值的消息格 式。
图3是示出了根据一个示例实施例的用于发送价格和合计数量 数据的消息300的示例格式的方框图。
示例消息300包括若干分组头字段。分组头字段包括版本字段 302,块标识符字段304,快照标识符字段306,大小字段308,序列 号"sqn"字段310,和过滤关键字字段312。版本字段302定义用于创 建消息300的协议版本标识符。可以在接收消息300的客户终端处使 用协议版本标识符,以便使用用于创建该消息的协议的指定版本解码 消息。块标识符字段304定义消息中是否包括数量,价格,或其它数 据块。快照标识符字段306定义消息中是否使用快照数据传递。如果 未设置快照标识符字段306,还可以使用不同类型的市场传递。虽然 这些示例实施例集中于基于快照的市场数据传递模型,应当理解,消 息300可以包括定义诸如delta传递模型,快照和delta传递模型的组 合,或某些其它模型的其它市场传递类型的附加字段。
再次参考消息300,大小字段308以字节定义消息的大小。根据 一个示例实施例,可以定义最大分组大小,诸如例如,1024字节。序 列字段310标识一个计数器值,每次向客户终端发送一个消息,就递 增该计数器值。可以在客户终端处使用在消息300中指定的增加的计数器值以检测分组丢失。根据一个示例实施例,如果分组丢失超过了 预定的阈值,客户终端可以向价格馈送服务器发送针对特定更新的重
发请求。最后,消息300的头部中的过滤关键字字段312包括基于交 易所名称,可交易对象的符号,以及唯一标识给定的可交易对象的一 系列名称和一系列关键字的级联而产生的32位循环冗佘检验 ("CRC")。根据一个示例实施例,产生过滤关键字以便形成唯一值, 从而可以在客户终端或其它网络实体处使用过滤关键字滤除不需要 的数据。
接着,消息300包括具有类型字段314,长度字段316,若干块 特定字段,在此被示出为318-340,的块头(block header)。类型字 段314定义包括在消息300中的块类型。根据一个示例实施例,可以 存在不同的块类型,包括唯一标识给定的可交易对象的安全ID,定义 如何表示价格的单位数据,深度,暗示深度,诸如最后交易价格/数量 的交易数据,诸如最高/最低交易价格的会话数据,理论市场,直接市 场,指导性市场,来自暗含市场的暗示,市场价格,以及给定可交易 对象的转变交易状态,诸如开盘(open),收盘(close)等。根据一个 示例实施例,可以使用不同的二进制标识符定义这些说明性的数据类 型。例如,"0"到"11"可用于表示每个示例的块类型,"0"相应于安全 ID类型,"l,,相应于单位块类型,并且依此类推。应当理解,给出的 类型仅是例子,并且还可以使用在此描述的方法提供不同的数据类 型。
接着,假设块类型被设为深度价格,暗示价格,理论价格,指导 价格,直接价格,或可以基于市场数据计算的某些其它价格,如消息 300中所示使用字段318 一 340。 "a size"字段318定义在消息300中发 送的报价的数目。根据一个示例实施例,可以定义报价的最大数目, 以便限制在消息300中提供给客户终端的报价级别的数目。在图3提 供的例子中,消息300包括在320- 328处示出的报价字段'al - a5, 的5个报价级别。根据一个示例实施例,报价字段320-328是指示 哪些报价是非线性的位图。如在下面使用特定例子更详细地示出的,
16如果在任意报价字段中设置了一个位,则传输相应的价格。如果清除了一个位,则假设相应的价格好于/劣于前一个价格级别一个单位,并
且不被传输。而是接收消息300的客户终端可以使用指定的位图来确定相应于在消息300中指定的每个数量的价格级别。另外,根据一个示例实施例,如果报价数目大于O,则优选地设置'al,字段320中的位。
类似于在消息300中提供的与报价相关的信息,'b size,字段指示在消息300中发送的出价部分的数目,在332-340示出了出价字段。类似于报价字段,使用出价字段332 - 340指出哪些出价是非线性的。根据一个示例实施例,如果报价数目设置为"0",则设置出价字段332,并且出价数目大于"0"。如果清除了"bl"字段并且出价数目大于"0",出价劣于相应于"al"的报价一个单位。如果设置了任意出价字段中的一个位,则传输相应的价格。如果清除了一个位,假设相应的价格好于/劣于前一个价格一个单位,并且不传输该价格。
消息300还包括若千卖出数量块,在342 - 350示出的"ask qty 1-ask qty 5",买入数量块,在352 - 360示出的"bid qty 1 - bid qty 5",才艮^H介格块,在362 - 370示出的"ask price 1 - ask price 5",以及最后出价价格块,在372-380示出的"bid price 1-bid price 5"。根据一个示例实施例,在消息300中传输的卖出数量的数目等于在"a size"字段318中指定的报价数目,并且出价方数量的数目反映"bsize"字段330中的数目。虽然在消息300中为出价方和报价方示出了 5个数量块,应当理解,根据系统配置,还可以传输不同数目的出价和报价级别。
现在参考报价/出价价格块,被传输的价格的数目等于在320-328和332 -340的'al - a5,和'bl - b5,中设置的位的数目。根据一个示例实施例,传输单个基准价格,并且不传输线性市场中的其它价格,而是客户终端基于给定市场中与其它价格相关联的已知的线性特性来确定更新中未提供的价格。例如,基准价格可被设置为最佳报价或最佳出价价格。然而,应当理解,基准价格还可被设置为不同的价格。在最佳报价是基准价格并且其它报价价格为线性的例子中,在"ask price l"块中传输最佳报价价格,并且不在消息300中传输其它才艮价 价格。根据一个示例实施例,如果市场中没有价格部分,仅将块头发 送给客户终端,其中报价和出价数目字段被清零,以便指示所有数量 和价格等于0,或者不被发送。
下面将使用特定的例子说明用于产生和传递新数据馈送的上述 实施例。应当理解,这些例子仅是说明性的,并且还可以有对下面给 出的例子的不同变型或修改。
A. 深度为一个级别的例子
虽然通常向客户终端发送多级深度,偶尔可能发送一个级别的深 度。根据一个示例实施例,当由交易所提供指导价格,直接价格,或 第二代暗示价格,以及理论价格时,可以为这些价格发送一个级别的
深度。另外,当客户终端预订仅接收内部市场数据时,可以提供一个 级别的深度。
图4A和4B示出了一个级别的示例深度400和为示例深度400 产生的消息格式402。根据图4A所示的示例实施例,内部市场包括 最佳出价价格级别"50,,的买入数量"89,,以及最佳报价价格级别"60" 的卖出数量"81"。如图4B所示的消息402中所示,报价和出价数目 字段404和406都被设置为"l",以便指示将在消息402中发送的单 个出价和报价。然后,由于在该消息中将最佳报价价格用作基准价格, 报价位图408中的第一个字段被设置为"l",报价位图408中的其它 字段和出价位图410被设置为"0"。基于图3所示的消息配置,消息 402定义字段412中的卖出数量"81",字段414中的买入数量"89", 以及字段416中的基准报价价格级别60。
B. 5级深度示例线性市场
在大部分交易环境中,给客户终端提供多个市场深度级别。图 5A和5B示出了示例市场数据組500和消息502,根据在此描述的示 例实施例产生消息502以便传递该市场数据。参考图5A,市场数据 500包括具有相应数量的5个报价级别和5个出价级别。由于在示出的市场数据500中有5个出价和5个报价,报价数目字段504和出价 数目字段506两者都被设置为"5"。市场数据500的所有价格彼此相 差一个单位,单位大小为"10",因此市场数据是线性的。使用上面提 供的例子,在消息更新中使用最佳报价价格作为基准价格,并且根据 市场数据500的线性价格特性,消息502仅示出了在报价位图508的 第一个字段中设置的单个位,报价位图508以及出价位图510中的其 它位被设置为"O"。
现在参考消息502的块字段,前5个块512 - 520包括5个卖出 数量级别,第一个卖出数量块512列出了相应于处在最佳报价价格的 数量,第二个卖出数量块514列出了处在下一个报价价格级别的数量, 并且依此类推。然后,下面5个块522- 532包括5个买入数量级别, 第一个买入数量块522列出了处在最佳出价价格的数量,第二个买入 数量块524列出了处在下一个出价价格级别的数量,并且依此类推。 如前所述以及在位图508中所示,最佳报价价格被用作基准价格,并 且因此被包括在块532中。由于其它价格具有线性特性,不在消息502 中包括其它价格。
C.5级深度的示例非线性市场
如前所述,虽然大部分活跃、快速改变的市场是线性的,但是某 些市场可能偶尔表现出非线性特性。图6A和6B示出了非线性市场的 示例市场数据組600和为这种市场产生的示例市场更新消息602。在 示出的市场数据组600中,报价价格为"60", "80,,和"90",并且出价 价格为"40", "30"和"10"。在其余价格"70", "50"和"20"没有待决的 数量。由于不存在待决于三个价格级别的数量,因此根据在此描述的 一个示例实施例,不发送这些价格。由于存在具有待决数量的三个报 价和出价价格级别,消息602中的报价和出价数目字段604和606指 示"3"。
现在,查看"11000,,的报价位图608 ,第一个位被设置为1,以 便指示将传输最佳报价价格,在此报价价格级别"60"。然后,设置第 二个位,以便指示还传输第二个最佳报价价格,在此报价价格"80"。由于报价位图中的所有其它位被设置为"0",不传输附加的报价价格, 因此指示相应于包括在消息602中的数量的其它价格都是线性的。
现在参考消息602的块字段,前三个块612-616包括三个卖出 数量级别,第一个卖出数量块612列出了处在相应于最佳报价价格的 数量,第二个卖出数量块614列出了处在下一个报价价格级别——在 此为"80"的价格级别——的数量,并且第三个卖出数量块616列出了 处在下一个报价价格级别"90"的数量。然后,下面三个块618-622 包括分别相应于出价^f介格级别"40", "30"和"10"的三个买入数量级 别。最后,基于上面解释的位图,除了在块624中传输设置为最佳报 价价格的基准价格之外,在块626提供非线性报价价格,并且在块628 和630中提供两个非线性出价价格级别。
D.可替换的消息格式
图7是示出了根据另 一个示例实施例的可替换的消息块格式700 的方框图。根据图7所示的实施例,在不同的消息块中指定出价和报 价;然而,这些块可被組合到单个消息中。例如,示例消息可以包括 出价深度块,报价深度块,暗示出价深度块,暗示报价深度块等,下 面将更详细地描述其例子。
参考图7,消息700包括具有类型字段702,长度字段704,数 目字段706,以及位图字段708的头部。类似于上面示出的消息,类 型字段702是定义在消息块700中指定的数据的类型的块标识符。示 例的消息块类型包括直接市场出价/报价深度,直接市场报价深度,暗 示市场出价深度,暗示市场报价深度,详细出价深度,详细报价深度, 最后交易价格/数量等。长度字段704以字节定义分组有效栽荷的长 度。深度大小字段706指定市场数据项的数目。然后,位图字段708 定义是否在消息块中发送特定的价格。在图7所示的实施例中,每个 价格字段后跟有数量字段,其定义待决于相应于前面的价格字段的价 格级别的数量。类似于前面描述的实施例,仅在消息块中发送基准价 格,并且基于在位图708中指定的位来定义非线性价格。虽然在位图 708中指定了8个位,但是应当理解,还可以使用更少或更多的位以便示出更少或更多的价格级别。在图7所示的实施例中,每8个价格 级别/数量組合对,定义另一个位图,诸如位图742,其相应于在位图 742之后指定的数据。
类似于上面给出的例子,当写或读图7的消息块时,用于推断未 写的价格的值基于读/写的数据的类型。对于直接和暗示报价市场深 度,如果未写价格,应用于前一个值的偏移量被设置为"l",或根据 为给定的可交易对象指定的单位定义,设置为某些其它值。类似于上 面给出的例子,最低报价价格被用作基准价格。然后,对于直接和暗 示市场出价深度,偏移量被设置为"-l"。如果提供了详细的深度, 诸如当为每个价格级别指定了相应于待决订单的多个数量值时,应用 于与相同价格相关联的数量的偏移量被设置为"O",下面提供其例子。
l.第一个非线性市场深度的例子
图8示出了为市场深度804的出价方和报价方创建的示例消息块 800和802,所述市场深度804在出价方和报价方均具有少于8个价 格级别。市场深度804示出了出价方和报价方的非线性市场。消息块 800的头部包括出价深度类型806,长度字段808,若千出价字段810 和位图812。长度字段808定义消息块800的长度。应当理解,消息 块800的长度可以取决于是否对消息块800中指定的所有或某些数据 使用任何压缩。位图812定义在消息800中发送的价格级别。如位图 812中所示,由于第一个位被设置为"l,,,发送最佳出价"100"。然后, 由于下面两个出价价格是线性的,所以不传输下两个出价价格,并且 具有待决数量的下一个价格"60"是非线性的,并且因此被传输。下面 的价格"50,,是线性的,并且因此在位图812中指定为"O"。
现在参考消息块字段,第一对字段814和816定义最佳出价价格 "100"以及最佳买入数量"25"。然后,由于下面两个价格级别是线性 的,块字段818和820定义这两个线性价格级别处的数量32和数量 64。下面的块字段822和824定义非线性价格级别"60"和待决数量 "95"。最后,由于最后的价格级别是线性的,所以最后的块字段826 定义在下一个线性价格级别"50"处待决的数量"48"。如类型字段828中所示,消息块802用于定义报价深度。由于消 息块802的长度可以根据是否使用任意压缩而改变,所以如830所示 未指定消息块802的长度。数目字段定义在消息块802中提供的4个 价格/数量级别,并且位图834示出在消息块802的块字段中指定了哪 些价格。如位图834所示,最佳报价价格被用作基准价格级别,并且 在块字段836中被发送,并且如块字段842所示,相对于笫三个位指 定附加的非线性价格。所有其它块字段838, 840, 844和846定义在 相应于该块字段的每个相应价格级别处的数量值。2. 第二非线性市场深度的例子图9示出了为市场深度904的出价方和报价方创建的示例消息块 900和902,所述市场深度904在出价方和才艮价方均具有多于8个价 格级别。如902所示,出价消息块900用于传输10个深度级别,并 且具有两个位图904和906,第一个位图定义传输前8个出价价格级 别中的哪些,并且第二个位图定义是否传输任意附加的价格。如第一 个位图904所示,由于笫一个位被设置为"l",所以传输最佳出价价 格级别。然后,由于其余的7个价格级别是线性的,所以位图904中 的所有其它位被设置为"O"。 908所示的块字段包括最佳出价价格 "170",所有其它字段定义处在该8个价格级别的数量。然后,位图 卯6定义是否传送两个附加的出价价格级别中的任意一个。由于最后 两个出价价格级别是线性的,所以在块字段910中仅传输相应于这些 价格级别的数量。现在参考报价消息块912,如在914定义的,块912中存在^皮传 输的11个报价价格级别。对于前8个价格级别,存在两个被传输的 价格级别,最佳报价价格和相应于非线性价格的第7个报价价格。因 此,第一位图916包括设置为"l"的第l和第7个位。918示出的块字 段使用上述格式定义了传输的价格及数量。然后由于最后两个报价价 格是线性的,位图920中没有位被设置为"l",并且在922所示的块 中发送相应于线性价格的数量。3. 处在价格级别的各个定购数量的例子图10示出了用于提供每个价格级别的详细深度的示例消息块格式。更具体地,如上面所解释的,不是提供处在每个价格级别的单个 合计数量,而是如果存在待决于该价格级别的多于一个订单,可为每个价格指定多个数量值。图10示出了示例的市场深度1000以及分别 用于表示市场深度1000的出l介方和才艮价方的两个消息块1002和 1004。出价消息块1002包括上面描述的头字段,由于在消息1002中提 供6个值,所以数目字段1006设置为"6"。消息1008的格式符合图7 所示的格式,其中在紧跟着用于定义处在其的数量待决的价格的字段 之后的消息块字段中指定数量值。因此,由于存在用于定义每个价格 级别的数量值的多于一个的字段,位图1008用于指定哪些块字段列 出价格级别。在位图1008中,设置了第一个位以便指示在价格字段 1010中传输最佳出价价格。根据标准消息块配置,价格字段1010后 面跟有数量字段1012,数量字段1012定义待决于最佳出价价格的订 单的第一数量值。然后,由于下两个字段用于表示价格级别相同而不 是价格不同的数量,不设置位图1008中的下两个位,并且在字段1014 和1016中定义数量。然后,由于下一个字段1018用于定义下一个价 格值"205",设置位图1008中的第四个位。然后,使用三个消息字段 1020 - 1024表示与待决于价格级别"205,,的各个订单相对应的数量。使用与针对出价消息块1002描述的方法相同的方法产生报价消 息块1004。由于消息块1004中表示了多于8个值,使用两个位图指 示使用哪些消息字段传输价格。IV.压缩在上面提供的例子中,以二进制格式发送在消息中指定的每个数 量和价格值。根据一个示例实施例,即使可使用较少数目的字节表示 值,也使用标准数目的字节,例如4字节,来表示每个值。这种实施 例导致使用多于实际所需的字节发送数据。可以使用应用于在消息中 提供的数量值和价格值的许多不同的压缩方案来克服该缺陷。根据一个示例实施例,可以使用整数压缩表示上述消息中的数量23和价格。整数压缩指这样的压缩方法,其中仅以最少数目的字节表示 给定的值,使用最高有效位或最低有效位处的附加位图表示数据串的长度。例如,在使用4字节表示给定值的上面给出的例子中,可以使用第一字节的前几个位表示给定数据串的长度。在这种实施例中,如 果第一个位设置为"0",则假设使用单个字节表示值。然后,如果前 两个位是"1"和"0",使用两个字节表示值,如果前三个位是"l", "1" 和"0",使用三个字节,并且最后如果前三个位都被设置为"l",使用 4个字节等。如前所述,还可以使用表示为每个值发送的字节数的不 同方法。整数压缩导致每个消息中的数据数目的显著减少。例如,再次参 考为非线性市场产生消息的图5A和5B中的例子,在消息中提供相应 于数量和价格的10个值。在使用4字节表示每个值的环境中,表示 消息中的IO个值所需的数目为44字节。使用提出的整数压缩方法, 由于足以用单个字节以二进制格式表示每个值,所以仅需要10字节 来表示相同的10个值。还可以将上述的压缩方案和delta方法相结合,以1更进一步减少 每个消息中的数据数目。图IIA和IIB示出了使用delta方法产生的 示例非线性市场深度1100和示例消息1102。类似于上面给出的例子, 使用最佳报价价格"12160,,作为基准价格级别。类似于图6B中提供的 例子,由于如消息块1112-1122所示,在消息1102中传输3个买入 数量和3个卖出数量,所以出价和报价数目字段1104和1106指示"3"。 然后,1108所示的报价位图为"11000",并且1110处的出价位图为 "10100"。在图IIB所示的例子中,不是表示非线性市场中的所有价格, 而是指定单个基准价格,在此为报价价格块1124中的最低报价价格 "12160",并且使用偏移量方法指定所有其它非线性价格。基于基准 价格,下一较高的报价价格与基准价格相差2个单位,并且因此在出 价价格块1126中指定"20",以便指示基准价格和下一个非线性价格 级别之间的偏移差。然后,由于下一个报价价格是线性的,在消息1102中仅指定相应于下 一个报价价格级别的数量,而不指定价格级别的偏移值。然后,如以示出的深度1100所示,最佳出价值与最佳报价价 格相差2个单位,并且因此在出价价格块1128中指定最佳出价价格 的偏移量。由于如位图1110中所定义的,下一个出价价格"12130"是 线性的,所以不传输该价格。然后,下一个出价价格"12110"是非线 性的,并且因此在块字段1130中指定偏移值。虽然图11B中示出的 例子使用实际价格差示出了偏移值,但是应当理解,可以使用指定单 位级别差的单个数字值来定义偏移量。如前所述,可以使用整数压缩方法或某些其它方法压缩在消息 1102中定义的价格和数量。在图11B所示的实施例中,使用2个字 节表示值"12160"。如果使用实际值表示所有其它的价格级别,则将 使用2个字节表示每个价格级别,因此导致以8个字节表示4个价格 级别。然而,由于使用实际价格级别值仅指定了一个基准价格,并且 使用偏移值表示其它三个价格,所以偏移值足够小,从而可以使用单 个字节表示它们。因此,通过结合发送非线性价格的delta方法使用 整数编码,对于示出的价格级别,消息的大小可以减小3字节。随着 价格级别数目的增加,节省也会增加。虽然未在上面示出的消息中具体地说明,但是应当理解,当使用 压缩方法时,可以使用delta方法表示每个消息中的数量,以便进一 步减少消息大小。本领域的技术人员将会理解,还可以有消息格式的 许多不同变型。V.各种其它市场数据消息格式除了提供与市场深度相关的数据之外,存在通常在电子交易环境 中提供给客户终端的其它数据类型。下面将描迷某些示例数据类型和 示例消息。应当理解,还可以针对在下面的消息中提供的数据使用上 述的压缩方法。A.交易数据图12是示出了可用于向客户终端发送交易数据的示例消息1200 的方框图。消息1200包括最后交易数量("ltq")字段1202,最后交易价格("Up")字段1204,以及总交易数量("ttq,,)字段1206。虽 然未示出,除了示出的字段之外,消息800还可以包括块头部。 B.会话数据
图13是示出了可用于向客户终端发送会话数据的示例消息1300 的方框图。可以发送消息1300,以便通知客户对会话价格和其它信息 的更新。类似于图12所示的消息,消息1300包括块头部。在图13 中示出的消息字段包括5个与价格有关的字段1302- 1310,其分别定 义会话高价格,会话低价格,会话开盘价格,会话收盘价格,以及会 话结算价格。然后,字段1312定义可交易对象的当前状态,并且字 段1314定义会话标识符,诸如创建的用于标识当前交易会话的32位 标识符。
虽然已经示出了几个附加的消息,应当理解,可以使用许多不同 的消息以便传递附加的与市场相关的数据。
虽然已经详细描述和il明了示例程序,处理和方法,应当清楚地 理解,这些示例程序,处理和方法仅是说明和例子,并且不被视作为 限制。因为本领域的技术人员容易想到多种修改和改变,不希望将本 发明局限于示出和描述的精确构造和操作,并且因此,可以采取落在 本发明的范围内的所有适合的修改和等同。
根据一个实施例,示例的系统采取存储在计算机可读存储介质上 并且可由基于计算机的设备中的适合的指令执行系统执行的计算机 程序产品的形式。如在此使用的,术语计算机可读介质指参与给处理 器提供指令以便执行的任何介质。这种介质可以采取许多形式,包括 但不限于非易失性介质,易失性介质,和传输介质。非易失性介质包 括例如光盘或磁盘,诸如存储设备。易失性介质包括动态存储器,诸 如主存储器或RAM (随机存取存储器)。计算机可读介质的常见形 式包括例如软盘,柔性盘,硬盘,磁带,或任意其它磁介质,CD-ROM, 任意其它光学介质,穿孔卡,纸带,具有孔图案的任意其他 物理介质,RAM, PROM和EPROM, FLASH-EPROM,和任意 其他存储器芯片或盒带,或计算机可读的任意其他介质。根据可替换实施例,硬件实施例可以采用多种不同形式。可以将
硬件实施例实现为专用集成电路("ASIC")或具有定制门阵列的集成 电路。还可以用离散的硬件组件和电路实现硬件实施例。具体地,应 当理解,可以在专用诸如ASIC的硬件中实现流程图中所描述的逻辑 结构和方法步骤,或将其实现为由微处理器或其它计算设备执行的程 序指令。本领域的普通技术人员将会理解,上述方法可被包括在包括 一个或多个计算机可读介质的计算机程序产品中。例如,计算机可读 介质可以包括可读存储器设备,诸如硬驱动设备,CD-ROM, DVD -ROM,或其上存储有计算机可读程序代码段的计算机磁盘。计算 机可读介质还可以包括通信或传输介质,诸如其上将程序代码段承栽 作为数字或模拟数据信号的总线或光学的,有线的或无线的通信链 路。
权利要求不应理解为限于描述的顺序或元素,除非说明如此。因 此,落在下面的权利要求和其等同的范围和精神之内的所有实施例被 要求作为本发明。
权利要求
1.一种用于在电子交易环境中提供市场数据的方法,包括接收可交易对象的市场信息,所述市场信息包括多个价格级别,对于每个价格级别,存在定购数量,并且所述市场信息还包括待决于所述多个价格级别中的每一个的定购数量;选择所述多个价格级别的基准价格级别;和产生价格馈送消息,所述价格馈送消息包括所述基准价格级别和待决于所述多个价格级别中的每一个的所述定购数量,从而在接收终端处使用所述基准价格级别将每个所述定购数量映射到所述多个价格级别中的一个相应的价格级别。
2. 如权利要求l所述的方法,其中所述市场信息包括具有当前 最高出价价格级别和当前最低报价价格级别的内部市场,所述方法还 包括使用所述当前最高出价价格级别或所述当前最低报价价格级别 作为所述基准价格级别。
3. 如权利要求l所述的方法,其中处在所述价格馈送消息中的 所述多个价格级别中的每一个的定购数量包括一个或多个订单的合 计数量。
4. 如权利要求l所述的方法,其中处在所述价格馈送消息中的 所述多个价格蘇别中的每一个的定购数量包括一个或多个单独的定 购数量。
5. 如权利要求l所述的方法,其中所述多个价格级别是线性的。
6. 如权利要求l所述的方法,还包括确定所述多个价格级别中的哪些在接收到的市场信息中是非线性的;以及除了待决于所述多个价格级别中的每一个的所述定购数量之外, 还产生包括所述基准价格级别和非线性价格级别的价格馈送消息,从个所述定购数量映射到所述多个价格级别中的一个相应的价格级别。
7. 如权利要求6所述的方法,还包括在所述价格馈送消息中提供多个映射指示符,所述映射指示符用 于指示所述基准价格级别和所述非线性价格级别。
8. 如权利要求7所述的方法,还包括 产生用于出价价格级别的多个映射指示符;和 产生用于报价价格级别的多个映射指示符。
9. 如权利要求7所述的方法,其中所述多个映射指示符包括具 有多个字段的位图,在所述接收终端处使用所述多个字段为在所述价 格馈送消息中指定的所述定购数量重建所述多个价格级别。
10. 如权利要求6所述的方法,还包括在所述价格馈送消息中提供位图,其中所述位图用于确定所述多 个价格级别中的哪些作为所述基准价格级别和所述非线性价格级别 被包括在所述价格馈送消息中。
11. 如权利要求l所述的方法,还包括在所述价格馈送消息中提供位图,其中所述位图用于确定所述多 个价格级别中的哪一个作为所述基准价格级别被包括在所述价格馈 送消息中。
12. 如权利要求l所述的方法,还包括向客户终端发送所述价格馈送消息;以及 在所述客户终端处使用所述基准价格级别来为在所述价格馈送 消息中指定的所述定购数量重建所述多个价格级别。
13. 如权利要求l所述的方法,还包括 向网关发送所述价格馈送消息。
14. 如权利要求l所述的方法,其中所述多个价格级别包括多个 直接价格级别,并且所述多个定购数量包括多个直接定购数量。
15. 如权利要求l所述的方法,其中所述多个价格级别包括多个 暗示价格级别,并且所述多个定购数量包括多个暗示定购数量。
16. 如纟又利要求1所述的方法,还包括 使用压缩算法压缩表示所述定购数量的所述价格馈送消息。
17. 如权利要求16所述的方法,其中所述压缩算法包括整数压 缩算法。
18. 如4又利要求16所述的方法,还包括提供至少一个字节表示待决于所述多个价格级别中的一个的定 购数量;和使用所述至少一个字节中的第一个字节的至少一个位表示使用 多少字节表示所述定购数量。
19. 如权利要求l所述的方法,还包括使用压缩算法来压缩表示所述基准价格级别的所述价格馈送消息。
20. 如权利要求6所述的方法,还包括使用压缩算法压缩在所述价格馈送消息中提供的所述非线性价 格级别。
21. 如权利要求l所述的方法,还包括为处在所述多个价格级别中的一个价格级别的所述多个定购数 量中的至少一个定购数量定义偏移值,所述偏移值定义所述至少一个 定购数量与处在前一个价格馈送消息中提供的所述多个价格级别中 的 一个价格级别的数量相比的改变。
全文摘要
描述了用于价格馈送产生的系统和方法。根据在此描述的示例方法,在接收到包括多个线性价格和定购数量的市场信息之后,选择基准价格级别,并且产生价格馈送消息以便包括该基准价格级别和多个定购数量。然后将价格馈送消息提供给客户终端。
文档编号G06Q40/00GK101675448SQ200880014879
公开日2010年3月17日 申请日期2008年5月1日 优先权日2007年5月10日
发明者J·普拉蒂, K·D·卡赫利, R·A·维斯特 申请人:贸易技术国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1