f_symreturn_today = (f_symprice_today / f_symprice_yest) - 1 f_marketreturn_today = (f_marketprice_today / f_marketprice_yest) - 1 # Event is found if the symbol is down more then 3% while the # market is up more then 2% if f_symprice_today <5 and f_symprice_yest >= 5: df_events[s_sym].ix[ldt_timestamps[i]] = 1 return df_events if __name__ == '__main__': dt_start = dt.datetime(2008, 1, 1) dt_end = dt.datetime(2009, 12, 31) ldt_timestamps = du.getNYSEdays(dt_start, dt_end, dt.timedelta(hours=16)) dataobj = da.DataAccess('Yahoo') ls_symbols = dataobj.get_symbols_from_list('sp5002012') ls_symbols.append('SPY') ls_keys = ['open', 'high', 'low', 'close', 'volume', 'actual_close'] ldf_data = dataobj.get_data(ldt_timestamps, ls_symbols, ls_keys) d_data = dict(zip(ls_keys, ldf_data)) df_events = find_events(ls_symbols, d_data) print "Creating Study" ep.eventprofiler(df_events, d_data, i_lookback=20, i_lookforward=20, s_filename='MyEventStudy2008_2012_2_Comp.pdf', b_market_neutral=True, b_errorbars=True, s_market_sym='SPY')
################################################# ################ MAIN CODE ###################### ################################################# symbols = np.loadtxt('SP500port.csv', dtype='S10', comments='#', skiprows=1) # You might get a message about some files being missing, don't worry about it. #symbols =['BFRE','ATCS','RSERF','GDNEF','LAST','ATTUF','JBFCF','CYVA','SPF','XPO','EHECF','TEMO','AOLS','CSNT','REMI','GLRP','AIFLY','BEE','DJRT','CHSTF','AICAF'] startday = dt.datetime(2008, 1, 1) endday = dt.datetime(2010, 12, 31) eventMatrix = findEvents(symbols, startday, endday, marketSymbol='SPY', verbose=True) eventProfiler = ep.EventProfiler(eventMatrix, startday, endday, lookback_days=20, lookforward_days=20, verbose=True) eventProfiler.study(filename="MyEventStudy.pdf", plotErrorBars=True, plotMarketNeutral=True, plotEvents=False, marketSymbol='SPY')
dt_start = dt.datetime(2008, 1, 1) dt_end = dt.datetime(2009, 12, 31) ldt_timestamps = du.getNYSEdays(dt_start, dt_end, dt.timedelta(hours=16)) dataobj = da.DataAccess('Yahoo') ls_symbols1 = dataobj.get_symbols_from_list('sp5002008') ls_symbols2 = dataobj.get_symbols_from_list('sp5002012') ls_symbols1.append('SPY') ls_symbols2.append('SPY') ls_keys = ['open', 'high', 'low', 'close', 'volume', 'actual_close'] ldf_data1 = dataobj.get_data(ldt_timestamps, ls_symbols1, ls_keys) ldf_data2= dataobj.get_data(ldt_timestamps, ls_symbols2, ls_keys) c = dict(zip(ls_keys, ldf_data1)) d_data1 = dict(zip(ls_keys, ldf_data1)) c2 = dict(zip(ls_keys, ldf_data2)) d_data2 = dict(zip(ls_keys, ldf_data2)) df_events1 = find_events(ls_symbols1, d_data1) df_events2 = find_events(ls_symbols2, d_data2) print "Creating Study" ep.eventprofiler(df_events1, d_data1, i_lookback=20, i_lookforward=20, s_filename='MyEventStudy1.pdf', b_market_neutral=True, b_errorbars=True, s_market_sym='SPY') ep.eventprofiler(df_events2, d_data2, i_lookback=20, i_lookforward=20, s_filename='MyEventStudy2.pdf', b_market_neutral=True, b_errorbars=True, s_market_sym='SPY')