Skip to content

Commit 35597b4

Browse files
committed
Basic fundamentals plot per ticker
1 parent 63d5383 commit 35597b4

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

040_ticker_plots

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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

Comments
 (0)