如何在pandafram中对股票/公司进行回归(迭代)

2024-06-11 09:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在pandaframe(Python)中迭代不同的组/股票经纪人/公司时遇到问题。我想对每个股票代码=公司进行单独的回归,并将值存储在新的pandaframe中

下面给出了一个简短的数据样本:(注意,这些值是随机的)

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']

因为我有一个横截面数据集(行上有标记器),所以我希望每个标记器运行一个回归,并将每个标记器的错误值存储在一个新的数据框中。导致这个for循环,我知道这是错误的,但给出一个想法

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']

我能得到帮助吗

提前谢谢大家,

延斯


Tags: 数据标记模型importdf公司收益air