如果我的问题已经有了答案,我很抱歉问了我的问题。到目前为止,我找不到一个。
我目前正在对债券的财务数据进行回归分析。我回归的目的是确定两种债券组合是否显示出显著不同的收益率。
Im控制4个变量(V1至V4),以控制其他风险源。
回归公式如下:
(一个回归表示“高投资组合”,一个回归表示“低投资组合”)
ðield(p)=â(p)+ ð½1(p)*V1+ð½2(p)*V2+ð½3(p)*V3(p)+ð½4(p)*V4(p)
这导致R中出现以下代码:
Regression_High <- lm(T_Portfolio ~ T_Slope +T_Credit+T_Ratingscore+ T_Duration)
(construct variables for Low-Portfolio)
Regression_Low <- lm(T_Portfolio ~ T_Slope +T_Credit+T_Ratingscore+ T_Duration)
现在的想法是比较这两个截距,以确定这两个投资组合是否显示出不同的收益率。
因此,我想使用Wald检验来确定截距的联合显著性:检验统计量是渐近x分布的
具有2个自由度。
library(aod)
library(lmtest)
Vcov=vcov(Regression_High,Regression_Low)
1. waldtest(Regression_High, Regression_Low, vcov=Vcov,test="Chisq",name=NULL)
2. waldtest(Regression_High, Regression_Low, test="Chisq")
我的两次尝试都会产生以下错误消息:
Error in solve.default(vc[ovar, ovar]) : 'a' is 0-diml
有人知道如何正确地进行waldtest吗?或者我的错误在哪里?
如有任何建议,我们将不胜感激。
谨致问候,
西蒙
可复制示例:
#loading packages
library(plm)
library(aod)
library(lmtest)
#Data "High-Portfolio"
y=rnorm(10)
v1=rnorm(10)
v2=rnorm(10)
v3=rnorm(10)
v4=rnorm(10)
#Regression 1
lm1<-lm(y~v1+v2+v3+v4)
#Data "Low-Portfolio"
y=rnorm(10)
v1=rnorm(10)
v2=rnorm(10)
v3=rnorm(10)
v4=rnorm(10)
#Regression 2
lm2<-lm(y~v1+v2+v3+v4)
#Waldtest
library(aod)
library(lmtest)
Vcov=vcov(lm1,lm2)
#Attempt 1
waldtest(lm1,lm2, vcov=Vcov,test="Chisq",name=NULL)
#Attempt 2
waldtest(lm1, lm2, test="Chisq")