SVAR model with sign restrictions - how to distinguish between the responses to the respective shocks?
조회 수: 19 (최근 30일)
이전 댓글 표시
I am evaluating the real impacts of quantitative easing on the USA economy. I use a structural vector autoregressive model (SVAR) with sign restrictions. Except the monetary shock (quantitative easing) I identify 2 more shocks - positive supply and demand shock. By following these I am trying to prevent disturbances from bussines cycle represented by those two shocks enter into the identification of the monetary shock. Here comes my problem. I don't know exactly how to write the code to be able to distinguish between the responses to the respective shocks - more exactly I need the responses to the monetary shock without any influence of supply/demand shocks. My code in current form identifies all three shocks at the same time, but I need only the pure monetary shock (without any effect of positive demand/supply shock). I use Matlab toolbox IRIS. Here is the full code, where the part 4 is about setting the sign restrictions. Each section is sepparated and has its own title.
if true
********************************
%%1)PREPARING THE WORKSPACE
clear;
close all;
clc;
********************************
%%2)INICIALIZATION OF IRIS AND LOADING THE DATA
addpath c:\Program Files\MATLAB\IRIS; irisstartup
load data_svar.mat
range = mm(1992,2) : mm(2014,12);
********************************
%%3)ESTIMATION OF REDUCED VAR MODEL
v = VAR({'CPI','IP','RES','x10TCM','TWD','SM'});
[v,vdata] = estimate(v,d,range,'order=',4, 'const=', false);
disp(v);
********************************
%%4)SIGN RESTRICTIONS
%1=demand shock
%2=supply shock
%3=quantitative easing
test_string = [ ...
'sum(S(1,1,1:12)) > 0 ', ...
'&& sum(S(2,1,1:12)) > 0 ', ...
'&& sum(S(1,2,1:12)) < 0 ', ...
'&& sum(S(2,2,1:12)) > 0 ', ...
'&& sum(S(1,3,1:12)) >= 0 ', ...
'&& sum(S(3,3,1:12)) > 0 ', ...
'&& S(1,3,1) > -0.1 ', ...
'&& S(1,3,1) < 0.1 ', ...
'&& S(2,3,1) > -0.1', ...
'&& S(2,3,1) < 0.1 '];
********************************
%%5)ESTIMATION OF THE SVAR MODEL
N = 1000;
[sv,svdata,B,count] = SVAR(v,vdata, ...
'method=','householder', ...
'test=',test_string, ...
'ndraw=',N, ...
'maxIter=',Inf, ...
'progress=',true);
sv
size(B)
count
end
댓글 수: 0
답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!