|
| 1 | +#!/usr/bin/env python2 |
| 2 | + |
| 3 | +import numpy as np |
| 4 | +import matplotlib.pyplot as plt |
| 5 | +import matplotlib.dates as mdates |
| 6 | +import matplotlib.ticker as mticker |
| 7 | +import pandas as pd |
| 8 | + |
| 9 | +plt.suptitle('AAPL ticker') |
| 10 | +plt.xlabel('Date') |
| 11 | +num_rows_num_cols_tuple = (6,1) |
| 12 | + |
| 13 | +dates_formatter = '%Y-%m-%d' |
| 14 | +dateparse = lambda x: pd.datetime.strptime(x, dates_formatter) |
| 15 | + |
| 16 | +eps_series = pd.read_csv('./data/calculated_ratios/eps_AAPL.csv', parse_dates=['Date'], date_parser=dateparse) |
| 17 | +ax_eps = plt.subplot2grid(num_rows_num_cols_tuple, (0, 0)) |
| 18 | +ax_eps.plot(eps_series['Date'],eps_series['EPS']) |
| 19 | +ax_eps.grid(True) |
| 20 | +ax_eps.yaxis.set_major_locator(mticker.MaxNLocator(nbins='5', prune='upper')) |
| 21 | +plt.ylabel('EPS') |
| 22 | + |
| 23 | +peg_series = pd.read_csv('./data/calculated_ratios/peg_AAPL.csv', parse_dates=['Date'], date_parser=dateparse) |
| 24 | +ax_peg = plt.subplot2grid(num_rows_num_cols_tuple, (1, 0), sharex=ax_eps) |
| 25 | +ax_peg.plot(peg_series['Date'],peg_series['PEG']) |
| 26 | +ax_peg.grid(True) |
| 27 | +ax_peg.yaxis.set_major_locator(mticker.MaxNLocator(nbins='5', prune='upper')) |
| 28 | +plt.ylabel('PEG') |
| 29 | + |
| 30 | +pe_series = pd.read_csv('./data/calculated_ratios/pe_median_AAPL.csv', parse_dates=['Date'], date_parser=dateparse) |
| 31 | +ax_pe_median = plt.subplot2grid(num_rows_num_cols_tuple, (2, 0), sharex=ax_eps) |
| 32 | +ax_pe_median.plot(pe_series['Date'],pe_series['PE_median']) |
| 33 | +ax_pe_median.grid(True) |
| 34 | +ax_pe_median.yaxis.set_major_locator(mticker.MaxNLocator(nbins='5', prune='upper')) |
| 35 | +plt.ylabel('P/E median') |
| 36 | + |
| 37 | +outstanding_shares_series = pd.read_csv('./data/fundamentals/outstanding_shares_RAYMOND_AAPL.csv', parse_dates=['Date'], date_parser=dateparse) |
| 38 | +ax_outstanding_shares = plt.subplot2grid(num_rows_num_cols_tuple, (3, 0), sharex=ax_eps) |
| 39 | +ax_outstanding_shares.plot(outstanding_shares_series['Date'],outstanding_shares_series['Value']) |
| 40 | +ax_outstanding_shares.grid(True) |
| 41 | +ax_outstanding_shares.yaxis.set_major_locator(mticker.MaxNLocator(nbins='5', prune='upper')) |
| 42 | +plt.ylabel('Outstanding shares') |
| 43 | + |
| 44 | +closing_price_series = pd.read_csv('./data/stock_prices/close_prices_pre_2016_02_AAPL.csv', parse_dates=['Date'], date_parser=dateparse) |
| 45 | +ax_closing_price = plt.subplot2grid(num_rows_num_cols_tuple, (4, 0), rowspan=2, sharex=ax_eps) |
| 46 | +ax_closing_price.plot(closing_price_series['Date'],closing_price_series['Close']) |
| 47 | +ax_closing_price.grid(True) |
| 48 | +ax_closing_price.xaxis.set_major_formatter(mdates.DateFormatter(dates_formatter)) |
| 49 | +plt.ylabel('Stock closing price') |
| 50 | + |
| 51 | +plt.xticks(rotation=45) |
| 52 | +plt.setp(ax_eps.get_xticklabels(), visible=False) |
| 53 | +plt.setp(ax_pe_median.get_xticklabels(), visible=False) |
| 54 | +plt.setp(ax_peg.get_xticklabels(), visible=False) |
| 55 | +plt.setp(ax_outstanding_shares.get_xticklabels(), visible=False) |
| 56 | +plt.subplots_adjust(left=.1,right=.96,top=.94,bottom=.16,hspace=0) |
| 57 | + |
| 58 | + |
| 59 | +plt.show() |
| 60 | + |
0 commit comments