嗨,我是R的新人,所以这就是我的问题:
我正在尝试复制一个硕士论文主题,使用fama法语模型进行有关加密货币的资产定价。基本上我得到了论坛:
R =β1的* RM +β2 * SMB +β3 * HML
我计算了rm,SMB和HML(364个条目中的所有向量)和我的历史回报r在364个条目中。 (rm命名为CRIX,指基准) 我现在检查我是否可以使用lm函数进行回归(效果很好)但是异方差性测试显示我需要使用强大的标准错误,因此我使用NeweyWest函数但总是得到错误:< / p>
Error in if (ncol(x) == 1) { : argument is of length zero
bitcoin <- lm(formula = returns_daily[,"bitcoin"]~CRIX+SMB+HML)
summary(bitcoin)
Call:
lm(formula = returns_daily[, "bitcoin"] ~ CRIX + SMB + HML)
Residuals:
Min 1Q Median 3Q Max
-0.218119 -0.028217 0.000865 0.029360 0.252865
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.005456 0.002867 1.903 0.057856 .
CRIX 0.193845 0.051950 3.731 0.000221 ***
SMB 0.038500 0.034388 1.120 0.263637
HML -0.067920 0.034054 -1.994 0.046856 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.05312 on 360 degrees of freedom
Multiple R-squared: 0.0532, Adjusted R-squared: 0.04531
F-statistic: 6.743 on 3 and 360 DF, p-value: 0.0001952
coeftest(bitcoin)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0054561 0.0028673 1.9029 0.0578556 .
CRIX 0.1938453 0.0519501 3.7314 0.0002212 ***
SMB 0.0385002 0.0343879 1.1196 0.2636373
HML -0.0679199 0.0340543 -1.9945 0.0468558 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> coeftest(bitcoin,vcov=NeweyWest(bitcoin))
Error in if (ncol(x) == 1) { : argument is of length zero
NeweyWest(bitcoin)
Error in if (ncol(x) == 1) { : argument is of length zero
我的输入向量都有相同的长度,我没有丢失值,所以我不明白为什么我的NeweyWest-Test无法工作。有关如何跟踪错误的任何建议吗?
答案 0 :(得分:0)
刚遇到相同的错误,但是很幸运找到解决方案,该解决方案是使用lm
参数将数据提供给data
函数。我想,这个问题留给子孙后代使用,对于我来说,这样的问题在7个月的时间内几乎不会过期。