这次来实现网格交易法,主要参考了:
https://zhuanlan.zhihu.com/p/63739282 和 https://blog.csdn.net/u010805023/article/details/103109129
网格交易主要解决何时买卖,买卖多少的问题。首先确定要交易品种的波动范围,然后将波动范围均分为N个网格,价格每上涨一个网格,卖出1/N,每下跌一个网格,买入1/N。
策略的主要问题是波动范围估测准不准。如果上限估高了,可能卖早了。如果下限估高了,可能还在跌却没资金了。还有交易成本的问题。
开始撸代码吧。
1 | # coding:utf-8 |
鼓捣了半天,困在选择上下震幅那里。按博文里的做法是用前十个交易日的最高点最低点来算,我怎么调试也不对。最后我用了一个”作弊”的方法,直接人肉看k线图然后指定最高最低点,成了。先跑起来再说。
还不错,年化收益率9%。但这是“上帝视角”,也就是使用了未来数据。如果我能提前知道最低最高点在哪,直接在最低点梭哈然后等到最高点清仓不就完啦?
下面再看看怎么改进。先用参数优化功能看一下设置不同间隔的效果吧。
1 | # 看选择不同网格宽度的效果 |
网格宽度为1%时收益最高,年化12%。
代码地址还是: https://github.com/zwdnet/MyQuant/tree/master/47
策略文件为Grid.py。
我发文章的三个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。
我的个人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的微信个人订阅号:赵瑜敏的口腔医学学习园地