Time for action – using legend and annotations
In Chapter 3, Getting to Terms with Commonly Used Functions we learned how to calculate the exponential moving average of stock prices. We will plot the close price of a stock and three of its exponential moving averages. To clarify the plot, we will add a legend. Also, we will indicate crossovers of two of the averages with annotations. Some steps are again omitted to avoid repetition.
Calculate and plot the exponential moving averages: Go back to Chapter 3, Getting to Terms with Commonly Used Functions if needed and review the exponential moving average algorithm. Calculate and plot the exponential moving averages of
9
,12
, and15
periods.emas = [] for i in range(9, 18, 3): weights = np.exp(np.linspace(-1., 0., i)) weights /= weights.sum() ema = np.convolve(weights, close)[i-1:-i+1] idx = (i - 6)/3 ax.plot(dates[i-1:], ema, lw=idx, label="EMA(%s)" % (i)) data = np.column_stack((dates[i-1:], ema)) emas.append(np.rec.fromrecords...