Commit 77d6f06f authored by JP Hwang's avatar JP Hwang
Browse files

Added first stock correlations codebase

parent 7f454be6
......@@ -9,3 +9,4 @@ not_for_public.py
*.pyc
test.py
sixdegs_leagues_2
/covid_viz_nyt/
This diff is collapsed.
This diff is collapsed.
# ========== (c) JP Hwang 6/5/20 ==========
import logging
# ===== START LOGGER =====
logger = logging.getLogger(__name__)
root_logger = logging.getLogger()
root_logger.setLevel(logging.INFO)
sh = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
sh.setFormatter(formatter)
root_logger.addHandler(sh)
import scipy.stats
import pandas as pd
import numpy as np
import requests
import os
import plotly.express as px
import sklearn
import datetime
desired_width = 320
pd.set_option('display.max_columns', 20)
pd.set_option('display.width', desired_width)
# ========== LOAD TOKENS / SET CONSTANTS==========
if 'TIINGO_KEY' in os.environ:
tiingo_token = os.environ['TIINGO_KEY']
else:
with open('../tokens/tiingo_token.txt', 'r') as f:
tiingo_token = f.read().strip()
# ========== LOAD S&P 500 CONSTITUENT DATA ==========
const_df = pd.read_csv('stock_correlations/srcdata/s_p_500_constituents.csv') # https://github.com/datasets/s-and-p-500-companies-financials
fin_df = pd.read_csv('stock_correlations/srcdata/s_p_500_constituents_fin.csv').sort_values('Market Cap', ascending=False).reset_index(drop=True) # https://github.com/datasets/s-and-p-500-companies-financials
# ========== FUNCTION TO GET STOCK DATA ==========
def get_stock_data(tkn, sym='amzn', start_date='2020-01-01'):
headers = {'Content-Type': 'application/json'}
requestResponse = requests.get("https://api.tiingo.com/tiingo/daily/" + sym + "/prices?startDate=" + start_date + "&token=" + tkn, headers=headers)
if requestResponse.status_code == 200:
logger.info(f'Success fetching {sym} data from {start_date} to today')
else:
logger.warning(f'Something looks wrong - status code {requestResponse.status_code}')
return requestResponse
# ========== GET STOCK DATA ==========
symbols_ser = ['AAPL', 'MSFT', 'JNJ', 'WMT', 'TSM', 'XOM'] # For testing
def dl_stock_df(symbols_in, start_date='2015-01-01'):
# TODO - add error handling
ticker_datas = []
for sym in symbols_in:
temp_data = get_stock_data(tiingo_token, sym=sym, start_date=start_date).json()
temp_df = pd.DataFrame(temp_data)
temp_df['sym'] = sym
ticker_datas.append(temp_df)
# Concatenate stock data
return pd.concat(ticker_datas)
total_ticker_df = dl_stock_df(symbols_ser)
# Sanity check data
fig = px.scatter(total_ticker_df,
x='date', y='close', color='sym', template='plotly_white', title='Sample Stock Price Graphs',
facet_col='sym', facet_col_wrap=3
)
fig.update_yaxes(matches=None, showticklabels=False) # If we want to simply view curve 'shapes'
fig.update_traces(mode='lines')
fig.show()
# ========== GENERATE ROLLING AVG DATA ==========
# TODO - add this later on / optional module
# ========== COMPARE ONE CURVE VS ANOTHER ==========
# Build a correlation (and p-value) matrix
def build_corr_matrix(df_in):
symbols_in = df_in.sym.unique()
r_array_out = np.zeros([len(symbols_in), len(symbols_in)])
p_array_out = np.zeros([len(symbols_in), len(symbols_in)])
for i in range(len(symbols_in)):
for j in range(len(symbols_in)):
ser_i = df_in[df_in.sym == symbols_in[i]]['close'].values
ser_j = df_in[df_in.sym == symbols_in[j]]['close'].values
if len(ser_i) != len(ser_j):
logger.info(f'lengths for {symbols_in[i]}, row {i} and {symbols_in[j]}, row {j} do not match!')
r_array_out[i, j] = -2
p_array_out[i, j] = -2
else:
r_ij, p_ij = scipy.stats.pearsonr(ser_i, ser_j)
r_array_out[i, j] = r_ij
p_array_out[i, j] = p_ij
return r_array_out, p_array_out
r_array, p_array = build_corr_matrix(symbols_ser)
fig = px.imshow(r_array, x=symbols_ser, y=symbols_ser,
color_continuous_scale=px.colors.sequential.Bluyl, color_continuous_midpoint=0,
)
fig.update_xaxes(side="top")
fig.show()
full_symbols = list(fin_df[:50].Symbol)
total_ticker_df = dl_stock_df(full_symbols)
# Some data rows have incomplete data - filtering these out
grpby_cnts = total_ticker_df.groupby('sym')['date'].count()
incomp_data = grpby_cnts[grpby_cnts < grpby_cnts.max()]
filt_df = total_ticker_df[-total_ticker_df.sym.isin(incomp_data.index)]
# Filter out stocks that go through a split TODO - adjust them for the split
split_stocks = filt_df[filt_df.splitFactor > 1].sym.unique()
filt_df = filt_df[-filt_df.sym.isin(split_stocks)]
# Plot data
r_array, p_array = build_corr_matrix(filt_df)
fig = px.imshow(r_array, x=filt_df.sym.unique(), y=filt_df.sym.unique(),
color_continuous_scale=px.colors.sequential.Bluyl, color_continuous_midpoint=0,
)
fig.update_xaxes(side="top")
fig.show()
# Cluster data
model = sklearn.cluster.SpectralBiclustering(n_clusters=3, method='log', random_state=0)
model.fit(r_array)
r_array_srt = r_array[np.argsort(model.row_labels_)]
r_array_srt = r_array_srt[:, np.argsort(model.column_labels_)]
syms_srt = filt_df.sym.unique()[np.argsort(model.row_labels_)]
fig = px.imshow(r_array_srt, x=syms_srt, y=syms_srt,
color_continuous_scale=px.colors.sequential.Bluyl, color_continuous_midpoint=0,
)
fig.update_xaxes(side="top")
fig.show()
# See sample charts of correlated stocks
sim_charts = np.argsort(r_array[0])[-6:]
sim_syms = [filt_df.sym.unique()[i] for i in sim_charts]
sim_df = filt_df[filt_df.sym.isin(sim_syms)]
fig = px.scatter(sim_df,
x='date', y='close', color='sym', template='plotly_white', title='Sample Stock Price Graphs',
facet_col='sym', facet_col_wrap=3
)
fig.update_yaxes(matches=None, showticklabels=False) # If we want to simply view curve 'shapes'
fig.update_traces(mode='lines')
fig.show()
# See sample charts of uncorrelated stocks
dissim_charts = np.argsort(r_array[0])[:5]
dissim_syms = [filt_df.sym.unique()[0]] + [filt_df.sym.unique()[i] for i in dissim_charts]
dissim_df = filt_df[filt_df.sym.isin(dissim_syms)]
fig = px.scatter(dissim_df,
x='date', y='close', color='sym', template='plotly_white', title='Sample Stock Price Graphs',
facet_col='sym', facet_col_wrap=3
)
fig.update_yaxes(matches=None, showticklabels=False) # If we want to simply view curve 'shapes'
fig.update_traces(mode='lines')
fig.show()
# For filtering data by date:
# filt_df = filt_df[(filt_df.date < str(datetime.fromisoformat('2016-01-01')))]
# filt_df = filt_df[(filt_df.date < str(datetime.fromisoformat('2016-01-01'))) & (filt_df.date >= str(datetime.fromisoformat('2015-01-01')))]
Symbol,Name,Sector
MMM,3M Company,Industrials
AOS,A.O. Smith Corp,Industrials
ABT,Abbott Laboratories,Health Care
ABBV,AbbVie Inc.,Health Care
ACN,Accenture plc,Information Technology
ATVI,Activision Blizzard,Information Technology
AYI,Acuity Brands Inc,Industrials
ADBE,Adobe Systems Inc,Information Technology
AAP,Advance Auto Parts,Consumer Discretionary
AMD,Advanced Micro Devices Inc,Information Technology
AES,AES Corp,Utilities
AET,Aetna Inc,Health Care
AMG,Affiliated Managers Group Inc,Financials
AFL,AFLAC Inc,Financials
A,Agilent Technologies Inc,Health Care
APD,Air Products & Chemicals Inc,Materials
AKAM,Akamai Technologies Inc,Information Technology
ALK,Alaska Air Group Inc,Industrials
ALB,Albemarle Corp,Materials
ARE,Alexandria Real Estate Equities Inc,Real Estate
ALXN,Alexion Pharmaceuticals,Health Care
ALGN,Align Technology,Health Care
ALLE,Allegion,Industrials
AGN,"Allergan, Plc",Health Care
ADS,Alliance Data Systems,Information Technology
LNT,Alliant Energy Corp,Utilities
ALL,Allstate Corp,Financials
GOOGL,Alphabet Inc Class A,Information Technology
GOOG,Alphabet Inc Class C,Information Technology
MO,Altria Group Inc,Consumer Staples
AMZN,Amazon.com Inc,Consumer Discretionary
AEE,Ameren Corp,Utilities
AAL,American Airlines Group,Industrials
AEP,American Electric Power,Utilities
AXP,American Express Co,Financials
AIG,"American International Group, Inc.",Financials
AMT,American Tower Corp A,Real Estate
AWK,American Water Works Company Inc,Utilities
AMP,Ameriprise Financial,Financials
ABC,AmerisourceBergen Corp,Health Care
AME,AMETEK Inc,Industrials
AMGN,Amgen Inc,Health Care
APH,Amphenol Corp,Information Technology
APC,Anadarko Petroleum Corp,Energy
ADI,"Analog Devices, Inc.",Information Technology
ANDV,Andeavor,Energy
ANSS,ANSYS,Information Technology
ANTM,Anthem Inc.,Health Care
AON,Aon plc,Financials
APA,Apache Corporation,Energy
AIV,Apartment Investment & Management,Real Estate
AAPL,Apple Inc.,Information Technology
AMAT,Applied Materials Inc,Information Technology
APTV,Aptiv Plc,Consumer Discretionary
ADM,Archer-Daniels-Midland Co,Consumer Staples
ARNC,Arconic Inc,Industrials
AJG,Arthur J. Gallagher & Co.,Financials
AIZ,Assurant Inc,Financials
T,AT&T Inc,Telecommunication Services
ADSK,Autodesk Inc,Information Technology
ADP,Automatic Data Processing,Information Technology
AZO,AutoZone Inc,Consumer Discretionary
AVB,"AvalonBay Communities, Inc.",Real Estate
AVY,Avery Dennison Corp,Materials
BHGE,"Baker Hughes, a GE Company",Energy
BLL,Ball Corp,Materials
BAC,Bank of America Corp,Financials
BAX,Baxter International Inc.,Health Care
BBT,BB&T Corporation,Financials
BDX,Becton Dickinson,Health Care
BRK.B,Berkshire Hathaway,Financials
BBY,Best Buy Co. Inc.,Consumer Discretionary
BIIB,Biogen Inc.,Health Care
BLK,BlackRock,Financials
HRB,Block H&R,Financials
BA,Boeing Company,Industrials
BWA,BorgWarner,Consumer Discretionary
BXP,Boston Properties,Real Estate
BSX,Boston Scientific,Health Care
BHF,Brighthouse Financial Inc,Financials
BMY,Bristol-Myers Squibb,Health Care
AVGO,Broadcom,Information Technology
BF.B,Brown-Forman Corp.,Consumer Staples
CHRW,C. H. Robinson Worldwide,Industrials
CA,"CA, Inc.",Information Technology
COG,Cabot Oil & Gas,Energy
CDNS,Cadence Design Systems,Information Technology
CPB,Campbell Soup,Consumer Staples
COF,Capital One Financial,Financials
CAH,Cardinal Health Inc.,Health Care
KMX,Carmax Inc,Consumer Discretionary
CCL,Carnival Corp.,Consumer Discretionary
CAT,Caterpillar Inc.,Industrials
CBOE,CBOE Holdings,Financials
CBG,CBRE Group,Real Estate
CBS,CBS Corp.,Consumer Discretionary
CELG,Celgene Corp.,Health Care
CNC,Centene Corporation,Health Care
CNP,CenterPoint Energy,Utilities
CTL,CenturyLink Inc,Telecommunication Services
CERN,Cerner,Health Care
CF,CF Industries Holdings Inc,Materials
SCHW,Charles Schwab Corporation,Financials
CHTR,Charter Communications,Consumer Discretionary
CHK,Chesapeake Energy,Energy
CVX,Chevron Corp.,Energy
CMG,Chipotle Mexican Grill,Consumer Discretionary
CB,Chubb Limited,Financials
CHD,Church & Dwight,Consumer Staples
CI,CIGNA Corp.,Health Care
XEC,Cimarex Energy,Energy
CINF,Cincinnati Financial,Financials
CTAS,Cintas Corporation,Industrials
CSCO,Cisco Systems,Information Technology
C,Citigroup Inc.,Financials
CFG,Citizens Financial Group,Financials
CTXS,Citrix Systems,Information Technology
CME,CME Group Inc.,Financials
CMS,CMS Energy,Utilities
KO,Coca-Cola Company (The),Consumer Staples
CTSH,Cognizant Technology Solutions,Information Technology
CL,Colgate-Palmolive,Consumer Staples
CMCSA,Comcast Corp.,Consumer Discretionary
CMA,Comerica Inc.,Financials
CAG,Conagra Brands,Consumer Staples
CXO,Concho Resources,Energy
COP,ConocoPhillips,Energy
ED,Consolidated Edison,Utilities
STZ,Constellation Brands,Consumer Staples
GLW,Corning Inc.,Information Technology
COST,Costco Wholesale Corp.,Consumer Staples
COTY,"Coty, Inc",Consumer Staples
CCI,Crown Castle International Corp.,Real Estate
CSRA,CSRA Inc.,Information Technology
CSX,CSX Corp.,Industrials
CMI,Cummins Inc.,Industrials
CVS,CVS Health,Consumer Staples
DHI,D. R. Horton,Consumer Discretionary
DHR,Danaher Corp.,Health Care
DRI,Darden Restaurants,Consumer Discretionary
DVA,DaVita Inc.,Health Care
DE,Deere & Co.,Industrials
DAL,Delta Air Lines Inc.,Industrials
XRAY,Dentsply Sirona,Health Care
DVN,Devon Energy Corp.,Energy
DLR,Digital Realty Trust Inc,Real Estate
DFS,Discover Financial Services,Financials
DISCA,Discovery Communications-A,Consumer Discretionary
DISCK,Discovery Communications-C,Consumer Discretionary
DISH,Dish Network,Consumer Discretionary
DG,Dollar General,Consumer Discretionary
DLTR,Dollar Tree,Consumer Discretionary
D,Dominion Energy,Utilities
DOV,Dover Corp.,Industrials
DWDP,DowDuPont,Materials
DPS,Dr Pepper Snapple Group,Consumer Staples
DTE,DTE Energy Co.,Utilities
DUK,Duke Energy,Utilities
DRE,Duke Realty Corp,Real Estate
DXC,DXC Technology,Information Technology
ETFC,E*Trade,Financials
EMN,Eastman Chemical,Materials
ETN,Eaton Corporation,Industrials
EBAY,eBay Inc.,Information Technology
ECL,Ecolab Inc.,Materials
EIX,Edison Int'l,Utilities
EW,Edwards Lifesciences,Health Care
EA,Electronic Arts,Information Technology
EMR,Emerson Electric Company,Industrials
ETR,Entergy Corp.,Utilities
EVHC,Envision Healthcare,Health Care
EOG,EOG Resources,Energy
EQT,EQT Corporation,Energy
EFX,Equifax Inc.,Industrials
EQIX,Equinix,Real Estate
EQR,Equity Residential,Real Estate
ESS,"Essex Property Trust, Inc.",Real Estate
EL,Estee Lauder Cos.,Consumer Staples
RE,Everest Re Group Ltd.,Financials
ES,Eversource Energy,Utilities
EXC,Exelon Corp.,Utilities
EXPE,Expedia Inc.,Consumer Discretionary
EXPD,Expeditors International,Industrials
ESRX,Express Scripts,Health Care
EXR,Extra Space Storage,Real Estate
XOM,Exxon Mobil Corp.,Energy
FFIV,F5 Networks,Information Technology
FB,"Facebook, Inc.",Information Technology
FAST,Fastenal Co,Industrials
FRT,Federal Realty Investment Trust,Real Estate
FDX,FedEx Corporation,Industrials
FIS,Fidelity National Information Services,Information Technology
FITB,Fifth Third Bancorp,Financials
FE,FirstEnergy Corp,Utilities
FISV,Fiserv Inc,Information Technology
FLIR,FLIR Systems,Information Technology
FLS,Flowserve Corporation,Industrials
FLR,Fluor Corp.,Industrials
FMC,FMC Corporation,Materials
FL,Foot Locker Inc,Consumer Discretionary
F,Ford Motor,Consumer Discretionary
FTV,Fortive Corp,Industrials
FBHS,Fortune Brands Home & Security,Industrials
BEN,Franklin Resources,Financials
FCX,Freeport-McMoRan Inc.,Materials
GPS,Gap Inc.,Consumer Discretionary
GRMN,Garmin Ltd.,Consumer Discretionary
IT,Gartner Inc,Information Technology
GD,General Dynamics,Industrials
GE,General Electric,Industrials
GGP,General Growth Properties Inc.,Real Estate
GIS,General Mills,Consumer Staples
GM,General Motors,Consumer Discretionary
GPC,Genuine Parts,Consumer Discretionary
GILD,Gilead Sciences,Health Care
GPN,Global Payments Inc.,Information Technology
GS,Goldman Sachs Group,Financials
GT,Goodyear Tire & Rubber,Consumer Discretionary
GWW,Grainger (W.W.) Inc.,Industrials
HAL,Halliburton Co.,Energy
HBI,Hanesbrands Inc,Consumer Discretionary
HOG,Harley-Davidson,Consumer Discretionary
HRS,Harris Corporation,Information Technology
HIG,Hartford Financial Svc.Gp.,Financials
HAS,Hasbro Inc.,Consumer Discretionary
HCA,HCA Holdings,Health Care
HCP,HCP Inc.,Real Estate
HP,Helmerich & Payne,Energy
HSIC,Henry Schein,Health Care
HES,Hess Corporation,Energy
HPE,Hewlett Packard Enterprise,Information Technology
HLT,Hilton Worldwide Holdings Inc,Consumer Discretionary
HOLX,Hologic,Health Care
HD,Home Depot,Consumer Discretionary
HON,Honeywell Int'l Inc.,Industrials
HRL,Hormel Foods Corp.,Consumer Staples
HST,Host Hotels & Resorts,Real Estate
HPQ,HP Inc.,Information Technology
HUM,Humana Inc.,Health Care
HBAN,Huntington Bancshares,Financials
HII,Huntington Ingalls Industries,Industrials
IDXX,IDEXX Laboratories,Health Care
INFO,IHS Markit Ltd.,Industrials
ITW,Illinois Tool Works,Industrials
ILMN,Illumina Inc,Health Care
INCY,Incyte,Health Care
IR,Ingersoll-Rand PLC,Industrials
INTC,Intel Corp.,Information Technology
ICE,Intercontinental Exchange,Financials
IBM,International Business Machines,Information Technology
IP,International Paper,Materials
IPG,Interpublic Group,Consumer Discretionary
IFF,Intl Flavors & Fragrances,Materials
INTU,Intuit Inc.,Information Technology
ISRG,Intuitive Surgical Inc.,Health Care
IVZ,Invesco Ltd.,Financials
IQV,IQVIA Holdings Inc.,Health Care
IRM,Iron Mountain Incorporated,Real Estate
JBHT,J. B. Hunt Transport Services,Industrials
JEC,Jacobs Engineering Group,Industrials
SJM,JM Smucker,Consumer Staples
JNJ,Johnson & Johnson,Health Care
JCI,Johnson Controls International,Industrials
JPM,JPMorgan Chase & Co.,Financials
JNPR,Juniper Networks,Information Technology
KSU,Kansas City Southern,Industrials
K,Kellogg Co.,Consumer Staples
KEY,KeyCorp,Financials
KMB,Kimberly-Clark,Consumer Staples
KIM,Kimco Realty,Real Estate
KMI,Kinder Morgan,Energy
KLAC,KLA-Tencor Corp.,Information Technology
KSS,Kohl's Corp.,Consumer Discretionary
KHC,Kraft Heinz Co,Consumer Staples
KR,Kroger Co.,Consumer Staples
LB,L Brands Inc.,Consumer Discretionary
LLL,L-3 Communications Holdings,Industrials
LH,Laboratory Corp. of America Holding,Health Care
LRCX,Lam Research,Information Technology
LEG,Leggett & Platt,Consumer Discretionary
LEN,Lennar Corp.,Consumer Discretionary
LUK,Leucadia National Corp.,Financials
LLY,Lilly (Eli) & Co.,Health Care
LNC,Lincoln National,Financials
LKQ,LKQ Corporation,Consumer Discretionary
LMT,Lockheed Martin Corp.,Industrials
L,Loews Corp.,Financials
LOW,Lowe's Cos.,Consumer Discretionary
LYB,LyondellBasell,Materials
MTB,M&T Bank Corp.,Financials
MAC,Macerich,Real Estate
M,Macy's Inc.,Consumer Discretionary
MRO,Marathon Oil Corp.,Energy
MPC,Marathon Petroleum,Energy
MAR,Marriott Int'l.,Consumer Discretionary
MMC,Marsh & McLennan,Financials
MLM,Martin Marietta Materials,Materials
MAS,Masco Corp.,Industrials
MA,Mastercard Inc.,Information Technology
MAT,Mattel Inc.,Consumer Discretionary
MKC,McCormick & Co.,Consumer Staples
MCD,McDonald's Corp.,Consumer Discretionary
MCK,McKesson Corp.,Health Care
MDT,Medtronic plc,Health Care
MRK,Merck & Co.,Health Care
MET,MetLife Inc.,Financials
MTD,Mettler Toledo,Health Care
MGM,MGM Resorts International,Consumer Discretionary
KORS,Michael Kors Holdings,Consumer Discretionary
MCHP,Microchip Technology,Information Technology
MU,Micron Technology,Information Technology
MSFT,Microsoft Corp.,Information Technology
MAA,Mid-America Apartments,Real Estate
MHK,Mohawk Industries,Consumer Discretionary
TAP,Molson Coors Brewing Company,Consumer Staples
MDLZ,Mondelez International,Consumer Staples
MON,Monsanto Co.,Materials
MNST,Monster Beverage,Consumer Staples
MCO,Moody's Corp,Financials
MS,Morgan Stanley,Financials
MSI,Motorola Solutions Inc.,Information Technology
MYL,Mylan N.V.,Health Care
NDAQ,"Nasdaq, Inc.",Financials
NOV,National Oilwell Varco Inc.,Energy
NAVI,Navient,Financials
NTAP,NetApp,Information Technology
NFLX,Netflix Inc.,Information Technology
NWL,Newell Brands,Consumer Discretionary
NFX,Newfield Exploration Co,Energy
NEM,Newmont Mining Corporation,Materials
NWSA,News Corp. Class A,Consumer Discretionary
NWS,News Corp. Class B,Consumer Discretionary
NEE,NextEra Energy,Utilities
NLSN,Nielsen Holdings,Industrials
NKE,Nike,Consumer Discretionary
NI,NiSource Inc.,Utilities
NBL,Noble Energy Inc,Energy
JWN,Nordstrom,Consumer Discretionary
NSC,Norfolk Southern Corp.,Industrials
NTRS,Northern Trust Corp.,Financials
NOC,Northrop Grumman Corp.,Industrials
NCLH,Norwegian Cruise Line,Consumer Discretionary
NRG,NRG Energy,Utilities
NUE,Nucor Corp.,Materials
NVDA,Nvidia Corporation,Information Technology
ORLY,O'Reilly Automotive,Consumer Discretionary
OXY,Occidental Petroleum,Energy
OMC,Omnicom Group,Consumer Discretionary
OKE,ONEOK,Energy
ORCL,Oracle Corp.,Information Technology
PCAR,PACCAR Inc.,Industrials
PKG,Packaging Corporation of America,Materials
PH,Parker-Hannifin,Industrials
PDCO,Patterson Companies,Health Care
PAYX,Paychex Inc.,Information Technology
PYPL,PayPal,Information Technology
PNR,Pentair Ltd.,Industrials
PBCT,People's United Financial,Financials
PEP,PepsiCo Inc.,Consumer Staples
PKI,PerkinElmer,Health Care
PRGO,Perrigo,Health Care
PFE,Pfizer Inc.,Health Care
PCG,PG&E Corp.,Utilities
PM,Philip Morris International,Consumer Staples
PSX,Phillips 66,Energy
PNW,Pinnacle West Capital,Utilities
PXD,Pioneer Natural Resources,Energy
PNC,PNC Financial Services,Financials
RL,Polo Ralph Lauren Corp.,Consumer Discretionary
PPG,PPG Industries,Materials
PPL,PPL Corp.,Utilities
PX,Praxair Inc.,Materials
PCLN,Priceline.com Inc,Consumer Discretionary
PFG,Principal Financial Group,Financials
PG,Procter & Gamble,Consumer Staples
PGR,Progressive Corp.,Financials
PLD,Prologis,Real Estate
PRU,Prudential Financial,Financials
PEG,Public Serv. Enterprise Inc.,Utilities
PSA,Public Storage,Real Estate
PHM,Pulte Homes Inc.,Consumer Discretionary
PVH,PVH Corp.,Consumer Discretionary
QRVO,Qorvo,Information Technology
QCOM,QUALCOMM Inc.,Information Technology
PWR,Quanta Services Inc.,Industrials
DGX,Quest Diagnostics,Health Care
RRC,Range Resources Corp.,Energy
RJF,Raymond James Financial Inc.,Financials
RTN,Raytheon Co.,Industrials
O,Realty Income Corporation,Real Estate
RHT,Red Hat Inc.,Information Technology
REG,Regency Centers Corporation,Real Estate
REGN,Regeneron,Health Care
RF,Regions Financial Corp.,Financials
RSG,Republic Services Inc,Industrials
RMD,ResMed,Health Care
RHI,Robert Half International,Industrials
ROK,Rockwell Automation Inc.,Industrials
COL,Rockwell Collins,Industrials
ROP,Roper Technologies,Industrials
ROST,Ross Stores,Consumer Discretionary
RCL,Royal Caribbean Cruises Ltd,Consumer Discretionary
SPGI,"S&P Global, Inc.",Financials
CRM,Salesforce.com,Information Technology
SBAC,SBA Communications,Real Estate
SCG,SCANA Corp,Utilities
SLB,Schlumberger Ltd.,Energy
SNI,Scripps Networks Interactive Inc.,Consumer Discretionary
STX,Seagate Technology,Information Technology
SEE,Sealed Air,Materials
SRE,Sempra Energy,Utilities
SHW,Sherwin-Williams,Materials
SIG,Signet Jewelers,Consumer Discretionary
SPG,Simon Property Group Inc,Real Estate
SWKS,Skyworks Solutions,Information Technology
SLG,SL Green Realty,Real Estate
SNA,Snap-On Inc.,Consumer Discretionary
SO,Southern Co.,Utilities
LUV,Southwest Airlines,Industrials