Plot Stock Price Time-series Data

This tutorial will show you how to plot stock time-series data using Python. Stock prices vary in different trading days, and thus it would be of interest to the overall trends by plotting it.

Needed Packages

• yfinance — A python library that offers a threaded and Pythonic way to download market data from Yahoo! Finance.
• matplotlib — A python library for creating static, animated, and interactive visualizations.

The following code is to download data and then print out the result.

import yfinance as yf
import matplotlib.pyplot as plt

price_history_MSFT = yf.Ticker('MSFT').history(period='max',
interval='1d',
actions=False)
print(price_history_MSFT)
Open        High         Low       Close      Volume
Date
1986-03-13    0.055949    0.064177    0.055949    0.061434  1031788800
1986-03-14    0.061434    0.064725    0.061434    0.063628   308160000
1986-03-17    0.063628    0.065274    0.063628    0.064725   133171200
1986-03-18    0.064725    0.065274    0.062531    0.063079    67766400
1986-03-19    0.063079    0.063628    0.061434    0.061982    47894400
...                ...         ...         ...         ...         ...
2022-03-28  304.329987  310.799988  304.329987  310.700012    29578200
2022-03-29  313.910004  315.820007  309.049988  315.410004    30393400
2022-03-30  313.760010  315.950012  311.579987  313.859985    28163600
2022-03-31  313.899994  315.140015  307.890015  308.309998    33422100
2022-04-01  309.369995  310.130005  305.540009  309.420013    27085100

[9089 rows x 5 columns]

Part 2: Plot Data

The following code is to plot the data.

plt.plot(price_history_MSFT.Close,label='MSFT')
plt.title('Stock Prices of Microsoft (MSFT)')

Part 3: Add Another Stock to Compare

We can add another stock to do comparision, which makes the figure more interesting.

price_history_GOOG = yf.Ticker('GOOG').history(period='max',
interval='1d',
actions=False)

plt.legend(loc="upper left")
plt.show()