网格交易策略(Grid Trading)

策略介绍

网格策略本质上是一种低吸高抛的策略。标的物价格越低,吸纳的头寸越多;标的物价格越高,卖出的头寸越多。网格策略巧妙地借鉴了日常生活中渔翁撒网扑鱼的思路,对低位震荡市场进行撒网、加仓(标的物价格下跌时)、减仓(标的物价格上涨时)、收网(平仓)等操作,实现了一个基本上不需要看基本面(如果标的物是股票)和价格走势的获利系统。

本策略设置买卖价格各4档,在不同价格上设置不同的仓位,并且加入止盈和止损机制。

实现方法

首先,我们要确定一个撒网(建仓)时间和基准价。撒网需要选择在低位震荡行情相对底部的位置。一般的思路是比较当前的标的物价格与该时间点之前某个时间段内的价格均值,如果当前价格小于价格均值的一个下限,我们基本上就可以认为当前是处于相对底部的位置,可以进行撒网操作,并记录下撒网的价格基准。

确定好了基准价,我们就可以建立网格图表了。

如上图,我们建立了一个买卖的网格。以基准价建仓,建仓仓位为50%。在高于基准价时,价格每上涨5%,就卖出一部分仓位;在低于基准价时,价格每下跌3%,就增加一部分仓位。当价格上涨到卖4档或更高时,全仓卖出;当价格下跌到买4档或更低时,全仓买入。

我们设定买卖档位时,价格是非对称的,跌3%买,而涨5%卖。这样非对称的设定,是为了在期望值上使得整个系统的收益要大于0。

优点

网格交易法,加入了明确的仓位控制,并根据价格的变化采取高抛低吸的策略,在震荡的市场中十分有效。在网格的设定上,使用者可以根据市场情形的不同而灵活设定。比如,在熊市中,我们应当使用大网格,防止过早满仓;在震荡行情中,应当缩小网格,尽量多的抓住每一个小的波动。

缺点

由于网格策略由于本质上是一个低吸高抛的策略(类似于动量反转),在单边行情中,它存在一定的风险(俗称“破网”)。在大熊市中,可能会早早的满仓,并且一直没有离场信号,持续亏损。而在大牛市中,却一直仓位很低甚至空仓,资金使用率很低,收益跑不过基准。

如上图中,由于我们的基准价比较低,当价格大幅上涨时,很快突破了网格的最高档位,我们根据策略全仓卖出,一大波行情只抓住了一个开头,收益甚微。反过来,如果是个大幅下降的行情,我们会在很高的位置就满仓,套牢,损失不可估量。

因此,一个好的网格策略,必须要设计好相应的止损机制,并且能够对市场行情加以判断,适当做出调整。同时,需要在适当的时候对网格的基准价以及档位设置进行调整,以适应当前市场的变化。

回测

  • 参数设置:
时间段 2015-01-01至2015-10-01
回测频率(context.frequency) 1d
网格参数设置 见上文实现方法
  • 回测结果:

从上图我们可以看出,网格策略在这一个震荡时间段运行的非常好,在基准下跌20%的情况下,策略居然跑出了20%的收益。这就是网格策略的特性,在震荡中,通过对仓位的调整,不停的低买高卖,从波动中赚取收益。

但是,如果我们维持上面的参数不变,只是拉长回测时间,情况却有所不同。

价格持续上升,到后来突破了网格的上界(破网),并且一直没有回来,导致策略一直处于空仓,后面的上涨完全没有吃到。所以,我们在使用网格策略的过程中,要结合行情。在震荡的行情中,找到合适的基础价撒网。在大牛或者大熊市中,则要考虑更换其他的策略,或者结合其他的指标,来动态的分析。当价格长时间处于网格的上界或者下界之外时,我们要考虑重新设置基础价格,以适应行情的变化。

总结

网格交易策略把价格的变化和仓位的控制很好的结合到了一起,简单而又实用,在震荡波动的行情中尤为突出,能很好的做到高抛低吸,赚取价差。网格的宽度要结合行情进行调整,震荡行情适当收窄,趋势行情适当放宽。基准价的设定也很关键,而且在必要时可以重新设置。

实盘测试收益很低!代码有问题???

