Bond Yield Data.

data(bondyield)

Format

A multivariate quarterly time series from 1961(1) to 1975(4) with variables

RAARUS

difference of interest rate on government and corporate bonds,

MOOD

measure of consumer sentiment,

EPI

index of employment pressure,

EXP

interest rate expectations,

Y

artificial time series based on RAARUS,

K

artificial time series based on RAARUS.

Source

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.

References

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

Examples

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
#>