论文部分内容阅读
IT业的迅猛发展和日益激烈的竞争使得全球金融服务业发生了根本性变化。本文介绍的是一种交易者可以进行捆绑交易的电子市场。因为该电子市场是建立在分布式目标的基础上,与用公共网关接口数据建立起来的交易体系相比,它具有明显的优势。
一个新兴的电子金融市场正在迅速崛起。买方和卖方在高速网络的连接下聚集在虚拟化的市场环境中,从而带来了商业运作模式的革命性变革。作为率先积极使用IT的行业之一,金融服务行业在短短的几年间创造了一个完全崭新的网上证券交易系统。1996年,在线交易量仅为150万美元,而到1998年底约为530万美元,目前在线交易量占全部零售交易量的25%。未来的科技进步必将带来崭新的交易机制和其他新兴的电子市场。
金融市场的基本功能就是聚集买卖双方,并为他们提供发现资产价格的机制。本文将介绍金融捆绑交易体系(FBTS),即交易者能进行捆绑交易的连续的网络电子市场。通过捆绑交易,交易者可以购买一组股票和资产。我们使用的这种新型的捆绑交易机制是德克萨斯大学奥斯丁分校电子商务研究中心的研究成果(见附录“自动撮合体制”)。
我们运用分布式目标模型来建立FBTS。分布式目标模型又是以JAVA RMI为基础,支持交易应用程序和市场之间的互动交流。这种JAVA RMI 与公共网关接口数据(CGI)相比有显著优势。因为它能通过不断的更新,改善市场和交易应用程序之间的互动行为。运用JAVA语言的多重线性方法,可以实施同步交易和同步控制,还可以进行异步交流。
因为金融领域在IT市场上有着举足轻重的分量,这些创新及由此带来的机构变革反过来又会对IT行业未来在分布式计算和网络应用软件领域的发展带来非常深远的影响。我们坚信,象FBTS这样的金融创新以及它所支持的信息处理技术将对金融市场的组织结构产生巨大冲击。
一、捆绑交易
今天的金融市场是建立在拍卖的基础上。拍卖有好几种形式。例如,纽约证券交易所的专业经纪商们就是人工拍卖员,专门代理客户的买卖。其他一些交易所采取的则是自动化的形式,包括多伦多股票交易所的计算机协助交易体系以及巴黎证券交易所的帐户管理中心。
不论自动化与否,所有这些市场都是一项一项地进行交易,并不支持捆绑交易。捆绑交易是指股票或其他金融工具,如商品、期货、债券等的组合交易。共同基金等机构投资者经常需要进行捆绑交易,因为他们需要轧平头寸。例如,一指数基金为了配平及对标准普尔500指数的多头头寸,需要持有一份证券组合。基金经理必须确保他所持有的这份证券组合价格变动的方向与标准普尔500指数的价格变化相反,这样才能达到匹配的目的。在现行的交易体制下,要达到这个目的,基金经理必须在不同的市场上通过单笔委托一笔笔来完成。这不仅会带来巨额的交易成本,还会增加该有价证券组合总成本的不确定性。
FBTS是交易者可以进行捆绑交易的自动的连续竞价市场。捆绑交易使基金经理可以更多的关注总成本而不再是单个股票的成本。对于基金的运作业绩来说,总成本这个概念要更加重要。
举个例子:假定投资者要买入一个被称为“道氏狗”的证券组合,即由道琼斯工业指数中收益率最高的股票组成的证券组合。假定该投资者买入的是1000份AT&T 、(Dupont) 、Exxon和GM的股票,600份摩根股票和1500份国际纸业的股票。所以在这个证券组合中各个资产的相对权数即为:1:1:1:0.6:1.5。
如表1所示,交易者首先确定每只股票的权数及捆绑交易量,再参考前一天的收盘价和自己的基本分析来确定建议买入价,然后进行限价委托,将前日收盘价看作是公平市场价。在限价委托中,如果市场价格高于限价,就不买入该股票。
第二天, Duppont、Exxon和GM 的股价都高于限价,因而买方的限价委托未被执行。基金经理也就无法获得一个用以匹配头寸的“道氏狗”的证券组合。
应用捆绑交易就可以阻止这一结果的发生。通过捆绑交易,基金经理可以对整个捆绑交易规定一个限价:361美元。这个限价其实就是各只股票的推荐奖与各自权数的简单乘积。如表1显示,加权后的捆绑最高价是360.35美元,低于限价361美元。这样就可以完成捆绑交易,得到一个用于匹配的证券组合。
潜在的市场参与者有3类:做市商、经纪商和公众交易者。现在 FBTS 支持做市商和公众交易者。做市商有机会得到所有的市场信息,而一个公众交易者能够得到的仅仅是市场价格、上日交易量、现时买价和卖价。私人交易者是无法得到诸如其他交易者身份或限价委托表中的所有公开委托的价格、数量之类的信息。这就使他们无法利用其他交易者的私人信息,也无法影响市场价格。
捆绑交易有两大优点: 1.交易者只须提交一次委托命令即可,而不用分别进行几次委托;2.它能确保交易后的证券组合是配平的。如果整个捆绑无法成交,那么没有一桩交易发生,因此交易者总能得到一个匹配的证券组合。
捆绑交易还能改善其他行业的资源配置方法,甚至是那些需要集中决策和类似于集中决策的低效机制的行业。例如,捆绑交易可以应用到航线分配,铁路运输分配及天然气交易等问题中去。
FBTS 有两个基本应用程序:交易所和交易程序。
图1列出了FBTS系统的组成部分和交易模式。FBTS将所有的应用程序都看作是有独特身份并可以通过网络进入的目标体.
交易所是市场应用程序,它通过不同的计算平台管理和协调交易行为。它包括:
1.3个服务商:网络服务商、数据库服务商和命名及指导服务商。命名及指导服务商向整个系统提供独特的目标体辨认服务。
2.限价委托表。这种JAVA 杂乱信号表存储了所有的公开委托命令,那些已经完成或被撤消的委托命令的有关信息将在删除之前存储到交易历史数据库中;
3.委托命令路径选择和通知系统。这一系统监控着限价委托表并负责通知交易者的任务。
4.自动捆绑的撮合程序。这样程序即时撮合订单、计算交易价格和交易数量
这种结构既透明又可升级,说它可升级是因为它的设计允许不同的服务分布于不同的计算机。这不仅仅意味着当使用人数增加时,可以将更多的计算机加入到系统中,同时也意味着服务本身是分布式的。这种委托路径选择体系、限价委托表和撮合程序现在都装载在一个RS/6000多重信息处理器工作站上。但是限价委托表和撮合程序可以从不同的工作站启动和操作。这种分布式目标体的结构确保了当交易规模发展变化时,应用程序不必随之变化,因为它提供了遍及系统的透明的出入渠道和场所。
说FBTS是透明的,是因为下面要介绍的客户应用程序的使用者不必确切的知道限价委托表在哪台机器上。命名和指导服务将一个连贯的捆绑市场展现在交易者面前,而隐藏了该系统的内在构造。不同计算机上的目标体可以连续的向其他目标体索要方法。
二、客户应用程序
要进入客户应用程序必须通过网络浏览器。交易者只需登录即可进行交易了。FBTS 按自己的交易规则设置了检查错误功能,所以它可以在无效委托进入交易系统之前将他们拦截下来。这一功能有助于减少服务商的工作负担,缓冲网络阻塞的压力。
客户应用程序有6个窗口:
1.资产头寸:交易者现时持有资产的情况。“储存项”列出了该交易者尚未成交的空头委托的证券数量。“公开买入量”表示公开委托的证券数量,“净公开委托额”则是上述“储存项”与“公开买入量”之间的差额。
2.信息布告栏:从交易所传送过来的信息正文就是展示在该栏里。
3.新委托命令:交易者可在这里提交新委托命令。交易者并非只能进行捆绑交易委托。如果要进行捆绑交易委托的话,交易者需输入捆绑中各证券的权数。如果要进行空头,按“卖”键,然后再输入捆绑交易量和限价。“收支”按钮反映的是该捆绑交易的净现金流是流入还是流出。
4.尚未成交的委托命令:交易者在该栏中可以查阅到她所提交的当前公开委托命令。包括该委托的日期、限价、时效、上次交易价(如果尚未成交则显示为0),捆绑交易量、公开委托证券数量及总交易额。
5.委托命令历史纪录:该窗口存储了所有委托命令,不论它是进入了交易系统还是被取消了。如果交易者想要得到更多关于以前委托命令的信息,他可以先选定该次委托,然后连接到“历史纪录”按钮上即可。
6.价格信息:提供诸如上次交易价、最佳买卖价等之类的信息。
我们利用摇摆元素来设计客户应用程序。(摇摆元素是JAVA基础类别中实体性的组成工具,带来了图形用户界面GUI 的迅猛发展)。用JAVA 语言和摇摆元素设计出的界面既标准又不失灵活。区别与普通的网页,交易者在该界面上既可以打开多个窗口,又可以将他们最小化或者关闭。
三、CORBA 和 JAVA RMI
通过JAVA RMI 和公共目标体要求代理人结构(CORBA),我们可以将FBTS设计成一个真正活动的应用软件。
CORBA是一个分布式目标体的技术标准。允许目标体超越它们所使用的技术和各自不同的平台独立的进行交流。在CORBA 中,目标体被定义为用界面定义语言(IDL)描述的一系列界面。运作该目标体是独立于界面及其他目标体的。目标体要求代理的模式(ORB)保证了同一网络不同系统的目标体之间的相互可操作性。
RMI是用JAVA 语言编写的分布式目标体应用程序的框架。如果所有应用软件都处在纯JAVA语言环境中,那么该框架可以使我们更简单的操作分布式目标体。(我们认为JAVA语言环境非常适合于动态的和互动的分布式应用程序。)我们将交易所设计为一个RMI 的远程目标体服务器,将客户应用程序设计为JAVA 程序。
客户应用程序通过命名服务系统找到交易所并向他传送信息。因为我们设置了RMI回收信号功能,交易所可以将信息反送回客户应用程序。客户应用程序可以从市场中获取信息,交易所又可以将信息送至客户应用程序。
除了在设置和运作上稍有不同外,JAVA RMI和CORBA所提供的功能是非常相似的。象JAVA 和CORBA 这类分布式目标技术与仅仅建立在HTTP 和CGI 基础上的应用程序相比,有3个主要优点:
1.它们不要求重新登录或重新提交。如果用的是公共网关接口数据,交易者要得到实时市场信息,就必须重新登录网页或者重新提交请求。显而易见,这样会造成时间上的拖延,将极大地降低金融性应用软件的有效性。
2.它们支持有效的信息传输。JAVA/CORBA 模式可以在不同的应用程序中传送变量值。而公共网关接口程序则必须重建一个网页,服务商每次对请求作出反应都要将整个 HTML 文件送回给浏览器。
3.它们的升级和维修更加简单。要对 FTBS 进行升级,只需在单个对象层面稍加修改即可,不必牵扯及整个对象层面。只要目标体间的界面保持稳定,我们就可以按照需要改变这些目标体的设置。
四、并行处理和同步化
FTBS既使用同步远程方法呼叫,又使用非同步远程方法呼叫。表3以一个取消命的
处理为例,列出了这两种方法的区别。
在支持并行处理的系统中同步化选择非常关键,在FBST中,交易者可以实施3种操作。
1. 提交新命令;
2.取消已提交的命令;
3.询问已成交或部分成交的委托的有关细节。
交易所可以同时进行3种处理:
1.按规定路线将限价委托表中的所有已提交的委托传送到撮合程序;
2.撮合委托,计算市场清理价和交易量;
3.通知交易者委托执行情况和市场信息。
因此,当交易所按规定路线将限价委托表中的所有已提交的委托传送至撮合程序,进行实时撮合时,交易者仍可以提交新的委托。如果找到匹配的撮合对象,委托执行系统就会更新限价委托表,并通知相关的交易者。
这些多重处理器采用了JAVA线来进行同步操作。每当交易者向交易所提交请求,就会发出一根新线。JAVA线所要求的系统资源要少于计算。在一个具有多重处理器的工作站中,可以同时运做多根线以充分利用不同的处理器。在单个处理器上,多根线可以以相互交织的方式运做,这样的话就可以同时完成不同的任务。因此交易所可以在为撮合交易进行复杂计算的同时支持交互式访问。
然而,多根线并未受到保护。不止一根线可以接近同样的数据项目。实施并行控制最普遍的方法就是排斥性锁定数据。通过锁定数据,应用程序实际上是串行方式访问数据。例如,当交易者提交委托时,一根新线就登陆到交易所,这样线的运做过程可分为如下3个部分:
1. 将当前的委托证明号码分配给新委托;
2. 添加新委托;
3. 将委托加至限价委托表上。
现在假设两个交易者提交了委托命令,那么由此产生的两根线将相互干扰:
1.交易者A开始提交申请,线A执行A交易者委托中的第一部分;
2.交易者B开始提交申请,线B打断线A的运做。开始执行B交易者委托中的第一部分;
3.线A打断线B,线A执行A交易者委托中的第二、三部分;
4.线B完成B交易者委托中的第二、三部分。
这将导致交易者A和交易者B所提交的委托命令拥有同一个委托证明号。要解决这个问题,我们可以将并列的密码加入到提交委托方法中。这个密码担负着排他性锁住该方法的任务,它仅仅允许一根线来使用该方法。一旦该方法使用完毕,这根线将自动松开锁定设置。如果要使必须连续化的数据所占的比重越小越好,那么使用锁定设置的方法将非常有效。但如果使用了不必要的锁定设置,将会导致程序运作的效率大打折扣。
例如,如果交易者在委托命令传入到撮合程序后立即将它取消,该委托命令将立即从限价表中删除。可撮合系统而后可能会发现一笔与该笔委托相匹配的撮合对象,结果却发现该笔委托被撤销了。为了解决这个问题,我们可以在进行撮合时锁住限价表。但是这种方法同时又冻结住了整个限价表。所以,我们用非同步处理取而代之。
在同步远程呼叫中,目标体A传送一条信息给目标体B后就等待反馈。因此这些接受和传送过程与每条信息都是同步的。为了保持处理过程的连续性,目标体A将等待目标体B发回的反馈。目标体B必须立即对目标体A和其他远程呼叫的要求作出反映。否则目标体A和其他目标体将把大量的时间浪费在等待答复上。
而运用非同步系统,服务商可以更有效的安排其运做,因为它不必立即答复别的服务商。同时客户应用程序也没有必要为了传输下个任务而等待立即的答复。我们应用非同步交流来取消委托,因为我们不想让交易过程等待取消过程的回复。通常情况下,在撮合在进行时,一项委托是不能立即被取消的,如果运用非同步交流技术,取消要求将被存储在交易所的列表里。在提交取消请求后,客户应用程序就可以继续运做而无须等待答复。交易所这一方将在每次重启撮合程序之前清空取消。
当越来越多的人将计算机化市场机制领域看成是电子商务的一部分时,就必须对证明、安全有效的交流以及对未授权用户访问执行的严格安全防护等传统问题给予特别关注。下步研究的目标是如何将在不同市场中进行重叠交易的资产结合起来以及如何消除套利机会。这股浪潮将带来金融领域的深远变化。诸如纽约证券交易所之类的传统交易所将最终发展为能包含更丰富的交易手段的计算机化的交易体系。
附录: 自动撮合系统
FBTS采用的是实时委托撮合和交易系统,这样可以使每一捆绑撮合的交易赢余达到最大。
捆绑撮合系统可以实现买卖双方之间一对一、一对多及多对多的撮合。这种形式的撮合要求大量繁琐的计算,人工操作起来太困难。充分自动化的撮合程序则是在公开委托中寻找能带来最大市场赢余的撮合。这些公开委托必须满足一个条件:即每支股票的总买入量不能超过总卖出量。
例如, maxЕPjXj (1)
条件: ЕBijXj≤0 i=1,k,m (2)
ЕXj≤1 (3)
x≥0,j=1,k,n (4)
其中P是限价,正的限价代表买入意愿,负的限价表示卖出意愿。X是撮合成交量的比例。X的每一个值都应该是正的(见条件4).目标函数即为撮合的目标:最大化市场赢余。在矩阵B中,包含n个〔b1、b2、b3、┄、bn〕值,bij表示资产i 进行j委托的捆绑权数。
每个向量都代表着一个特征捆绑交易系列中的一部分,如bj=〔2,1,1〕表示捆绑交易包括两份资产1,一份资产2和一份资产3。正号表示买入,负号表示卖出。一个捆绑交易并不是只能买进或只能卖出。条件2意味着,要成功撮合一个捆绑交易,该捆绑中的每一买入委托都必须与其他捆绑的卖出委托相匹配。为简单起见,我们将撮合或的交易标准划化为一个小于或等于1的数字(见条件3)。
在提交取消请求后,客户应用程序就可以继续运做而无须等待答复。交易
所这一方将在每次重启撮合程序之前清空取消列表(见图3).
∥路径选择&通知线
{
当(取消列表未被清空)时
{
从取消列表中选择最前列的取消命令;
将它从限价表中删除;
将取消命令从取消列表中删去;
通知交易者
}
将限价委托表中的委托命令传至撮合程序;
如果(被撮合命令的身份证明号码已经取消列表中)
∥意味着交易者是在命令已经被发出后才发出取消命令时的,取消命令来得太迟了
{
将这些命令的身份证明号码从取消列表中删去;
}
更新价格和数量信息,并通知交易者;