滚动窗前舱

2024-06-16 10:37:10 发布

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

我想用宏观经济基本面来预测汇率,用Python中的时间序列数据进行样本外预测。在

为了评估预测的准确性,我想应用滚动窗口回归,即每个滚动窗口的连续观察数。 因变量是欧元/美元汇率,我的(第一个)解释变量是美国和欧洲之间的利率差异。时间跨度为1999年1月至2019年1月。在

理论上,首先选择窗口大小,然后选择预测范围,然后用RMSE对模型进行评价。在

但我不太确定如何在Python中设置滚动回归。在

我在不推荐的stats/ols模块中使用MovingOLS很困难。 所以,我下载了包含滚动回归的Pyfinance包。在

但是我怎么能把这里的预测期改为3个月呢?是否有其他方法/方案来解决这个问题?在

以下是关于Pyfinance包的代码:

rolling = ols.PandasRollingOLS(y=y, x=X, window=228,) #window size equal to the length of my training set

rolling.beta.head()

rolling.ms_err.head()
rolling.ms_err

Tags: 数据汇率时间序列windowheadms样本
1条回答
网友
1楼 · 发布于 2024-06-16 10:37:10

如果你的目标和预测变量是熊猫系列或者熊猫.DataFrame对象:

model = pd.stats.ols.MovingOLS(y=y, x=x, window_type='rolling', window=90)
prediction = model.y_predict

将window参数更改为天数(假设您的数据是每天的)

Edit:pd.stats实际上已经在pandas的新版本中被弃用了,这应该可以通过pandas.rolling_apply来实现,不管你使用的是哪个OLS回归函数:

http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.rolling_apply.html

相关问题 更多 >