bondyield.RdBond Yield Data.
data(bondyield)A multivariate quarterly time series from 1961(1) to 1975(4) with variables
difference of interest rate on government and corporate bonds,
measure of consumer sentiment,
index of employment pressure,
interest rate expectations,
artificial time series based on RAARUS,
artificial time series based on RAARUS.
The data was originally studied by Cook and Hendershott (1978) and Yawitz and Marshall (1981), the data set is given in Krämer and Sonnberger (1986). Below we replicate a few examples given in their book. Some of these results differ more or less seriously and are sometimes parameterized differently.
T.Q. Cook & P.H. Hendershott (1978), The Impact of Taxes, Risk and Relative Security Supplies of Interest Rate Differentials. The Journal of Finance 33, 1173–1186
J.B. Yawitz & W. J. Marshall (1981), Measuring the Effect of Callability on Bond Yields. Journal of Money, Credit and Banking 13, 60–71
W. Krämer & H. Sonnberger (1986), The Linear Regression Model under Test. Heidelberg: Physica
data(bondyield)
## page 134, fit Cook-Hendershott OLS model and Yawitz-Marshall OLS model
## third and last line in Table 6.5
modelCH <- RAARUS ~ MOOD + EPI + EXP + RUS
lm(modelCH, data=bondyield)
#>
#> Call:
#> lm(formula = modelCH, data = bondyield)
#>
#> Coefficients:
#> (Intercept) MOOD EPI EXP RUS
#> 0.525913 -0.001402 -0.005623 -0.157801 0.137761
#>
dwtest(modelCH, data=bondyield)
#>
#> Durbin-Watson test
#>
#> data: modelCH
#> DW = 0.84484, p-value = 2.888e-08
#> alternative hypothesis: true autocorrelation is greater than 0
#>
## wrong sign of RUS coefficient
modelYM <- RAARUS ~ MOOD + Y + K
lm(modelYM, data=bondyield)
#>
#> Call:
#> lm(formula = modelYM, data = bondyield)
#>
#> Coefficients:
#> (Intercept) MOOD Y K
#> -5.06477 -0.01313 0.04899 1.70792
#>
dwtest(modelYM, data=bondyield)
#>
#> Durbin-Watson test
#>
#> data: modelYM
#> DW = 1.4387, p-value = 0.004938
#> alternative hypothesis: true autocorrelation is greater than 0
#>
## coefficient of Y and K differ by factor 100
## page 135, fit test statistics in Table 6.6 b)
################################################
## Chow 1971(1)
if(require(strucchange, quietly = TRUE)) {
sctest(modelCH, point=c(1971,1), data=bondyield, type="Chow") }
#>
#> Chow test
#>
#> data: modelCH
#> F = 13.775, p-value = 1.838e-08
#>
## Breusch-Pagan
bptest(modelCH, data=bondyield, studentize=FALSE)
#>
#> Breusch-Pagan test
#>
#> data: modelCH
#> BP = 2.0667, df = 4, p-value = 0.7235
#>
bptest(modelCH, data=bondyield)
#>
#> studentized Breusch-Pagan test
#>
#> data: modelCH
#> BP = 2.9784, df = 4, p-value = 0.5614
#>
## Fluctuation test
if(require(strucchange, quietly = TRUE)) {
sctest(modelCH, type="fluctuation", data=bondyield, rescale=FALSE)}
#>
#> RE test (recursive estimates test)
#>
#> data: modelCH
#> RE = 17.758, p-value < 2.2e-16
#>
## RESET
reset(modelCH, data=bondyield)
#>
#> RESET test
#>
#> data: modelCH
#> RESET = 5.349, df1 = 2, df2 = 53, p-value = 0.007655
#>
reset(modelCH, power=2, type="regressor", data=bondyield)
#>
#> RESET test
#>
#> data: modelCH
#> RESET = 4.7726, df1 = 4, df2 = 51, p-value = 0.002393
#>
reset(modelCH, type="princomp", data=bondyield)
#>
#> RESET test
#>
#> data: modelCH
#> RESET = 9.3371, df1 = 2, df2 = 53, p-value = 0.0003359
#>
## Harvey-Collier
harvtest(modelCH, order.by= ~ MOOD, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelCH
#> HC = 2.3951, df = 54, p-value = 0.02012
#>
harvtest(modelCH, order.by= ~ EPI, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelCH
#> HC = 0.17075, df = 54, p-value = 0.8651
#>
harvtest(modelCH, order.by= ~ EXP, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelCH
#> HC = 0.87128, df = 54, p-value = 0.3875
#>
harvtest(modelCH, order.by= ~ RUS, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelCH
#> HC = 1.5877, df = 54, p-value = 0.1182
#>
## Rainbow
raintest(modelCH, order.by = "mahalanobis", data=bondyield)
#>
#> Rainbow test
#>
#> data: modelCH
#> Rain = 1.702, df1 = 30, df2 = 25, p-value = 0.08919
#>
## page 136, fit test statistics in Table 6.6 d)
################################################
## Chow 1966(1)
if(require(strucchange, quietly = TRUE)) {
sctest(modelYM, point=c(1965,4), data=bondyield, type="Chow") }
#>
#> Chow test
#>
#> data: modelYM
#> F = 2.8266, p-value = 0.03388
#>
## Fluctuation test
if(require(strucchange, quietly = TRUE)) {
sctest(modelYM, type="fluctuation", data=bondyield, rescale=FALSE) }
#>
#> RE test (recursive estimates test)
#>
#> data: modelYM
#> RE = 19.733, p-value < 2.2e-16
#>
## RESET
reset(modelYM, data=bondyield)
#>
#> RESET test
#>
#> data: modelYM
#> RESET = 2.1436, df1 = 2, df2 = 54, p-value = 0.1271
#>
reset(modelYM, power=2, type="regressor", data=bondyield)
#>
#> RESET test
#>
#> data: modelYM
#> RESET = 4.1716, df1 = 3, df2 = 53, p-value = 0.01003
#>
reset(modelYM, type="princomp", data=bondyield)
#>
#> RESET test
#>
#> data: modelYM
#> RESET = 1.9931, df1 = 2, df2 = 54, p-value = 0.1462
#>
## Harvey-Collier
harvtest(modelYM, order.by= ~ MOOD, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelYM
#> HC = 0.24869, df = 55, p-value = 0.8045
#>
harvtest(modelYM, order.by= ~ Y, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelYM
#> HC = 2.1227, df = 55, p-value = 0.0383
#>
harvtest(modelYM, order.by= ~ K, data=bondyield)
#>
#> Harvey-Collier test
#>
#> data: modelYM
#> HC = 0.026056, df = 55, p-value = 0.9793
#>
## Rainbow
raintest(modelYM, order.by = "mahalanobis", data=bondyield)
#>
#> Rainbow test
#>
#> data: modelYM
#> Rain = 1.2978, df1 = 30, df2 = 26, p-value = 0.2515
#>