我已经成功地为时间序列数据获得了线性回归线,非常感谢先前在stackoverflow上的帮助。所以我从Python中得到了以下图表/线条绘制:
我使用了以下代码来获得这条回归线,最初是从CSV文件导入价格/时间序列数据的:
我所需要的是能够绘制/识别出与回归线相差1个标准偏差的图形(如上图所示)。以上大部分代码都是为了使数据符合要求,以便能够成功绘制回归线——更改日期/时间数据使其可以在ols公式中工作,截取数据到最后300个时期等等。但我不确定如何从通过线性回归绘制的线条中获取1个标准偏差。
f4 = open('C:\Users\cost9\OneDrive\Documents\PYTHON\TEST-ASSURANCE FILES\LINEAR REGRESSION MULTI TREND IDENTIFICATION\ES_1H.CSV')
ES_1H = pd.read_csv(f4)
ES_1H.rename(columns={'Date/Time': 'Date'}, inplace=True)
ES_1H['Date'] = ES_1H['Date'].reset_index()
ES_1H.Date.values.astype('M8[D]')
ES_1H_Last_300_Periods = ES_1H[-300:]
x = ES_1H_Last_300_Periods['Date']
y = ES_1H_Last_300_Periods['Close']
x = sm.add_constant(x)
ES_1H_LR = pd.ols(y = ES_1H_Last_300_Periods['Close'], x = ES_1H_Last_300_Periods['Date'])
plt.scatter(y = ES_1H_LR.y_fitted.values, x = ES_1H_Last_300_Periods['Date'])
我所需要的是能够绘制/识别出与回归线相差1个标准偏差的图形(如上图所示)。以上大部分代码都是为了使数据符合要求,以便能够成功绘制回归线——更改日期/时间数据使其可以在ols公式中工作,截取数据到最后300个时期等等。但我不确定如何从通过线性回归绘制的线条中获取1个标准偏差。
因此,理想情况下,我的需求应该是这样的:
...其中黄色线条距离回归线相差1个标准偏差。有人知道如何从这里的线性回归线获取1个标准偏差吗?供参考,这是线性回归的统计数据:
编辑:供参考,以下是我最终做的事情:
plt.scatter(y = ES_1D_LR.y_fitted.values, x = ES_1D_Last_30_Periods['Date'])
plt.scatter(y = ES_1D_Last_30_Periods.Close, x = ES_1D_Last_30_Periods.Date)
plt.scatter(y = ES_1D_LR.y_fitted.values - np.std(ES_1D_LR.y_fitted.values), x = ES_1D_Last_30_Periods.Date)
plt.scatter(y = ES_1D_LR.y_fitted.values + np.std(ES_1D_LR.y_fitted.values), x = ES_1D_Last_30_Periods.Date)
plt.show()
y[np.where(x == 60)[0][0]]
? - MaxU - stand with Ukraine