波涛(1998)在《系统交易方法》中提出,一个设计良好的交易系统,必须对投资决策的各个相关环节做出相应明确的规定,同时还必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。国外交易系统的典范莫过于Richard Dennis在1983年底推出的海龟交易法则,从中可以看到一个完整的交易系统包括:市场—买卖什么;头寸规模—买卖多少;入市—何时买卖;止损—何时退出亏损的头寸;止盈—何时退出赢利的头寸;策略—如何买卖等方面。

  根据策略原理和市场数据之间的逻辑关系,交易策略设计的思路可分为自 上而下和自下而上两方面。自上而下的方法是指从投资理念或理论基础的角度出发寻找规律,并以此形成交易策略。比如基于持有成本理论的期现套利策略、根据行 业轮动规律,配置股票组合以获得超额Alpha的策略等等。自下而上的方法则从市场统计数据出发,根据历史统计特征而形成的交易策略。例如,当期指的开盘价高于昨日收盘价、最高价、最低价三者的平均价时,日内做多,反之做空;或根据固定几家主力机构的净空单变化来确定次日的交易方向等策略。自下而上的交易策略更容易受市场条件变化的影响。

                         图1:国外交易系统的TOP10历史排名情况


股指期货

  在欧美发达资本市场,程序化交易伴随着资本、技术和监管的变化而不断演变,程序化交易的策略也层出不穷。上图是Futures Magazine在2005年评出的最佳交易系统的历史排名情况,某些交易系统在不同时段内表现出较稳定的特点。2008年美国S&P500交易系统的TOP10排名为:Turbo Trader Pro、Anticipation、Samurai 35、Dual Thrust、Maxim、Mesa T-Notes、Qtech Bellies、Keystone、Sledge Hammer、Delphi Universal。

  尽管国外市场上的交易系统名称举不胜举,但对于成熟的交易策略,开发者一般不愿公开,投资者也较难深入了解诸多交易策略的原理。本文通过对几个公开化的成熟交易策略举例,试图了解一些国外成熟交易策略的设计原理,同时检验其在国内期指市场中的适用性。

  1、Dual-Thrust

  图2:Dual Thrust和开盘区间突破策略的原理


股指期货

  开盘区间突破是较为常见的日内交易策略之一,以今日开盘价加减一定比例的昨日振幅,确定上下轨。日内突破上轨时平空做多,突破下轨时平多做空。Dual Thrust在形式上和开盘区间突破策略类似。不同点主要体现在两方面:Dual Thrust在Range的设置上,引入前N日的四个价位,使得一定时期内的Range相对稳定,可以适用于日间的趋势跟踪;Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1和K2来确定。

  当K1K2时,空头相对容易被触发。因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数,另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1和K2的值。

  为了使该策略更贴近实际情况,加入一些简单的交易规则,如初始止损、跨周期的数据引用等进行完善。具体地,初始资金100万、每次以30%仓位开仓,日内突破上轨且30分钟周期的MA5>MA10开多,日内跌破下轨且30分钟周期的MA5

  图3:Dual Thrust策略的累计收益率


股指期货

  2、R-Breaker

  在外汇交易系统中,枢轴点 (Pivot Points) 交易方法是一种经典的交易策略。Pivot Points是一个非常单纯的阻力支撑体系,根据昨日的最高价、最低价和收盘价,计算出七个价位,包括一个枢轴点、三个阻力位和三个支撑位。

  图4:Pivot Points策略的原理图


股指期货

  阻力线和支撑线是技术分析中经常使用的工具之一,并且支撑线和压力线的作用是可以互相转化的。从交易的角度上来看,Pivot Point好比是作战地图,给投资者指出了盘中应该关注的支撑和阻力价位,而至于具体的战术配合,Pivot Point并没有具体地规定,完全取决于投资者自身的交易策略。投资者可以根据盘中价格和枢轴点、支撑位和阻力位的相关走势灵活地制定策略,甚至可以根据关键点位进行加减仓的头寸管理。

  图5:R-Breaker策略的原理图


股指期货

  R-Breaker根据昨日价格计算出六个价位作为今日盘中交易的参考价位,只是比Pivot Points的设置少了一个枢轴点。R-Breaker与Pivot Points的不同点体现在:通过参数设置,使得六个价格间的距离更加灵活,并且R-Breaker明确了具体的交易策略。根据盘中价格走势,同时采取趋 势追踪和反转策略。图中有颜色背景的区域可以视为观察区,当盘中日内最高价触及Ssetup后出现回落,且跌破参考Senter的阻力线时,采取反转策 略,即在S1点开仓做空;在空仓的情况下,如果盘中价格一路突破Bbreak的阻力线时,则采取趋势追踪策略,即在B2点开仓做多。类似地,B1点反转做 多,S2点顺势做空。

  由于盘中开仓的触发条件涉及到多个价位,对日内价格走势较为敏感,因此该策略适用于在一分钟周期上交易。另外,该策略触发的交易次数并不多,不考虑跨周期的条件。TB IF888的1分钟数据源最早为2010/4/28,其他测试条件和Dual Thrust相同。

  图6:R-Breaker策略的累计收益率


