S&P 500 Components Time Series

Get time series of all S&P 500 components


In [1]:
from datetime import datetime
import pandas as pd

import pinkfish as pf

#pd.options.mode.chained_assignment = None  # default='warn'
#pd.set_option('display.max_rows', 600)

# -*- encoding: utf-8 -*-
%matplotlib inline

In [2]:
#%%javascript
#IPython.OutputArea.prototype._should_scroll = function(lines) {
#    return false;
#}

Current S&P500 symbols.
See my SP500 project that generates the sp500.cvs file.


In [3]:
filename = 'sp500.csv'
symbols = pd.read_csv(filename)
symbols = sorted(list(symbols['Symbol']))
print(symbols)


['A', 'AAL', 'AAP', 'AAPL', 'ABBV', 'ABC', 'ABMD', 'ABT', 'ACN', 'ADBE', 'ADI', 'ADM', 'ADP', 'ADS', 'ADSK', 'AEE', 'AEP', 'AES', 'AFL', 'AGN', 'AIG', 'AIV', 'AIZ', 'AJG', 'AKAM', 'ALB', 'ALGN', 'ALK', 'ALL', 'ALLE', 'ALXN', 'AMAT', 'AMCR', 'AMD', 'AME', 'AMGN', 'AMP', 'AMT', 'AMZN', 'ANET', 'ANSS', 'ANTM', 'AON', 'AOS', 'APA', 'APD', 'APH', 'APTV', 'ARE', 'ATO', 'ATVI', 'AVB', 'AVGO', 'AVY', 'AWK', 'AXP', 'AZO', 'BA', 'BAC', 'BAX', 'BBY', 'BDX', 'BEN', 'BF.B', 'BIIB', 'BK', 'BKNG', 'BKR', 'BLK', 'BLL', 'BMY', 'BR', 'BRK.B', 'BSX', 'BWA', 'BXP', 'C', 'CAG', 'CAH', 'CARR', 'CAT', 'CB', 'CBOE', 'CBRE', 'CCI', 'CCL', 'CDNS', 'CDW', 'CE', 'CERN', 'CF', 'CFG', 'CHD', 'CHRW', 'CHTR', 'CI', 'CINF', 'CL', 'CLX', 'CMA', 'CMCSA', 'CME', 'CMG', 'CMI', 'CMS', 'CNC', 'CNP', 'COF', 'COG', 'COO', 'COP', 'COST', 'COTY', 'CPB', 'CPRI', 'CPRT', 'CRM', 'CSCO', 'CSX', 'CTAS', 'CTL', 'CTSH', 'CTVA', 'CTXS', 'CVS', 'CVX', 'CXO', 'D', 'DAL', 'DD', 'DE', 'DFS', 'DG', 'DGX', 'DHI', 'DHR', 'DIS', 'DISCA', 'DISCK', 'DISH', 'DLR', 'DLTR', 'DOV', 'DOW', 'DRE', 'DRI', 'DTE', 'DUK', 'DVA', 'DVN', 'DXC', 'EA', 'EBAY', 'ECL', 'ED', 'EFX', 'EIX', 'EL', 'EMN', 'EMR', 'EOG', 'EQIX', 'EQR', 'ES', 'ESS', 'ETFC', 'ETN', 'ETR', 'EVRG', 'EW', 'EXC', 'EXPD', 'EXPE', 'EXR', 'F', 'FANG', 'FAST', 'FB', 'FBHS', 'FCX', 'FDX', 'FE', 'FFIV', 'FIS', 'FISV', 'FITB', 'FLIR', 'FLS', 'FLT', 'FMC', 'FOX', 'FOXA', 'FRC', 'FRT', 'FTI', 'FTNT', 'FTV', 'GD', 'GE', 'GILD', 'GIS', 'GL', 'GLW', 'GM', 'GOOG', 'GOOGL', 'GPC', 'GPN', 'GPS', 'GRMN', 'GS', 'GWW', 'HAL', 'HAS', 'HBAN', 'HBI', 'HCA', 'HD', 'HES', 'HFC', 'HIG', 'HII', 'HLT', 'HOG', 'HOLX', 'HON', 'HP', 'HPE', 'HPQ', 'HRB', 'HRL', 'HSIC', 'HST', 'HSY', 'HUM', 'HWM', 'IBM', 'ICE', 'IDXX', 'IEX', 'IFF', 'ILMN', 'INCY', 'INFO', 'INTC', 'INTU', 'IP', 'IPG', 'IPGP', 'IQV', 'IR', 'IRM', 'ISRG', 'IT', 'ITW', 'IVZ', 'J', 'JBHT', 'JCI', 'JKHY', 'JNJ', 'JNPR', 'JPM', 'JWN', 'K', 'KEY', 'KEYS', 'KHC', 'KIM', 'KLAC', 'KMB', 'KMI', 'KMX', 'KO', 'KR', 'KSS', 'KSU', 'L', 'LB', 'LDOS', 'LEG', 'LEN', 'LH', 'LHX', 'LIN', 'LKQ', 'LLY', 'LMT', 'LNC', 'LNT', 'LOW', 'LRCX', 'LUV', 'LVS', 'LW', 'LYB', 'LYV', 'MA', 'MAA', 'MAR', 'MAS', 'MCD', 'MCHP', 'MCK', 'MCO', 'MDLZ', 'MDT', 'MET', 'MGM', 'MHK', 'MKC', 'MKTX', 'MLM', 'MMC', 'MMM', 'MNST', 'MO', 'MOS', 'MPC', 'MRK', 'MRO', 'MS', 'MSCI', 'MSFT', 'MSI', 'MTB', 'MTD', 'MU', 'MXIM', 'MYL', 'NBL', 'NCLH', 'NDAQ', 'NEE', 'NEM', 'NFLX', 'NI', 'NKE', 'NLOK', 'NLSN', 'NOC', 'NOV', 'NOW', 'NRG', 'NSC', 'NTAP', 'NTRS', 'NUE', 'NVDA', 'NVR', 'NWL', 'NWS', 'NWSA', 'O', 'ODFL', 'OKE', 'OMC', 'ORCL', 'ORLY', 'OTIS', 'OXY', 'PAYC', 'PAYX', 'PBCT', 'PCAR', 'PEAK', 'PEG', 'PEP', 'PFE', 'PFG', 'PG', 'PGR', 'PH', 'PHM', 'PKG', 'PKI', 'PLD', 'PM', 'PNC', 'PNR', 'PNW', 'PPG', 'PPL', 'PRGO', 'PRU', 'PSA', 'PSX', 'PVH', 'PWR', 'PXD', 'PYPL', 'QCOM', 'QRVO', 'RCL', 'RE', 'REG', 'REGN', 'RF', 'RHI', 'RJF', 'RL', 'RMD', 'ROK', 'ROL', 'ROP', 'ROST', 'RSG', 'RTX', 'SBAC', 'SBUX', 'SCHW', 'SEE', 'SHW', 'SIVB', 'SJM', 'SLB', 'SLG', 'SNA', 'SNPS', 'SO', 'SPG', 'SPGI', 'SRE', 'STE', 'STT', 'STX', 'STZ', 'SWK', 'SWKS', 'SYF', 'SYK', 'SYY', 'T', 'TAP', 'TDG', 'TEL', 'TFC', 'TFX', 'TGT', 'TIF', 'TJX', 'TMO', 'TMUS', 'TPR', 'TROW', 'TRV', 'TSCO', 'TSN', 'TT', 'TTWO', 'TWTR', 'TXN', 'TXT', 'UA', 'UAA', 'UAL', 'UDR', 'UHS', 'ULTA', 'UNH', 'UNM', 'UNP', 'UPS', 'URI', 'USB', 'V', 'VAR', 'VFC', 'VIAC', 'VLO', 'VMC', 'VNO', 'VRSK', 'VRSN', 'VRTX', 'VTR', 'VZ', 'WAB', 'WAT', 'WBA', 'WDC', 'WEC', 'WELL', 'WFC', 'WHR', 'WLTW', 'WM', 'WMB', 'WMT', 'WRB', 'WRK', 'WU', 'WY', 'WYNN', 'XEL', 'XLNX', 'XOM', 'XRAY', 'XRX', 'XYL', 'YUM', 'ZBH', 'ZBRA', 'ZION', 'ZTS']

