def rolling_beta(X, y, idx, window=100):
assert len(X) == len(y)
out_dates = []
out_beta = []
model_ols = linear_model.LinearRegression()
for iStart in range(0, len(X) - window):
iEnd = iStart + window
_x = X[iStart:iEnd].values.reshape(-1, 1)
_y = y[iStart:iEnd].values.reshape(-1, 1)
model_ols.fit(_x, _y)
# store output
out_dates.append(idx[iEnd])
out_beta.append(model_ols.coef_[0][0])
return pd.DataFrame({'beta': out_beta}, index=out_dates)
test_start_from_quant_strat.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录