def fb_reg_over_all_time(ret, data):
'''
???????????????????????????????????????????????????????
:param DataFrame ret: ???
:param {string:DataFrame} data: ?????????
:param DataFrame ind_ret: ???????????
:param [int] interval????????????
:return: DataFrame X: ?????????????;??????
'''
# X???????????????????X[i,j]???(i+1)???????(j+1)????(row????col???)
X = np.zeros([ret.shape[1], len(data)])
# num_of_factor????????factor??????????????1
num_of_factor = 0
# name of factors,prepared for converting X to DataFrame,with columns=factor_name
factor_name = []
# ?????????,i???tuple,i[0]?????i[1]???DataFrame???[???,????]??????
for i in data.items():
factor_name = factor_name + [i[0]]
# ????????????????0
for j in range(i[1].shape[1]):
# ??j??????????????????????
model = sm.OLS(ret[j].values, i[1][j].values).fit()
# ?????????????
X[j, num_of_factor] = model.params[0]
# ?????????????1
num_of_factor += 1
# ?X??DataFrame????
X = pd.DataFrame(X)
X.fillna(0, inplace=True)
X.columns = factor_name
#??????????DataFrame
return X
评论列表
文章目录