期货会员系统中程序化交易模块的设计与实现-软件工程专业毕业论文.pdf

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期货会员系统中程序化交易模块的设计与实现-软件工程专业毕业论文.pdf
专业学位硕士学位论文
期货会员系统中程序化交易模块的设计与实现Design and Implementation of the Program Trading Module in Futures Member—Side Trading System
学号:41217236
大连理工大学
Dalian University of Technology
万方数据
大连理工大学学位论文独创性声明
作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。

尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。

与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。

若有不实之处,本人愿意承担相关法律责任。

学位论文题目:期筮金员丕统主猩庄毡塞墨搓迭鲍遮进皇塞丑
年』月上日作者签名:鍪塞整日期:翌丝
万方数据
大连理工大学专业学位硕士学位论文
摘要
中国金融市场快速发展,全电子化的交易也越发活跃,随着期货市场新合约的上市和各交易所夜市的不断推出,以及金融市场的不断完善,我国投资者和会员机构的投资理念意识逐渐趋于理性和成熟,投资的行为由主观情绪所主导渐渐转变为客观理性的投资,而程序化交易凭借着其客观理性稳定安全的交易和风控特性逐渐地融入中国金融市场,所以设计开发并推广程序化交易系统能使期货市场更加活跃,流动性更强。

程序化交易泛指利用行情收发软件和电脑交易程序,再融入一些参数触发条件,按电脑给出的信号来进行空头多头的操作。

本文以实际应用软件出发,对基于期货会员系统程序化交易的实现进行详细的探讨和分析。

第一部分介绍程序化交易的相关知识和国内外现状,并以图标形式展现其优劣性;第二部分详细介绍期货会员端系统的系统架构和技术优势,为开发程序化交易的应用,并使其继承技术优势打下基础;第三部分对程序化交易的建立过程和统计检验进行了研究,并融入一些算法策略,提高效率和市场流动性;第四部分对设计的程序化交易系统进行了测试,并采集结果数据进行了分析。

最后是程序化交易对期货市场的影响和需求。

使用程序化交易可以在交易过程中避免人为的失误,其在风险管理、成本管理等方面具有不可比拟的优势。

目前我国的程序化交易尚处于稳步发展阶段,因为起步较晚还没有大众化,很多程序都不为人知。

因此本文不仅全面深入地了解程序化交易在金融工程学术上的重要意义,而且还自主开发设计了基于期货会员系统的程序化交易系统,希
望能在实际期货投资市场中所运用,提高其研究价值。