股指期货

  R-Breaker中距离参数的设置对交易触发次数和最终收益率有一定影响,为了验证其策略的有效性,把R-Breaker的思路移植到距离参数固定的Pivot Point上,测试结果显示收益率103.6%、最大资产回撤值比例14.6%、胜率40.96%、均盈利/均亏损1.97、交易次数595。

  3、Dynamic Breakout II

  图7:S&P500指数和隐含波动率VIX指数


股指期货

  动态突破的原理与波动率相关,我们先来回顾波动率与指数的关系。我国目前暂未推出基于指数的期权衍生品,所以无法计算标的指数的隐含波动率,通常根据 历史数据计算价格的标准差来衡量波动率。这里可以参考基于S&P500指数期权隐含波动率的VIX指数,也称为恐慌指数,代表市场对未来30天的 市场波动率的预期。图中可以看出,在2007年之前和2009年之后,当VIX指数处在低位时,指数通常延续当前的趋势;而当VIX由低位攀升至高位时, 预示着后市出现反转的概率加大。较为例外的是,2008年金融危机产生的系统性风险,使得VIX指数大幅上升,指数出现持续下跌。

  动态突破的思想是通过刻画市场波动率,同时结合使用布林线以及突破前期最高或最低点的做法来捕捉趋势。当市场波动率降低时,延续当前趋势的概率较大, 在计算布林线带宽时,使用的回溯周期数减少,使得开仓容易被触发;当市场波动率增加时,行情有可能发生反转,同时为了过滤虚假信号,计算布林线带宽时使用 的回溯周期数增加,使得开仓条件相对难触发。这种设置使得计算出的布林上下轨具有一定的适应性。策略中增加突破前期高点买入和跌破前期低点卖出的条件可以 进一步过滤虚假信号。投资者可以参考《Building Winning Trading Systems with TradeStation》中关于Dynamic Breakout II的介绍。

  Dynamic Breakout II策略中当价格突破前期高点且超过布林上轨时做多,当价格跌破前期低点和布林下轨时做空,除了初始止损外,使用布林中轨线作为跟踪止损。其他测试条件和Dual Thrust相同。

  图8:Dynamic Breakout II策略的累计收益率


股指期货

  Dual Thrust、R-Breaker和Dynamic Breakout II的适用周期不同,策略原理也不同。若同时使用这三个策略,组合后的收益率曲线变得更加平滑,最大资产回撤比例为5.2%,显示了投资组合策略分散化的优势。值得注意的是,上述得到的收益率曲线是根据历史数据,在使用相对优化参数的前提下得到的测试结果。

  在实盘交易过程中,历史的优化参数未并适应当前的行情特点,投资者在使用程序化的过程中,必须对交易策略原理做到心中有数,这样才能理解行情特点与交易结果之间的关系。从策略测试到实盘交易的转变过程中,投资者还将遇到其他一些问题。

  1、程序化交易平台的选择

  目前国内的程序化交易平台有金字塔、交易开拓者、文华、快期、盈佳等,这些交易平台是以“上期综合交易平台CTP”为后台的交易软件。在平台选择上, 应结合软件稳定性、交易策略的适用性、使用费用、使用习惯等方面选择适合自己交易的平台。例如:金字塔支持图表程序化、后台程序化,支持VBS开发和外部 数据库,扩展性好;交易开拓者的交易策略测试报告更加详细,国外的TradeStation代码容易移植到TB平台上。

  2、实盘交易中的细节问题

  程序化交易平台的实时数据来源于中金所,中金所500ms推送一次Tick数据,不同平台自行提取更长周期的数据,不同的提取规则可能导致数据不一 致。比如金字塔和TB在日内周期K线的分割方法,以及K线的时间标记上都是不同的。在日内收盘平仓的时点,以及跨周期的数据引用上等方面,需要注意不同平 台的数据差异。

  交易策略测试是在既定的周期里每个周期计算一次相应参数,而 实盘交易中会有数据实时推送过来,有可能会造成交易信号反复的问题。有的平台软件支持每隔固定秒数的轮询模式,以及走完K线模式来读取数据,选择什么样的 数据刷新频率取决于策略本身。除了信号反复的问题,还可能出现下单未成交、重复开平仓、止损未触发等情况,这需要投资者事先考虑可能出现的不利情形,对策 略进行相应的调整,如把代码转换到更小的周期上运行、考虑滑点、通过全局变量控制开仓次数等。另外,策略测试时通常是针对期指连续合约,实盘交易时要选择主力合约,换月时注意移仓时点的把握。

  3、程序化交易执行过程中的交易心态

  成功的投资不但需要正确的市场分析,更需要完善的风险管理和良好的心态控制,即所谓的3M (Mind、Money、Market)。一些投资者在使用程序化的 过程中,尤其是当使用胜率较低的趋势跟踪系统出现连续亏损时,投资者会对使用的交易系统产生质疑,交易心态难以平和,甚至最终放弃交易系统的使用。每个交 易系统对投资者心理、交易品种以及资金的风险偏好都是有一定适应性的。因此,投资者需要加深对市场的认识,理解交易策略原理,把握自己能把握的,包括交易 心态和交易方法,才能真正发挥程序化交易的作用

