基础设施:系统通信和数据库
正如我们即将看到的,这个系统的工作将最终由一系列低耦合度的计算机程序组件来完成。为了让这些组件之间能够互相沟通,我们会在系统中的每一个远程和控制服务器中植入一个Tervela 公司的TMX 信息交换机以及它的支持产品。TMX 交换机将作为所有需要相互通信的组件之间的信息中转站。
要安装TMX 服务(这个原则也适用于任何类型的基于"发布与订阅" 机制的系统通信解决方案),我们需要定义一系列的"话题",也就是消息类型,组件使用这些消息类型在彼此间进行通信。例如,我们可以定义一种叫做"交易"的消息类型,并且只要发生了一笔交易,就可以在系统中统一使用这种消息来通知其他的组件。一条"交易" 的消息会包含一系列严格定义的细节,例如交易的产品种类、交易所、交易价格等。任何与交易相关的组件都会订阅这个"话题"。一个典型的高频交易系统的"话题"列表可能会很长,其中"话题"的种类可以达到数千种之多,例如理论价格的变动、新市场数据的接收、交易员调整系统参数等。
与大多数其他的计算机系统一样, 一个高频交易系统也会产生各种各样的数据,并且需要保存下来:可交易证券的列表( 例如股票代码表) 、交易记录、持仓头寸、收盘价、交易所编号、用户密码、交易员的名字, 等等。这些数据因为各种各样的原因都需要被永久保存。例如当系统重启时(可能是管理员有意为之,也可能是因为发生了某种系统崩溃),它必须知道在重启前的各种系统状态:当前的持仓头寸、人为设定的参数等;当然,各种数据挖掘和系统报告也都需要这些数据。为此,我们的系统将为每一个服务器站点上配置一个关系型数据库,例如Sybase 和Oracle 提供的数据库。