程序化交易系统建设及相关研究.docx
- 文档编号:27976871
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:12
- 大小:24.13KB
程序化交易系统建设及相关研究.docx
《程序化交易系统建设及相关研究.docx》由会员分享,可在线阅读,更多相关《程序化交易系统建设及相关研究.docx(12页珍藏版)》请在冰豆网上搜索。
程序化交易系统建设及相关研究
程序化交易系统建设及相关研究
程序化交易系统建设及相关研究
本文选自《交易技术前沿》第十七期(2014年12月)。
目录程序化交易系统建设及相关研究1前言2程序化交易简介及主要策略2.1久期平均(durationaveraging)2.2组合保险(portfolioinsurance)2.3指数套利(IndexArbitrage)2.4数量化交易(Quantitativetrading)3国外程序化交易系统建设及应用情况4我国程序化交易系统建设及应用情况4.1基于CEP的开放式程序化交易系统4.2商业专用程序化交易系统4.3国内软件厂商开发的程序化交易系统4.4机械化交易系统4.5其它程序化交易相关软件5我司程序化交易系统建设及应用6程序化交易策略开发技术规范与建议思考
程序化交易
上海市证券同业公会信息技术专业委员会
程序化交易研究课题组
光大证券股份有限公司
Email:
zhouzhaoyang@1前言
随着计算机技术的飞速发展,程序化交易已成为信息技术与投资管理的最佳结合点。
由于完全凭借投资经理经验以及手工操作的资产管理模式受到了资金规模扩大、市场风险加剧、波动频繁等问题的挑战,引入程序化交易系统可解决操作效率、风险管理等难题。
因此,各大投资机构纷纷投入研究,去开发专门的交易系统。
这使程序化交易在交易决策、交易辅助方面发挥了巨大的作用。
因此,现在程序化交易泛指利用计算机技术制定交易策略、自动或半自动交易、实行风险控制等行为。
程序化交易得以发展的原因是多方面的:
首先,因其参与者主要为机构或资金量较为庞大的个人,他们的交易操作总量大,对交易成本、交易效率提出了更高的要求,对引入更先进的交易技术有内在的需求;其次,市场有效性理论盛行,简单的指数套利空间越来越小,交易者转而在交易频率上寻求突破;最后,借助程序化交易系统的分析功能,投资者可以在庞大的历史数据中挖掘出新的投资机会,进一步促进期货价格发现功能的发挥。
程序化交易与传统的人工交易的主要区别在于以下几个方面:
程序化交易自动或半自动下单,可同时完成一个组合的交易,并能确保交易指令在较短的瞬间完成(包括自动撤单和补单),人工交易则是靠手动完成,需要人的思考和判断,速度较慢且容易受外部环境和个人情绪的影响;
程序化交易致力于处理当前的交易和当前的资讯,而人工交易需要对未来进行预测和判断,程序化交易对买卖时点的判断是纯理性分析,人工交易则会掺杂感性因素;
程序化交易需借助额外的计算机和网络技术的支持,程序化交易的运算速度快,执行力强,并能对买卖信号和风险预警作出及时反应,而人工交易的反应相对较慢;
程序化交易主要采用标准化的交易方式,也正基于这个原因,导致它的变通能力不强,在市场出现意外波动时,容易对一些不利信息易做出过度反应,这也是程序化交易在美国股灾中备受争议的原因。
程序化交易作为一种相对合理的交易方式,其在发达国家市场已经相当完备,并成为市场主要的交易方式。
毫无疑问,在中国开放金融市场的大趋势下,国内发展程序化交易已经成为必然,且不可或缺。
本文通过对国外成熟金融市场的程序化交易开发现状以及交易策略的考察与研究,结合国内证券行业程序化交易的趋势,以及国内程序化交易建设现状,探讨我们建立程序化交易的必要性和紧迫性。
最后,为程序化交易的开发规范提出初步建议。
2程序化交易简介及主要策略
一般来讲,程序化交易主要有四种交易策略:
2.1久期平均(durationaveraging)
简而言之,久期平均交易策略是指应用久期作为衡量指标来确定股票组合价格的合理上下限,低买高卖,即在股票组合的价格低时买入,在股票组合的价格高时卖出,从而获得价差收益。
而要衡量股票组合的价格是低还是高,就需要将股票组合的合理价格和持有成本等影响价格敏感性的因素考虑进去,即用久期来衡量。
久期平均交易策略是在价格下跌时买进,在价格上涨时卖出,故而该策略对价格波动没有负面影响,相反,却起到了减少价格波动、平抑价格波动幅度的作用。
2.2组合保险(portfolioinsurance)
组合保险交易策略是指当市场处于下跌市中,对股票组合最小价值的一个保全措施安排;同时,当价格上涨时,股票组合仍不失去盈利的机会。
也就是说,为股票组合确保一个最低收益率,同时股票组合又不失去从市场有利变动中获利的机会。
从整体看,由于这类交易的价格是不受有关股价基本面信息的影响,因此,对股价波动性的影响也不是实质性的,如果仅是因为组合保险交易而导致股价的下跌,甚至股价低于其基本面水平,反倒使股票具有了投资价值。
2.3指数套利(IndexArbitrage)
指数套利交易策略一般发生在股票指数的现货市场和与其相对应的股票指数期货市场。
当股票指数现货与股票指数期货的价差大到足以超过无风险利率并能够抵补所有的交易费用时,理论上讲,就可以进行指数套利。
指数套利就是套利者利用程序化交易系统在指数现货市场与指数衍生产品市场之间,利用两类产品在不同市场上出现的瞬间定价的不同来迅速实现贱买贵卖的交易,并从中获得价差收益。
目前在NYSE,利用程序化交易来完成的这类指数套利交易占整个程序化交易的日均交易总量的10%-25%。
2.4数量化交易(Quantitativetrading)
近年来,程序化交易发展的最新动向体现在非指数套利交易策略(Non-arbitrageprogramtradingstrategies),即数量化交易策略(Quantitativetradingstrategies)的迅猛发展上。
数量化交易策略是指,依据于一个混合的数量模型来进行一揽子股票的买卖,该数量模型既遵从于市场内在的规律,又照顾到股票的历史性和理论逻辑的相关关系,将股票划分为价值被高估的股票和价值被低估的股票。
这类交易也使用期货期权等工具,但与传统的指数套利所不同的是,数量化交易的交易规模和市场时机的选择并不试图与指数期货所对应的基准指数,或者与基准指数所包含的一揽子成份股组合相匹配。
通常情况下,数量化交易的组合要比基准指数的组合更狭小,更多地集中在特定的产业或板块上,而不像基准指数,反映的是全市场或综合性市场的概念。
数量化交易使用衍生产品主要是为了对冲整个组合的风险敞口,而不是用于套利。
并且,数量化交易策略严格遵从于模型所反映的信息并进行交易。
可见,数量化交易策略的发展是与各种市场指数类型的发展,如各种风格类指数的日趋多样化等,以及与作为各种基准的指数的功能的多样化等相联系的。
总体来说,对于程序化交易,虽然存在争议,结论褒贬不一,但其优越性是抹杀不掉的,这也是它深受个人投资者和机构投资者欢迎的原因所在。
对于个人投资者来讲,交易单只股票的风险要比交易一个股票组合的风险大,并且交易成本高;对于机构投资者来讲,程序化交易能够使其一次性地持有更大数量的股票,并且可以在股票现货市场、期货期权市场等同时进行交易。
而无论是对个人投资者还是对机构投资者来讲,程序化交易的最大优势就在于降低了交易成本,提高了交易的安全性,简化了交易程序,使交易更加快捷、便利。
尤其是指数套利,既为短线交易者提供了短期炒作获利的机会,也为其他投资者提供了管理头寸、规避风险等手段;同时,也活跃了市场,增加了交易量和市场流动性。
3国外程序化交易系统建设及应用情况
目前国外市场上使用得较多的程序化交易系统大致可分为以下三类:
完全自主开发的程序化交易系统规模较大,技术力量雄厚的大型证券公司(如高盛,摩根,瑞银等)出于策略保密、快速响应业务需求以及灵活的个性化定制考虑,往往会自主开发并使用独有的程序化交易系统;这些程序化交易系统与运行的策略紧密相关,甚至可以是为某个策略定制一个轻量化的专用交易系统。
这些交易系统的特点是高速、安全、稳定、灵活,传统软件所重视的界面友好,人机交互等并不是其所关心的重点。
此类系统所需要的开发工作量最大,必须以业务和技术紧密结合的方式进行,且不论是策略的技术实现风险还是业务管理风险都最高,但相对系统效率和与证券公司自身的匹配度也最高,是其核心知识产权,价值不菲。
如2009年报道的"因涉嫌盗窃参与开发的高速交易程序相关代码,高盛前电脑程序员日前被检察机关拘捕,而高盛亦面临技术机密被泄露以及数百万美元的损失"。
仅从已公开的资料中我们可以得知,其整体框架依策略在服务端或用户端运算大致分为如下两类:
图1国外自主开发程序化交易系统框架——策略服务端运算图2国外自主开发程序化交易系统框架——策略前端运算
商业专用程序化交易系统此类系统国内外都比较常见,策略逻辑基本被固化在系统中,用户只需要进行技术参数配置和业务参数调整后即可使用,常见于逻辑相对固定,速度要求高的套利业务中。
此类型系统的特点是:
系统专用、业务逻辑完善、界面友好、不需要或仅需要很少的二次开发、能够最快速的填补证券公司的业务空白,对证券公司的技术实力要求也比较低,适用于保守型和跟随型的证券公司,同时也受广大中小投资者的喜欢。
基于事件处理和数据流的开放式程序化交易系统图3基于SybaseCEP的程序化交易系统架构这类系统目前在国内外均比较热门,国人熟知的产品主要有:
ProgressApama,StreamBase,SybaseCEP/ESP等。
这些系统往往会被称为“复杂事件处理平台”或是“事件流处理平台”,它们的特点是:
1)软件厂商以提供通用化平台为主,辅以提供本地化和定制化开发服务;2)数据以流的方式得到处理;3)提供自定义脚本语言支持实现各种不同类型的策略;4)策略以“栅栏”的形式横跨在数据流上;5)策略“拦”下的交易信号以事件方式向外发送。
这种类型的程序化交易系统试图在灵活性、易用性和执行效率中取得平衡,往往会需要证券公司根据自身的业务及管理特点,进行较多的二次开发工作。
与完全自主开发相比,这类的系统提供了一个通用、稳定、高效的底层框架和市场接口(部分系统提供),同时也提供了较传统编程语言更高级、与自然语言更接近的脚本语言,以方便交易员开发测试策略,大大减少了开发工作量与对证券公司技术实力的要求;而与封闭式的专用系统相比,又是一个开放性的平台,能够快速响应业务需求和市场变化,总得来说,是一个折中的解决方案,近几年受到了国内外券商的广泛欢迎。
综上所述,根据各家证券公司自身的风格特点和实力,国外的程序化交易系统大致可以分为以上三类,但这三类间系统并不是互斥。
恰恰相反,其应该是互相补充互相促进,共同构成了证券公司的程序化交易业务。
而且在同一条业务线上,上述三类系统也往往会按公司技术及业务发展的时间长短和进度而依次出现。
4我国程序化交易系统建设及应用情况
随着近几年国内证券市场发展的步子逐渐加大,各种新产品和衍生品也不断涌现,目前,我国已经陆续推出指数化产品,包括ETF基金、分级基金、股指期货等相关产品,并在衍生品市场如期货市场推出了21个品种,基本覆盖了我国经济生产的主要原材料市场。
产品类型的丰富性和多样性,为程序化交易的分散化投资提供了可能。
相比成熟的资本市场,发展我国的程序化交易是非常必要的。
特别是在目前,我国证券市场上主要交易仍采用现金交易方式,以股票组合为交易单位的组合交易方式极不发达。
设计并开发我国的程序化交易系统,不仅仅从单纯地提供交易便利的角度出发,而且能够促进指数化产品的发展,如ETF,分级基金等的申购赎回,这不仅仅是效率的体现,更关系到产品的成功与否,使我国ETFs的创设与赎回环节运行得更加顺畅并富有效率。
同时,程序化交易有利于指数化投资产品的发行和发展,能够促进金融环境与制度的日趋合理与完善。
从交易技术层面看,程序化交易也是完全可行的,有利于促进国内券商在技术层面上的升级换代;也有利于与组合交易系统相配套的流动性系统和风险控制系统等后台程序的建设与完善;同时,还能促进券商对数量化客观事实的研究,为券商自营业务和客户提供量化投资决策服务。
目前,国内市场上使用较多的主要有以下五类:
基于CEP的开放式程序化交易系统
商业专用程序化交易系统
国内软件厂商开发的程序化交易系统
机械化交易系统
其它程序化交易相关软件本文将会较为详细的介绍目前在行业内应用较多的基于CEP、商业专用及国内软件厂商开发的程序化交易系统。
4.1基于CEP的开放式程序化交易系统
这些系统的特点在第三部分中已有简单阐述,在国内的主要运作方式是由系统厂商提供相对通用的平台,通过其国内合作伙伴来为客户进行一些具体的本地化改造(如行情、数据库适配器等),但通用的产品必然不能完全满足各家证券公司个性化的需求,因此对于引入通用CEP平台的每家证券公司仍会根据自身的实际情况进行程序化交易系统建设,下面就将详细介绍国内基于CEP的程序化交易系统建设的技术要点与架构,其典型的整体架构图如下所示(图中的事件处理引擎即为CEP系统):
图4基于CEP的程序化交易系统二次开发设计架构4.1.1基于CEP建设的程序化交易系统架构原则
核心稳定自主建立以事件驱动为核心的高效核心系统,采用队列机制,消息驱动相应策略运行保持较低延时。
多种策略可同时并发运行,相互不影响。
为策略编写提供稳定高效的行情、交易服务。
高效扩展方便接入多种行情源、交易品种,以及时应对多市场的策略调整需要。
提供多种策略挂载模式,DLL、及API等第三方接口。
在原始行情基础上,固化相对稳定的行情基元指标,并可不断扩展。
4.1.2基于CEP建设的程序化交易系统功能架构
系统主要包含以下几个模块:
行情数据服务:
提供高频行情、资讯数据相关服务。
包含交易所以及其他格式化实时及历史行情的分发与存储,并对部分关键基础指标进行计算,并向CEP平台进行数据推送。
图5行情数据服务架构图
事件处理引擎:
即CEP平台,作为整个程序化交易系统的底层平台为各模块提供数据流的交互和消息的响应;
订单交易管理:
将产生的交易订单经检验和控制后通过统一交易接口发送至相关交易系统,并进行成交接受处理。
图6订单交易管理
系统监控:
为策略执行人员、监控人员提供系统运行、策略运行情况进行监控;根据组合配置或市场状况动态管理风险,并可及时干预。
图7系统监控4.1.3基于CEP的建设程序化交易系统技术要点
首先,使用CEP最大的目的即为做到实时分析,这不是一项简单的数据管理技术,而是基于数据流的实时分析技术,有几个相关的技术点:
必须能够对数据流而不是简单的数据进行处理;
使用内存管理技术,CEP中所有的逻辑运算不会落地,因为一旦落地就失去时效性;
集成平台级的需求,使用分流、合并、连接等方式使得多台服务器并行或串行解决一系列复杂事件;
高可用性,在一台服务器发生危险的情况下,其它服务器快速接管。
其次,CEP与传统应用最大的区别在于:
高并发,大流量——典型的CEP系统能处理(并不单单是传输,还包含在这之上定义并运算各种数学模型)每秒数十万条甚至百万条以上的数据,这是传统数据库、中间件应用所远远无法企及;
全内存,CEP本身所有的运算操作均在内存中完成,无留痕及回退功能,这就决定了在应用CEP在开发时必须要有独立的日志或留痕模块;
思维角度或开发模块的角度与传统的数据库完全不同,其实相对而言CEP的思维角度与现实中人的自然思维更类似:
事件(数据)完全是以“流”的方式严格按照时序被人(CEP系统)所接收,人(CEP系统)对最新收到的消息或事件做出反应,并根据之前的其些事件(历史数据)和经验(参数),得出某个结论并付之行动(计算出信号)。
由于CEP具有高速、高效、高并发的特别,因此其特别适合于应用在实时风控环节;但其全内存无留痕的特点又与风控要求完全背道而驰,因此在设计基于CEP的风控框架时必须要考虑CEP的风控系统在整个业务链上是作为串联还是并联模块以及如何解决CEP风控系统的留痕及恢复。
4.2商业专用程序化交易系统
此种应用主要是因为交易员出于自己的使用习惯和经验的考虑,回国后仍要求使用与国外相同的程序化交易系统;这在国内各证券公司的业务部门均比较常见;此类系统的特点在上文中也已有所描述,值得一提的是,近年来国外的系统供应商近年来越发重视国内证券市场,并且也愿意改造他们的系统以适应国内市场环境,其典型的系统架构如下图所示:
图8商业专用程序化交易系统架构图4.2.1商业专用程序化交易系统功能框架
专用交易引擎——商业专用程序化交易系统的交易引擎均不是通用型,而为了某类具体的策略而优化,从而达到提高性能和稳定性的目的;
数据分析——用户可以通过系统导出每天的行情,包括tick与K线,可保存为多种文件格式;支持对策略的运行进行数据挖掘与分析,包括但不限于盈亏、委托成功率、资产变动等情况;
策略研发——商业专用程序化交易系统通常都会包括一个策略研发模块,允许客户在一定的策略逻辑范围内实现在策略逻辑基本不变的前提下对各种参数进行调整和测试并提供丰富的金融和数学函数库;
回测与模拟成交——此类系统通常也会提供较为完善的回测功能,在用户对策略参数进行调整后能支持tick和各周期K线的回放,多市场、多品种行情按时间顺序回放同时支持回测成本设置;至少支持全部成交、部分成交以及按价格和盘口数量模拟成交等几种基本成交方式;
风险控制——为客户提供交易端风险提示,涵盖持仓头寸、交易敞口、委托担保比例、预估交易利润等信息,并支持客户在跨市场交易策略中显示整体情况;为客户提供事前、事中、事后风控模块,包含产品管理和流程审批功能;支持多账户统一管理,支持权限分配;为管理者提供分级、分组的风控模块,通过用户间权限和组的管理,帮助风控部门对平台用户进行分块、分级的风控管理,包含常用的风控指标,并可按固定时间周期生成报告;
用户权限管理——系统普遍会为客户提供管理帐户映射关系和分帐户管理的工具;支持分帐户虚拟资金划转等功能。
4.2.2商业专用程序化交易技术要点
此类系统设计时大多采用流行的层次式体系结构,按业务功能和交互流程将整个系统划分为不同的业务组件模块,各组件模块之间应用了通信中间件技术,共享内存技术,并实现了负载平衡和HA灾备技术,其常见的技术要点有:
多市场智能路由——能同时连接多个交易所(柜台)接口,当系统内有委托请求时,订单管理器智能判断委托所属市场并向相应的接口转发;支持对每个接口进行权限及流量的控制;
高可靠性的分布式计算及负载均衡——每个策略单独启动一个操作系统进程,一个策略崩溃不会影响其它策略的运行;可根据负载情况动态增加或减少应用服务器,系统会自动挑选负载较低的服务器启动策略;
多市场数据接收与共享技术——除了默认接收系统开发商或与其有合作关系的信息商的行情源和资讯数据外,系统可根据客户需求对接其它客户有的行情,并可对接用户自有资讯数据库;
算法交易——商业专用程序化交易系统一般都会自带嵌入式基本甚至完善的算法交易模块,能帮助交易员减少冲击成本,提供交易成功率。
4.3国内软件厂商开发的程序化交易系统
国内证券基金业的主要系统供应商为了适应证券市场快速发展的趋势以及巩固自己的市场定位而推出的有中国特色的程序化交易系统;其系统的典型架构图如下所示:
图9国内程序化交易平台总体架构图4.3.1国内软件厂商开发的程序化交易系统功能特点
同时支持策略在前端与服务端计算运行;
与基于CEP的系统相比性能效率和开放性不足,与商业专用的系统相比业务逻辑又稍显欠缺,相对比较折中;
主要应用场景为套利及配对类交易策略,对于复杂策略的支持较少;
有较为完善的管理功能,覆盖面较广,包括但不限于用户管理、策略管理、交易品种管理、方案管理、风控管理等;
内嵌多种金融常用函数与数据函数;
一定程度上支持策略评测(回测)和模拟回测。
4.3.2国内软件厂商开发的程序化交易系统功能架构
主要还是采用传统的三层架构:
驱动层国内证券期货集中、融资融券柜台系统,投资管理系统对接
国内衍生品交易接口、第三方交易平台对接
FIX协议转换、FIX引擎对接
海外交易代理对接
证券、期货行情及外部资讯数据对接
业务核心层负载均衡、HA技术
分布式计算、共享内存技术
事件驱动、消息中间件
关系型/文件型数据库
业务应用层多层次账户管理体系,分账户资产跟踪、核算
证券、期货、金融衍生品量化、对冲交易
多级风控、估值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序化 交易系统 建设 相关 研究