股票交易管理系统中央交易系统Word文档格式.docx
- 文档编号:16665242
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:28
- 大小:303.70KB
股票交易管理系统中央交易系统Word文档格式.docx
《股票交易管理系统中央交易系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《股票交易管理系统中央交易系统Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
1.1系统背景及意义2
1.2股票交易系统—股票中央交易系统2
1.3统的主要设计思想和研究的内容2
1.3.1主要内容2
1.3.2主要业务流程3
第2章开发工具与技术介绍4
2.1RIA的介绍4
2.1.1RIA的简介4
2.1.2RIA的特点4
2.1.3部署RIA的好处4
2.2Flex的介绍5
2.2.1Flex的简介5
2.2.2Flex的优势5
2.2.3Flex与Flash的关系和区别5
2.2.4Flex技术的原理6
2.2.5Flex应用的构建6
2.3FlashBuilder介绍7
2.4MyEclipse介绍7
2.5Tomcat介绍7
第3章系统分析与设计8
3.1功能分析8
3.2系统功能设计9
3.2.1指令撮合功能9
3.2.2涨跌停设置功能10
3.2.3反馈信息功能10
3.2.4指令过期判断与操作功能11
3.3数据库设计11
3.3.1数据库表之间的关系11
3.3.2数据字典12
第4章系统详细设计与实现14
4.1业务流程14
4.2系统功能详细说明15
4.2.1用户注册15
4.2.2修改密码15
4.2.3获取股票信息15
4.2.4发出出售股票指令16
4.2.5撤销指令16
4.2.6涨跌停设置17
4.2.7用户发出购买或出售指令17
4.2.8设置K值19
第5章系统测试20
5.1用户注册测试20
5.2修改密码测试20
5.3涨跌停设置测试21
5.4用户购买股票测试22
5.5用户出售股票测试23
5.6K值设置测试24
结论25
参考文献26
致谢27
引言
随着互联网的快速发展,网上股票交易日益成为股票最主要的交易方式。
网上股票交易系统的建议给广大股民带来了很大的便利。
本股票交易系统主要包括6大模块---证券账户业务(主要实现证券账户的开户、挂失、重新开户以及销户)、资金账户业务(主要实现资金的相关操作)、交易客户端、股票中央交易系统、网上信息发布(主要实现股票K图)、交易系统管理。
本文主要内容为:
随后介绍了使用的开发工具及其技术(主要为FlashBuilder,MyEclipse,Tomcat);
中间详细介绍了RIA和Flex的技术和使用,以及Spring和Hibernate框架。
后半部分着重介绍了该子系统功能的具体实现和详细操作。
第1章概述
1.1系统背景及意义
随着经济体制改革的深化,我国股票市场也不断地发展与完善[6],参与股市投资的投资者日益增多,股市投资已成为一种人们愿意承担其风险的理财手段,而股票自然而然也成为了人人关心的热门话题。
股票伴随着股份公司的出现而出现,股票的发行与交易促进了市场经济的发展。
所以,股份公司、股票融资和股票市场的相互联系和相互作用,推动着股份公司、股票融资和股票市场的共同发展。
近年来,计算机技术、尤其是数据库技术和网络技术在股票市场中得到充分应用,使得作为证券市场的重要组成的股票市场更加蓬勃地发展起来,逐步成为证券业乃至整个金融业的必不可少的组成部分,显示出强大的生命力。
随着Internet应用的普及,为客户提供股票交易己成为银行一种重要的业务和手段。
但是股票交易并不是简单的银行业务网络化、应用化,它应具备更好的用户交互性。
而如何建立一个交互性更好的股票交易系统,已成为研究的一个重要课题。
富互联网应用(RichInternetApplications,缩写为RIA)[1]的出现对这个问题给出了很好的解决方案。
富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。
由于目前的股票交易系统采用Web端与客户端集合的方式,因此本课题的研究对于股票交易系统发展是十分有意义的。
1.2股票交易系统—股票中央交易系统
股票中央交易系统是股票交易所针对会员开放的交易系统。
主要有:
券商,银行,实力企业等大规模交易的组织。
其他人的交易要经过他们的席位,才能将委托进入到中央交易系统当中,他们收起席位费或佣金。
1.3统的主要设计思想和研究的内容
1.3.1主要内容
1.指令撮合:
实现指令的匹配来完成交易。
2.涨跌停限制:
为了保证股票交易市场的相对稳定性,我们要求中央交易系统引入涨跌停保护机制。
涨停和跌停就是涨跌达到最大限制幅度。
所谓在涨跌幅限制就是规定,每天股票的最高交易价格和最低交易价格不能超出这个限制范围。
针对不同的股票,股票交易管理机构可以设定不同的涨跌限制。
(开盘价是指改天第一次交易的价格,收盘价是指该天最后一次交易的价格)。
3.结果反馈:
当任何一个交易指令进入中央交易系统以后,任何关于它的交易要实时反馈到交易客户端。
这种状态主要有两种:
指令被完全成交,指令部分成交。
4.指令过期:
当一个交易指令发出以后,如果因为某些条件没有满足,在该交日没有成交,那么在第二天的时候该指令已经过期了,需要从交易系统内移去。
1.3.2主要业务流程
1.接收由用户传来的信息,比如买卖信息,首先根据信息的符合性(及是否符合股票价格范围)来判断是否接受处理。
2.如果不符合则不进行处理,返回给用户不符合的信息,如果符合则进行下一步处理。
3.将符合的数据根据具体的操作进行处理后返回给用户已处理成功的信息。
4.设置开盘价和录入收盘。
第2章开发工具与技术介绍
2.1RIA的介绍
2.1.1RIA的简介
RIA全称RichInternetApplication(富互联网应用),具有高度互动性、丰富用户体验以及功能强大的客户端。
传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,而富因特网应用程序(RichInternetApplications,缩写为RIA)的出现也就是为了解决这个问题。
2.1.2RIA的特点
RIA具有的桌面应用程序的特点,包括:
在消息确认和格式编排方面提供互动用户界面;
在无刷新页面之下提供快捷的界面响应时间;
提供通用的用户界面特性如拖放式以及在线和离线操作能力。
RIA具有的Web应用程序的特点包括如:
立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
2.1.3部署RIA的好处
1.RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),这里我们主要是用在J2EE上。
因而无需大规模替换现有的Web应用程序。
通过RichClient技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。
2.这里使用RIA是因为,RIA可以提供多元化的重要业务效益,包括延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
2.2Flex的介绍
2.2.1Flex的简介
通俗的说Flex[2]主要由程序员使用,侧重于界面表单控件显示与事件处理编程,Flash为美工使用,侧重于动画效果。
它们的相同点是都可以使用ActionScript[3]语言,并且编译后的文件都为SWF格式的Flash文件。
Flex是一个高效、免费的开放源框架,可用于构建具有表现力的Web应用程序,这些应用程序利用AdobeFlashPlayer和AdobeAIR,运行时跨浏览器、桌面和操作系统实现一致的部署。
虽然只能使用Flex框架构建Flex应用程序,AdobeFlashBuilder(之前称为AdobeFlex&
reg;
Builder)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发[9]。
2.2.2Flex的优势
Flex可运行于使用AdobeFlashPlayer软件的浏览器中[5],或在浏览器外运行于跨操作系统运行时AdobeAIR&
上,它们可以跨所有主要浏览器、在桌面上实现一致的运行。
由于连接到Internet的计算机中超过98%装有FlashPlayer,此时一个客户端运行时,它的高级矢量图形能处理要求最高、数据密集型应用程序,同时达到桌面应用程序的执行速度。
通过利用AIR,Flex应用程序可以访问本地数据和系统资源。
2.2.3Flex与Flash的关系和区别
虽然对于Flex应用和多媒体应用都运行于FlashPlayer这同一平台,但对于动画、影音等多媒体应用仍然的是美工或媒体制作者的工作,而Flex应用编程则完全是程序员的工作,可以说是两套面向不同需求的应用开发一个熟悉Java编程的开发者,很容易过渡到Flex的开发,ActionScript语言本身、甚至Flex中提供的很多类库都和Java相类似。
从另外一个角度来看,一个Flex开发者完全不懂Flash制作也没有任何问题,Flex应用仅仅是运行在FlashPlayer上而已。
当然作为Adobe的统一解决方案,Flex开发并不排斥对影音和动画等媒体的操作,实际上两者可以完美的结合。
通俗的说Flex主要由程序员使用,侧重于界面表单控件显示与事件处理编程,Flash为美工使用,侧重于动画效果。
它们的相同点是都可以使用ActionScript语言,并且编译后的文件都为swf格式的Flash文件。
2.2.4Flex技术的原理
首先坚持最终的产物,也就是可以在IE中运行的程序只有Flash,所以我们需要编写这样的Flash,所以我们采用了一种编程的方式,Flex,其中他包含mxml,和ActionScript,他们可以混合编程,就像JSP和Java代码一样(感谢AwFeeling提供更精确的比喻)[10],可以在MXML中直接嵌套ActionScript代码也可以将ActionScript写到单独的文件中。
代码与Flash之间需要一个工具进行转换,那就是DlexSDK,FlexSDK现在已经开源,而且有很多的工具可以编译生成SWF文件。
2.2.5Flex应用的构建
尽管用Flex开发RIA有多种形式,但现在主流的架构是:
Flex作为Client(客户端),Java、PHP、Asp、Ruby等技术作为Server(服务器端)。
图2-1Flex应用的构建形式
运行步骤详细说明:
1.用户请求服务器页面
用户(User)像服务器(ApplicationServer)发送页面请求。
2.服务器端进行数据库交换
服务器端接收请求后,会与服务器端的数据库(DataBase)交换信息并取出数据。
3.服务器端回发
服务器端生成HTML并植入SWF码。
4.客户端下载SWF到浏览器上
客户端接收回发的信息后下载SWF文件到客户端的浏览器上。
5.客户端与服务器通过SWF进行数据传送
SWF可以不用通过HTML页面就可以接收服务器端的信息,这样不但方便话,更效率话了。
2.3FlashBuilder介绍
编译运行Flex的IDE工具,基于Eclipse开发。
内置FlexSDK与FlashPlayer,4.0后命名为FlashBuilder,之前命名为FlexBuilder[9]。
2.4MyEclipse介绍
MyEclipse是对EclipseIDE[4]的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts[7],JSF,CSS,JavaScript,SQL,Hibernate[8]。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错[14]。
2.5Tomcat介绍
Tomcat是一个轻量级的应用服务器。
运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。
它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器[15]。
第3章系统分析与设计
3.1功能分析
表3-1系统功能
交易客户端
编号
功能名称
功能描述
输入内容
输出内容
1
发出购买股票指令
通过界面上的购买股票功能可以发出购买某一股票的指令
股票代码、购买价格、购买数量
购买是否成功
2
发出出售股票指令
通过界面上的出售股票功能可以发出出售投资者持有股票的指令。
系统根据股票的最大涨跌停限制,提示上限和下限
股票代码、出售价格、出售数量
出售指令发出是否成功
3
撤销指令
撤销发出的指令。
如果指令尚未执行,则可以撤销,否则拒绝投资者的请求
无
撤销是否允许
中央交易系统业务
指令撮合
实现指令的匹配来完成交易
客户端发出的指令
交易是否成功
涨跌停限制
为了保证股票交易市场的相对稳定性,我们要求中央交易系统引入涨跌停保护机制。
昨天收盘价,涨跌幅
今日涨停价
今日跌停价
结果反馈
当任何一个交易指令进入中央交易系统以后,任何关于它的交易要实时反馈到交易客户端。
显示交易信息
4
指令过期
当一个交易指令发出以后,如果因为某些条件没有满足,在该交日没有成交,那么在第二天的时候该指令已经过期了,需要从交易系统内移去。
指令移除成功
3.2系统功能设计
3.2.1指令撮合功能
交易系统是一个电子竞价系统,指令会根据股票的不同被分组。
同一种股票指令,有被区分为买指令和卖指令。
当买卖指令的价格相互匹配以后就形成交易。
进入中央交易系统以后,指令不仅包括原有的股票信息,买卖价格信息,买卖数量信息,还增加了指令进入中央交易系统的时间信息。
指令的匹配过程遵循两个原则:
1.价格优先:
价格有利于交易另一方的指令优先成交。
具体的说,对于一组买股票指令,价格高的优先成交;
对于一组卖股票的指令,价格低的优先成交。
2.时间优先:
这是在价格优先基础上来操作的。
根据前面的描述,每一条进入中央交易系统的指令被加上了时间戳来标识其参与竞价的时间。
那么对于,价格相同的买指令或者卖指令,进入系统早的指令(也可以理解为先发出的指令)优先执行。
说明了交易的基本原则,需要讨论一下不同买卖价格情况下交易的具体撮合情况。
最普通的撮合情况,即买卖价格一致。
对于这种情况,系统只要进行简单的匹配,撮合形成最终交易。
交易价格即使买股票指令的价格,又是卖股票的价格。
但是根据前面价格优先原则,我们再讨论买卖价格不同的情况。
如果最低卖价仍然高于最高的买价,显然没有交易成交。
但是,如果价格最低的买指令的价格仍然高于价格最高的卖指令的价格,这个时候系统需要撮合它们成交。
这个时候存在着交易价格的确定算法。
我们这里采用中间价格算法,也就是用买价和卖价的平均值作为最终的撮合价格。
例如,有一条对X股票的卖指令,其价格为12元;
另一条X的买指令,价格13元,那么根据我们的规则成交价格为(12+13)/2=12.5元。
需要强调存在一种特殊情况不遵循中间价格算法,那就是价格达到涨跌幅上下限的股票,最终交易价格以规定的涨跌幅上下限价格为准。
例如,如果对于上面的X股票,如果跌幅下限是12.3元,那么即使计算所的价格为12.5元,那么最终交易价格仍然以12.3元为准。
对于买卖价格时,有一种更加复杂的情况,那就是指令不能一次成交完成。
我们采用加权价格算法。
具体公式如下
,分别表示某次成交的价格和股数:
(3-1)
如果一条买指令需要以13元买入2000股X股票,但是系统中交易优先级最高的2条卖指令分为12元卖出1500股,12.2元卖出1300股。
这是时候,交易顺序应该是先买指令先与价格为12元的卖指令成交1500股,然后与12.2元的另一条卖指令成交500股。
对于买指令的最终价格是比较复杂的。
第一次价格是(12+13)/2=12.5元,交易量是1500股;
第二次价格为(12.2+13)/2=12.6元,交易数是500股。
那么计算结果为:
(3-2)
3.2.2涨跌停设置功能
针对不同的股票,股票交易的管理机构可以设定不同的涨跌幅限制。
这一设置在交易系统管理组里实现。
这里我们参考上海证交所,把股票简单分为普通股和ST股票,它们的涨跌幅分别是10%和5%。
并且以前一交易日股票收盘价格为基准,具体公式:
1.今日涨停价=昨日收盘价+(昨日收盘价*涨跌幅)
2.今日跌停价=昨日收盘价-(昨日收盘价*涨跌幅)
3.2.3反馈信息功能
1.指令被完全成交当一条指令所要买卖的股票被完全成交时,需要显示完全成交。
2.指令部分成交当指令只有一部分成交时,需要相客户端显示,指令的交易数量和交易价格。
3.2.4指令过期判断与操作功能
当一个交易指令发出以后,如果因为某些条件没有满足,在该交日内没有成交,那么在第二天的时候该指令已经过期了,需要从交易系统内移去。
3.3数据库设计
3.3.1数据库表之间的关系
图3-1数据库表之间的关系
3.3.2数据字典
表3-2股票表
序号
字段
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 股票交易 管理 系统 中央 交易系统