WeQuant交易策略—网格交易
网格交易策略(Grid Trading)
策略介绍
网格策略本质上是一种低吸高抛的策略。标的物价格越低,吸纳的头寸越多;标的物价格越高,卖出的头寸越多。网格策略巧妙地借鉴了日常生活中渔翁撒网扑鱼的思路,对低位震荡市场进行撒网、加仓(标的物价格下跌时)、减仓(标的物价格上涨时)、收网(平仓)等操作,实现了一个基本上不需要看基本面(如果标的物是股票)和价格走势的获利系统。
本策略设置买卖价格各4档,在不同价格上设置不同的仓位,并且加入止盈和止损机制。
实现方法
首先,我们要确定一个撒网(建仓)时间和基准价。撒网需要选择在低位震荡行情相对底部的位置。一般的思路是比较当前的标的物价格与该时间点之前某个时间段内的价格均值,如果当前价格小于价格均值的一个下限,我们基本上就可以认为当前是处于相对底部的位置,可以进行撒网操作,并记录下撒网的价格基准。
确定好了基准价,我们就可以建立网格图表了。
如上图,我们建立了一个买卖的网格。以基准价建仓,建仓仓位为50%。在高于基准价时,价格每上涨5%,就卖出一部分仓位;在低于基准价时,价格每下跌3%,就增加一部分仓位。当价格上涨到卖4档或更高时,全仓卖出;当价格下跌到买4档或更低时,全仓买入。
我们设定买卖档位时,价格是非对称的,跌3%买,而涨5%卖。这样非对称的设定,是为了在期望值上使得整个系统的收益要大于0。
优点
网格交易法,加入了明确的仓位控制,并根据价格的变化采取高抛低吸的策略,在震荡的市场中十分有效。在网格的设定上,使用者可以根据市场情形的不同而灵活设定。比如,在熊市中,我们应当使用大网格,防止过早满仓;在震荡行情中,应当缩小网格,尽量多的抓住每一个小的波动。
缺点
由于网格策略由于本质上是一个低吸高抛的策略(类似于动量反转),在单边行情中,它存在一定的风险(俗称“破网”)。在大熊市中,可能会早早的满仓,并且一直没有离场信号,持续亏损。而在大牛市中,却一直仓位很低甚至空仓,资金使用率很低,收益跑不过基准。
如上图中,由于我们的基准价比较低,当价格大幅上涨时,很快突破了网格的最高档位,我们根据策略全仓卖出,一大波行情只抓住了一个开头,收益甚微。反过来,如果是个大幅下降的行情,我们会在很高的位置就满仓,套牢,损失不可估量。
因此,一个好的网格策略,必须要设计好相应的止损机制,并且能够对市场行情加以判断,适当做出调整。同时,需要在适当的时候对网格的基准价以及档位设置进行调整,以适应当前市场的变化。
回测
- 参数设置:
时间段 | 2015-01-01至2015-10-01 |
回测频率(context.frequency) | 1d |
网格参数设置 | 见上文实现方法 |
- 回测结果:
从上图我们可以看出,网格策略在这一个震荡时间段运行的非常好,在基准下跌20%的情况下,策略居然跑出了20%的收益。这就是网格策略的特性,在震荡中,通过对仓位的调整,不停的低买高卖,从波动中赚取收益。
但是,如果我们维持上面的参数不变,只是拉长回测时间,情况却有所不同。
价格持续上升,到后来突破了网格的上界(破网),并且一直没有回来,导致策略一直处于空仓,后面的上涨完全没有吃到。所以,我们在使用网格策略的过程中,要结合行情。在震荡的行情中,找到合适的基础价撒网。在大牛或者大熊市中,则要考虑更换其他的策略,或者结合其他的指标,来动态的分析。当价格长时间处于网格的上界或者下界之外时,我们要考虑重新设置基础价格,以适应行情的变化。
总结
网格交易策略把价格的变化和仓位的控制很好的结合到了一起,简单而又实用,在震荡波动的行情中尤为突出,能很好的做到高抛低吸,赚取价差。网格的宽度要结合行情进行调整,震荡行情适当收窄,趋势行情适当放宽。基准价的设定也很关键,而且在必要时可以重新设置。
实盘测试收益很低!代码有问题???
WeQuant交易策略—网格交易的更多相关文章
- AMA指标原作者Perry Kaufman 100+套交易策略源码分享
更多精彩内容,欢迎关注公众号:数量技术宅.想要获取本期分享的完整策略代码,请加技术宅微信:sljsz01 AMA技术指标与原作者 Kaufman 说起 Perry Kaufman 这个名字,不少读者会 ...
- 用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略
我的新书<基于股票大数据分析的Python入门实战>于近日上架,在这篇博文向大家介绍我的新书:<基于股票大数据分析的Python入门实战>里,介绍了这本书的内容.这里将摘录出部 ...
- 3. 量化交易策略 - https://github.com/3123958139/blog-3123958139/README.md
3. 量化交易策略 * 输入数据 - 只取最原始可靠的,如 * date * open * high * low * close * volume * 输出数据 - 根据数理统计取权重,把 o, h, ...
- 高频交易策略[z]
Market Order以最高速下市价单(market order)是买方最基本的策略 Looking for Price Discrepancies 这个就是高频统计套利(high frequenc ...
- 高频交易策略之Penny Jump[z]
高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...
- 系统交易策略 hylt
最令我尴尬的事情,莫过于很多朋友来到网站,不知道我说的是什么.大多数人以为鬼仆是推销软件的.其实这里理解是错的,特别是一些软件制作与经销商,更出 于推销的目的,故意夸大产品性能,模糊交易系统与一般行情 ...
- BotVS趋势交易策略-RSI
BotVS趋势交易策略-RSI, 基于Python实现. RSI简单买卖测试, 默认 70-100卖出,0-30买入 参数 代码 import math def adjustFloat(v): ret ...
- 金融量化分析【day112】:量化交易策略基本框架
摘要 策略编写的基本框架及其实现 回测的含义及其实现 初步学习解决代码错误 周期循环的开始时间 自测与自学 通过前文对量化交易有了一个基本认识之后,我们开始学习做量化交易.毕竟就像学游泳,有些东西讲是 ...
- 【海龟汤策略】反趋势交易策略源代码分享(基于BOTVS)
策略介绍: 海龟之汤,简称“龟汤”,是个与海龟交易法则相反的交易策略,它利用了跟势交易(特别是海龟方式)在很多假突破方面的缺陷来获利(把海龟做成汤吃掉).上世纪八十年代早期,有个非常著名的交易员团体— ...
随机推荐
- Intellij Idea配置说明(从Eclipse转Idea)
1.idea的字体大小设置 字体大小设置的方法: 进入Settings>>Editor>>Colors&Fonts>>Font,改变Size大小. 2. ...
- Python面向对象编程(二)
1.继承与派生 上文我们已经说过,Python中一切皆对象.我们从对象中抽取了共同特征和技能,得到了类的概念.类与类之间也有共同特征,我们可以从有共同特征和技能的类中提取共同的技能和特征,叫做父类. ...
- 文件的默认权限UMASK
当进入Linux系统后新创建的文件或者文件夹总是会有一个默认的权限,那么这个权限是如何设置的呢? umask就是设置文件与目录的默认权限 1. 查看umask 直接查看, [root@centos6 ...
- FillConsoleOutputAttribute 函数--指定区域填充控制台输出属性
FillConsoleOutputAttribute函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682663(v= ...
- (转)eclipse报错及解决说明 "XX cannot be resolved to a type "
场景:在项目开发时,一个工程引用另一个工程中的文件,出现报错“XX cannot be resolved to a type”,但是在实际通过跟踪“F3”能够找到相应的文件,最终用方法4解决. 引言: ...
- listView属性随笔--不断增加中。
对于一个控件的认识总是会随着时间的推移,而变的逐渐深刻. 简单的就 android:layout_height:属性来说给的数值不同就会有不同的效果,有些时候你根本想不到是跟这个属性的设置有关. 有时 ...
- bash中(),{},(()),[],[[]]的区别
前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上 ...
- 3. leetcode 463 Island Perimeter
思路:设原始周长为4*节点数,每当出现一次相邻的情况,原始周长会减2.
- CSS3伪类实现动画旋转效果
一个简单的动画效果demo,keyframes为关键帧,图片贴在代码下方.利用了伪类实现css3动画效果,初学者可以看一下,恩.<!doctype html> <html lang= ...
- HTML <img>标签 创建图像映射
初级前端一枚 下面代码是在图片上创建图像映射 自己整理了下 做个笔记 希望也可以帮助后来学习的朋友! <map name="planetmap"> <area s ...