在R中没有lm对象的情况下计算Newey-West标准误差


13

我昨天在StackOverflow上问了这个问题,并得到了答案,但我们同意,它似乎有点骇人听闻,并且也许有一种更好的方法来查看它。

问题:我想计算向量(在本例中为股票收益向量)的Newey-West(HAC)标准误差。该功能NeweyWest()sandwich包这样做,但需要一个lm对象作为输入。Joris Meys提供的解决方案是将向量投影到1上,这会将我的向量转换为残差并馈入NeweyWest()。那是:

as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))

均值的方差。

我应该这样吗?还是有一种方法可以更直接地做我想做的事情?谢谢!


1
问题尚不清楚。“向量的标准误差”是什么意思?通常,我们需要参数估计的标准误差。您估计什么参数?您提供的代码将产生Newey West对均值平方标准误差的估计。那是你要的吗?
赛勒斯S 2010年

@Cyrus-“矢量”不是lm对象。我经常有一个向量(比如说一系列的股票收益),我不想参与任何回归(因为除了1之外,我不在乎它的预测),但是我仍然希望得到HAC标准错误。在这种情况下,参数估计值是库存收益。上面的答案可以做到这一点,但是需要计算lm对象,而我确实不需要。所以我想知道R中是否有一个例程在不创建lm对象的情况下执行此操作。
理查德·赫伦

抱歉,仍然不清楚:“在这种情况下,参数估计是库存收益。” 这样,您的意思是“该系列中的平均股票收益率”吗?如果是的话,那么您所拥有的就完全可以了。
赛勒斯S 2010年

@Cyrus-我知道我的工作正常,但是我希望有一种方法可以在lm单个向量的情况下无需通过对象即可计算SE 。我猜不是。感谢您帮助我阐明我的问题!
理查德·赫伦

Answers:


15

假设我们有一个回归

y=Xβ+u

然后OLS估计是 并假定是无偏估计,我们有 β^

β^β=(XX)1Xu
β^
Var(β^)=E[(XX)1XuuX(XX)1]

通常的OLS假设是和,这使我们 通常在统计数据包中报告此协方差矩阵。E(u|X)=0E(uu|X)=σ2In

Var(β^)=σ2E(XX)1

如果是异方差的并且(或)是自动校正的,则和通常的输出会产生误导性的结果。为了获得正确的结果,需要计算HAC标准误差。所有用于HAC错误的方法都会计算 他们的假设不同,看起来像什么。uiE(uu|X)σ2In

diag(E(XX)1XuuX(XX)1).
E(uu|X)

因此,很自然地,该函数NeweyWest要求线性模型。Newey-West方法计算线性模型估计量的正确标准误差。因此,如果您假设您的股票收益遵循模型 并且您要估算防止中的违规行为,则您的解决方案是完全正确的 。

rt=μ+ut
Var(μ)ut

另一方面,如果您想估计“正确”的(无论如何),则应检查波动率模型,例如GARCH及其变体。他们假定 其中。然后的目标是正确估计。然后,,您就可以“正确”估计方差,从而可以防止股票收益率的通常特质,例如波动率聚类,偏度等。 - [R = σ ε ε σ V - [R - [R = V - [R σ Var(rt)

rt=σtεt
εtσtVar(rt)=Var(σt)

谢谢!对于我来说,可能没有比形成lm对象更有效的方法进行编码了。
理查德·赫伦

我想lm对象就是要走的路!感谢您的出色总结...有时在应用程序中,我离理论太远了。
理查德·赫伦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.