我想用宏观经济基本面来预测汇率,用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
如果你的目标和预测变量是熊猫系列或者熊猫.DataFrame对象:
将window参数更改为天数(假设您的数据是每天的)
Edit:
pd.stats
实际上已经在pandas的新版本中被弃用了,这应该可以通过pandas.rolling_apply
来实现,不管你使用的是哪个OLS回归函数:http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.rolling_apply.html
相关问题 更多 >
编程相关推荐