




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、期货程序化交易策略研发硕士学位论文 硕士学位论文 期货程序化交易策略研发 摘要 期货程序化交易起源于欧美国家,随着计算机技术的发展,程序化交易得到了快速的发展。程序化交易主要通过阿拉法模型、交易成本模型和风险控制模型三个模型构成,通过对历史数据的分析寻找阿拉法策略,通过多策略组合实现能够收益稳定回撤可控的程序化策略组。本文主要是通过对程序化交易各个环节的特点进行剖析,实现通过数量模型就能稳定盈利的方法。 关键词: 阿拉法模型,交易成本模型,风险控制模型,数据,多策略组合abstract futures program trading originated in europe and the u
2、nited states, with the development of computer technology, program trading has been rapid development. program trading is mainly constituted by alpha model, transaction cost model and risk control model of three model, by finding the alpha strategy for the analysis of historical data, the combinatio
3、n of strategies can yield stable retracement controllable program strategy group. this paper is mainly through the analysis of characteristics of every part of the transaction on the program, through the method of quantitative model can stable profit. key words: alpha model, transaction cost model,
4、risk control model, data, multiple strategies目录摘要iabstractii图目录iv第1章 绪论11.1 课题背景11.2 国内外状况11.2.1 程序化交易的国外发展状况11.2.2 程序化交易的国内发展状况21.3 程序化交易特点21.3.1 程序化交易的优点21.3.2 程序化交易的缺点:31.4 本课题研究的目标41.5 本章小结4第2章 交易平台与关键研发技术52.1 程序化交易平台52.2 交易开拓者交易平台52.3 matlab2012b介绍72.4 相关策略技术现状8第3章 需求分析93.1 策略功能需求分析93.2 性能需求11第
5、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 技术指标分类194.7 阻力位和支撑位214.8 本章小结22第5章 程序化交易策略实现235.1 日内交易策略?drt255.1.1 策略开发流程图255.1.2 策
6、略介绍255.1.3 策略测试结果265.2 日内交易策略?drt(加仓)295.2.1 策略开发流程图295.2.2 策略介绍295.2.3 策略测试结果305.3 日内交易策略?r_breaker325.3.1 策略开发流程图335.3.2 策略测试结果345.4 基本面策略?开盘后一分钟交易策略365.4.1 策略思想365.4.2 策略开发流程图365.5 统计套利策略375.5.1 统计套利的定义385.5.2 统计套利的思路385.5.3 统计套利风控395.5.4 统计套利策略395.6 本章小结39第6章 程序化交易展望416.1 cta416.1.1 cta概述416.1.2
7、 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 macd21图 ?5.1 drt流程图25图 ?5.2 drt交易策略测试结果26图 ?5.3 drt收益曲线27图 ?5.4 drt(加仓)流程图28图 ?5.5 drt(加仓)交易策略29图 ?5.6 drt(加仓)收益曲线30图 ?
8、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绪论课题背景 程序化交易系统是指设计人员将交易策略的逻辑与参数在电脑程序运算后,并将交易策略系统化。当趋势确立时,系统发出多空讯号锁定市场中的价量模式,并且有效掌握价格变化的趋势,让投资人不论在上涨或下跌的市场行情中,都能轻松抓住趋势波段,进而赚取波段获利。程序化交易的
9、操作方式不求绩效第一、不求赚取夸张利润,只求长期稳健的获利,在市场中成长并达到财富累积的复利效果。经过长时期操作,年获利率可保持在一定水准之上。 程序化交易系统的构成就是:极其开放模型策略的设计、风险动态管理技术、误差矫正反馈检验准确率、快捷的下单速度。这四项组成了整个程序化交易系统。国内外状况程序化交易的国外发展状况 20世纪90年代以及2000年以后资本市场以及金融衍生品市场的长足发展,在87年股灾中被指为罪魁祸首的程序化交易,终于被历史肯定了它的价值,人们终于也像当时从认为股票和期货为洪水猛兽到接受它们并发挥它们的经济作用一样,开始逐步的走进了程序化交易的世界、量化投资的世界。 量化投资
10、及程序化交易大师西蒙斯默默无闻的在十几年间大量使用量化系统的交易方法,取得了比巴菲特、索罗斯等市场传奇更高的年收益率。在这漫长的岁月中,程序化交易一直悄无声息的为投资者不停的赚进大把的钞票,也在润物无声的在为各交易所的交易量做着贡献。 据统计欧美市场中有70%的交易是由程序化交易完成的,如果将程序化交易的概念再定义的宽泛一些的话,可能这个比例会更高。而在亚洲台湾、韩国来看的话,程序化交易量占比在50%左右。 从另外的角度,国外的期货cta也就是期货的资产管理业务,交易量的70%左右都是由程序化交易来实现。程序化交易的国内发展状况 国内证券市场只有20年的历史,相比欧美以及亚太其他发达地区市场成
11、熟度还有很大差距,不仅如此,国内市场的一些特性也使程序化交易在国内发展受到限制。 首先,国内的交易场所比较单一,股票只在交易所进行交易。而国外的情况则是大量的流动性存在于交易所以外,比如大大小小的暗池、ecn等。即使同一只股票也会在多个交易所交易,目前nyse股票只有25%左右的交易量是通过nyse执行的。国外很多执行算法就是为这种条件量身定做的,比如各种智能路由算法,而在国内这些算法都没了用武之地。 其次,国内市场的t+1交割制度使得大量日内交易策略不能得以实施,高频交易策略更是无从谈起。除此以外,股票市场不允许卖空、缺乏做市商制度、可供交易的产品简单、交易指令不够完善等,都不利于程序化交易
12、策略的开展。 尽管如此,程序化交易在国内的发展前景依然良好。自2010年4月沪深300股指期货被正式推出以来,大量的程序化套利策略纷纷出炉并创造出惊人的交易量。 在国内的期货交易所主要有大连期货交易所,郑州期货交易所,上海期货交易所和中金交易所。中金所主要以金融期货为主,包括已经上市的股指期货和即将上市的国债期货两个品种,其他三个交易所交易的是商品期货,包括农产品如豆粕、豆油、棉花、白糖等,化工产品如天胶、强塑、pta、甲醇等,金属产品如铜、螺纹、黄金、白银等。 以交易量来看,中金所的股指期货虽然只有一个品种,交易量已经占到了所有期货产品的60%左右,如果国债期货推出以后,中金所的交易量能超过
13、交易量总额的85%以上,而且这两种金融属性的期货产品很适合使用程序化交易进行包括套利,趋势和高频等策略进行交易。 程序化交易特点程序化交易的优点客服弱点 使用程序化交易可以在交易过程中可以克服人性的弱点,这是程序化交易最大的优点,也是我们喜爱程序化交易的最主要原因,人是有人性的弱点的,人的情绪化因素,贪婪,恐惧,做事不果断,赌性等等因素都会让一个人在正在交易的时刻突然改变原有的计划,而这种行为是不断重复发生的。就如德国的哲学家心理学家叔本华说过:一个人在相同的时间和环境条件下会犯同样的错误,是不可避免的,这就是人的劣根性。我们和市场做交易,还不如说我们是不断的和自已的心魔做斗争。而程序化交易是
14、一切功课在事先,电脑是不折不扣的执行者,应当说几乎百分之百的做到知行合一.这样也让人从盘面的辛劳中解脱出来。2、突破极限 使用程序化交易可以突破人的生理极限.我们都知道人的反应速度是有限的。我们交易从大脑所想到手动需要一段时间来完成,而电脑程序交易显然比人工快的多,特别是当我们为了分散风险而进行多品种组合时,人的能力是有限的,例如选择品种多一点更能降低交易风险,在同时持有四个以上的商品品种,当行情激烈多品种同时发生交易信号时,那一个人的行为是顾及不了的,但电脑可以轻松完成.程序化交易可以让你远离期货,享受生活。程序化交易的缺点:1、不能表达全部的交易思想 只有系统性交易者才能做到程序化交易,而
15、其它另类的交易方法,没办法用程序化交易来完成,这就把一部分人挡在了门外。巨大的回测风险 有些程序化交易模型从长期看是盈利,但是短期内可能会出现巨幅的资金回撤。部分投资者对程序化交易认识比较模糊,认为程序化交易就是一台赚钱的机器。永远盈利。这些投资者在这种资金回撤下就可能难以继续进行程序化交易,从而错过后期出现的大幅盈利。3、容易加剧金融风险 1987年美国股市暴跌的罪魁祸首一度被认定是期现市场的程序化交易。当时的情况是股票期货低于股票价格,指数套利者将买入期货并卖出股票,如果股票价格下跌的幅度远远不够,投资组合保险公司将卖出期货合约,造成期货市场新一轮的下跌,这导致指数套利者进一步卖出股票,从
16、而形成自我强化抛售的下跌周期。不管1987的股灾是否是程序化交易造成,但是期间程序化交易至少起到了推波助澜的作用。国内股指期货一而再,再而三的推迟上市时间,监管部门或许也是处于这样的担忧。本课题研究的目标 主要是通过交易开拓者平台进行程序化交易的策略开发,采用语法类似pascal的tbl语言开发实现的。策略功能主要包括策略模型、资金管理、风险控制、交易成本管理等。通过交易所提供的实时数据进行交易,通过平台的数据库内的数据进行历史测试。文章首先简介涉及的相关技术与基本知识,然后阐述策略的功能,再具体分析策略各个模块的功能及具体实现方法。本章小结程序化交易伴随着计算机技术的发展,已经有30多年了,
17、很多国外的大型资产管理机构通过使用程序化交易来控制巨额资金,同时交易全球的资本市场,取得了稳定的回报。交易平台与关键研发技术程序化交易平台 从广义上讲,量化交易是指投资者利用计算机技术、金融工程建模等手段将自己的金融操作用很明确的方式去定义和描述,用以协助投资者进行投资决策,并且严格按照所设定的规则去执行交易策略(买卖、价格、数量等)的交易方式。 按照数学模型的理念和对计算机技术的利用方式,量化交易可以进一步细分为自动化交易(automatic trading)、量化投资(quantitative investment)、程序化交易(program trading)、算法交易(algorith
18、m trading)以及高频交易(high frequency trading)。这五种量化交易方式的侧重点各有不同,是量化交易技术发展到不同阶段的产物,也是不同量化交易用户群的不同交易方式。 量化交易平台是指能分别满足上述五种交易方式的平台,要求其从交易系统的行情和基础数据、交易和执行、策略研发和运营三个主要方面既要做到大而全,也要做到深而精。这对目前大中型金融机构的it以及实际运营部门是很大的挑战,同时也提供了发展机遇。 目前的量化交易平台可以从开发语言、技术架构、系统架构、策略方向、交易方式等几个方面2。交易开拓者交易平台 1、trade blazer公式介绍 trade blazer公
19、式是一种专为分析金融数据-时间序列而设计的高级语言,它提供直接、强大的框架将交易思想转化为用户函数、公式应用等计算机能够识别的代码。 trade blazer公式是一门语法简单但是功能强大的语言,它能帮助创建自己的交易和技术分析工具。通过组合普通的公式应用和简单的语句,trade blazer公式能够很容易并且直接的用简单语句表达自己的交易规则和行为。 交易开拓者能够读取开发的trade blazer公式,在历史价格数据基础上进行评估,并能自动执行特定的交易动作,将交易思想转化为实际的交易操作。 2、bar数据 所谓的bar数据,是指商品在不同周期下形成的序列数据,在单独的每个bar上面包含开
20、盘价、收盘价、最高价、最低价、成交量及时间。期货等品种还有持仓量等数据。所有的bar按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为bar数据。 3、叠加数据 交易开拓者的超级图表支持商品叠加的显示,当叠加的图表调用各项公式时,可能有需要使用叠加的商品对应的基础数据,针对这样的需求,trade blazer公式提供了叠加数据的支持。 例如新建一个超级图表模块,其主数据对应的商品为:cu1303,在此基础上,我们叠加了cu1304和cu1305。此时,根据叠加操作的先后顺序,cu1303为data0,cu1304为data1,cu1305为data2,在trade
21、 blazer公式中,我们可以通过data1.close,data2.vol类似方法调用叠加bar数据,叠加bar数据的函数和bar数据一样,只是需要在调用的时候加上数据源。也可以使用data0.open来调用bar数据,默认情况下,可以省略对主数据源的指定,为了方便,一般直接使用open来代替data0.open。 4、数据类型trade blazer公式支持有三种基本数据类型:数值型、字符串、布尔型。引用数据类型为了通过用户函数返回多个值,序列数据类型为了对变量,参数进行回溯。因此,数据类型共有九种,如下表所示:表 ?2.1 数据类型名称说明 bool布尔型。boolref布尔型引用。bo
22、olseries和周期长度一致的bool型序列值。numeric数值型。numericref数值型引用。numericseries和周期长度一致的numeric型序列值。string字符串。stringref字符串引用。stringseries和周期长度一致的string型序列值。方法可以被声明接受可变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。series关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。matlab2012b介绍 matlab是由美国mathworks
23、公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如c、fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 1、系统结构 matlab系统由matlab开发环境、matlab数学函数库、matlab语言、matlab图形处理系统和matlab应用程序接口(api)五大部分构成。 2、开发环境 matlab开发环境是一套
24、方便用户使用的matlab函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的用户工作空间,允许用户输入输出数据,并提供了m文件的集成编译和调试环境,包括matlab桌面、命令窗口、m文件编辑调试器、matlab工作空间和在线帮助文档。 3、数学函数库 matlab数学函数库包括了大量的计算算法。从基本算法如加法、正弦,到复杂算法如矩阵求逆、快速傅里叶变换等。 4、语言 matlab语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。 5、应用程序接口 matlab应用程序接口(api)是一个使matlab语言能与c、fortran等
25、其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(dll)实现与matlab文件的数据交换,其主要功能包括在matlab中调用c和fortran程序,以及在matlab与其它应用程序间建立客户、服务器关系。相关策略技术现状目前国内资管业务程序化方向主要以tb、文华财经、mc等交易平台作为开发测试平台,这些平台的好处是界面清晰友好、数据连续性全、期货合约可以自动换月,针对bar数据上的研发简单易行。缺点是这些平台只能提供最近一周的tick数据,实盘交易时候数据不稳定、交易费用昂贵等问题,不能进行微秒量级上的策略开发和实施。交易平台国内一般选择赢佳、ctp108、理财牛等直接和上
26、期技术开发平台数据相对接的平台,这些平台缺点是界面并不友好,数据需要自己录制。优点是可以使用c+,matlab等,代码实施后交易速度快,费用低。2.5 本章小结 本章是策略开发平台的基础知识,系统地讲解tb和matlab策略开发交易平台、机制、开发环境等内容。为策略的开发打下了一个良好的理论基础。 需求分析策略功能需求分析随着国内资管业务的开放,资管公司通过公募渠道,信托渠道发放大量的cta业务类产品,为了能更好的管理些资金,使得程序化交易变得极为重要。根据对程序化交易策略的需求,主要可以概括为以下几点: 数据的录取、存储和清洗数据是策略开发的基础,所有的策略开发都是围绕着历史真实的行情数据进
27、行研究开发的。数据的来源主要是通过数据供应商的购买和自己录制。购买的数据一般会出现数据缺失或者数据不真实,这样会导致开发出的策略不稳定。自己录制数据量较少,只有通过几年的数据录制才能达到开发策略需要的数据标准,成本较高。 高胜率和高盈亏比的策略交易策略是将几个模块合并,包括阿拉法策略、成本模型、风险模型、资金管理模型等。策略的实施首先要考虑交易费用,平均每成交一次的成本在万分之五到千分之一,再加上滑点等,成本有可能达到千分之五。如果每天一个策略交易2次,全年手续费就需要本金的100%。其次如何提高胜率和盈亏比,减少交易次数。相同概率的胜率和盈亏比不能帮助交易者赚取一丝的利润,只有在胜率和盈亏比
28、的积大于1的情况下,策略才有意义。再次在何位置加仓,减仓,在何位置止损和止盈,一般情况下,已有仓位盈利达到加仓位置时,胜率会比首次开仓高,但是盈亏比就会下降。 交易策略的快速执行股指期货每秒钟有2个tick,1个tick有时候会出现1-2个点的行情,能否快速的执行交易策略,是控制交易滑点很重要的一个步骤。同时快速执行会使策略在实际运行和开发测试得到的结果想接近,提高准确性。 交易策略组合应用行情一般分为趋势和震荡行情,策略也就分为趋势和震荡策略,震荡策略的目的是为了使资金曲线平滑,趋势策略是为了使资金曲线上升。多种策略组合应用,有效的回避大的资金回撤,使得收益更加稳健。这个策略要实现的功能如下
29、:1使用5倍手续费,来应对实盘交易可能出现的滑点损失。2最大回撤控制在30%以内。3r平方达到85%以上,资金曲线显得平滑稳健。4交易次计数要在100次以上,以达到有效统意义。5胜率和盈亏比要达到1.1以上。6年化收益要超过60%,使得预计亏损和预计盈利在1:2。 交易策略一般包括:阿拉法模型、风险控制模型、资金管理模型、交易成本模型。通过对数据的研究来开发交易程序 1 。图 ?3.1 程序化交易策略功能结构图 阿拉法模块:实现进仓和出仓的依据,通过技术指标,关键阻力位,支撑位,量价配合等方式实现。 资金管理模块:实现仓位的大小,根据资金量,保证金,最大承受风险等确定仓位大小。 风险控制模块:
30、每次交易所能承受的最大风险。 交易成本模型:交易中产生的各种磨损对交易策略影响的大小 执行模型:主要是应用于开平仓的控制性能需求首先要求程序要完全可靠,可以应付各种由于系统问题产生的错误,比如初始网络失败等。要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。策略要有良好的容错性,当行情数据出现极端情况时候,可以自动停止交易,或者系统本身出现问题时要能以最快的速度退出策略,避免发生程序假死现象。要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于
31、维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多的耦合,以免维护困难。策略详细设计策略开发流程图 整体流程图如图4-1所示:图 ?4.1交易策略流程图阿拉法模块介绍 阿拉法是指扣除市场基准回报以后的投资回报,或者说是仅仅有投资者决策所增加或减少的那部分价值。追求阿拉法回报的策略,本质上就是投资组合的资产配置决策及设置其头寸规模的择时决策者。这种策略的一个核心就是,没有永远好的金融产品,也没有永远差的金融产品,或者说,没有什么金融产品值得一直持有,也没有什么金融产品永远不值得一看1。 阿拉法模型的类型:理论驱动和数据驱动。理论驱动型 理论驱动模型:从一些符合经济学理论对市场行为的解释出
32、发,构建理论模型,然后检验这些理论是否可以成功预测未来。包括:趋势型(trend),回复型(reversion),价值型/收益型(value/yield),成长型(growth)和品质型(quality)。这一点和主观判断型交易者所用的策略基本一致。 趋势型交易有时候也称为“博傻理论”,它的核心就是:因为人们相信存在趋势,因此倾向于追涨杀跌,而这种交易力量就会推动形成趋势,成功的关键就是有一个更傻的人从交易者的手中接过筹码,而不会成为最后一个接棒者。趋势交易者一般会选择一个比较显著的方向性运动,这个可以用很简单的交易系统来表示。例如双均线交易系统,核心就是当20日的移动平均线上穿50日的移动平
33、均线,形成一个强有力的趋势,交易者跟随趋势直到20日均线下穿50日均线填平头寸,认为趋势已经停止。(详细内容见第8章) 回复型交易的理论为交易者认为价格会围绕一个交易中心波动,交易者通过判断波动幅度的大小来进行赢利。或者是在统计套利中,交易者认为商品之间的价格应该围绕着一个稳定的价格波动,当商品之间的价格偏离超过了这个幅度后,价格应该收敛。例如:上海期货交易所和上海黄金交易所中的商品黄金,在这两个交易所中黄金的属性是一样的,在2008年黄金期货刚刚上市的时候,两个市场之间的价差会达到在10元/克,当市场上针对黄金套利的交易者增多了以后,现在两个市场的黄金价差1元/克上下浮动,无风险套利的空间大
34、大的减少了。(详细内容见第10章) 价值型/收益型,成长型和品质型主要是应用于股票市场中,根据对股票的基本面和公司的财务数据进行分析的交易方式,本论文就不过多讨论。数据驱动型 数据驱动模型:采用数据挖掘技术,其假设是,数据可以暗示将要发生的事件,并且借助分析技术可以识别出一些市场走势。 这种方法的优点是:第一相对于理论驱动交易模型,数据挖掘在技术上的挑战要更高一些,相对应的就是竞争的对手就少,就更会开发出更有利的模型。第二:数据驱动型策略可以捕获各种市场行为,使交易者开发出“之其然不知其所以然”的交易策略。交易成本模块介绍交易成本分为三个方面:佣金和费用、滑点和市场冲击成本。1、佣金和费用 佣
35、金和费用作为第一类交易成本,用来支付给经纪公司和交易所,因为他们提供了服务,包括给市场参与者提供了交易通道,提高交易的安全性和运作交易基础设施 2、滑点 滑点指的是交易者决定在交易开始到订单实际被执行这两个时间段之间的价格变化。趋势跟随型策略是对滑点比较敏感的策略,因为他们准备买卖的产品往往已经向预测的方向移动了。均值回复策略则倾向于承担较少的滑点,并且这种滑点有时候是正向的,通常是因为这些策略尝试着购买和卖出那些与他们发出订单运动方向相反的产品。 3、冲击成本 市场冲击成本是指当交易者买入一种金融产品时,交易者的订单真对当时市场的流动性来说很大,就可能会导致价格上涨;如果交易者卖出,则价格下
36、跌。交易者的流动需求规模越大,交易会变得越昂贵,因为交易者必须要求更多的流动性供给风险控制模型介绍 头寸规模控制是风险管理的一种重要形式,想象一个非常好的交易策略是一件非常容易的,但是如果没有风险管理意识,我们将所有的资本投入到这笔交易中,就会有爆仓的危险。 限制风险大小的量化风险控制模型一般围绕三个方面: 1、如何看待头寸规模限制水平 2、风险怎么度量 3、头寸规模限制水平用于何处控制风险的类型 用于消除不可预测敞口的量化风险控制模型,一般通过两种熟悉的方式来设计,即以理论为依据和以经验为依据。 理论驱动型风险控制模型使用了一套一开始就已经定义好的系统性风险,这些系统性风险可以使程序化交易者
37、度量并且校准一个给定投资组合的敞口。 经验型风险控制模型以历史数据来决定这些风险是什么,并且判断一个给定的投资组合如何暴露在风险中,和暴露在风险中的大小6。数据的重要性数据的特征常常决定了模型的细节,交易者不可能根据每日的日k线数据来完成日内程序化交易的设计,也不可能根据季度gdp数据来构建一个高频交易系统。考虑开发那种交易策略,很大的程度上取决于我们数据库数据的类型。1、价格数据价格数据不仅仅是期货商品的价格,还包括从交易所得到的其他信息,比如期货的交易量,成交的时间,当时的持仓量,挂单量,成交手数等等。2、基本面数据基本面数据包括很多,尤其是在期货市场中数据几乎包括经济数据中所有的数据(c
38、pi可能影响到豆粕的价格,豆粕主要是用于生产猪饲料),天气指数、环境因素(干旱少雨会影响到大豆的产量),还有国外的数据(波罗的海运指数影响到铁矿石的价格,进而影响到螺纹钢的价格)。在开发中长线基本面交易模型的时候,宏观数据的影响就很显著的。3、数据的来源交易者可以通过多种渠道获得数据来源。最直接有效的方法就是直接获取未经过加工的数据。最初的数据来源及数据类型:交易所:成交日期、成交时间、价格、成交量、持仓量等。政府:宏观经济数据,例如:就业率、通胀率等。新闻机构:新闻稿和新闻报道等。天气预报:各国和各地的天气状况等国外数据:美国非农指数、各国的利率、船运指数等。卫生局:病情、疫情等数据供应商:
39、路透、万德等。4、数据的整理 当交易者取得到数据以后,数据经常会出现缺失或不准确,这些会给交易者的交易策略带来很大的影响,当交易者使用没有经过清洗过的数据开发的交易策略进行实盘交易的时候,有可能会给交易者带来巨大的经济损失。因此,数据的整理就很重要。 数据的整理主要分为两个方面:数据的缺失和数据的异常。 数据缺失:当数据缺失的时候,一般是插入一个可以替代缺失数据的合理值,这种方法对历史数据特别有用,同时对实时交易也很有用。 数据的异常:数据不是“0值”或是“未知”数据,是一个和附近数据迥异的数值,解决这个问题的办法是使用异常值过滤,寻找到价格异常大的,突然的跳动,并对它进行平滑或消除。 5、数
40、据的下载代码 通过实时的交易平台数据收集交易数据,存储到数据库中。 params string filenamed: data2013-04-03 rb1310.csv; /数据存放路径名和名称 begin iftime 0.0859 fileappendfilename,date +datetostringdate /交易数据日期 + +timetostringcurrenttime /交易数据时间 + +textopen/开盘价 + +texthigh/最高价 + +textlow/最低价 + +textclose/收盘价 + +textvol /成交量 + +textopenint; /
41、持仓量 end技术分析技术日本蜡烛图 日本蜡烛图技术是现今人们普遍运用分析期货、股票、外汇等证券市场的一项重要方法8。日本蜡烛图的画法 蜡烛图画法:以交易时间为横坐标,价格为纵坐标将每日的k线连续绘出即成k线图。k线图中的柱体有阳线和阴线之分。一般用红色柱体表示阳线,蓝色柱体表示阴线。如果柱体表示的时间段内的收盘价高于开盘价,即价格上涨,则将柱体画为红色,反之则画为黑色。如果开盘价正好等于收盘价,则形成十字线。日本蜡烛图的形态 日本蜡烛图形态分析主要分为单一图形和组合图形。 单一图形是由一根k线图组成的,因为这跟k线图出现在价格极值位置,可能出现在突破上涨发动时,也可能发生在连续上涨以后的结束
42、情形的时候。多以一根大阳线或者是一根大阴线突破盘整行情,展开一轮行情。图 ?4.2实体长线 也会在连续行情结束前,以长上影线或者是长下影线出现,代表这趋势的反转。(图4.2) 图 ?4.3长影线 组合图形:由多根k线图组成,当将这些k线图组合起来的时候,将开盘价、最高价、最低价和收盘价组合起来形成单一图形的形态,为交易者提供交易的依据。代码编辑蜡烛图 begin ifopenclose & closelow & high-low n /长阴线 sellshortlots,close;/做空操作 ifopenclose & close-low1/2*n & high-low n /下影线 buy
43、lots,close; /做多操作 end技术指标技术指标概述 技术指标是通过考虑市场行为的各个方面,建立一个数学模型, 给出数学上的计算公式,得到一个体现市场的某个方面内在实质的数字。这个数字叫指标值。指标值的具体数值和相互间关系,直接反映股市所处的状态,为我们的操作行为提供指导方向。指标反映的东西大多是从行情报表中不能直接看到的9。技术指标分类 目前,证券市场上的各种技术指标数不胜数。例如,相对 强弱指标rsi、随机指标kd、趋向指标dmi、平滑异同平均线macd等。这些都是很著名的技术指标,在交易市场应用中长盛不衰。以下讲介绍两种趋势指标,在很多的趋势交易系统中都会用到这两个指标。布林带
44、原理(boll )图 ?4.4 boll通道 布林线是根据统计学中的标准差原理设计出来的一种非常实用的技术指标。它由三条轨道线组成,其中上下两条线分别可以看成是价格的压力线和支撑线,在两条线之间是一条价格平均线,一般情况价格线在由上下轨道组成的带状区间游走,而且随价格的变化而自动调整轨道的位置。当波带变窄时,激烈的价格波动有可能随即产生;若高低点穿越带边线时,立刻又回到波带内,则会有回档产生。平滑异动平均线原理和代码(macd)图 ?4.5 macd macd称为指数平滑异同移动平均线,是从双移动平均线发展而来的,由快的移动平均线减去慢的移动平均线,macd的意义和双移动平均线基本相同,但阅读
45、起来更方便。当macd从负数转向正数,是买的信号。当macd从正数转向负数,是卖的信号。当macd以大角度变化,表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开,代表了一个市场大趋势的转变。阻力位和支撑位价格的压力位和支撑位不是计算出来了,是客观存在的;一般是与在一定的区域内成交的密度有关,可以通过筹码分布来分析阻力位和支撑位的所在;筹码的压力支撑作用属于客观存在的,另外,均线也有压力支撑作用,这一般属于心理压力或支撑的范畴,它是因为很多技术派人士要按照均线来买卖,这样操作的人多了,均线也就形成了压力或支撑,当然,有时主力也会利用均线来操作;通过对盘口的分析,也可以寻找到阻力位和支撑位。
46、一般压力位指在价格上方,由于前期下跌过程中在某个位置有大量的套牢盘,这里是一个筹码比较集中的密集区,那么此时价格上行到此位置时将会遇到较大的抛压,使得价格受阻,则这个位置就是压力位,而价格的下方筹码密集区,可能是主力建仓的区域,则价格跌到这个位置时主力为防止价格跌破自己的建仓成本,会拉升价格,则此处就将形成支撑8。 本章小结 本章主要介绍了交易策略的几个主要方面。阿拉法模型是如何交易,交易的进出场点,主要由技术指标和支撑阻力位决定。交易成本模型主要是由佣金、滑点和冲击成本决定。风控模型主要是仓位和最大亏损的决定。 程序化交易策略实现 一个完整系统的成分一个完整的交易系统包含了成功的交易所需的每
47、项决策:市场-买卖什么、头寸规模-买卖多少、入市-何时买卖、止损-何时退出亏损的头寸、离市-何时退出赢利的头寸、策略-如何买卖11。 市场-买卖什么第一项决策是买卖什么,或者本质上在何种市场进行交易。如果你只在很少的几个市场中进行交易,你就大大减少了赶上趋势的机会。同时,你不想在交易量太少或者趋势不明郎的市场中进行交易。 头寸规模-买卖多少有关买卖多少的决策绝对是基本的,然而,通常又是被大多数交易员曲解或错误对待的。买卖多少既影响多样化,又影响资金管理。多样化就是努力在诸多投资工具上分散风险,并且通过增加抓住成功交易的机会而增加赢利的机会。正确的多样化要求在多种不同的投资工具上进行类似的(如果
48、不是同样的话)下注。资金管理实际上是关于通过不下注过多以致于在良好的趋势到来之前就用完自己的资金来控制风险的。买卖多少是交易中最重要的一个方面。大多数交易新手在单项交易中冒太大的风险,即使他们拥有其他方面有效的交易风格,这也大大增加了他们破产的机会。 入市-何时买卖的决策通常称为入市决策。自动运行的系统产生入市信号,这些信号说明了进入市场买卖的明确的价位和市场条件。 止损-何时退出亏损的头寸长期来看,不会止住亏损的交易员不会取得成功。关于止亏,最重要的是在你建立头寸之前预先设定退出的点位。 离市-何时退出赢利的头寸许多当作完整的交易系统出售的“交易系统”并没有明确说明赢利头寸的离市。但是,何时
49、退出赢利头寸的问题对于系统的收益性是至关重要的。任何不说明赢利头寸的离市的交易系统都不是一个完整的交易系统。 策略-如何买卖信号一旦产生,关于执行的机械化方面的策略考虑就变得重要起来。这对于规模较大的帐户尤其是个实际问题,因为其头寸的进退可能会导致显著的反向价格波动或市场影响。主要对于一致性赚钱的交易,使用机械系统就是最佳的方式。如果你知道自己的系统能够长期赚钱,你就比较容易接受信号,并且在亏损期间按照系统信号进行交易。如果你在交易中依赖自己的判断,你可能会发现恰恰应该勇敢时你却胆怯,而恰恰应该胆怯时你却勇敢。如果你拥有一个能够赢利的机械交易系统,而且你虔诚地跟随这个系统,那么,你的交易将会取
50、得赢利,而且系统会帮助你安然摆脱难免会来自于一长串亏损或者巨额赢利的内心的挣扎。海龟所用的交易系统是一个完整的交易系统。这是取得成功的一个主要因素。交易系统使交易者更容易地进行一致性的、成功的交易,因为它没有给交易员的判断力留下重要的决策任务。日内交易策略?drt策略开发流程图图 ?5.1 drt流程图策略介绍 drt:在开盘后nmin后得到高低点的一个区间,当价格突破高点后开始开后多仓,当达到止损线以后平仓或反向开仓。反向开仓后如果达到盈利的位置平仓,或继续反向多仓10。策略测试结果 图 ?5.2 drt交易策略测试结果 所产生的交易收益曲线如下图所示 图 ?5.3 drt收益曲线 仿真交易结果:表 ?5.1仿真交易结果表标准 研发 实施 rdt回报率 大于6% 大于15% 50%+最大回测 20% 10% 65%收益/最大回撤 大于1 大于2 2.3 r2 大于0.7 大于0.8 0.84参数个数 3 3 3每年交易数 多于50 多于200 266 测试条件:交易3手, 周期为3分钟,手
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开标大厅服务管理制度
- 出纳兼资金管理制度
- 林业公司成本管理制度
- 药品验收与管理制度
- 高职院校学生公寓管理工作计划
- 加工工艺员管理制度
- 社区居民体检室管理制度
- 木材公司安全管理制度
- 人美版小学美术课堂互动教学计划
- 六年级学生体能测试实施计划
- 中国基建课件教学课件
- EPC光伏项目投标方案(技术方案)
- 2023企业数字化转型建设方案数据中台、业务中台、AI中台
- 国家开放大学本科《人文英语3》一平台机考真题及答案(第二套)
- 广西壮族自治区南宁市2023-2024学年八年级下学期7月期末历史试题(无答案)
- 江苏省扬州市2023-2024学年高二下学期6月期末考试历史试题
- 初中必背古诗文
- 教科版四年级下册科学期末测试卷含答案【研优卷】
- JBT 14615-2024 内燃机 活塞运动组件 清洁度限值及测定方法(正式版)
- 生态文明与环境保护法智慧树知到期末考试答案章节答案2024年东北林业大学
- MOOC 树木学-北京林业大学 中国大学慕课答案
评论
0/150
提交评论