From deec7ca583b04380bb1f85fadf7b9e259f7b1d40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Tue, 19 Jun 2018 14:05:34 +0200
Subject: [PATCH] Added new example.

This example allows to test that:

1. the routines are working as expected if the VAR equations are
preceeded by other equations.

2. the simulation algorithm is working if the PAC equation is
augmented by an endogenous variables (exogenous wrt the auxiliary
model model).
---
 examples/8/clean       |  7 ++++
 examples/8/example.mod | 82 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+)
 create mode 100755 examples/8/clean
 create mode 100644 examples/8/example.mod

diff --git a/examples/8/clean b/examples/8/clean
new file mode 100755
index 0000000000..19ca1948b4
--- /dev/null
+++ b/examples/8/clean
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+rm -rf example
+rm  -f example*.json
+rm -f example*.m
+rm -f example*.mat
+rm -f example.log
\ No newline at end of file
diff --git a/examples/8/example.mod b/examples/8/example.mod
new file mode 100644
index 0000000000..ce35414ba6
--- /dev/null
+++ b/examples/8/example.mod
@@ -0,0 +1,82 @@
+// --+ options: json=compute, stochastic +--
+
+var x1 x2 x1bar x2bar z y;
+
+varexo ex1 ex2 ex1bar ex2bar ez ey;
+
+parameters
+       rho_1 rho_2
+       a_x1_0 a_x1_1 a_x1_2 a_x1_x2_1 a_x1_x2_2
+	   a_x2_0 a_x2_1 a_x2_2 a_x2_x1_1 a_x2_x1_2
+	   e_c_m c_z_1 c_z_2 gamma beta ;
+
+rho_1 = .9;
+rho_2 = -.2;
+
+a_x1_0 =  -.9;
+a_x1_1 =  .4;
+a_x1_2 =  .3;
+a_x1_x2_1 = .1;
+a_x1_x2_2 = .2;
+
+
+a_x2_0 =  -.9;
+a_x2_1 =   .2;
+a_x2_2 =  -.1;
+a_x2_x1_1 = -.1;
+a_x2_x1_2 = .2;
+
+beta  =  .2;
+e_c_m =  .5;
+c_z_1 =  .2;
+c_z_2 = -.1;
+
+gamma =  .7;
+
+var_model(model_name=toto, eqtags=['eq:x1', 'eq:x2', 'eq:x1bar', 'eq:x2bar']);
+
+pac_model(var_model_name=toto, discount=beta, model_name=pacman, undiff('eq:x1', 1), undiff('eq:x2', 1));
+
+model;
+
+[name='eq:y']
+y = rho_1*y(-1) + rho_2*y(-2) + ey;
+
+[name='eq:x1', data_type='nonstationary']
+diff(x1) = a_x1_0*(x1(-1)-x1bar(-1)) + a_x1_1*diff(x1(-1)) + a_x1_2*diff(x1(-2)) + a_x1_x2_1*diff(x2(-1)) + a_x1_x2_2*diff(x2(-2)) + ex1;     
+
+[name='eq:x2', data_type='nonstationary']
+diff(x2) = a_x2_0*(x2(-1)-x2bar(-1)) + a_x2_1*diff(x1(-1)) + a_x2_2*diff(x1(-2)) + a_x2_x1_1*diff(x2(-1)) + a_x2_x1_2*diff(x2(-2)) + ex2;     
+
+[name='eq:x1bar', data_type='nonstationary']
+x1bar = x1bar(-1) + ex1bar;
+
+[name='eq:x2bar', data_type='nonstationary']
+x2bar = x2bar(-1) + ex2bar;
+
+[name='eq:pac']
+diff(z) = gamma*(e_c_m*(x1(-1)-z(-1)) + c_z_1*diff(z(-1))  + c_z_2*diff(z(-2)) + pac_expectation(pacman)) + (1-gamma)*y + ez;
+
+end;
+
+shocks;
+    var ex1 = 1.0;
+    var ex2 = 1.0;
+    var ex1bar = 1.0;
+    var ex2bar = 1.0;
+    var ez = 1.0;
+    var ey = 0.1;
+end;
+
+// Build the companion matrix of the VAR model (toto).
+get_companion_matrix('toto', 'pacman');
+
+// Update the parameters of the PAC expectation model (h0 and h1 vectors).
+pac.update.equation('pacman');
+
+// Set initial conditions to zero. Please use more sensible values if any...
+initialconditions = dseries(zeros(10, M_.endo_nbr+M_.exo_nbr), 2000Q1, vertcat(M_.endo_names,M_.exo_names));
+
+// Simulate the model for 500 periods
+TrueData = simul_backward_model(initialconditions, 500);
+
-- 
GitLab