ESSAY / NOTE
均线、双均线策略
均线嘛,都是均线
对于每一个交易日,都可以计算出前N天的移动平均值,然后把这些移动平均值连起来,成为一条线,就叫做N日移动平均线。 比如前5个交易日的收盘价分别为10,9,9,10,11元,那么,5日的移动平均股价为9.8元。同理,如果下一个交易日的收盘价为12,那么在下一次计算移动平均值的时候,需要计算9,9,10,11,12元的平均值,也就是10.2元。 将这平均值连起来,就是均线。 如下图所示,收盘价是蓝线,橙色的线表示5日的移动平均线。
可以看到股票价格的波动比5天均线的波动要大,这是因为5天均线取的是前5个交易日的均值,相当于做了一个平滑。
双均线
顾名思义就是两条天数不同的移动平均线,比如说,一条是5天的移动平均线,另一条是10天的移动平均线。如图,蓝色的是5天均线,黄色的是10天均线。
金叉和死叉
由时间短的均线(如上图蓝色的线)在下方向上穿越时间长一点的均线(如上图黄色的线),为“金叉”,反之为“死叉”。 好了,现在可以构建一个简单的策略:我们认为,双均线金叉的时候,表明股票很强势,反之很弱势,我们就在强势的时候买一个好了,弱势的时候卖掉好了。 说了这么多,下面我们开始实战! 首先,我们可以看一下API中的策略示例里面的双均线策略(详见https://www.joinquant.com/api#双均线策略 )直接复制粘贴就能运行,是不是很简单呢? 老师,可以了嘛? 当然不行,有时候我们也许会根据自己的需要对一些现有的策略进行改造,比如说,我想对均线进行加权呢?我想改造一个指数均线呢? 那我们得自己实现一下均线函数。方法不难,获得前N天的收盘价,然后计算一个算术平均数就可以了,各位读者可以先自己进行尝试,也可以参考回测代码块5(里面有代码和注释) 接下来,如果你想挑战更高难度,可以试一下计算指数移动平均的函数。 指数移动平均和算术平均或者加权平均的主要区别在于指数移动平均需要进行一个迭代,因此这可能是个有点挑战的地方:
其中pi表示前一天的收盘价,且
α=N−1N+1α=N−1N+1
写出来没?如果没写出来的话可以参考回测代码块3和4(里面有代码和注释)
怎么样?是不是有点挑战性?如果写出这样的子函数,那么在主程序里面只要改一下函数输入参数,就可以轻松的在不同的参数之间来回切换,比较收益。