ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:607.15KB ,
资源ID:18133416      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18133416.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(期货程序化交易策略研发Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

期货程序化交易策略研发Word文档下载推荐.docx

1、2.3 MATLAB2012B介绍 72.4 相关策略技术现状 8第3章 需求分析 93.1 策略功能需求分析 93.2 性能需求 11第4章 策略详细设计 124.1 策略开发流程图 124.2 阿拉法模块介绍 124.2.1 理论驱动型 134.2.2 数据驱动型 144.3 交易成本模块介绍 144.4 风险控制模型介绍 154.4.1 控制风险的类型 15数据的重要性 154.5 技术分析技术 174.5.1 日本蜡烛图 174.5.2 日本蜡烛图的画法 174.5.3 日本蜡烛图的形态 174.5.4 代码编辑蜡烛图 194.6 技术指标 194.6.1 技术指标概述 194.6.2

2、 技术指标分类 194.7 阻力位和支撑位 214.8 本章小结 22第5章 程序化交易策略实现 235.1 日内交易策略DRT 255.1.1 策略开发流程图 255.1.2 策略介绍 255.1.3 策略测试结果 265.2 日内交易策略DRT(加仓) 295.2.1 策略开发流程图 295.2.2 策略介绍 295.2.3 策略测试结果 305.3 日内交易策略R_Breaker 325.3.1 策略开发流程图 335.3.2 策略测试结果 345.4 基本面策略开盘后一分钟交易策略 365.4.1 策略思想 365.4.2 策略开发流程图 365.5 统计套利策略 375.5.1 统计

3、套利的定义 385.5.2 统计套利的思路 385.5.3 统计套利风控 395.5.4 统计套利策略 395.6 本章小结 39第6章 程序化交易展望 416.1 CTA 416.1.1 CTA概述 416.1.2 CTA策略 416.2 投资组合的分散化 426.3 异构策略 426.3.1 同构策略 436.3.2 交易时间框架 436.4 策略的系统测试 436.5 本章小结 44参考文献 45作者简历 47致谢 48图目录图 3.1 程序化交易策略功能结构图 10图 4.1交易策略流程图 12图 4.2实体长线 18图 4.3长影线 18图 4.4 Boll通道 20图 4.5 MA

4、CD 21图 5.1 DRT流程图 25图 5.2 DRT交易策略测试结果 26图 5.3 DRT收益曲线 27图 5.4 DRT(加仓)流程图 28图 5.5 DRT(加仓)交易策略 29图 5.6 DRT(加仓)收益曲线 30图 5.7原理图 31图 5.8 R_Breaker流程图 32图 5.9 R_Breaker策略图 33图 5.10 R_Breaker收益曲线 34图 5.11 1minVol交易 36图 5.12统计套利 37图 6.1投资策略分散化 40表目录表 2.1 数据类型 6表 5.1仿真交易结果表 27表 5.2仿真交易结果表 30第1章 绪论1.1 课题背景程序化

5、交易系统是指设计人员将交易策略的逻辑与参数在电脑程序运算后,并将交易策略系统化。当趋势确立时,系统发出多空讯号锁定市场中的价量模式,并且有效掌握价格变化的趋势,让投资人不论在上涨或下跌的市场行情中,都能轻松抓住趋势波段,进而赚取波段获利。程序化交易的操作方式不求绩效第一、不求赚取夸张利润,只求长期稳健的获利,在市场中成长并达到财富累积的复利效果。经过长时期操作,年获利率可保持在一定水准之上。程序化交易系统的构成就是:极其开放模型(策略)的设计、风险动态管理技术、误差矫正反馈检验准确率、快捷的下单速度。这四项组成了整个程序化交易系统。1.2 国内外状况1.2.1 程序化交易的国外发展状况20世纪

6、90年代以及2000年以后资本市场以及金融衍生品市场的长足发展,在87年股灾中被指为罪魁祸首的程序化交易,终于被历史肯定了它的价值,人们终于也像当时从认为股票和期货为洪水猛兽到接受它们并发挥它们的经济作用一样,开始逐步的走进了程序化交易的世界、量化投资的世界。量化投资及程序化交易大师西蒙斯默默无闻的在十几年间大量使用量化系统的交易方法,取得了比巴菲特、索罗斯等市场传奇更高的年收益率。在这漫长的岁月中,程序化交易一直悄无声息的为投资者不停的赚进大把的钞票,也在润物无声的在为各交易所的交易量做着贡献。据统计欧美市场中有70%的交易是由程序化交易完成的,如果将程序化交易的概念再定义的宽泛一些的话,可

7、能这个比例会更高。而在亚洲台湾、韩国来看的话,程序化交易量占比在50%左右。从另外的角度,国外的期货CTA也就是期货的资产管理业务,交易量的70%左右都是由程序化交易来实现。1.2.2 程序化交易的国内发展状况国内证券市场只有20年的历史,相比欧美以及亚太其他发达地区市场成熟度还有很大差距,不仅如此,国内市场的一些特性也使程序化交易在国内发展受到限制。首先,国内的交易场所比较单一,股票只在交易所进行交易。而国外的情况则是大量的流动性存在于交易所以外,比如大大小小的暗池、ECN等。即使同一只股票也会在多个交易所交易,目前NYSE股票只有25%左右的交易量是通过NYSE执行的。国外很多执行算法就是

8、为这种条件量身定做的,比如各种智能路由算法,而在国内这些算法都没了用武之地。其次,国内市场的T+1交割制度使得大量日内交易策略不能得以实施,高频交易策略更是无从谈起。除此以外,股票市场不允许卖空、缺乏做市商制度、可供交易的产品简单、交易指令不够完善等,都不利于程序化交易策略的开展。尽管如此,程序化交易在国内的发展前景依然良好。自2010年4月沪深300股指期货被正式推出以来,大量的程序化套利策略纷纷出炉并创造出惊人的交易量。在国内的期货交易所主要有大连期货交易所,郑州期货交易所,上海期货交易所和中金交易所。中金所主要以金融期货为主,包括已经上市的股指期货和即将上市的国债期货两个品种,其他三个交

9、易所交易的是商品期货,包括农产品如豆粕、豆油、棉花、白糖等,化工产品如天胶、强塑、PTA、甲醇等,金属产品如铜、螺纹、黄金、白银等。以交易量来看,中金所的股指期货虽然只有一个品种,交易量已经占到了所有期货产品的60%左右,如果国债期货推出以后,中金所的交易量能超过交易量总额的85%以上,而且这两种金融属性的期货产品很适合使用程序化交易进行包括套利,趋势和高频等策略进行交易。1.3 程序化交易特点1.3.1 程序化交易的优点1、 客服弱点使用程序化交易可以在交易过程中可以克服人性的弱点,这是程序化交易最大的优点,也是我们喜爱程序化交易的最主要原因,人是有人性的弱点的,人的情绪化因素,贪婪,恐惧,

10、做事不果断,赌性等等因素都会让一个人在正在交易的时刻突然改变原有的计划,而这种行为是不断重复发生的。就如德国的哲学家心理学家叔本华说过:一个人在相同的时间和环境条件下会犯同样的错误,是不可避免的,这就是人的劣根性。我们和市场做交易,还不如说我们是不断的和自已的心魔做斗争。而程序化交易是一切功课在事先,电脑是不折不扣的执行者,应当说几乎百分之百的做到知行合一.这样也让人从盘面的辛劳中解脱出来。2、突破极限使用程序化交易可以突破人的生理极限.我们都知道人的反应速度是有限的。我们交易从大脑所想到手动需要一段时间来完成,而电脑程序交易显然比人工快的多,特别是当我们为了分散风险而进行多品种组合时,人的能

11、力是有限的,例如选择品种多一点更能降低交易风险,在同时持有四个以上的商品品种,当行情激烈多品种同时发生交易信号时,那一个人的行为是顾及不了的,但电脑可以轻松完成.程序化交易可以让你远离期货,享受生活。1、不能表达全部的交易思想只有系统性交易者才能做到程序化交易,而其它另类的交易方法,没办法用程序化交易来完成,这就把一部分人挡在了门外。2、 巨大的回测风险有些程序化交易模型从长期看是盈利,但是短期内可能会出现巨幅的资金回撤。部分投资者对程序化交易认识比较模糊,认为程序化交易就是一台赚钱的机器。永远盈利。这些投资者在这种资金回撤下就可能难以继续进行程序化交易,从而错过后期出现的大幅盈利。3、容易加

12、剧金融风险1987年美国股市暴跌的罪魁祸首一度被认定是期现市场的程序化交易。当时的情况是股票期货低于股票价格,指数套利者将买入期货并卖出股票,如果股票价格下跌的幅度远远不够,投资组合保险公司将卖出期货合约,造成期货市场新一轮的下跌,这导致指数套利者进一步卖出股票,从而形成自我强化抛售的下跌周期。不管1987的股灾是否是程序化交易造成,但是期间程序化交易至少起到了推波助澜的作用。国内股指期货一而再,再而三的推迟上市时间,监管部门或许也是处于这样的担忧。1.4 本课题研究的目标主要是通过交易开拓者平台进行程序化交易的策略开发,采用语法类似Pascal的TBL语言开发实现的。策略功能主要包括策略模型

13、、资金管理、风险控制、交易成本管理等。通过交易所提供的实时数据进行交易,通过平台的数据库内的数据进行历史测试。文章首先简介涉及的相关技术与基本知识,然后阐述策略的功能,再具体分析策略各个模块的功能及具体实现方法。1.5 本章小结 程序化交易伴随着计算机技术的发展,已经有30多年了,很多国外的大型资产管理机构通过使用程序化交易来控制巨额资金,同时交易全球的资本市场,取得了稳定的回报。第2章 交易平台与关键研发技术2.1 程序化交易平台从广义上讲,量化交易是指投资者利用计算机技术、金融工程建模等手段将自己的金融操作用很明确的方式去定义和描述,用以协助投资者进行投资决策,并且严格按照所设定的规则去执

14、行交易策略(买卖、价格、数量等)的交易方式。按照数学模型的理念和对计算机技术的利用方式,量化交易可以进一步细分为自动化交易(Automatic Trading)、量化投资(Quantitative Investment)、程序化交易(Program Trading)、算法交易(Algorithm Trading)以及高频交易(High Frequency Trading)。这五种量化交易方式的侧重点各有不同,是量化交易技术发展到不同阶段的产物,也是不同量化交易用户群的不同交易方式。量化交易平台是指能分别满足上述五种交易方式的平台,要求其从交易系统的行情和基础数据、交易和执行、策略研发和运营三个

15、主要方面既要做到大而全,也要做到深而精。这对目前大中型金融机构的IT以及实际运营部门是很大的挑战,同时也提供了发展机遇。目前的量化交易平台可以从开发语言、技术架构、系统架构、策略方向、交易方式等几个方面2。2.2 交易开拓者交易平台1、Trade Blazer公式介绍Trade Blazer公式是一种专为分析金融数据-时间序列而设计的高级语言,它提供直接、强大的框架将交易思想转化为用户函数、公式应用等计算机能够识别的代码。Trade Blazer公式是一门语法简单但是功能强大的语言,它能帮助创建自己的交易和技术分析工具。通过组合普通的公式应用和简单的语句,Trade Blazer公式能够很容易

16、并且直接的用简单语句表达自己的交易规则和行为。交易开拓者能够读取开发的Trade Blazer公式,在历史价格数据基础上进行评估,并能自动执行特定的交易动作,将交易思想转化为实际的交易操作。2、Bar数据所谓的Bar数据,是指商品在不同周期下形成的序列数据,在单独的每个Bar上面包含开盘价、收盘价、最高价、最低价、成交量及时间。期货等品种还有持仓量等数据。所有的Bar按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为Bar数据。3、叠加数据交易开拓者的超级图表支持商品叠加的显示,当叠加的图表调用各项公式时,可能有需要使用叠加的商品对应的基础数据,针对这样的需求,T

17、rade Blazer公式提供了叠加数据的支持。例如新建一个超级图表模块,其主数据对应的商品为:cu1303,在此基础上,我们叠加了cu1304和cu1305。此时,根据叠加操作的先后顺序,cu1303为Data0,cu1304为Data1,cu1305为Data2,在Trade Blazer公式中,我们可以通过Data1.Close(),Data2.Vol()类似方法调用叠加Bar数据,叠加Bar数据的函数和Bar数据一样,只是需要在调用的时候加上数据源。也可以使用Data0.Open()来调用Bar数据,默认情况下,可以省略对主数据源的指定,为了方便,一般直接使用Open()来代替Data

18、0.Open()。4、数据类型 Trade Blazer公式支持有三种基本数据类型:数值型、字符串、布尔型。引用数据类型为了通过用户函数返回多个值,序列数据类型为了对变量,参数进行回溯。因此,数据类型共有九种,如下表所示:表 2.1 数据类型名称说明 Bool布尔型。BoolRef布尔型引用。BoolSeries和周期长度一致的Bool型序列值。Numeric数值型。NumericRef数值型引用。NumericSeries和周期长度一致的Numeric型序列值。String字符串。StringRef字符串引用。StringSeries和周期长度一致的String型序列值。方法可以被声明接受可

19、变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。Series关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。2.3 MATLAB2012B介绍MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交

20、互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。1、系统结构MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。2、开发环境MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。3、数学函数库MATLAB数学函数库包括了大量的计算算法。

21、从基本算法如加法、正弦,到复杂算法如矩阵求逆、快速傅里叶变换等。4、语言MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。5、应用程序接口MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。2.4 相关策略技术现状 目前国内资管业务程序化方向主要以TB、文华财经、MC等交易平台作为

22、开发测试平台,这些平台的好处是界面清晰友好、数据连续性全、期货合约可以自动换月,针对Bar数据上的研发简单易行。缺点是这些平台只能提供最近一周的Tick数据,实盘交易时候数据不稳定、交易费用昂贵等问题,不能进行微秒量级上的策略开发和实施。 交易平台国内一般选择赢佳、CTP108、理财牛等直接和上期技术开发平台数据相对接的平台,这些平台缺点是界面并不友好,数据需要自己录制。优点是可以使用C+,MATLAB等,代码实施后交易速度快,费用低。2.5 本章小结 本章是策略开发平台的基础知识,系统地讲解TB和matlab策略开发交易平台、机制、开发环境等内容。为策略的开发打下了一个良好的理论基础。第3章

23、 需求分析3.1 策略功能需求分析 随着国内资管业务的开放,资管公司通过公募渠道,信托渠道发放大量的CTA业务类产品,为了能更好的管理些资金,使得程序化交易变得极为重要。根据对程序化交易策略的需求,主要可以概括为以下几点:1、数据的录取、存储和清洗 数据是策略开发的基础,所有的策略开发都是围绕着历史真实的行情数据进行研究开发的。数据的来源主要是通过数据供应商的购买和自己录制。购买的数据一般会出现数据缺失或者数据不真实,这样会导致开发出的策略不稳定。自己录制数据量较少,只有通过几年的数据录制才能达到开发策略需要的数据标准,成本较高。2、高胜率和高盈亏比的策略 交易策略是将几个模块合并,包括阿拉法

24、策略、成本模型、风险模型、资金管理模型等。策略的实施首先要考虑交易费用,平均每成交一次的成本在万分之五到千分之一,再加上滑点等,成本有可能达到千分之五。如果每天一个策略交易2次,全年手续费就需要本金的100%。其次如何提高胜率和盈亏比,减少交易次数。相同概率的胜率和盈亏比不能帮助交易者赚取一丝的利润,只有在胜率和盈亏比的积大于1的情况下,策略才有意义。再次在何位置加仓,减仓,在何位置止损和止盈,一般情况下,已有仓位盈利达到加仓位置时,胜率会比首次开仓高,但是盈亏比就会下降。3、交易策略的快速执行 股指期货每秒钟有2个Tick,1个Tick有时候会出现1-2个点的行情,能否快速的执行交易策略,是

25、控制交易滑点很重要的一个步骤。同时快速执行会使策略在实际运行和开发测试得到的结果想接近,提高准确性。4、交易策略组合应用 行情一般分为趋势和震荡行情,策略也就分为趋势和震荡策略,震荡策略的目的是为了使资金曲线平滑,趋势策略是为了使资金曲线上升。多种策略组合应用,有效的回避大的资金回撤,使得收益更加稳健。这个策略要实现的功能如下:(1)使用5倍手续费,来应对实盘交易可能出现的滑点损失。(2)最大回撤控制在30%以内。(3)R平方达到85%以上,资金曲线显得平滑稳健。(4)交易次计数要在100次以上,以达到有效统意义。(5)胜率和盈亏比要达到1.1以上。(6)年化收益要超过60%,使得预计亏损和预

26、计盈利在1:2。交易策略一般包括:阿拉法模型、风险控制模型、资金管理模型、交易成本模型。通过对数据的研究来开发交易程序 1 。图 3.1 程序化交易策略功能结构图阿拉法模块:实现进仓和出仓的依据,通过技术指标,关键阻力位,支撑位,量价配合等方式实现。资金管理模块:实现仓位的大小,根据资金量,保证金,最大承受风险等确定仓位大小。风险控制模块:每次交易所能承受的最大风险。交易成本模型:交易中产生的各种磨损对交易策略影响的大小执行模型:主要是应用于开平仓的控制3.2 性能需求 首先要求程序要完全可靠,可以应付各种由于系统问题产生的错误,比如初始网络失败等。要求提前设想到类似的尽可能多的可能发生的事件

27、,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。 策略要有良好的容错性,当行情数据出现极端情况时候,可以自动停止交易,或者系统本身出现问题时要能以最快的速度退出策略,避免发生程序假死现象。 要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多的耦合,以免维护困难。第4章 策略详细设计4.1 策略开发流程图整体流程图如图4-1所示:图 4.1交易策略流程图4.2 阿拉法模块介绍阿拉法是指扣除市场基准回报以后的投资回报,或者说是仅仅有投资者决策所增加或减少的那部分价值。追求阿拉法回报的策略,本质上就是投资组合的资产配置决策及设置其头寸规模的择时决策者。这种策略的一个核心就是,没有永远好的金融产品,也没有永远差的金融产品,或者说,没有什么金融产品值得一直持有,也没有什么金融产品永远不值得一看1。阿拉法模型的类型:理论驱动和数据驱动。4.2.1 理论驱动型理论驱动模型:从一些符合经济学理论对市场行为的解释出发,构建理论模型,然后检验这些理论是否可以成功预测未

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1