期货结算系统中交易查询模块的设计与实现-毕业论文_第1页
期货结算系统中交易查询模块的设计与实现-毕业论文_第2页
期货结算系统中交易查询模块的设计与实现-毕业论文_第3页
期货结算系统中交易查询模块的设计与实现-毕业论文_第4页
期货结算系统中交易查询模块的设计与实现-毕业论文_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文题 目:期货结算系统中交易查询模块的设计与实现姓 名:学 院:软件学院 系:软件工程系专 业:软件工程专业 年 级:学 号:指导教师: 职称: 年 月摘要期货市场是价格风险的产物。期货交易市场中,投机与风险共存。为了确保交易履约,实现价格风险的转移,期货市场建立了结算保证机制,实行保证金制度和每日结算制度。交易结算系统的发展促进了期货市场的发展,给结算机制提供了保障。在我国,随着改革开放,市场经济的发展,人们越来越注意到期货市场这个投机与风险共存的价格风险产物,越来越多的投资者进入期货市场,引发了一波期货交易的热潮。随着期货交易热潮的持续,市场对股指期货等金融衍生品呼吁已久,现在金融期货产品的推出已进入准备阶段。在股指期货即将推出的大背景下,我国的期货公司在交易结算应用系统方面面临新的问题。我国的期货公司需要一个新的交易结算系统,在满足我国现有期货品种的交易结算需求的同时,也要满足股指期货的交易结算需求。本文在此需求下,分析了期货交易结算业务的流程,根据结算业务的需求和各种数据之间的逻辑关系划分出系统的功能模块,设计结算系统的系统架构,并实现其中的交易查询模块。关键字:期货交易;结算系统;交易查询 Trade Enquiries Module in Settlement SystemAbstractThe futures market is the result of price risk. Speculation and risk co-exist in the futures market. In order to ensure that trading performance and price risk transfer, the futures market has established a settlement guarantee mechanism, implementing security system and daily settlement system. The development of electronic information system promotes the development of the futures market, which provides a mechanism for clearing security.With the reform and opening to the outside world and the development of market economy, it is increasingly noted that the futures market speculation and risk co-existence of the price risk, and more and more investors pay much attention to the futures market, leading a wave of futures trading boom. In stock index futures to be launched against the backdrop of Chinas futures trading company in clearing systems face new problems. Chinas futures companies need a new transaction clearing system to meet our existing varieties of futures trading settlement demand. It is also necessary to meet stock index futures trading settlement demand.In this thesis, with the upper demand, we analysis the futures clearing business processes, according to the needs and settlement business of data between the function module divided by the logic of the system, and design the system architecture clearing system, and achieve the transactions for the trade query module.Key words: Futures Exchange; Settlement System; Trade enquiries目 录目 录第一章 绪 论11.1 项目背景11.1.1 中国期货交易11.1.2 股指期货概论31.1.3 结算机制概论41.2 交易结算系统的现状及存在的问题51.2.1 交易结算系统的现状51.2.2 交易结算系统存在的问题61.3 论文主要内容和特色61.4 本文结构7第二章 期货结算系统架构及功能划分82.1 期货结算系统开发平台82.2 期货结算系统架构102.3 服务端架构和客户端架构112.4 期货结算业务流程142.5 期货结算系统功能划分162.6 交易查询模块需求分析及架构182.7 小结18第三章 交易查询模块设计与实现193.1 交易查询模块的功能193.2 交易查询模块的设计203.3 交易查询模块测试用例设计223.4 系统开发工具233.5 交易查询模块的实现253.6 交易查询模块展示283.7 小结32第四章 总结与展望33参考文献34攻读学士学位期间参加的项目35致 谢36ContentsContentsChapter 1 Introduction11.1 Project Background11.1.1 Establishment of Futures Exchange11.1.2 Stock Index Futures31.1.3 Clearing Facility41.2 Research Status and Problems51.2.1 Application Status51.2.2 Existing Problems61.3 Main Research and Innovations61.4 Outline of Thesis6Chapter 2 Framework and Module Division82.1 Platform of Development82.2 Framework of System 102.3 Framework of Client and Server112.4 Processes of Futures Clearing Business142.5 Function of System162.6 Framework of Module182.6 Summary18Chapter 3 Query Module193.1 Function Introductioin193.2 Module Architecture Design203.3 Test Case Design223.4 Development Tools233.5 Module Implementation253.6 Display Module283.7 Summary32Chapter 4 Conclusions and Future Work33References34Joined Projects35Acknowledgements36第一章 绪 论第一章 绪 论在股指期货即将推出的大背景下,我国的期货公司在交易结算应用系统方面面临新的问题。我国的期货公司需要一个新的交易结算系统,在满足我国现有期货品种的交易结算需求的同时,也要满足股指期货的交易结算需求。1.1 项目背景随着改革开放,市场经济的发展,人们越来越注重风险的转移、价格的发现和投机套利手段的使用。而期货市场作为价格风险的产物,它的两大基本经济功能就是回避市场风险(转移价格风险)的功能、发现合理价格,其运作原理就是价格风险的分散化1。价格发现功能需要有众多的投机者参与,集中大量的市场信息和充沛的流动性,而套期保值交易方式的存在又为回避风险提供了工具和手段。同时期货也是一种投资工具。由于期货合约价格的波动起伏,交易者可以利用套利交易通过合约的价差赚取风险利润2。因此,中国继股票、房地产热之后,又出现了期货交易的热潮。期货交易以其发现价格、锁住成本、回避风险和以小本博大利的功能,引起越来越多的企业和投资者的兴趣,成为中国经济市场大潮中的一波新浪。1.1.1 中国期货交易期货交易的产生:现代意义上的期货市场产生于美国,1848年,82位商人发起组织了芝加哥期货交易所(CBOT),目的是改进运输与储存条件,为会员提供信息;1851年芝加哥期货交易所引进远期合同;1865年推出第一张标准化合约,同时实行保证金制度(不超过合约价值的10%),这是具有历史意义的制度创新;1882年交易所允许以对冲方式免除履约责任,增加了期货交易的流动性3。中国期货市场产生的背景是粮食流通体制的改革4。随着国家取消农产品的统购统销政策、放开大多数农产品价格,市场对农产品生产、流通和消费的调节作用越来越大,农产品价格的大起大落和现货价格的不公开以及失真现象,农业生产的忽上忽下和粮食企业缺乏保值机制等问题引起了领导和学者的关注,能不能建立一种机制,既可以提供指导未来生产经营活动的价格信号,又可以防范价格波动造成市场风险成为大家关注的重点。1988年2月,国务院领导指示有关部门研究国外的期货市场制度,解决国内农产品价格波动问题,1988年3月,七届人大一次会议的政府工作报告提出:积极发展各类批发贸易市场,探索期货交易。拉开了中国期货市场研究和建设的序幕。1990年10月12日郑州粮食批发市场经国务院批准成立,以现货交易为基础,引入期货交易机制,迈出了中国期货市场发展的第一步。我国期货交易所的发展经历了从迅速扩张到清理整顿到规范发展的曲折道路。在1995年,全国建立了15家期货交易所,分布于北京、上海、郑州、大连、苏州、深圳等地。1998年开始对期货市场进行清理和整顿之后,对15家期货交易所进行了撤销合并5。目前有上海期货交易所、郑州商品交易所、大连商品交易所和中国金融期货交易所四家期货交易所。郑州商品交易所成立于1990年10月12日,在现货远期交易成功运行两年以后,于1993年5月28日正式推出期货交易。郑州商品交易所上市交易的期货合约有小麦、棉花、白糖、精对苯二甲酸(PTA)、菜籽油、绿豆等,其中小麦包括优质强筋小麦和硬冬白(新国标普通)小麦。小麦、棉花、白糖和PTA期货为国民经济服务的市场功能日益显现,在国际市场上的影响力逐渐增强6。大连商品交易所成立于1993年2月28日,目前的交易品种有玉米、黄大豆1号、黄大豆2号、豆粕、豆油、棕榈油、线型低密度聚乙烯、啤酒大麦,正式挂牌交易的品种是玉米、黄大豆1号、黄大豆2号、豆粕、豆油、棕榈油和线型低密度聚乙烯。大连商品交易所现在已发展成世界第二大玉米期货市场7。上海期货交易所交易所目前上市交易的有铜、铝、天然橡胶、燃料油、锌、黄金等六个品种的标准合约,铜期货价格作为世界铜市场三大定价中心权威报价之一的地位进一步巩固;天然橡胶期货价格得到国内外各方的高度关注;燃料油期货的上市交易开启了能源期货的探索之路8。2006年9月8日中国金融期货交易所在上海成立。中国金融期货交易所的成立,对于深化资本市场改革,完善资本市场体系,发挥资本市场功能,具有重要的战略意义。目前,中国金融期货交易所正积极筹划推出股票指数期货、期权,并深入研究开发国债、外汇期货及期权等金融衍生产品9。我国期货交易所经历了十余年的发展,为稳定市场供求关系、减缓价格波动、资源优化配置和维护国民经济秩序做出了巨大贡献。1.1.2 股指期货概论随着期货交易热潮的持续,市场对股指期货等金融衍生品呼吁已久,自“3.27”国债期货事件后,我国金融期货工作长期处于研究探讨阶段10。现在我国已于2006年9月8日成立中国金融期货交易所,进行股指期货的模拟运营,金融期货产品的推出已进入准备阶段。股指期货的全称是股票价格指数期货,也可称为股价指数期货、期指,是指以股价指数为标的物的标准化期货合约,双方约定在未来的某个特定日期,可以按照事先确定的股价指数的大小,进行标的指数的买卖11。 股指期货的基本特征作为期货交易的一种类型,股指期货交易与普通商品期货交易具有基本相同的特征和流程,同时也具有一些自身独特的的特征12。1. 股指期货与其它金融期货、商品期货的共同特征(1) 合约标准化。期货合约的标准化是指除价格外,期货合约的所有条款都是预先规定好的,具有标准化特点。期货交易通过买卖标准化的期货合约进行;(2) 交易集中化。期货市场是一个高度组织化的市场,并且实行严格的管理制度,期货交易在期货交易所内集中完成;(3) 对冲机制。期货交易可以通过反向对冲操作结束履约责任;(4) 每日无负债结算制度。每日交易结束后,交易所根据当日结算价对每一会员的保证金帐户进行调整,以反映该投资者的盈利或损失。如果价格向不利于投资者持有头寸的方向变化,每日结算后,投资者就须追加保证金,如果保证金不足,投资者的头寸就可能被强制平仓;(5) 杠杆效应。股指期货采用保证金交易。由于需交纳的保证金数量是根据所交易的指数期货的市场价值来确定的,交易所会根据市场的价格变化,决定是否追加保证金或是否可以提取超额部分。2. 股指期货自身的独特特征(1) 股指期货的标的物为特定的股票指数,报价单位以指数点计;(2) 合约的价值以一定的货币乘数与股票指数报价的乘积来表示;(3) 股指期货的交割采用现金交割,不通过交割股票而是通过结算差价用现金来结清头寸。 股指期货与商品期货交易的区别股指期货作为金融期货的一种,与商品期货相比存在明显的区别,这些区别主要表现在下面几个方面:1 .标的指数不同。股指期货的标的物为特定的股价指数,不是真实的标的资产;而商品期货交易的对象是具有实物形态的商品;2. 交割方式不同。股指期货采用现金交割,在交割日通过结算差价用现金来结清头寸;而商品期货则采用实物交割,在交割日通过实物所有权的转让进行清算;3. 合约到期日的标准化程度不同。股指期货合约到期日都是标准化的,一般到期日在3月、6月、9月、12月等几种;而商品期货合约的到期日根据商品特性的不同而不同;4. 持有成本不同。股指期货的持有成本主要是融资成本,不存在实物贮存费用,有时所持有的股票还有股利,如果股利超过融资成本,还会产生持有收益;而商品期货的持有成本包括贮存成本、运输成本、融资成本。股指期货的持有成本低于商品期货;5. 投机性能不同。股指期货对外部因素的反应比商品期货更敏感,价格的波动更为频繁和剧烈,因而股指期货比商品期货具有更强的投机性。1.1.3 结算机制概论期货市场是价格风险的产物13。在这里,投机与风险共存。受政治、经济、军事等多方面不确定因素的影响,价格波动频繁而巨大,市场风险难以把握。期货市场运作原理就是价格风险的分散化。为了分散和转移市场巨大的风险,防止过度投机和非正常交易,期货市场必须建立科学严密的风险管理体系14。这一体系应有完善的风险分担机制和严密的市场监督机制组成。其目的是为了保护期货市场的公平竞争性、流动性、高效性能得以实现,保证期货交易能够充分发挥回避价格风险和发现价格的经济作用。期货交易所处于风险管理体系的核心地位,兼有市场监督和风险最终担保的双重功能15。建立严格的资金结算保证系统的目的是为了保证期货市场财务的连续性和完整性,确保期货交易的正常运转和市场合约的履行。期货交易与现货不同,由于以小博大的杠杆效应必须进行差额结算并且每日结算,以利于分散风险。因而保证金制度和每日结算制度是期货市场风险管理的关键环节16。结算是期货交易保障机制的重要环节,没有结算,市场就无法确保交易履约,也就无法实现价格风险的转移17。1.2 交易结算系统的现状及存在的问题从1991年6月新中国第一家期货交易所成立至今,电子化交易方式不断大跨步向前发展。国内第一套自主开发的电子化交易所撮合交易系统能够完成50亿/日,今天的经纪公司需完成一天100亿以上的成交量;从前的经纪公司交易员通过接听委托电话往场内报单,今天的经纪公司只是为了方便客户而设立电话报单;从前收盘后手工核对成交、手工结算,今天是自动导入成交数据、用计算机结算。同时,还出现了电子化合同管理、营业部风险控制、网上交易、短信息成交回报、网上账单查询、网上账单确认等软件系统。这些应用系统的不断出现说明一个现实:中国期货行业的电子交易方式正在蓬勃发展。1.2.1 交易结算系统的现状交易结算系统已经成为经纪业务发展的必要系统,场内红马甲按电话指令交易的方式将被淘汰。从期货业务本身看,期货市场保证金交易的特点使得价格波动被放大,电话交易不能迅速地将客户交易意图转化为实际交易,混码交易、成交单串改等违规操作给市场规范化运作带来诸多问题。当期货市场中的大多数交易者使用电子化交易时,电话指令交易的客户将在市场中处于劣势。从经纪公司管理来看,交易量的增长、客户数量的增加对结算员、交易员数量的需求不断增加,这不断提高着期货经纪公司的运营成本,同时也不断降低客户服务效率。从风险管理角度来看,电话指令交易造成较多错单,造成较多客户纠纷,成交委托出入金数据无法实时同步,造成资金风险。2005年4月1日,电子印鉴法的实施,更为电子化交易的发展奠定了法律基础。由此看来,电子化交易已成为期货经纪公司开展业务的基本条件。交易结算系统也日渐成为期货经纪公司的最重要系统。1.2.2 交易结算系统存在的问题在股指期货即将推出的大背景下,我国的期货公司在交易结算应用系统方面面临新的问题18。作为期货交易的一种类型,股指期货交易与普通商品期货交易具有基本相同的特征和流程,但股指期货交易还具有自身的独特特征,与商品期货交易在某些方面存在着一定的区别,如:标的指数不同,交割方式不同,合约到期日的标准化程度不同,持有成本不同,投机性能不同等。而目前的交易结算系统不能满足股指期货交易的需求,我国的期货公司需要一个新的交易结算系统,在满足我国现有期货品种的交易结算需求的同时,也要满足股指期货的交易结算需求。1.3 论文主要内容和特色本文以台湾精诚资讯公司正在开发得期货交易结算系统这一实际项目为背景进行阐述,其主要内容为:1阐述了交易结算系统的研究背景、意义,包括中国期货交易所的成立、中国期货市场概述等内容,分析了期货交易结算系统应用现状及存在的问题;2根据目前国内期货市场的最新需求,说明了交易结算系统在期货市场中实际应用所面临的困境,提出本交易系统的系统分析与设计;3本人完成了交易查询模块中会员客户的历史交易查询。交易查询模块的实现包括模块设计、功能实现、查询页面设计,报表设计,模块测试及系统集成测试等。本文借鉴了市场上一些优秀系统的经验,基于目前交易结算系统存在的问题以及客户需求,进行了系统设计。系统实施上,突破传统使用的单一数据库的设计。将采用DAO(Date Access Object)数据存取模块,它支持存取多个数据库(DB2、MS SQL、Oracle、Informix),这样就屏蔽了多种数据库之间语法上的差异,可以将报表系统同时跨多个目标数据源连接。1.4 本文结构本论文共分4个章节,各章节的内容安排如下:第一章 主要介绍本项目背景,包括期货市场、股指期货、结算机制,在我国期货市场快速发展中提出结算系统新的需求。第二章 提出期货结算系统的系统架构,以及客户端和服务端的组成架构,通过分析结算业务的流程,划分系统的模块,并对模块的功能进行了详细阐述。第三章 在第二章系统需求及整体框架的架设下,介绍系统开发使用的工具,完成查询模块的设计实现。第四章 对本文的一个总结与展望,对项目的主要工作,论文的主要内容进行了总结,并展望系统未来的发展。 35第二章 结算系统框架设计及模块划分第二章 期货结算系统架构及功能划分本章介绍了期货结算系统的开发平台,阐述了期货结算系统的系统架构,以及客户端和服务端的组成架构,通过分析结算业务的流程,划分系统的功能模块。2.1 期货结算系统开发平台本期货结算系统使用台湾精诚资讯公司的OM(OMnology)金融开发平台进行开发。OM金融开发平台是一个J2EE架构的企业级技术平台,是一个数据库应用系统的高效率软件开发平台,是一个金融交易管理系统的高安全交易管理平台。OM金融开发平台可以协助金融商品交易管理系统的开发,缩短专案与产品的开发周期19。图2-1 OM金融开发平台系统架构资料来源:“OMnology平台架构介绍”19OM金融开发平台可以整合不同的金融商品交易系统的开发,可以整合系统前中后台不同需求的交易开发,可以有效提升市场竞争性并有效的降低开发成本和风险。OM金融开发平台具有六大特色和功能优势,如图2-2所示。第二章 期货结算系统架构设计及功能划分图2-2 平台的特色和功能资料来源:“OMnology平台特色介绍”201跨平台化:平台采用Java技术开发,从而达到跨系统平台的功能,系统均适用于Windows、Linux、Unix等系统。在数据库设计方面,采用VO Hibernate的数据处理模式,可以实现不同数据库间SQL语法转换,符合MS SQL、Oracle、IBM DB2、Informix等数据库的需求;2开发快速化:采用标准的MVC架构,支持多人同时使用开发作业环境,缩短开发时间,提高开发效率。支持Local和Romote执行模式。开发时,采用Local Call,以加速开发;正式上线使用时,采用Remote Call,具备EJB(Enterprise JavaBeans)优点。平台提供了简易的开发工具、完整的Log机制、各种服务管理中心、丰富的组件库以及完整的帮助,减少了开发过程的复杂度;3操作简单易用化:系统平台支持多语言的显示界面,使用者可以自定义界面方案,每一种交易画面均使用相同的操作流程,平台提供目前作业的相关资讯,大大降低使用者的学习时间;4高安全化:平台提供了多层次的安全控管层级,不同层级的稽核轨迹记录机制以及资料加密功能;5功能模块化:平台提供多个功能强大的模组,这些模组得使用,减少了开发过程的复杂度;6服务标准化:平台提供了标准化的服务。2.2 期货结算系统架构J2EE(Java 2 Platform Enterprise Edition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层结构的、分布式的应用程序模型,具有重用组件的能力、基于扩展标记语言(XML)的数据交换能力、统一的安全模式和灵活的事务控制能力21。J2EE核心采用了组件技术,为企业应用系统提供了良好的可靠性、扩展性和安全性。J2EE建立在Java2平台标准版的基础上,它不仅巩固了标准版的许多优点,如“编写一次,到处可用”的移植性、安全性、平台无关性等,同时还提供了对Java Servlets API、JSP、EJB和XML技术的全面支持。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的系统架构。透过统一的开发平台,J2EE降低了开发多层应用程序的费用和复杂性,同时提供对此案有应用程序集成强有力支持,完全支持EJB,有良好的部署应用,新增目录架构,增强了安全机制,提高了性能。其最终目的就是成为一个能够使企业开发者大幅缩短投入市场时间的系统架构。J2EE具有多种优势:1. 高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间层供应商去完成。这样开发人员可以集中精力在如何撰写商业逻辑上,相应的缩短了开发时间;2. 支援异种环境:J2EE能够开发部署在异种平台中的可移植程序,基于J2EE的应用程序不依赖任何特定操作系统、中间层、硬件。因此设计合理的J2EE程序只需开发一次就可部署到各种平台;3. 可伸缩性:基于J2EE平台的应用程序可被部署到各种OS上。例如可被部署到UNIX与大型主机系统,这种系统单机可支持64至256个处理器。(这是Windows服务器所望尘莫及的)为J2EE领域的供应商提供了更为广泛的负载平衡策略;4稳定的可用性:J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择性能更好的操作系统如Sun Solaris、IBM OS/390.最佳的操作系统可达到99.999%的可用性或每年只需5分钟停机时间,这是实用性很强的的商业系统理想选择。以上优点满足了系统的高可用性、高可靠性及可扩展性的应用需求,所以结算系统采用J2EE的三层式企业网络应用程序架构:图2-3 三层式企业网络应用程序架构资料来源:“基于J2EE的数据访问技术研究”212.3 服务端架构和客户端架构模型/视图/控制器模式是20世纪80年代由XeroxPARC为编程语言Smalltalk-80发明的一种软件设计模式,迄今已经成为一种成熟的面向企业应用的优秀的设计模式。MVC模式的关键是实现了表示、控制和数据的分离。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。 图2-4 MVC模型结构图资料来源:“基于 ASP.NET 的 MVC 设计模式的研究”22首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其它系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。基于上述的优点,系统采用MVC架构,主要分为三层:1. 表示层(View):主要指GUI界面;2. 控制层(Controller):把用户响应向业务模型层转发,并且将结果返回到表示层;3. 业务模型层(Model):封装了所有的业务模型。根据J2EE架构和MVC模式,使用下面的客户端架构和服务端架构。客户端架构如图2-5所示。图2-5客户端组成架构资料来源:“Client程序撰写流程介绍”231. Page:是一个UI Container(Panel、ScrollPanel),为MVC架构中的表示层(View),用来设定程序所使用到的所有UI,使用JFormDesigner来进行设计;2. WorkSpace:宣告Business,宣告相关的UI画面,设定该程序要显示的首页;3. Business:所有组件的事件控制,是MVC架构中的控制层(Controller)。图2-6 Client端运行流程资料来源:“Client程序撰写流程介绍”23服务端架构如图2-7所示。图2-7服务端架构资料来源:“Server程序撰写流程介绍”241. Factory:Client呼叫Server方法的入口点,用于决定使用local本地调用 BC,以方便程序调试,还是使用Remote远程调用BC;2. IF:定义功能;3. BC:实现功能,是MVC架构中的业务模型层(Model)。图2-8 Server端运行流程资料来源:“Server程序撰写流程介绍”242.4 期货结算业务流程期货结算业务活动数据流程如图2-9所示。开户数据包括交易所开户、商品开户、客户开户和经纪人开户,所有这些开户数据作为结算处理的数据字典,从中可获取交易所代号和名称、商品代号和名称及其各种费率(经纪公司上缴交易所的费率)、合约单位、交割期、客户代号和名称及其买卖各种商品的费率(经纪公司收取客户的费率)、经纪人代号和名称等基本信息。期货经纪公司在期货交易中扮演着交易代理的角色,这种代理交易的程序是:由客户或客户的经纪人向期货公司下达买卖指令,期货公司将指令传递给交易所进行交易,成交后形成合约,成交合约主要包括客户代号、名称、商品代号、成交日期、交割日期、买进或卖出、平仓或开仓、手数、成交价等信息。结算处理以上述数据作为输入数据,根据客户的当前资金状况和持仓状况,按下面结算算法进行结算处理。平仓盈亏=(卖价-买价)合约单位手数手续费=成交或交割手数每手手续费持仓浮动盈亏=(结算价-开仓买价)合约单位手数(买盘) (开仓卖价-结算价)合约单位手数(卖盘)初始保证金=成交价合约单位手数保证金水平图2-9 期货结算业务活动数据流程资料来源:“期货市场简明教程”14本日结余资金=上日结余资金+资金划入-资金划出+平仓盈利-平仓亏损-交易手续费-交割保证金-交割手续费-风险基金+退回交割保证金估算资金余额=本日结余持仓浮动盈亏维持保证金=结算价持仓合约单位手数维持保证金水平可动用资金=估算资金余额-维持保证金最少追加保证金=维持保证金-估算资金金额 =0(维持保证金估算资金余额)交割保证金=成交价合约单位成交手数交割保证金水平结算处理结果产生的结算单据主要包括成交通知单、平仓盈亏表、持仓浮动盈亏表、客户资金状况日报表、风险控制表等。成交通知单通知客户每笔已成交合约的交易情况及其应缴纳的手续费和风险基金;平仓盈亏表列出客户已成交的平仓交易及其盈亏情况;持仓浮动盈亏表列出客户所持的未平仓合约以及根据当日结算价估算出的浮动盈亏情况;资金状况日报表列出上日资金余额、本交易日的各种交易手续费和风险基金、平仓盈亏、资金划入/划出、本日结余、浮动盈亏以及应追加的保证金额等信息;风险控制表依据客户的持仓状况、本日结余资金以及给定的风险控制系数,列出每个客户下一交易日的最大开仓手数。此外,依据结算处理的历史数据打印出交易汇总表和资金状况统计表,定期与财务系统核对客户的资金状况。2.5 期货结算系统功能划分这里采用自顶向下、逐步细化的结构化设计方法。首先按期货结算业务的需求和各种数据之间的逻辑关系构造系统总体模块,然后再对每个模块进一步细化,分成若干个功能相对独立的子模块,从而形成完整的系统结构,最后再以期货结算的业务流程、数据流程以及系统的安全性、完整性、可靠性和使用性等方面进行验证,检查系统结构的合理性,进一步修改、完善系统结构。系统的逻辑功能如图2-10所示。图2-10 系统的逻辑功能1. 交易参数设置:该模块用于设置,修改,管理期货经纪公司自身的相关基本资料;2. 会员交易参数设置:由会员资料设置、会员标准手续费维护、会员另设手续费维护三个子模块构成;结算员通过该模块录入交易所、商品、客户和经纪人的基本信息,设置各种费率。该模块还提供多种查询、更新、统计和打印功能;3. 资金管理:由交易所资金设置、会员资金存取设置、会员资金调整设置三个子模块构成;该模块管理客户的资金划入/划出、当前资金状况,允许结算员进行资金划拨操作。结算出来根据客户上日结余资金,当日资金划拨情况以及当日成交合约和持仓情况,计算出客户本教育日应付的各种费用、平仓盈亏、本日结余、浮动盈亏以及追加保证金等;4. 交易管理:该模块管理客户的期货交易,接受客户的委托,按照客户要求下单,实现客户的开仓、持仓和平仓操作;5. 交易查询:该模块按多种条件查询客户的不同方面的记录,如:持仓明细、平仓明细、合约价格等,对查询返回的结果进行处理,如对某项数据进行小记和总计,然后在查询结果呈现区呈现,还提供产生报表并打印的功能;6. 风险管理:该模块主要通过设定风险管理、仓位控制(即入市资金的比例)的参数,决定在期货交易中规避不确定性带来的风险的程度;7. 结算管理:结算管理是该系统的核心模块,由成交合约录入、结算价获取、结算处理和结算恢复四个子模块组成。成交合约录入模块录入客户当日成交合约。结算价获取子模块自动地从服务器获取各交易所传递的当日结算价。结算处理子模块首先进行数据完整性检查。如果成交合约或结算价数据正确,则按结算算法重新计算每个科技的当前平仓、当前持仓和当前资金状况;否则,中止结算处理,并提示结算员重新修改出错的成交合约或结算价后开户数据。结算恢复子模块允许将数据恢复到上一结算日状态。该功能在实际运行中非常有用,尽管决算处理子模块提供了严格的数据完整性检查,但某些错误还是难免的。2.6 交易查询模块需求分析及架构由于期货公司每天需要处理会员客户的交易请求,期货公司必须打印各类客户交易明显报表、合约报表和客户资金报表给客户确认存档。交易查询模块通过查询,从数据库中获取资料,并实现预览打印功能。交易查询模块架构如下图2-11所示。图2-11 交易查询模块架构本人作为主要成员参与了该项目,负责期货交易结算系统的交易查询模块。交易查询模块包括模块设计、功能实现、查询页面设计,报表设计,模块测试及系统集成测试等工作。本人独立完成了交易查询模块中会员客户的历史交易查询。2.7 小结本章提出期货结算系统的系统架构,以及客户端和服务端的组成架构,结合期货交易结算系统架构图和功能分解图,介绍了系统实现的具体功能,对主要的业务流程进行了分析并给出流程图。第三章 查询模块实现第三章 交易查询模块设计与实现在上一章节提出期货结算系统的系统架构,以及客户端和服务端的组成架构,分析了交易查询模块的需求,给出了交易查询模块的架构。在本章简单介绍了交易查询模块的功能设计实现。3.1 交易查询模块的功能首先,期货公司选择要查询的信息种类,如:成交明细、持仓明细、平仓明细等,再设定查询条件。然后,向期货交易所发送查询条件,请求查询,交易所查询数据库后,返回查询结果。期货公司接收查询结果,经过处理后呈现并可进行预览打印。系统的交易查询功能主要分成两部分:查询条件设定和查询结果呈现。用户设定相关的查询条件,根据条件从数据库(历史交易查询模块)或内存数据库(盘中交易查询模块)中相应的表里获取数据,并将结果呈现,如图3-1所示。图3-1 交易查询模块功能期货结算系统的交易查询分为历史交易查询模块和盘中交易查询模块两个大的模块。历史交易查询模块对会员客户当天之前的数据进行查询,查询时可指定具体要查询的时间段,由于客户历史数据比较多,模块分页呈现历史数据,提高了查询效率;盘中交易查询模块对会员客户当天的交易数据进行查询,并对交易量,盈亏等进行小计和总计。历史交易查询模块和盘中交易查询模块有因为查询内容的不同分为多个子模块。其中盘中交易查询模块和历史交易查询模块都可分为合约查询,会员客户交易查询,交易所查询等子查询模块。历史交易查询模块的会员客户交易查询具体可分为成交明细查询、委托明细查询、平仓明细查询、持仓明细查询、交易综合查询。第三章 交易查询模块设计与实现3.2 交易查询模块的设计通过对交易查询模块功能的分析,交易查询模块主要分为查询条件设定、查询呈现交易和报表呈现交易三大部分,如图3-2所示。图3-2交易查询模块划分交易查询模块希望能实现以下功能:1. 希望能够快速方便地查询系统中的数据;2. 希望能够将数据进过一定地处理后呈现;3. 希望能将查询到的数据用文件或报表方式保存或输出。交易查询模块可以使用户方便的查询系统中的数据,对数据进行处理,用户可选择查询结果的输出形式,其流程详见图3-3。交易查询模块的主要流程:1. 用户开启一支查询;2. 系统的WorkSpace展现查询条件UI和查询呈现UI;3. 用户在查询条件UI中输入条件进行查询;4. 系统在查询呈现UI中呈现返回后经处理的结果;5. 系统以报表的形式呈现查询结果;6. 系统将查询结果呈现报表以PDF、HTML等格式保存或打印;7. 用户选择退出本支查询;8. 系统关闭窗口。图3-3 交易查询流程在本项目代码开发中,交易查询的包为com.sysware.om.view.bos.dtqr和com.sysware.om.model.bos.dtqr。其中包com.sysware.om.view.bos.dtqr内是客户端程序,而com.sysware.om.model.bos.dtqr为服务端程序。在客户端,QueryPanel表示JscollPanel,是UI界面;QueryWS表示Workspace;QueryBusiness表示Business Class,是界面中所有组件的事件控制。在服务端,QueryIF表示Interface,是功能定义;QueryFactory表示Factory,是客户端呼叫服务端方法的入口点;QueryBC表示BaseBusinessClass,是功能的具体实现。QueryWS宣告QueryBusiness和QueryPanel,设定交易查询模块要显示的首页。QueryBusiness定义了界面中所有组件的事件,当事件触发时,透过QueryFactory呼叫QueryBC的方法。QueryIF中定义查询功能的方法,没有具体实现,而在QueryBC具体实现QueryIF定义的查询功能。如图3-4所示。图3-4 程序流程3.3 交易查询模块测试用例设计测试是软件开发的重要部分。对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。在项目在开发过程中进行了严格的测试。在编码前,根据模块的功能需求,画出简单的功能逻辑视图,写出尽可能多的功能性测试用例,完成黑盒测试用例设计。功能逻辑视图如图3-5所示。图3-5 交易查询功能逻辑试图在编码完成后,根据所编写的代码,画出路径覆盖图,针对每条路径写出一个测试用例,完成白盒测试用例设计。路径覆盖图如图3-6所示。图3-6 路径覆盖图交易查询模块在经过上述测试用例测试后,明显降低了代码错误率,保证了代码质量。3.4 交易结算系统开发工具工欲善其事,必先利其器,选用合适的开发工具可以大大提高开发效率,缩短开发周期。以下列出的工具可以很好的满足期货交易结算系统的开发需要。表3-1 开发工具及相关软件列表编号软件名称版本功能1Oracle10g数据库服务2Eclipse集成开发工具3Eclemma1.3.1代码覆盖工具4JDK1.5Java开发工具包5JFormDesigner2.0.2UI界面设计工具6iReporter1.2.3报表生成工具7Database Maker针对数据库处理工具表3-1 开发工具及相关软件列表编号软件名称版本功能8JBoss4.0.3应用服务器9Apache-ant1.6.5程序部署工具Oracle 数据库10g是第一个专门设计用于网格计算的数据库,在管理企业信息方面最灵活和最经济高效。在尽可能提高服务质量的同时削减了管理成本。 除极大地提高质量和性能以外,Oracle数据库10g还通过简化的安装、大幅减少的配置和管理需求以及自动性能诊断和SQL调整,显着地降低了管理IT环境的成本。 这些及其它自动管理功能提高了DBA和开发人员的生产效率。Eclipse是一个集成开发工具的通用平台,具有开放的、可扩展的基于插件的体系结构25。EclEmma是一个基于EMMA的Java代码覆盖工具。它的目的是让你可以在Eclipse工作平台中使用强大的Java代码覆盖工具EMMA26。EclEmma是非侵入式的不需要修改你的项目或执行其它任何安装,它能够在工作平台中启动像运行JUnit测试一样直接对代码覆盖进行分析。覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示。图 3-7 EclEmmaJFormDesigner是一个创新型Java Swing的图形用户接口/GUI设计工具。它可以让GUI设计变得快乐而轻松,使你能专注于真正的任务,它对JGoodies FormLayout等的出色支持,可以让你在短时间里写出具有专业外观的窗体。它高效高产,功能强大。含Eclipse 和 IntelliJ IDEA的插件以及独立程序。并且含有本地化支持,自动生成代码等功能27。同时使用该软件,我们还可以实现多国语系的设置,使得设计出来的软件,能根据用户的登陆信息,在页面上展示不同语系的语言信息。IReport是为Jas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论