转载于:https://www.cnblogs.com/zeroone/p/3493546.html

国外成熟的程序交易系统的思路 z相关推荐

  1. 解读Android 4.0 Camera原生应用程序的设计思路

    解读Android 4.0 Camera原生应用程序的设计思路 一篇很不错的文章: http://my.oschina.net/jerikc/blog/90791 1. 设置摄像头方向 2. 打开线程 ...

  2. 10种最流行的国外博客程序

    所以很多国外博客程序都被广泛使用,比如wordpress,joomla等.这些博客除了本身的程序外,也会提供许多插件.因此如何选择好适合自己的博客程序就很重要. 本文将会例举10款目前最流行的国外博客 ...

  3. 喷涂机程序,X Y Z R轴喷涂,前后左右上下多角度,配合高精密凸轮分割器分度

    喷涂机程序,X Y Z R轴喷涂,前后左右上下多角度,配合高精密凸轮分割器分度,立体喷涂. 四轴直线插补,伺服多点位高速定位控制,绝对相对定位指令完美组合应用. 十组配方参数根据工艺需要,任意切换. ...

  4. 用什么心态对待水平糟糕的程序员[不靠谱的程序员、思路紊乱的程序员]?

    这些年遇到了很多糟糕的程序员,其实真正是写程序料的人,普通IT公司大概只占1/3左右吧,其实有2/3的人都太适合当程序员,还不如早点儿改行该干啥就干啥了,其中有1/10的人往往是相对比较糟糕的. 01 ...

  5. 微信小程序的推广思路与方法,详细思路解析

    简单来说,小程序就是微信上的APP,它内生于微信,坐享10亿流量,而且不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.今天,我们就来 ...

  6. c语言编程大体思路,C语言:程序的设计思路跟特点

    C语言的一些特点:1. 采用结构化的控制语句,是完全模块化和结构化的语言. 2. 数据类型丰富,具有现代语言的各种数据结构 3. 语法限制不太严格,程序设计自由度大,同时也意味着容错性差. 4. 允许 ...

  7. 改变网络的十年 国外流行php程序代表作 【转】

    php在国外的流行度要远大于国内,从数据库管理到在线购物,从博客到电子邮件,开放源代码的PHP程序数不胜数.从1998年到现在,php十年的热情与坚持.良好的软件架构.团队协作和创新理念,造就了一批优 ...

  8. 国外.net开源程序

    转载自:http://www.aspx1.com (ASP.NET学习门户) 站内转至:http://blog.csdn.net/ChaoYang0502/archive/2008/04/09/226 ...

  9. 微信小程序红包开发思路 微信红包小程序开发思路讲解

    之前公司开发小程序红包,将自己在开发的过程中遇到的一些坑分享到了博客里.不少人看了以后,还是不明白怎么开发.也加了我微信咨询.所以今天,我就特意再写一篇文章,这次就不谈我开发中遇到的坑了.就主要给大家 ...

最新文章

  1. 台式计算机的cpu设置,i7型CPU进行了修改并在台式计算机上使用,这才是真正的计算机之神!...
  2. GLSL. 语法基础
  3. J2EE中在web.xml异常页面跳转
  4. 一个工作一年的程序员的告白
  5. 牛客网【每日一题】4月14日题目精讲 Xorto
  6. 【零基础学习iOS开发】【02-C语言】05-进制
  7. layui tree 加载慢_图片太多,加载慢,我用了layui里的方式,放在服务器后还是太慢!怎么解决???有没有什么优化的技巧???...
  8. Linux下执行程序出现 Text file busy 时的解决办法。
  9. Java中高级核心知识全面解析——什么是Spring Cloud、需要掌握哪些知识点?(下)
  10. SAP License:SAP顾问你的路在何方?
  11. 洛谷——P2524 Uim的情人节礼物·其之弐
  12. [20151014]关于result cache.txt
  13. jsp分页的常用写法
  14. 哔哩哔哩助手:玩转B站、全速下载、夜间模式、画中画 等功能
  15. R语言使用mad函数、median函数、mean函数计算向量数据的中位数绝对偏差、中位数、均值
  16. 论文|少样本学习综述
  17. 数据洪流时代,企业转型需要修建自己的“都江堰”
  18. 【架构风格】架构风格演进和领域架构分类
  19. list.sort和list.stream.sorted
  20. BBS系统的设计与实现

热门文章

  1. Ubuntu安装软件包网络不可达问题
  2. 既生list何生tuple
  3. ORACLE TKPROF使用步骤
  4. golang浅拷贝与深拷贝
  5. android 4.3刷机包,联想B8080-F官方固件刷机包4.3rom线刷包(Root权限+驱动)
  6. 瑞萨,尝试flash刷写代码放到ram中,OK
  7. centos7安装mysql(mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar)
  8. 八皇后问题动态演示_Qt5实现
  9. 基于SSM快递取件管理系统
  10. 207.课程表 | 210.课程表II(拓扑排序)