I ran the Johansen Cointegration Test and "Phillips & Ouliaris" Cointegration Test on the past 7 years of data of Oil Futures (BZ=F), Gold Futures (GC=F), Gold ETF (GLD), and Silver (SLV) returns.
- Can someone help me interpret the results? A link to a detailed article explaining how to interpret this result will also help.
- Which of these two tests do you think is better?
Notes –
- K is constant 2 for Johansen Cointegration Test
- All the time series are stationary
Here are the results of Johansen Cointegration Test
cajo <- ca.jo(test_data, ecdet = "none", type="eigen", K=2, spec="longrun", season=4)
summary(cajo)
######################
# Johansen-Procedure #
######################
Test type: maximal eigenvalue statistic (lambda max) , with linear trend
Eigenvalues (lambda):
[1] 0.5680698 0.4801699 0.3382725 0.2907758
Values of teststatistic and critical values of test:
test 10pct 5pct 1pct
r <= 3 | 638.72 6.50 8.18 11.65
r <= 2 | 767.58 12.91 14.90 19.19
r <= 1 | 1216.26 18.90 21.07 25.75
r = 0 | 1560.61 24.78 27.14 32.14
Eigenvectors, normalised to first column:
(These are the cointegration relations)
BZ.F.l2 GC.F.l2 GLD.l2 SLV.l2
BZ.F.l2 1.000000 1.000000 1.0000000 1.000000
GC.F.l2 -74.136633 10.979215 -0.3707929 0.556958
GLD.l2 79.714196 1.619935 0.3758365 -5.192185
SLV.l2 -1.206384 -4.353230 -1.3115461 4.396690
Weights W:
(This is the loading matrix)
BZ.F.l2 GC.F.l2 GLD.l2 SLV.l2
BZ.F.d -0.016013244 -0.09984288 -0.6310072 -0.24003976
GC.F.d 0.008328188 -0.09600891 0.1427351 -0.04550002
GLD.d -0.015309769 -0.08881608 0.1527393 -0.04082764
SLV.d -0.013361984 -0.06037855 0.2893466 -0.19149600
Here are the results of Phillips & Ouliaris Cointegration Test
capo = urca::ca.po(test_data, type = "Pu", demean = "trend", lag = "short")
summary(capo)
########################################
# Phillips and Ouliaris Unit Root Test #
########################################
Test of type Pu
detrending of series with constant and linear trend
Call:
lm(formula = z[, 1] ~ z[, -1] + trd)
Residuals:
Min 1Q Median 3Q Max
-0.273162 -0.011639 0.000862 0.012489 0.247434
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.377e-03 1.262e-03 -1.091 0.275354
z[, -1]GC=F 5.262e-01 1.423e-01 3.698 0.000224 ***
z[, -1]GLD 1.204e-01 1.522e-01 0.791 0.428864
z[, -1]SLV 2.297e-01 5.810e-02 3.954 7.99e-05 ***
trd 1.204e-06 1.174e-06 1.026 0.305055
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02719 on 1856 degrees of freedom
Multiple R-squared: 0.4003, Adjusted R-squared: 0.399
F-statistic: 309.8 on 4 and 1856 DF, p-value: < 2.2e-16
Value of test-statistic is: 1618.667
Critical values of Pu are:
10pct 5pct 1pct
critical values 52.0015 60.2384 78.347
Best Answer
Financial returns are usually approximately stationary, or at least they do not have unit roots. However, cointegration is only possible among nonstationary time series, specifically ones that have unit roots. Per definition, it cannot occur between a bunch of stationary time series. Therefore, you would normally do the cointegration analysis on prices (or log-prices), not returns (or log-returns).