深入浅出Python量化交易实战
上QQ阅读APP看书,第一时间看更新

2.2.1 单一移动平均指标

移动平均策略的核心思想非常简单,且十分容易理解。当股价上升且向上穿过N日的均线时,说明股价在向上突破,此时下单买入;当股价下降且向下穿过N日的均线时,说明股价整体出现下跌的趋势,此时下单卖出。或者当M日均价上升穿过N日的均线(M < N)时,说明股票处于上升的趋势,应下单买入;反之,当M日均价下降且穿过N日均线时,说明股票处于下降的趋势,应下单卖出。

在这个策略中,需要用到的指标便是均线。下面我们使用代码来演示股价均线的绘制,还是使用2.1节中下载的股票数据,选取10个交易日的股票均价作为均线,输入代码如下:

运行代码,可以得到如表2.3所示的结果。

表2.3 在原始数据中添加10日均价

【结果分析】从表2.3中可以看到,数据表多出一个字段avg_10。该字段存储的是10日内股票的均价。而在前9天中,由于数据不足10天,均价计算的是自有数据以来,截止到当日的股票均价。

为了直观地展示股价与均价的关系,可以使用下面的代码对数据进行可视化:

运行代码,可以得到如图2.2所示的结果。

图2.2 股价与10日均线

【结果分析】从图2.2中可以看到,实线是从2020年1月1日至2020年3月20日的股票调整后价格;虚线是该股票的10日均价。整体来看,在此期间,该股的整体趋势处于下行,不过不要紧,我们就基于这种“逆境”来尝试创建交易策略。