Create cache directory for current sp500 symbol timeseries


In [4]:
now = datetime.now()
dt_string = now.strftime('%m-%d-%Y') # mm-dd-YYYY
dir_name = 'sp500-components-{}'.format(dt_string)

Update time series for the symbols below.
Time series will be fetched for any symbols not already cached.


In [5]:
pf.update_cache_symbols(symbols=symbols, dir_name=dir_name,from_year=2018)


updating symbols:
A AAL AAP AAPL ABBV ABC ABMD ABT ACN ADBE ADI 
ADM ADP ADS ADSK AEE AEP AES AFL AGN AIG 
AIV AIZ AJG AKAM ALB ALGN ALK ALL ALLE ALXN 
AMAT AMCR AMD AME AMGN AMP AMT AMZN ANET ANSS 
ANTM AON AOS APA APD APH APTV ARE ATO ATVI 
AVB AVGO AVY AWK AXP AZO BA BAC BAX BBY 
BDX BEN BF.B BIIB BK BKNG BKR BLK BLL BMY 
BR BRK.B BSX BWA BXP C CAG CAH CARR CAT 
CB CBOE CBRE CCI CCL CDNS CDW CE CERN CF 
CFG CHD CHRW CHTR CI CINF CL CLX CMA CMCSA 
CME CMG CMI CMS CNC CNP COF COG COO COP 
COST COTY CPB CPRI CPRT CRM CSCO CSX CTAS CTL 
CTSH CTVA CTXS CVS CVX CXO D DAL DD DE 
DFS DG DGX DHI DHR DIS DISCA DISCK DISH DLR 
DLTR DOV DOW DRE DRI DTE DUK DVA DVN DXC 
EA EBAY ECL ED EFX EIX EL EMN EMR EOG 
EQIX EQR ES ESS ETFC ETN ETR EVRG EW EXC 
EXPD EXPE EXR F FANG FAST FB FBHS FCX FDX 
FE FFIV FIS FISV FITB FLIR FLS FLT FMC FOX 
FOXA FRC FRT FTI FTNT FTV GD GE GILD GIS 
GL GLW GM GOOG GOOGL GPC GPN GPS GRMN GS 
GWW HAL HAS HBAN HBI HCA HD HES HFC HIG 
HII HLT HOG HOLX HON HP HPE HPQ HRB HRL 
HSIC HST HSY HUM HWM IBM ICE IDXX IEX IFF 
ILMN INCY INFO INTC INTU IP IPG IPGP IQV IR 
IRM ISRG IT ITW IVZ J JBHT JCI JKHY JNJ 
JNPR JPM JWN K KEY KEYS KHC KIM KLAC KMB 
KMI KMX KO KR KSS KSU L LB LDOS LEG 
LEN LH LHX LIN LKQ LLY LMT LNC LNT LOW 
LRCX LUV LVS LW LYB LYV MA MAA MAR MAS 
MCD MCHP MCK MCO MDLZ MDT MET MGM MHK MKC 
MKTX MLM MMC MMM MNST MO MOS MPC MRK MRO 
MS MSCI MSFT MSI MTB MTD MU MXIM MYL NBL 
NCLH NDAQ NEE NEM NFLX NI NKE NLOK NLSN NOC 
NOV NOW NRG NSC NTAP NTRS NUE NVDA NVR NWL 
NWS NWSA O ODFL OKE OMC ORCL ORLY OTIS OXY 
PAYC PAYX PBCT PCAR PEAK PEG PEP PFE PFG PG 
PGR PH PHM PKG PKI PLD PM PNC PNR PNW 
PPG PPL PRGO PRU PSA PSX PVH PWR PXD PYPL 
QCOM QRVO RCL RE REG REGN RF RHI RJF RL 
RMD ROK ROL ROP ROST RSG RTX SBAC SBUX SCHW 
SEE SHW SIVB SJM SLB SLG SNA SNPS SO SPG 
SPGI SRE STE STT STX STZ SWK SWKS SYF SYK 
SYY T TAP TDG TEL TFC TFX TGT TIF TJX 
TMO TMUS TPR TROW TRV TSCO TSN TT TTWO TWTR 
TXN TXT UA UAA UAL UDR UHS ULTA UNH UNM 
UNP UPS URI USB V VAR VFC VIAC VLO VMC 
VNO VRSK VRSN VRTX VTR VZ WAB WAT WBA WDC 
WEC WELL WFC WHR WLTW WM WMB WMT WRB WRK 
WU WY WYNN XEL XLNX XOM XRAY XRX XYL YUM 
ZBH ZBRA ZION ZTS