У меня проблема с итерацией по различным группам / тикерам / фирмам в пандафрейме (Python).Я хочу запустить отдельные регрессии на тикер = фирмы и сохранить значения в новом пандафрейме.
Ниже приводится краткая выборка данных: (Обратите внимание, что значения случайные)
Date Ticker Company Price HML SMB ER
21/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
24/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
25/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
26/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
27/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
28/06/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
01/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
02/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
03/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
05/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
08/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
09/07/2002 ANTQ A.A. IMPORT 0,009 0,015 0,028 0,037
10/07/2002 ANTQ A.A. IMPORT 0,101 0,015 0,028 0,037
11/07/2002 ANTQ A.A. IMPORT 0,101 0,015 0,028 0,037
12/07/2002 ANTQ A.A. IMPORT 0,101 0,015 0,028 0,037
21/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
24/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
25/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
26/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
27/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
28/06/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
01/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
02/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
03/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
05/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
08/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
09/07/2002 AIR AAR CORP 0,009 0,015 0,028 0,037
10/07/2002 AIR AAR CORP 0,101 0,015 0,028 0,037
11/07/2002 AIR AAR CORP 0,101 0,015 0,028 0,037
12/07/2002 AIR AAR CORP 0,101 0,015 0,028 0,037
Идея заключается в следующем:
Сначала я хочу запуститьрегрессия путем регрессии факторов Fama и French (ER, HML и SML) сверх избыточной доходности (Return).Затем я хочу использовать эту модель для прогнозирования ошибки в модели путем вычитания реальной избыточной прибыли из прогнозируемой избыточной прибыли модели.
error = smf.ols(formula="df['Return'] ~ + df['ER']+ df['HML'] + df['SML']+ ", data= df).fit().predict()-df['p']
Поскольку у меня есть набор данных с поперечным сечением (с тикерами над строками), я хочу запустить регрессию для каждого тикера и сохранить значения ошибок для тикера в новом фрейме данных.Приводить к этому для цикла, который я знаю, это неправильно, но дать идею.
grouped_df= df.groupby("Ticker")
for group in grouped_df:
error['group'] = smf.ols(formula="df['Return'] ~ + df['ER']+ df['HML'] + df['SML']+ ", data= df).fit().predict()-df['p']
Могу ли я помочь с этим?
Заранее спасибо,
Йенс