Book Image

NumPy: Beginner's Guide

By : Ivan Idris
Book Image

NumPy: Beginner's Guide

By: Ivan Idris

Overview of this book

Table of Contents (21 chapters)
NumPy Beginner's Guide Third Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
NumPy Functions' References
Index

Time for action – using a legend and annotations


In Chapter 3, Getting Familiar with Commonly Used Functions, we learned how to calculate the EMA of stock prices. We will plot the close price of a stock and three of its EMA. To clarify the plot, we will add a legend. We will also indicate crossovers of two of the averages with annotations. Some steps are again omitted to avoid repetition.

  1. Go back to Chapter 3, Getting Familiar with Commonly Used Functions, if needed, and review the EMA algorithm. Calculate and plot the EMAs of 9, 12, and 15 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(
         data, names=["dates", "ema"]))

    Notice that the plot() function call needs a label for the legend. We stored the moving averages...