# Error correction term has both positive and negative loadings - is that OK?

I did a Johansen test.
The max eigenvalue test resulted in 5 cointegrated variables with contegration rank being 1.
The trace test resulted in 5 cointegrated variables with contegration rank being 3.

Below is the estimated VECM with cointegration rank of 3:

cajorls(ca.jo(mydata, ecdet="none", type="trace", spec="transitory", K=29),r=3)
$rlm Call: lm(formula = substitute(form1), data = data.mat) Coefficients: BIST100.d Gold.d Oil.d TRY_USD.d USD_EUR.d ect1 -4.843e-02 2.939e-05 1.634e-04 -7.808e-07 9.200e-07 ect2 -1.780e+02 1.322e-01 2.673e-01 5.668e-04 1.891e-03 ect3 -1.217e+01 2.622e-02 1.023e-02 -1.245e-04 4.935e-04 constant -1.335e+04 1.941e+01 -1.246e+01 2.701e-01 1.689e-01 BIST100.dl1 -2.772e-02 2.683e-05 -1.036e-04 -4.862e-06 -2.745e-07 Gold.dl1 9.454e+01 -4.467e-03 6.449e-02 4.761e-03 -3.065e-04 ...... ...... ...... .... ..... .......$beta
ect1          ect2          ect3
BIST100.l1  1.000000e+00  0.000000e+00  4.336809e-19
Gold.l1    -1.136868e-13  1.000000e+00  0.000000e+00
Oil.l1     -3.197442e-14  2.775558e-17  1.000000e+00
TRY_USD.l1  1.152179e+05 -4.851482e+01 -5.183614e+01
USD_EUR.l1  8.984704e+04 -8.461897e+01 -3.174152e+02


I expect an error correction term of the format $y_1-\beta_2 y_2-\beta_3 y_3-\beta_4 y_4-\beta_5 y_5$. Or equivalently, all signs being "$-$" in the above ect1, ect2, ect3 terms. All are not "$-$", e.g., for the 1st ect1: -4.843e-02, +2.939e-05, +1.634e-04, -7.808e-07, +9.200e-07. There are "$+$" and "$-$" coefficients in the error correction terms above.

Does this show wrong unsuitable formulation in VECM? The cointegration rank is either 1 (max eigen) or 3 (trace). Both present "$+$" and "$-$" coefficients in error correction terms.

Below is the estimated VECM with cointegration rank of 1:

    cajorls(ca.jo(mydata, ecdet="none", type="eigen", spec="transitory", K=29),r=1)
$rlm Call: lm(formula = substitute(form1), data = data.mat) Coefficients: BIST100.d Gold.d Oil.d TRY_USD.d USD_EUR.d ect1 6.592e-03 -1.138e-05 1.275e-05 -1.830e-07 -8.523e-08 constant -1.035e+04 1.782e+01 -1.999e+01 2.857e-01 1.334e-01 BIST100.dl1 -5.707e-02 5.970e-05 -1.134e-05 -5.482e-06 6.044e-07 ...... ...... ...... .... ..... .......$beta
ect1
BIST100.l1      1.000
Gold.l1     -5829.934
Oil.l1      -1100.681
TRY_USD.l1 455111.151
USD_EUR.l1 932542.892


Any idea? Can I go with the usual ritual vec2var(ca.jo(...), r=1 or r=3) or something must be handled properly?

• Take $$y_{1,t}=\sum_{\tau=1}^t \varepsilon_{1,\tau}, \ y_{2,t}=\sum_{\tau=1}^t \varepsilon_{2,\tau}, \ \dotsc, \ y_{k,t}=\sum_{\tau=1}^t \varepsilon_{k,\tau}$$ where $$\varepsilon_{i,\tau}$$ are $$i.i.d.$$ across all $$\{i,\tau\}$$. Clearly, $$y_{i,t}$$s are integrated processes.
• Define, for example, $$y_{k+1,t}=y_{1,t}-y_{2,t}+y_{3,t}-y_{4,t}+y_{5,t}-\dotsc+(-1)^k y_{k,t}+\varepsilon_{k+1,t}$$ where $$\varepsilon_{k+1,t}$$ is a stationary variable.
• Then a linear combination $$y_{k+1,t}-y_{1,t}+y_{2,t}-y_{3,t}+y_{4,t}-y_{5,t}+\dotsc-(-1)^k y_{k,t}=\varepsilon_{k+1,t}$$ is stationary. So $$(y_1,y_2\dotsc,y_k,y_{k+1})$$ are cointegrated. The latter sum can serve as an error correction term. Note that it has altering signs. By changing the construction of $$y_{k+1,t}$$ (in the second bullet point) you can get whatever loadings you like (positive or negative) in the error correction term.