![深入浅出Python量化交易实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/106/44510106/b_44510106.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.2 双移动平均策略的实现
顾名思义,双移动平均策略就是使用两条均线来判断股价未来的走势。在两条均线中,一条是长期均线(如10日均线),另一条是短期均线(如5日均线)。这种策略基于这样一种假设:股票价格的动量会朝着短期均线的方向移动。当短期均线穿过过长期均线,超过长期移动平均线时,动量将向上,此时股价可能会上涨。然而,如果短期均线的移动方向相反,则股价可能下跌。
根据这个原理,我们来创建一个双移动平均交易策略,输入代码如下:
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-P37_139377.jpg?sign=1739278317-31SEMosm95xt78mfplK9gLuXWs753CsO-0-82056dd4c1e136c8f3733d5dc6118c98)
运行代码,可以得到如表2.4所示的结果。
表2.4 根据5日均价和10日均价创建的交易策略
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-T38_139222.jpg?sign=1739278317-y79yoLZiuRS8m67VKqdcavkx4XIGsEmD-0-6b060f17309cf24ca5d5076021fb9779)
【结果分析】从表2.4中可以看到,在3月9日这一天,该股票的5日均价约为80.31元,而10日均价约为79.87元,5日均价大于10日均价,故此程序给出的交易信号是1;同样,在3月10日这一天,5日均价约为80.25元,而10日均价约为79.77元,交易信号不变,仍然是1,所以这一天不进行任何交易;但到了3月12日,5日均价下跌至约78.61元,小于10日均价(约79.29元),交易信号变为0,与前一天相比,交易信号的变化为–1,所以下单卖出一手股票。
可以使用可视化的方法来直观感受这个过程,输入代码如下:
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-P39_139379.jpg?sign=1739278317-vTgoSSLJUcBewtLpyGMTTxATnE35hTcw-0-cbef1a745a6dfeb539e9d151f60fbf68)
运行代码,可以得到如图2.3所示的结果。
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-P39_139224.jpg?sign=1739278317-Q3IroKIDEVWcwKf2BNxvGGe6MkU1YXSR-0-4ec7c4803920f7f8bd03603ea5972e16)
图2.3 移动平均策略给出的买卖点
【结果分析】从图2.3中可以看到,使用移动平均策略,在选取的时间范围内一共进行了6笔交易,其中3笔买入,3笔卖出。由于在该时间范围内,该股的价格一直处于下跌的趋势,通过肉眼也可以看出,每次卖出的价格都要低于买入的价格,总体应该是亏损的状态。