请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3364693 新帖:14

【量化课堂】双均线策略

我就是英雄发表于:5 月 9 日 17:53回复(1)

导语: 双均线策略,通过建立m天移动平均线,n天移动平均线,则两条均线必有交点。若m>n,n天平均线“上穿越”m天均线则为买入点,反之为卖出点。该策略基于不同天数均线的交叉点,抓住股票的强势和弱势时刻,进行交易。



均线嘛,都是均线

对于每一个交易日,都可以计算出前N天的移动平均值,然后把这些移动平均值连起来,成为一条线,就叫做N日移动平均线。

比如前5个交易日的收盘价分别为10,9,9,10,11元,那么,5日的移动平均股价为9.8元。同理,如果下一个交易日的收盘价为12,那么在下一次计算移动平均值的时候,需要计算9,9,10,11,12元的平均值,也就是10.2元。

将这平均值连起来,就是均线。

如下图所示,收盘价是蓝线,橙色的线表示5日的移动平均线。

1.png

可以看到股票价格的波动比5天均线的波动要大,这是因为5天均线取的是前5个交易日的均值,相当于做了一个平滑。

双均线

顾名思义就是两条天数不同的移动平均线,比如说,一条是5天的移动平均线,另一条是10天的移动平均线。如图,蓝色的是5天均线,黄色的是10天均线。

2.png

金叉和死叉

由时间短的均线(如上图蓝色的线)在下方向上穿越时间长一点的均线(如上图黄色的线),为“金叉”,反之为“死叉”。
好了,现在可以构建一个简单的策略:我们认为,双均线金叉的时候,表明股票很强势,反之很弱势,我们就在强势的时候买一个好了,弱势的时候卖掉好了。

说了这么多,下面我们开始实战!

首先,我们可以看一下API中的策略示例里面的双均线策略(详见https://www.joinquant.com/api#双均线策略 )直接复制粘贴就能运行,是不是很简单呢?

老师,可以了嘛?

当然不行,有时候我们也许会根据自己的需要对一些现有的策略进行改造,比如说,我想对均线进行加权呢?我想改造一个指数均线呢?

那我们得自己实现一下均线函数。方法不难,获得前N天的收盘价,然后计算一个算术平均数就可以了,各位读者可以先自己进行尝试,也可以参考回测代码块5(里面有代码和注释)

接下来,如果你想挑战更高难度,可以试一下计算指数移动平均的函数。

指数移动平均和算术平均或者加权平均的主要区别在于指数移动平均需要进行一个迭代,因此这可能是个有点挑战的地方:

3.png

其中pi表示前一天的收盘价,且

α=N?1N 1α=N?1N 1

α=N?1N1

α=N?1N 1

\alpha = \frac{N-1}{N 1}


写出来没?如果没写出来的话可以参考回测代码块3和4(里面有代码和注释)

怎么样?是不是有点挑战性?如果写出这样的子函数,那么在主程序里面只要改一下函数输入参数,就可以轻松的在不同的参数之间来回切换,比较收益。

多股票

除了改为指数移动平均线以外,小编还加入多股票实现方法。

在交易日前,同时对多个股票进行判断,哪只金叉了就买入,死叉了就卖出,按日进行判断和交易。最大可以同时持有N只股票,用于实现这个策略的主函数可以参考回测代码块1和2。

好啦,看看小编选了5个股票的回测结果吧。从2005开始回测至今,你会发现在大部分时间里面,策略的收益比基准收益高,是不是很棒?各位读者可以自己尝试修改参数,看看参数应该如何选取。在这里,小编提供一个同时持有股票书N的选择的小tips,如果风险承受能力强的话可以少选一点,如果想分散风险,可以多选一些股票,但是,分到每个股票的资金最好不要少于两万,因为手续费是有最低限制的。

5.png

小结

我们这里是量化课堂的第三部分,主要给大家提供几个大范围的量化思路。本篇为第一讲,举了一个技术指标的例子。比较简单。有关技术指标的文章,百度上一搜一大把,我们平台里也有很多相关的帖子,python公开库ta-lib里也收录了很多指标,大家想进一步研究可以实现一下。也可以结合其他选股策略,或者根据需要制订资金等分的份数或者控制仓位等方法提高策略的收益。

好了,今天对双均线多股票选股策略的介绍就到这里了。


双均线策略_函数说明.png


全部回复

0/140

量化课程

    移动端课程