В этом примере показано, как оценить параметры модели векторного исправления ошибок (VEC). Прежде, чем оценить параметры модели VEC, необходимо определить, существуют ли какие-либо cointegrating отношения (см. Тест для Коинтеграции Используя Тест Энгла-Грейнджера). Можно оценить остающиеся коэффициенты модели VEC с помощью обычных наименьших квадратов (OLS).
При следовании из Теста для Коинтеграции Используя Тест Энгла-Грейнджера загрузите Data_Canada
набор данных. Запустите тест коинтеграции Энгла-Грейнджера на маленьком термине, среднесрочном, и долгосрочном ряде процентной ставки.
load Data_Canada Y = Data(:,3:end); % Interest rate data [~,~,~,~,reg] = egcitest(Y,'test','t2'); c0 = reg.coeff(1); b = reg.coeff(2:3); beta = [1;-b];
Предположим, что процедура отбора модели указывает на соответствие q = 2 задержки в VEC (q) модель. Впоследствии, модель
Поскольку вы оценили c0
и = [1; -b]
ранее, можно условно оценить , B1
, B2
, и c1
:
Формирование необходимых изолированных различий
Регресс первое различие ряда на q изолировал различия и предполагаемый срок коинтеграции.
Сформируйте изолированный ряд различия.
q = 2; [numObs,numDims] = size(Y); tBase = (q+2):numObs; % Commensurate time base, all lags T = length(tBase); % Effective sample size YLags = lagmatrix(Y,0:(q+1)); % Y(t-k) on observed time base LY = YLags(tBase,(numDims+1):2*numDims); % Y(t-1) on commensurate time base
Сформируйте многомерные различия так, чтобы numDims
- широкий блок столбцов в DelatYLags
содержит (1-L)Y(t-k+1)
.
DeltaYLags = zeros(T,(q+1)*numDims); for k = 1:(q+1) DeltaYLags(:,((k-1)*numDims+1):k*numDims) = ... YLags(tBase,((k-1)*numDims+1):k*numDims) ... - YLags(tBase,(k*numDims+1):(k+1)*numDims); end DY = DeltaYLags(:,1:numDims); % (1-L)Y(t) DLY = DeltaYLags(:,(numDims+1):end); % [(1-L)Y(t-1),...,(1-L)Y(t-q)]
Регресс первое различие ряда на q изолировал различия и предполагаемый срок коинтеграции. Включайте прерывание в регрессию.
X = [(LY*beta-c0),DLY,ones(T,1)];
P = (X\DY)'; % [alpha,B1,...,Bq,c1]
alpha = P(:,1);
B1 = P(:,2:4);
B2 = P(:,5:7);
c1 = P(:,end);
Отобразите коэффициенты модели VEC.
alpha,b,c0,B1,B2,c1
alpha = 3×1
-0.6336
0.0595
0.0269
b = 2×1
2.2209
-1.0718
c0 = -1.2393
B1 = 3×3
0.1649 -0.1465 -0.0416
-0.0024 0.3816 -0.3716
0.0815 0.1790 -0.1528
B2 = 3×3
-0.3205 0.9506 -0.9514
-0.1996 0.5169 -0.5211
-0.1751 0.6061 -0.5419
c1 = 3×1
0.1516
0.1508
0.1503