diff --git a/tests/particle/DSMH.mod b/tests/particle/DSMH.mod new file mode 100644 index 0000000000000000000000000000000000000000..c75ae7ea2cc77c7a156cab9d99d8f631ea054ecc --- /dev/null +++ b/tests/particle/DSMH.mod @@ -0,0 +1,91 @@ +/* + * Copyright © 2004-2025 Dynare Team + * + * This file is part of Dynare. + * + * Dynare is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Dynare is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Dynare. If not, see <https://www.gnu.org/licenses/>. + * + */ + + +var k A c l i y; +varexo e_a; + +parameters alp bet tet tau delt rho ; +alp = 0.4; +bet = 0.99; +tet = 0.357 ; +tau = 50 ; +delt = 0.02; +rho = 0.95; + +model; + c = ((1 - alp)*tet/(1-tet))*A*(1-l)*((k(-1)/l)^alp) ; + y = A*(k(-1)^alp)*(l^(1-alp)) ; + i = y-c ; + k = (1-delt)*k(-1) + i ; + log(A) = rho*log(A(-1)) + e_a ; + (((c^(tet))*((1-l)^(1-tet)))^(1-tau))/c - bet*((((c(+1)^(tet))*((1-l(+1))^(1-tet)))^(1-tau))/c(+1))*(1 -delt+alp*(A(1)*(k^alp)*(l(1)^(1-alp)))/k)=0 ; +end; + +steady_state_model; + k = -(alp-1)*(alp^(1/(1-alp)))*(bet^(1/(1-alp)))*((bet*(delt-1)+1)^(alp/(alp-1)))*tet/(-alp*delt*bet+delt*bet+alp*tet*bet-bet-alp*tet+1); + l = (alp-1)*(bet*(delt-1)+1)*tet/(alp*tet+bet*((alp-1)*delt-alp*tet+1)-1) ; + y = (k^alp)*(l^(1-alp)) ; + i = delt*k ; + c = y - i ; + A = 1; +end; + +shocks; + var e_a; stderr 0.035; +end; + +steady; + +estimated_params; + alp, uniform_pdf,,, 0.0001, 0.99; + bet, uniform_pdf,,, 0.0001, 0.99999; + tet, uniform_pdf,,, 0.0001, .999; + tau, uniform_pdf,,, 0.0001, 100; + delt, uniform_pdf,,, 0.0001, 0.05; + rho, uniform_pdf,,, 0.0001, 0.9999; + stderr e_a, uniform_pdf,,, 0.00001, 0.1; + stderr y, uniform_pdf,,, 0.00001, 0.1; + stderr l, uniform_pdf,,, 0.00001, 0.1; + stderr i, uniform_pdf,,, 0.00001, 0.1; +end; + +estimated_params_init; + alp, 0.4; + bet, 0.99; + tet, 0.357; + tau, 50; + delt, 0.02; + rho, 0.95; + stderr e_a, .035; + stderr y, .001; + stderr l, .001; + stderr i, .001; +end; + +varobs y l i ; + +// simulate the dataset +set_dynare_seed(123456); +stoch_simul(order=5,periods=1000,noprint,nograph); +ds = dseries(oo_.endo_simul','1Y',M_.endo_names); +data(series=ds,first_obs=801Y,nobs=200); + +estimation(order=1,posterior_sampling_method='dsmh',posterior_sampler_options=('particles',10000));