X <#>LatexIt! run report...
*** Found expression $\frac { n(n-1) }{ 2 } $
Update 2:
There is a small bug in the SVAR package when writing the free
parameters into the model (in the last step).
Just run the hansl snippet.
I found 2 typos in the help pdf for the SVAR package, and the references
are only "?" (a bibtex problem):
1. p10 under 2.4: it's $\frac { n(n-1) }{ 2 } $ restrictions
2. p. 21 under SVAR.cumulate: Stores into the model
<hansl>
open sw_ch14.gdt
genr infl = 400*ldiff(PUNEW)
rename LHUR unemp
list X = unemp infl
list Z = const
var 3 X Z --silent
Sigma = $sigma
C = cholesky(Sigma)
print Sigma C
# load the SVAR package
include SVAR.gfn
# set up the SVAR
Mod = SVAR_setup("C", X, Z, 3)
# Specify the constraints on C
SVAR_restrict(&Mod, "C", 1, 2, 0)
# Estimate
SVAR_estimate(&Mod)
Mod_Plain = SVAR_setup("plain", X, Z, 3)
SVAR_estimate(&Mod_Plain)
<hansl>
Update:
imp2exp: implicit to explicit :-)
Pindar <pindar777(a)gmail.com>:
> Hi there,
>
> the SVAR analysis is a powerful tool and Jack's SVAR package already in it's
present state is magnificent!
> At the moment I'm working through it step by step. My ultimate goal is to perform
a 'Structural vector autoregressions with
> nonnormal residuals' by Lütkepohl (see attached file). Unfortunately his examples
are SVECMs which makes the stuff even more complicated.
> However, while learning from the 'SVAR code' and with Lütkepohl's book
'New Introduction to Multiple Time Series Analysis' I came across the following
questions:
>
> a) In his book on page 367 (section 9.1.3) the Rd matrix (following the notation of
Jack) seems to me wrong.
> b) Is it in order to use 'abs(nullspace(R))~R'invpd(R*R')*d' instead
of the things done in imp2exp (and btw. exp stands for expansion, or, and imp for ?)
>
> <hansl>
> nulldata 10
> include SVAR.gfn
> #example
> matrix
R_Luedkepohl={1,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0;0,0,0,0,0,1,0,0,0;0,1,0,0,0,0,1,0,0;0,0,0,0,0,0,0,0,1}
> eval R_Luedkepohl
> matrix
R={1,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0;0,0,0,0,0,1,0,0,0;0,0,0,0,0,0,1,0,0;0,0,0,0,0,0,0,0,1}
> eval R
> matrix R_orth={0,0,0;1,0,0;0,0,0;0,1,0;0,0,0;0,0,0;0,0,0;0,0,1;0,0,0}
> eval R_orth
> eval R*R_orth
> matrix d ={1;0;1;0;0;1}
> matrix Rd=R~d
> eval imp2exp(Rd)
> matrix s = R'invpd(R*R')*d
> eval abs(nullspace(R))~s
> <hansl>
>
> Cheers
> Leon
> <cesifo1_wp1651.pdf>