关键词:期货市场;程序化交易;期货会员系统;系统架构
万方数据
期货会员系统中程序化交易模块的设计与实现
Design and Implementation of the Program Trading module in Futures
Member.Side Trading System
Abslract
China’S financial markets’development iS rapid.fully electronic trading iS also increasingly active,with the futures market and night market of new contracts has introduced as well as financial market continuous improvement,Our investors and institutional members of the investment philosophy gradually mature and rational,investment behavior dominated by
subjective emotions into objective and rational investment,program trading by virtue of its objective and rational transaction characteristics gradually into the Chinese financial market.So the development of program trading system Can make the market more active and liquid.Program trading is using market software and computer programs.、^,itll the market technical indicators,according to the computer signal to operate trading.This article is detailed discussing and analyzing program trading system with the practical application.
which based on membership ends.The first part of the article introduces the knowledge of program trading,and an icon to show its advantages and disadvantages;The second part describes the membership end system’S architecture and achieving of technology for application development and lay the foundation of the transaction;The third part of the program establish
some algorithm strategies procedures and statistical tests of the transaction were studied,and into
to improve efficiency and market liquidity;The last part of the article is program trading on the futures market impact and requirements.
Use of program trading Can be overcome human weaknesses in the transaction process,which has unparalleled advantages in risk management,cost management.At present,The current program trading in Our country is still in the stage of steady development,program trading’S system is not popular,many procedures are unknown.Therefore this paper not only comprehensives and understanding of the significance of program trading in financial engineering academic,but also has designed the program trading system which is based on the membership system,I hope the program trading’S system Can be used widespread in the practical market,and improve its research value.
Key Words:Futures markets;Program trading;Members end system;System architecture 万方数据
目录
摘要..I Abstract II
1 绪{仑1
1.1选题背景和意义1
1.2 国内外历史与现状1 1.2.1 历史..1
1.2.2国外研究现状2
1.2.3 国内研究现状3 1.3程序化交易的利弊4 1.3.1 利端..4
1.3.2 弊端4 1.4本文研究的目标和内容6
1.5本文所做的工作7
1.6本章小结7 2期货会员系统架构和业务通讯协议..8 2.1 期货会员系统的介绍8 2.1.1 期货会员系统的概念和术语8
2.1.2期货会员系统的技术优势一10
2.1.3期货会员系统的业务特点..1 1 2.2期货会员系统体系结构.12 2.2.1 期货会员系统体系结构一12
2.2.2期货会员系统硬件环境一1 7
2.2.3期货会员系统网络架构..18 2.3程序化交易系统设计方案.18
2.4本章小结.19 3程序化交易系统设计20 3.1 基本思路.20 3.1.1数据库选择..20
3.1.2编程语言选择一20
3.1.3脚本语言选择一21 3.2对上端系统API接口设计21
万方数据
3.2.1 通讯模式..22
3.2.2业务设计..25
3.2.3安全可靠..25 3.3 对下端系统API接口设计26 3.3.1 交易接口.26
3.3.2 行情接口..26
3.3.3业务设计..27 3.4系统功能设计.28 3.4.1 报单线程..28
3.4.2 频率可控..3 1
3.4.3 价格可控..32 3.5系统架构设计.33
3.6系统策略设计.33
3.7特殊技术设计.34 3.7.1信息总线基本概念一34
3.7.2协议体系一35
3.7.3通讯模式..35
3.7.4可靠分组回退NACK机制.37 3.8数据库的设计.37
3.9本章小结.42 4系统实现与测试43 4.1系统的实现.43 4.1.1 接口实现..43
4.1.2业务实现..44
4.1.3核心实现..45
4.1.4 工具实现一48 4.2功能的实现.49
4.3功能测试52 4.3.1 启动测试环境..52
4.3.2启动程序化系统..53
4.3.3风险管理控制..55
IV
万方数据
4.4采集结果.55
4.5 优化改进:.56
4.6本章小结.57结1沧一58参考文献59致谢..61大连理工大学学位论文版权使用授权书一62
V
万方数据
大连理工大学专业学位硕士学位论文
1绪

1.1 选题背景和意义
随着我国金融理财时代的到来,各种市场上的金融衍生品种类繁多,相应的风险也越来越大。

程序化交易系统作为金融行业新型产物之一,受到了广大投资者、会员公司和基金公司等金融业的追捧。

程序化交易是利用交易行情软件和电脑程序脚本,借助市场上某些技术指标,由特定程序计算出报价点,根据相应的信号判断进行空头或多头的操作。

起初在欧美那些发达国家的股票市场,程序化交易运用得比较多,而在亚洲那些发展中国家市场上,用得比较少。

但随着金融行业越发炙手可热,特别是股指期货、个股期权、原油期货期权等一系列衍生品的出现,国内金融市场复杂的交易策略也随之猛增,而对于这些复杂的策略来说,如何在程序化交易软件中得以运用,是当今一大课题【l J。

关于程序化交易的定义,至今都没有硬性的规定,因为它的概念是随着人们观念的变化而变化的,是随着金
融市场蔓延和技术持续发展与时俱进的。

研究透彻程序化对期货会员系统的影响和利弊,加强技术的创新和投入,不仅可以提高金融市场的整体效率,而且可以使得软件开发技术与国际接轨。

当前国内普遍存在的现象是,经济公司受资源投入限制,在技术创新环节投入不够,实现不了程序化交易,即使勉强搞得起,其客户也不会操作程序化交易工具,所以国内在程序化交易这方面的技术实现和创新步伐停滞不前。

不过,随着各家交易所夜盘的相继推出,以及各种新花样新产品的上市,相信今后在技术投入和创新方面会有更多的动作。

尽管程序化也存在一些问题,但只要在相应的法律条目上明确规定,鼓励技术创新,积极管理监督等方面做好充分准备,避免人为操控等因素的出现,程序化交易的负面影响就可以降到最低。

无论是我国的还是国际金融市场,其中尤其是期货市场,程序化交易必将成为投资者所青睐的主流模式。

1.2国内外历史与现状
1.2.1 历史
程序化交易一开始被称为程式交易,有时也可称为篮子交易。

上世纪80年代,它发源于美国的证券市场。

当时指在纽约股票交易所(NYSE)里,多头超过15只以上的股票组合称为买入程式,空头超过15只以上的股票组合称为卖出程式。

初期的程序化交易主要被某些机构用于指数套利和组合保险等地方,组合保险指的是使用股票指数期货
和期权产品来保护股票组合。

为了防其市价下跌,机构用程序设定了一个事前指定的参万方数据
期货会员系统中程序化交易模块的设计与实现
数,当参数达到某个预值时,便卖出大量股票,有点类似现在的预埋单功能。

在80年代中期,组合保险策略保护了大约价值900亿美元的股票组合,最后也因此被认定为1986年股灾的主要原因之一。

不久后,纽约交易所就颁布了新的规则一一“80A”,来
限制程式交易,组合保险交易就渐渐消失了。

2007年12月1日,纽约股票交易所又将程
式交易的相关规定从规则“80A”调整到规则“132B’’,意味着取消了有关交易金额约束
的规定,至此程序化交易被重新定义为买卖15只或15只以上股票的指数套利交易或者
其他交易策略的交易模式【2J。

从证券到期货,程序化交易得以在期货界生存并发展的原因是多方面的:首先,市场中
简单的指数套利已经满足不了投资者们的需求,人们越发希望转在交易的频率次数上突
破极限,从而达到量变引起质变的效果;其次因参与者主要是机构或资金量比较庞大的
个体大户,他们的报单量和成交量都非常可观,相比其他投资者,他们对交易成本、交易效
率提出了更高的要求,所以程序化交易的技术要跟得上他们的节奏;最后,凭借程序化交易系统实现的功能分析和历史数据重演,投资者可以挖掘出新的,适用于自己
的策略机会和方式。

1.2.2国外研究现状
程序化交易起初兴起于欧美发达国家,随后在金融市场变得大众化,但在发展中国家
发展缓慢,势头不猛。

在美国,程序化交易的总交易量年年大幅递增,比重平均每年增
长几个百分点,许多经理人都倾向于使用程序化交易系统,因为它对交易、风控与资产管
理有极大的帮助。

纽交所里使用程序化交易的大户有摩根士丹利、高盛、巴克莱资本、
德意志银行、韦德布什·摩根、摩根大通、法兴美国、加拿大皇家银行资本等。

因某些
原因,欧洲官方在2007年停止了“80A"规则的实施,从此每天程序化交易的成交量又恢
复到7.78亿股,甚至创了新高。

2008年,花旗集团做出一系列大动作,以支持程序化
交易,其购买了Lava交易,收购了On Trade有限公司,然后又买断了一种新型的自
动交易化平台,每天交易量能达到两三亿(当时占全美证券总量的6%)股【3J。

随着计算机金融数学理论的发展,程序化交易理论日趋成熟,一些应用软件功能也逐
步完善和富有效率。

程序化交易已经成为一种标志,标志着市场的主流模式。

当然有时
程序化交易也会产生副作用,2010年美国华尔街的道琼斯指数瞬间暴跌,显然也不是
偶然的。

万方数据
1.2.3国内研究现状
国内金融市场的程序化交易现象出现相对较晚,尤其是在期货领域的应用更是少之又少,无论是在交易、风控、策略的研究还是系统应用方面的成果都较为缺乏。

近年来伴随着电子交易系统在金融行业的越发盛行,程序化交易作为一种新型模式腾空出现,并渐渐被越来越多的机构和投资者者所接受,可谓一发不可收拾。

对于我国期货市场来说,随着近年来产品体系和市场结构的快速发展和进步,目前
我国期货市场四家交易所的交易品种可谓丰富多样,从指数到商品,再到贵金属,今后还
会出现原油、期权等品种,给程序化交易提供了非常大的发展空间。

与此同时,我国期
货市场中从事程序化交易的会员和客户数量也在稳步增加。

而且近几年来随着改革开放,金融市
场的发展相对稳固,信息技术的创新也相对稳定,国外一些优秀的投资理念被带进国内,并被
人们所知,同时各交易所也开始支持一系列的特殊交易指令,比如套利、止损、市价等,
可谓百花齐放,百家争鸣。

所以我国的程序化交易起步较晚并不一定完全是坏事。

最终
各种各样的程序化交易系统随之被开发出来,尽管在市面上还看不到具有商业化的此类
交易系统正式推出,但底层的程序化交易开发平台、应用平台等均己相对完善【71。

其实国内期货市场早就存在高频交易现象,但因某些策略与程序在交易所那边不适用、
不支持、不兼容,导致那些投资者和机构不得不放弃这些高频操作。

2009年,在监管机
构和四所的协调要求下,期货行业首次宣布并实施开源开放模式,同时为人熟知的各大
交易系统一一开放了源代码和交易、风控的接口,给下端系统创造了有利条件,使得软
件程序员能创造自己的交易系统,从而更方便地将那些新颖的实用的交易策略与模式,
融入到程序软件中,实现金融行业的电子化、程序化和自动化。

目前,期货市场中交易量庞
大的个体大户投资者和具有一定规模的交易技术团队或者机构构成了国内程
序化交易的主体,其中个体户就占了八成【5】。

而且众所周知,在真正交易的时刻,投资者在操作时容易被自身或者外界的各种因素影响,情绪的大幅跌宕会导致瞬间大脑短路,从而做出不利的操作,致使亏损。

相反,职业的投资者可以凭借程序化交易系统的稳定性,收集数据情报,快速地制定交易策略,同时有条件的还可以部署一套简易的测试环境,利用程序化交易程序,在模拟环境中,综合衡量验证自己的交易策略,并不断改善程序化交易模式的盈利能力。

总之,程序化交易的普及将是投资者们众望所归的。

1.3程序化交易的利弊
1.3.1 利端
使用程序化交易软件的话,人们可以在交易过程中克服人性的弱点。

首先人是有人
性的弱点的,尤其是人的贪婪、纠结、恐惧、迷茫,赌性等等因素都会让一个正在交易的
投资者突然改变原来的交易策略,而且这种行为是周期性的。

而程序化交易是能够解决以上
人为因素的。

毕竟计算机的输出是程序写下来的,只要执行者执行,应当说几乎百分之
百的做到知行合一,这样投资者也不用时时刻刻紧盯着盘面【6J。

其次,使用程序化交易软件可以突破人的生理极限。

众所周知人的反应速度没有电
脑快,也没电脑稳定,就算你状态再好,精力再旺盛,智商再高,反应弧度还是比不过电
脑,而且没电脑稳定,想到的事情需要从大脑神经传输到手或脚再执行。

相反电脑程序
不用经过这么多环节,只要到了指定时间和触发条件,即执行操作,完成任务。

尤其像
下跨期、跨品种套利组合单子的时候,人的能力就显得有限了,比如投资者选择组合品
种来套期保值,想同时买持五种合约,当行情激烈频繁跳动,几种合约同时达到触发条
件,那凭人用手点击的速度肯定是顾及不到五种合约的,最多也就一两种能操作,而且多人操作
也不一定能协调过来,但是电脑的话可以轻松完成这样的组合项引7。

1.3.2弊端
首先,能使用程序化交易的人,门槛都比较高,只有拥有大型服务器,稳定性强,技术性高的交易者才能做到并实现程序化交易,而其它的交易方法,没有办法用程序化交易来完成,这就限制了大部分人使用程序化交易。

其次,程序化交易存在不稳定性,总会出现特殊情况,那时需要特殊处理,程序化交易
系统不可能永远包打天下的。

有些人把程序化交易吹得很神奇,并高估了程序化交易的
效果,同时也有大部分人比较排斥程序化交易,认为电脑不是万能的,而且如果都用程
序化交易,都能赚钱盈利的话,那市场中还有谁会亏本,所以持否定意见。

其实我们需要正确看待程序化交易,它是一种工具,关键在于怎样使用这么一个工具,怎样用好这么一个工具,而不是纠结到底要不要用这个工具。

电脑归根到底是由人发明出来的,程序化交易也一样,而且一个程序化交易系统的盈利效果和使用价值,直观地反映出其设计者的业务能力以及编程技术水准【8J。

设计的理念实际上是汇聚了许多人的投资理念、风险管理、策略方法等等,甚至还包括了前人或者外国人积累的经验。

不过在不同的金融市场中交易策略也随之不同,同一种交易方法模式不一定能适用全市
大连理工大学专业学位硕士学位论文
场,而且严格的来说,程序化交易系统背后的运维和操作人员,必须保持一个清醒的大
脑,不断地了解市场需求,深入学习业务,创新并挖掘先机。

综上所述,目前对程序化交易的实现而言,门槛相对较高,无法大众化,国内最近
涌现出的一些知名软件平台,如博弈论、开拓者、文华财经等有时还是不能全面地反映交
易者投资理念和交易策略。

目前软件程序还不是万能的,编写程序不可能像实盘那样,总会
存在一些疏忽,从而导致一些bug的存在,其实编程不是人人都能学得来,要花时
间尝试的,很多人半途而废,更有些人不敢接触,就是资深的开发大师,也不可能信手拈来
的写程序,更不可能用脚本完全反映出所有幕后交易者的交易理念和投资策略。

所以一
整套完备的,稳定的程序化交易系统,可能要求甚多,不但要在其前台操作便捷灵活,
还要能在后台保存大量数据,乃至后续运维、管理等各个环节都要优化完善嗍,工作量还是
相当大的。

表1.1利弊对比表
Tab.1.1 Compare the pros and cons table
由上面表1.1可见程序化交易和人为操作交易的主要区别有很多,需要按照自身需
求来处理。

期货会员系统中程序化交易模块的设计与实现
1.4本文研究的目标和内容
程序化交易在国内刚刚发展不久,本文以实际应用出发,通过对期货会员系统的系统
架构进行分析,结合当前程序化软件的不足,对设计程序化交易系统方法进行了研究,然后
结合国内外相关领域的技术,提出了自己的程序化交易方案,并在期货会员系统中进行
了实践。

从建立系统,测试系统,完善系统,到后期维护系统等各个方面详细地进行分析,
使得机构或者投资者对程序化交易更容易理解。

目前,针对期货会员系统基础上所开发的程序化交易系统,还存在很多问题和漏洞,有
时这些漏洞会使期货会员系统出错,严重的甚至会瘫痪或崩溃,造成不可挽回的结果,所以
本文探讨并研究适合期货会员系统的程序化交易系统,使其能够按照自身需求自动报单
撤单,比如时间间隔可长可短,价格在可控范围内循环,系统有稳定的技术所支持。

实现准确性、稳定性和简单性的系统目标【1 01,并寻找服务器和环境进行全面的测试。

从而挖掘并实现程序化交易系统一系列特点。

首先要确保程序化交易系统的稳定性。

稳定性主要体现在以下几个方面:(1)能够相对适用于不同的市场,不会被市场所淘汰,无论牛市还是熊市:(2)能够交易不
同的品种和合约,不能存在局限性;(3)在各个时间段内起伏不能太大,波动不能太明
显;(4)交易策略要安全可靠多样;(5)要有风险控制手段来限仓限保证金等等。

其次是准确性。

说白了,程序化交易就是一个将交易思想理念的物化出来的过程,然后
将这种过程转为一套系统。

在这个过程中,如果因为程序疏漏,逻辑不合理,不能准确
地反应出投资者的理念,实现投资者的交易策略,那么相应的输出结果将会和投资者所
期望的大相径庭,如果最终结果对投资者有利,那还好说,如若向着不利方向发展,
投资者是无法满意的【11 J。

然后是简单性。

实际生活中用于投资交易的策略数不胜数,但使用率高的,长期生存
下来的,都拥有简单性的特征。

在设计程序化交易系统的过程中,也应该遵循着简单性
这一原则。

在拟定交易策略触发交易指令的时候,如果判断条件太多,那些多余的限制
条件可能会导致系统无法触发条件指令,从而失去盈利的时机。

同时系统操作起来也要
简单明了,如果系统上手较为困难,执行命令比较复杂的话,年龄偏大的投资者会很难
使用。

大连理工大学专业学位硕士学位论文
1.5本文所做的工作
鉴于程序化交易在国内期货市场的发展潜力巨大,本人结合在某公司的几年工作经验,撰写本文,试图从各个方面各个环节对程序化交易进行详细地探讨和分析,并尝试设计一款基于会员端系统的程序化交易工具,从而解决之前提出的一些问题,规避风险。

论文主要完成的工作体现在:
第一部分,介绍了程序化交易在国内外历史与现状,指出大部分现有的程序化系统的优缺点。

第二部分,从硬件到软件,全方位分析了期货会员系统在一些层面的优势,以及期货市场的程序化交易,对于会员交易系统的技术压力和实现要求,明确了基于期货会员系统上,设计程序化交易组件的可行性。

第三部分,从程序化交易组件的设计着手,自己尝试开发了一套程序化交易应用,再从各方面角度进行了测试检验、分析和优化,并结合一些算法策略,验证了其在会员交易端系统的基础上的实施性能和效率。

第四部分,进行了系统测试,得出了结论,并阐述了程序化交易对期货市场的影响和要求,以及我对其前景的看法和展望。

1.6本章小结
本章首先介绍了论文的选题背景和研究意义,详细介绍了程序化交易的国内外的研究现状和历史。

然后对比了程序化交易系统的利端和弊端,并对目前程序化交易需要解决的问题做了一定程度的分析。

同时阐明了论文研究的最终目标和主要内容,最后大致地列出了全文的组织结构关系。

相关文档
最新文档