def GetResiduals(stock,enddate):
Xinput = [EquityOCFP(stock,enddate), EquitySize(stock,enddate), RSIIndividual(stock,enddate), Min130Day(stock,enddate)]
X = pd.concat(Xinput, axis=1)
date = enddate
tempprice = get_price(list(stock), date, "{:%Y-%m-%d}".format(datetime.datetime.strptime(date, '%Y-%m-%d') + datetime.timedelta(days=30)), frequency='1d', fields=None)['OpeningPx']
y = np.log(tempprice.iloc[-1]/tempprice.iloc[0])
DataAll = pd.concat([X,y],axis = 1)
DataAll = DataAll.dropna()
regr = linear_model.LinearRegression()
regr.fit(np.matrix(DataAll.ix[:,0:4]), np.transpose(np.matrix(DataAll.ix[:,4])))
residuals = regr.predict(np.matrix(DataAll.ix[:,0:4])) - np.transpose(np.matrix(DataAll.ix[:,4]))
residuals = pd.DataFrame(data = residuals, index = np.transpose(np.matrix(DataAll.index.values)))
residuals.index = DataAll.index.values
residuals.columns = [enddate]
return residuals
#This function is used in the later function
Step 4 Final Strategy V1 with 4 factors.py 文件源码
python
阅读 30
收藏 0
点赞 0
评论 0
评论列表
文章目录