We can easily make a scatter plot of the stock price and volume returns. Again, let’s download the necessary data from Yahoo Finance.
quotes
data in the previous step is stored in a Python list. Convert this to a NumPy array and extract the close and volume values.dates = quotes.T[4] volume = quotes.T[5]
ret = np.diff(close)/close[:-1] volchange = np.diff(volume)/volume[:-1]
figure
objectfig = pyplot.figure()
subplot
to the figure.ax = fig.add_subplot(111)
scatter
plot with the color of the data points linked to the close return, and the size linked to the volume change.ax.scatter(ret, volchange, c=ret * 100, s=volchange * 100, alpha=0.5
title
of the plot and put a grid
on it.ax.set_title('Close and volume returns’) ax.grid(True) pyplot.show()
The scatter plot for DISH will appear as follows:
We made a scatter plot of the close price and volume returns for DISH (see scatterprice.py
):
from matplotlib.finance import quotes_historical_yahoo import sys from datetime import date import matplotlib.pyplot as plt import numpy as np today = date.today() start = (today.year - 1, today.month, today.day) symbol = 'DISH’ if len(sys.argv) == 2: symbol = sys.argv[1] quotes = quotes_historical_yahoo(symbol, start, today) quotes = np.array(quotes) close = quotes.T[4] volume = quotes.T[5] ret = np.diff(close)/close[:-1] volchange = np.diff(volume)/volume[:-1] fig = plt.figure() ax = fig.add_subplot(111) ax.scatter(ret, volchange, c=ret * 100, s=volchange * 100, alpha=0.5) ax.set_title('Close and volume returns’) ax.grid(True) plt.show()