WeQuant交易策略—网格交易的更多相关文章

  1. AMA指标原作者Perry Kaufman 100+套交易策略源码分享

    更多精彩内容,欢迎关注公众号:数量技术宅.想要获取本期分享的完整策略代码,请加技术宅微信:sljsz01 AMA技术指标与原作者 Kaufman 说起 Perry Kaufman 这个名字,不少读者会 ...

  2. 用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略

    我的新书<基于股票大数据分析的Python入门实战>于近日上架,在这篇博文向大家介绍我的新书:<基于股票大数据分析的Python入门实战>里,介绍了这本书的内容.这里将摘录出部 ...

  3. 3. 量化交易策略 - https://github.com/3123958139/blog-3123958139/README.md

    3. 量化交易策略 * 输入数据 - 只取最原始可靠的,如 * date * open * high * low * close * volume * 输出数据 - 根据数理统计取权重,把 o, h, ...

  4. 高频交易策略[z]

    Market Order以最高速下市价单(market order)是买方最基本的策略 Looking for Price Discrepancies 这个就是高频统计套利(high frequenc ...

  5. 高频交易策略之Penny Jump[z]

    高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...

  6. 系统交易策略 hylt

    最令我尴尬的事情,莫过于很多朋友来到网站,不知道我说的是什么.大多数人以为鬼仆是推销软件的.其实这里理解是错的,特别是一些软件制作与经销商,更出 于推销的目的,故意夸大产品性能,模糊交易系统与一般行情 ...

  7. BotVS趋势交易策略-RSI

    BotVS趋势交易策略-RSI, 基于Python实现. RSI简单买卖测试, 默认 70-100卖出,0-30买入 参数 代码 import math def adjustFloat(v): ret ...

  8. 金融量化分析【day112】:量化交易策略基本框架

    摘要 策略编写的基本框架及其实现 回测的含义及其实现 初步学习解决代码错误 周期循环的开始时间 自测与自学 通过前文对量化交易有了一个基本认识之后,我们开始学习做量化交易.毕竟就像学游泳,有些东西讲是 ...

  9. 【海龟汤策略】反趋势交易策略源代码分享(基于BOTVS)

    策略介绍: 海龟之汤,简称“龟汤”,是个与海龟交易法则相反的交易策略,它利用了跟势交易(特别是海龟方式)在很多假突破方面的缺陷来获利(把海龟做成汤吃掉).上世纪八十年代早期,有个非常著名的交易员团体— ...

随机推荐

  1. 1,入门-Hello Soring Boot

    什么是SpringBoot Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.大多数SpringBoot项目只需要很少的配置文件. SpringBoo ...

  2. electron 使用 node-ffi C++ 动态链接库(DLL)

    一.为什么需要使用DLL 需要使用系统 API 操作或扩展应用程序: 需要调用第三方的接口API,特别是与硬件设备进行通信,而这些接口 API 基本上都是通过 C++ 动态链接库(DLL)实现的: 需 ...

  3. ubuntu16.04安装不上有道词典的解决办法

    转自:http://www.linuxdiyf.com/linux/21143.html ubuntu16.04安装不上有道词典,提示: le@hu-pc:~/下载$ sudo dpkg -i you ...

  4. ES6模板字面量

    前面的话 JS 的字符串相对其他语言来说功能总是有限的,事实上,ES5中一直缺乏许多特性,如多行字符串.字符串格式化.HTML转义等.ES6通过模板字面量的方式进行了填补,模板字面量试着跳出自己JS已 ...

  5. SQL注入的各种类型的检测方式

    #SQL注入各个类型检测方式 http://127.0.0.1/day6/1.php?id=1 union select 1,name,pass from admin 数字型 数字型不用特意加字符,直 ...

  6. Unity 工作经历+近期面试经历

    由于团队解散,这最近都在找新工作机会--投简历找工作.已经面试三家了,都没拿到offer,挺失落的.把这种感受记录下来,以作后鉴. 这本质上是一篇面试经历的记录,并不是什么面试攻略,主要是给自己总结的 ...

  7. Css元素居中设置

    你对DIV CSS居中的方法是否了解,这里和大家分享一下,用CSS让元素居中显示并不是件很简单的事情,让我们先来看一下CSS中常见的几种让元素水平居中显示的方法. DIV CSS居中 用CSS让元素居 ...

  8. BZOJ-1491-社交网络

    题目链接:https://vjudge.net/problem/HYSBZ-1491 题目大意:中文题目,题意见题目 题目分析:由于数据量很小,可以考虑进行Floyd算法. 第一次进行Floyd算法, ...

  9. Java curator操作zookeeper获取kafka

    Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...

  10. C——Network Saboteur (POJ2531)

    题目: A university network is composed of N computers. System administrators gathered information on t ...