bei meiner Ereignisstudie hänge ich gerade an der Regression.
Meine Date sind in zwei Tabellen. Eine Tabelle beinhaltet die Renditen und die andere die Werte für meine Ereignisse. Für beide Tabellen ist der Index das Datum.
Meine erster Ansatz war: (Auszug aus meinem Programm)
Code: Alles auswählen
for s in events_col:
pos_event_dates=(data_events[s]==1).index.tolist()
neu_event_dates=(data_events[s]==2).index.tolist()
neg_event_dates=(data_events[s]==3).index.tolist()
pos_dict_s = defaultdict(dict)
neu_dict_s = defaultdict(dict)
neg_dict_s = defaultdict(dict)
for pos_event in pos_event_dates:
date_loc = data_ret.index.get_loc(pos_event, method="bfill")
date_loc = date_loc - window
if date_loc > L1 and date_loc <=len(data_ret) - (2*window+1):
index_range = (2*window)+1
pos_dict_s_event = OrderedDict()
for d in range (index_range):
date_loc2 = date_loc + d
u_i = data_ret [s] [date_loc2-L1: date_loc2 -1].mean()
u_m= data_ret['sprtrn'][date_loc2-L1: date_loc2-1].mean()
R_i=data_ret.ix[date_loc2, s]
R_m=data_ret.ix[date_loc2, 'sprtrn']
beta_i= ((R_i-u_i)*(R_m-u_m))/(R_m - u_m)**2
alpha_i= u_i - (beta_i*u_m)
var_err= (1/(L1-2))*(R_i-alpha_i-(beta_i*R_m))**2
AR_i=R_i - alpha_i - (beta_i*R_m)
pos_dict_s_event[date_loc2]= AR_i
pos_dict_s[pos_event]=pos_dict_s_event
pos_dict[s]=pos_dict_s
abret_col = symbols_list[:]
abret_index = range(-window, window+1)
pos_data_abret = pd.DataFrame(index=abret_index, columns=abret_col)
for h in abret_col:
if h in pos_dict.keys():
for z in abret_index:
pos_data_abret[h][z] = np.mean([x.values()[z+window] for x in pos_dict[h].values()])
Kann mir jemand dabei helfen?
Vielen Dank