Author: Xin Jing
Date: 2021/11/16
This is a replication of a thesis. The title of the thesis is Does knowledge of the cost of a carry model improve commodity futures price for forecasting ability?
The thesis is a case study on the importance of the cost of carry model as well as the future prices in forecasting cash prices. The case study in the thesis uses the London Metal Exchange Lead Contract, while I use Shanghai Futures Exchange copper contract in my research following the pipeline.
Cost of carry model; Brenner and Kroner Model; Error correction model; Engle-Grangle test; Johansen test
- carry_model_1204.html: demonstrates the research results
- CU.xlsx: contains the data of SHFE copper
- in four levels: cash price, future price, inventory, interest rate of government bonds.
- in the historical period of 2009/12/31 - 2020/07/03
The thesis introduces five models to predict cash price. Two simple models involve only the lagged futures price, as shown in equations
- OLS:
$$ DP_t = a_0 + a_1 DF_{t|t-1} + e_t \tag{1} $$ $$ DP_t = b_0 + b_1 (F_{t|t-1} - P_{t-1}) + e_t \tag{2} $$ - Brenner and Kroner Model(1995):
$$ DP_t = g_0 + g_1 DF_{t|t-1} + g_2 Dr_{t|t-1} + g_3 DI_{t-1} + g_4 D\sigma_{t-1} + g_5 D\rho_{t-1} + g_6ECT_{t-2} + e_t \tag{3} $$
The error correction term,
- Vector Error Correction Model: $$ DX_t = M_1 DX_{t-1} + S^{'}ECT_{t-2}^{*} + L + E_t \tag{4} $$
with
Since the jonhansen test in the system indentifies 3 cointegrating vectors at 5% significance level, we considered the vector error correction model with one cointegrating vector and three cointegrating vector simultaneously. The simple one cointegrating vector model contrains the error correction term to the cost of carry relationship. This simple version provides a base case for comparison with the more complex three cointegrating vectors model.
The following picture shows the forecasting accuracy with regards to the difference of the logarithm of cash prices. The model used in this comparison include the two variable OLS models (OLS-1 and OLS-2), the single equation of the Brenner and Kroner model**(B&K)** and two versions of the vector correction models, the first using one cointegrating vector obtained from the Engle-Granger test (VECM-1CV) and second using three cointegrating vectors obtained from the Johansen procedure (VECM-3CV).
The forecast accuracy is measured in terms of mean error, mean absolute error and mean squared error. The error is defined as actual change in log cash price less the predicted change in log cash price.
The vector error correction model with one cointegrating vector generally shows least bias, while the Brenner & Kroner model exhibits least mean absolute error and least mean squared error.
For details, see the file carry_model_1204.html
The advancement in measuring the cash prices can be applied to calibrate the basis rate factors.