From 91e041d70429c7fd8db60e394ef8506f30fe7968 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien.villemot@ens.fr>
Date: Tue, 15 May 2012 18:38:00 +0200
Subject: [PATCH] Add unit test for purely forward models

---
 tests/Makefile.am                            |  1 +
 tests/deterministic_model_purely_forward.mod | 54 ++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 tests/deterministic_model_purely_forward.mod

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0008a757bc..34d2e653a2 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,6 +26,7 @@ MODFILES = \
 	histval_sto.mod \
 	histval_det.mod \
 	auxiliary_variables/test1.mod \
+	deterministic_model_purely_forward.mod \
 	expectations/expectation.mod \
 	expectations/expectation_ss.mod \
 	expectations/expectation_ss_old.mod \
diff --git a/tests/deterministic_model_purely_forward.mod b/tests/deterministic_model_purely_forward.mod
new file mode 100644
index 0000000000..c13e5e0559
--- /dev/null
+++ b/tests/deterministic_model_purely_forward.mod
@@ -0,0 +1,54 @@
+var y i pi rbar ;
+
+varexo r tauw taus taua gn;
+
+parameters khia khiw khis phipi phiy taubs taubw tauba w sigma psi kappa alpha mu beta teta;
+
+teta = 12.7721;
+sigma = 1.1599;
+beta = 0.9970;
+alpha = 0.7747;
+mu = 0.9030;
+taubs = 0.05;
+taubw = 0.02;
+tauba = 0;
+w = 1.5692;
+phipi = 1.5;
+phiy = 0.5/4;
+
+khia = (1-beta)/(1-tauba);
+khiw = 1/(1-taubw);
+khis = 1/(1+taubs);
+psi = 1/(sigma + w);
+kappa = (1-alpha)*(1-alpha*beta)*(sigma+w)/(alpha*(1+w*teta));
+
+model(linear);
+y = y(+1)-sigma*(i-pi(+1)-r)+(gn-gn(+1))+(sigma)^-1*khis*(taus(+1)-taus)+sigma*khia*taua;
+
+pi=kappa*y+kappa*psi*(khiw*tauw+khis*taus-sigma*gn)+beta*pi(+1);
+
+i=max(0,r+phipi*pi+phiy*y);
+
+rbar = -((kappa*phipi+(1-beta*mu)*phiy)*sigma^-1*khia*taus)/((1-mu+sigma^-1*phiy)*(1-beta*mu)+kappa*sigma^-1*(phipi-mu))
+- (((1-mu)*kappa*psi*phipi+sigma^-1*mu*kappa*psi*phiy)*khiw*tauw)/((1-mu+sigma^-1*phiy)*(1-beta*mu)+kappa*sigma*(phipi-mu))
+-(kappa*sigma*(1-mu)*(sigma^-1-psi)*phipi+((1-mu)*(1-beta*mu)-kappa*psi*mu)*phiy)*(gn-sigma^-1*khis*taus)/((1-mu-sigma^-1*phiy)*(1-beta*mu)+kappa*sigma^-1*(phipi-mu));
+
+end;
+
+initval;
+y=0;
+i=-log(beta);
+pi=0;
+rbar = 0;
+end;
+
+steady;
+check;
+
+shocks;
+var r;
+periods 1:9;
+values -0.0104;
+end;
+
+simul(periods=2100);
-- 
GitLab