实例:使用Java构建股指期货交易系统

  的实例,本文通过股指期货交易系统,分析使用Java有关技术实现的系统架构,以及Java技术的优势,其中的关键技术包括JMS,SOA/WebService,Appliction Server Cluster等。

  在本文中所提到的股指期货、期权交易系统,均指券商端的期货、期权交易系统。期货客户通过该交易系统连接到交易所撮合成交平台。系统提供客户下单,行情信息,资金结算和风险控制等功能。

  和股票交易系统类似,股指期货交易系统提供在线下单,行情查询等功能。和股票交易系统相比,期货、期权交易在业务上要求更复杂的风险控制和资金结算等功能。在技术架构上,由于交易的标的物是指数或期权、贵金属、全球市场等,市场行情数据变化更频繁、相比于股票市场,风险更大。对系统的实时性、稳定性要求更高。

  在现代期货、期权交易中,有相当多的投资者进行快速、频繁的交易,追求短期交易机会。对券商的交易系统要求能提供某些特定的程度的程序化交易功能和灵活的交易方式。面对激烈的商业竞争,券商应该可提供多样化的交易方式、快速推出新的交易模式以吸引更加多的投资者。在整个金融期货交易系统的规划中,应当考虑到以下几点:

  1)交易系统应该提供一个统一的交易平台,以支持多种产品交易,包括金融期货、期权、本地和全球市场

  2)系统应该支持多种交易渠道,包括可下载的交易客户端,WEB交易、电话委托和客户代理委托等

  3)系统规划应分开企业核心信息服务和外围应用系统,以支持持续丰富的外围应用系统

  4)面对激烈的商业竞争和业务变革,要求系统支持快速开发、部署和持续的新功能发布。

  本章节主要介绍股指期货交易的业务框架,从高层次简介期货交易系统的功能。整个股指期货交易系统包括下面几个大的部分:核心服务系统、券商内部运行维护系统、交易和行情借口、客户端交易终端系统等。

  提供股指期货系统的核心功能,包括订单处理,交易管理、行情服务、风险管理、基础数据服务、BackOffice服务(Position结算等)、数据中心(资金结算等)服务。这些功能以组件或服务的方式提供外部应用系统使用。

  运行服务系统为交易系统运行提供所有必要的操作支持,包括BackOffice操作终端,风险管理/监控终端、DataCenter操作终端、Dealer/客户Agent交易终端等。这些系统运行在券商的LAN之内,提供给券商的各类用户使用。

  期货交易系统的核心业务服务提供给WLAN或其他渠道的用户使用,要通过一个统一的交易和行情服务接口,以面向服务(SOA)的方式和其他外部交易终端集成。

  交易终端通过统一交易、行情服务接口和核心系统交互。这些交易终端包括可下载的独立客户端、WEB页面客户端、电话客户端(通过语言模块转化)等。在技术架构章节,涉及的客户端为独立客户端。

  基于核心交易系统的性质,在技术方案的规划时,需考虑以下因素

  相比于其他管理信息系统,股指期货交易系统要求更高的性能,包括行情数据的实时刷新,交易订单处理等。

  股指期货交易系统通常支持较多的并发用户,且随义务的发展,交易客户持续或迅速增加,这要求系统有能力易于扩充以应付系统负载的增长。

  系统稳定性对于交易系统的重要性不言而喻。系统有能力在整体架构上防止单点失败,能有某些特定的程度上的故障恢复(Fail-over)的能力。

  随着现在金融行业的快速发展和业务创新,交易系统也要求能和多个外部的系统包括第三方系统集成的能力,包括企业内部的客户管理系统(CRM),交易所、银行等。

  市场竞争也是时间的竞争,必然要求整个交易系统从规划、开发和部署要求能够在尽可能短的时间完成。另外,金融行业业务创新在不断加快,新的交易方式、测略不断出现,必然要求IT系统能快速反映和支持这种变革。在技术选型时,必须考虑到技术方案能够很好的满足这种要求。

  综上所述,使用的技术方案要能够解决上面的要求。目前,在期货、股票交易系统中,所采用的技术主要有两种C/C++和Java.国内业界较多的采用C/C++实现核心交易系统,本文主要阐述使用Java技术来实现整个交易核心和客户端。相比较C/C++,Java技术在满足交易系统要求时,有如下特征:

  与C/C++技术相比,使用Java构建核心交易系统,性能问题可能是首要的考虑点。但随着Java和优化技术的发展,Java的运行性能比早期有了大幅度提高,已大范围的使用在服务器程序和实时应用。在另一方面,性能问题总是和具体实际的要求相关联,只要满足系统的性能指标,使用Java应该是一个可行的选项。在笔者的项目实践中,Java用来构建实时交易系统,配合合理的技术架构,完全能满足系统的性能要求。

  使用Java有关技术和中间件如WebSphere,WebLogic等,构建一个高并发性的应用系统有着相当成熟的行业实践,和快速实现的能力。

  相比较于C技术,借助于Java中间件软件,实现服务器应用的Loadbalance和Fail-over是一项相当便捷和成熟的技术。

  Java/J2EE是一个开放的技术标准,存在广泛的行业和开发社区支持,能够较快并易于和其他系统集成。

  相比于C/C++,Java的快速开发能力显而易见。由于大量成熟的开源框架、基础组件的出现,在常见的企业系统开发中,使得Java的开发效率远高于使用C/C++技术,能够较快速的实现新的业务功能。

  综上所述,Java技术能够全面满足股指期货交易系统的要求,由于借助于中间件技术解决Load balance,Fail-over等关键性问题,使得开发者更关注于业务的实现,快速缩短了总系统的开发时间和人力成本。同时Java语言的开发效率也使得新业务的创新能够在系统上得以快速实现。这一些因素使得采用Java构建股指期货交易系统是一个可行和较好的选择。 #p#

  本章节主要介绍股指期货的技术架构,从总体技术框架、运行物理环境等方面举个介绍。

  服务器端的主体业务服务,采用WebService方式发布,以供客户端调用。市场行情服务接受来自市场的信息(MessageDrivenbean),进行解析后发送给客户端。

  使用Socket或API调用的方式,接受来自市场的消息。做处理后发送给消息中间件。

  用Java开发分布式大型应用系统,技术相当成熟,利用基于服务、组件和成熟的开源框架和中间件服务器,能快速构建大型的股指期货交易系统,并易于扩充和维护。

  2009年10月27日,上海期货交易所分级模型和分级保障体系咨询项目在惠普公司与上海期货交易所的通力合作下成功验收并予以实施。这套分级保障体系就如同上海期货交易所IT部门与所服务的业务部门签下的一份“契约”,让IT部门与业务部门之间的服务更透明,服务的品质评估更加量化。从而提升整体IT运行能力,保障业务的发展。

  西部证券股份有限公司是经中国证券监督管理委员会批准设立,于2001年元月正式注册开业的证券经营机构。公司注册资本金壹拾贰亿元人民币,在陕西、北京、上海、深圳、山东、江苏、河南、河北、广西、甘肃、宁夏共设有60家证券营业部,在上海设有从事自营业务、客户资产管理业务的第一、二分公司和研究发展中心。

  Hillstone依据多年来从事网络安全的经验,对支撑期货公司核心交易系统的信息系统,根据期货公司的交易特点和规模,制定了一套适应期货公司“机架数据中心”(简称为MiniDC)的网络安全解决方案,运用Hillstone高性能多核安全网关,实现综合防范,保障期货公司业务的连续性,提升期货公司客户满意程度。

推荐产品

数控车编程图纸由易到难各位小伙伴请自行保藏操练!
数控车编程图纸由易到难各位小伙伴请自行保藏操练! 昨日有小伙伴找到我问我有没有数控车床的图纸,呃,昨日没有,可是今日呢,就不必定了,哈哈,由于整理...
Programiz:许多人运用 ChatGPT 学习编程Web 开发范畴最易受 AI 冲击
Programiz:许多人运用 ChatGPT 学习编程Web 开发范畴最易受 AI 冲击 IT之家10 月 18 日音讯,程序员开发网站 Programiz今天发布一份查询陈述,指出 C...
操练控制数控机床
操练控制数控机床 近年来,阜阳技师学院经过“校长环绕厂长转、专业环绕工业转、教育环绕出产转;校园像工厂、教室像车间...
安康市雕刻机多少钱
安康市雕刻机多少钱 安康市雕刻机多少钱巨无霸公司所生产的傲刻等系列新产品在全国各省市都占有一定的市场比例。其完善的售...