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')
示例#2
0

#################################################
################ 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')