全部 智大领峰 TBQuant功能 TBL语言 TB开户 其他
两小段代码搞定网格交易法
2020-03-17 17:14
只要做量化交易有些年头的朋友,相信都遇到过行情震荡时,趋势策略不太有效、资金曲线出现连续回撤甚至创出历史最大回撤的经历。这时,大家都会想,要是能找到一些震荡策略,把回撤的这个坑填上,那整个交易系统就完美了。

其实真正难找的并不是策略本身,而是如何准确判断震荡的开始和结束,这才是圣杯难寻的根本原因。如果我们能清晰地判断出目前是震荡行情,或者某些品种的走势总体偏震荡,就可以轻松找到一种盈利能力很强的震荡策略,这就是今天要给大家介绍的——网格交易法。

01 网格交易法原理

网格交易法,又名渔网交易法,就像撒网捕鱼一样来捕捉行情,还是非常形象的。它的原理就是在预先判断的价格波动范围内设定密度合适的网格(买卖价格),来捕捉价格在整个网格中来回波动带来的盈利机会。在外汇交易市场,网格交易是一种很受青睐的交易策略。

这里,我们以股票买入或者期货做多为例,把网格交易的过程图示如下:

这里有几个要素:

1、网格交易起始点——也就是从什么价格开始买入。


2、网格密度或大小——就像捕鱼一样,网格太疏,小鱼(小震荡)容易漏掉,网格太密,大鱼(稍大的震荡)整个网格就兜不住了。


3、整个网格大小(网格数)——网格越大,能抓到的行情越大,但一旦整张网都兜不住了,风险也越大。


4、交易的方向,也就是做买,还是做卖——网格交易可以像上例一样单向布网,也可以提高效率双向布网。当然,双向布网可以简单理解为一个买入网格交易和一个卖出网格交易的组合策略。

02 网格交易法实现

网格交易是非常适合做程序化的,除非网格密度设得非常松,否则要靠人工盯盘来处理挂单、止盈是很难处理过来的,而用程序化来实现却非常简单。利用TBQuant的事件驱动来实现,除了基本设置,关键代码只要两段即可搞定!

1、首先把上面提到的和网格交易法密切相关的几个要素定义为参数。包括:交易的标的、网格起始价、网格大小(即密度)、网格数、做单方向等。

接下来除了一些变量定义和常规的初始化代码外,只要写好以下两段关键代码,就可以轻松实现一个可以实盘运行的基本网格交易策略了。

2、关键代码

代码一:启动网格交易,按设定的网格大小和交易方向,一次性布好所有开仓的挂单。


代码二:利用委托成交事件函数,对成交进行处理,主要分两种情况:

(1)如开仓挂单成交,则挂止盈单;

(2)如止盈挂单成交,则继续按原网格价格,把开仓单再补挂上。

看,足够简单吧!让我们看看这个简单策略能否直接交易吧。

03 实际交易

新建工作区,选择策略交易,新建策略单元,加载刚写好的公式,设置好参数,头寸管理关联好交易账户,点击启动自动交易,这个简单策略还真跑起来了。

这里我们以豆油2005合约为例,4元一格,平仓的频率看起来还挺不错。

当然这里介绍的只是网格交易策略这个工具的简单实现,围绕网格交易的各种应用,还需要在这个简单工具的基础上不断完善。最关键的还是如何应用,正如开篇所述,网格交易的应用是有一定前提的,这需要我们根据主观交易经验来辅助判断。

网格交易也有很多使用技巧,不但可以应用在典型的震荡品种或震荡行情中,也可以在趋势行情中和趋势策略进行各种巧妙的组合。除了策略本身的技巧,如何根据网格交易的特点,做好资金分配也是非常重要的一环。

总之,工具是死的,人是活的,但依靠工具的帮助,至少让我们在这个残酷市场中存活下来又多了一份把握。

文章转自:交易开拓者TB 作者:老冰

189****1135

能够回顾测试吗?

2020-11-02 02:50
laocai5

A函数写的策略无法回测,直接做就是

2020-12-11 19:47
quantOnTB1

请问策略里的flag的作用是什么?是要另外定义的嘛?有完整的代码嘛?谢谢~

 

2021-01-05 14:24
marikingok

能发我个源码吗?我想参考一下啊

540958969@qq.com

2021-01-15 23:55
woshifire

能否发我一下源码 56393579@qq.com

 

2021-12-01 16:29
TBYGY999

这里的变量怎么定义呢,求上面完整的网格代码,模仿

2022-01-03 16:43
qianlifeng

能把源码发我一下吗?377976894@qq.com

2022-04-19 14:54
tblaocai
@qianlifeng

大家不要跟帖了,我把代码上传到百度网盘了,请大家自行下载吧。

链接:https://pan.baidu.com/s/1eGxjBu3yrWrBVXC-2FBj6A
提取码:fsrq

2022-04-20 14:21
您未登录,请先 登录注册 后发表评论
顶部