MAMO podzim 2013 Přednáška 9 Lit: Dynare dokumentace Dynare Všechno o programu Dynare se dá najít na www.dynare.org. Stáhnout toolbox z webu nebo ve škole je na disku Q:\Matlab_Toolbox\dynare\. V adresáři doc najdete dokumentaci guide.pdf nebo UserGuide.pdf. Po stažení je třeba nastavit cestu (File - Set Path - Add with Subfolders) nebo nasát do příkazového řádku q:\\Matlab_Toolbox\dynare\4.1.3\matlab Pro naše účely je ještě potřeba mít soubor disp_dr.m v adresáři, kde pracujeme, případně k němu nastavit cestu. Soubor si stáhněte z mého webu nebo stránky Woutera DenHaana. Dynare kód Dynare pracuje s vlastním typem souboru .mod file. Zvláštnosti • komentář se píše za // • konec řádku (bloku kódu) musí být označen pomocí ; • Preambule — definování endogenních proměnných var 1 — definování exogennich proměnných varexo — definování parametrů a steady statových hodnoty parameters • Tělo modelu mezi model; a end; — proměnná v čase t bez označení — proměnná v čase t + 1 se označí c(+l) — proměnná v čase t — 1 obdobně c(-l) • ALE! v Dynaru je důležité, kdy je proměnná vybraná. Proměnná vybraná v čase t mít tomu odpovídající označení (tedy í). — naše kt+\ vybíráme v čase t, v Dynare kódu je brána jako kt tedy k — naše kt vybíráme v čase t — 1, v Dynare kódu je brána jako kt-\ tedy k(-l) • steady; vypočítá steady state • check; zkontroluje, zda existuje (jediné) řešení modelu • shocks; a end; definování exogennich promměnných a jejich rozptylu (směrodatné odchlyky) • příkaz stoch_simul (. . .); udělá, co se mu řekne. Simulace, impulsní odezvy, spočítá momenty, varianční dekompozice atd. My si necháme najít pouze rozhodovací pravidlo - decision rule (Dynare mu říká policy function). Zbytek si uděláme sami. -•-Šok v technologii (TFP) byl v našem modelu exogénni stavovou proměnnou. Zde je endogenní proměnnou, exogénni proměnnou je pouze inovace (disturbance) tt 1 Linearizované rohodovací pravidlo kt-k = afcjfc(/ít_i — k) + ak^z(zt_x -ž)+ afcjeet případně v odchylkách h — a,k,kh-i + a,k,zzt-i + a,k,eet Dynare ale používá tento zápis: kt = k + aktk(kt-i -k) + aktZ(zt-i -z)+ afcjeet Aby rozhodovací pravidlo vypadalo stejně jak Dynare vypíše na obrazovce, použijeme soubor disp_dr. m. Spuštění Dynare souboru, stačí napsat do příkazového řádku dynare nazev_souboru.mod. (Dynare sám vytvoří několik m.rile, který pak Matlab spouští ... nazev_souboru.m, nazev_souboru_static .m, nazev_souboru_dynamic.m ) Const odpovídá steady statové hodnotě, k(-l) je defakto odchylka od steady státu kt-i — k. Využijeme jen rozhodovací pravidlo (vše ostatní si uděláme sami). Funkce disp_dr.m uloží rozhodovací pravidlo (v podobě jako je na obrazovce) do matice decision.m, která je uložená v souboru dynarerocks.mat Pozor! Pořadí proměnných v rozhodovacím pravidle je podle definice v preambuli .mod souboru nebo podle pořadí za příkazem stoch_simul(. . .) proměnné;. Rozhodovací pravidlo pro každou proměnnou odpovídá sloupci v matici decision.m Vlastní kód Vytvoříme si vlastní m.rile. Struktura: • indexování proměnných dle matice decision • předdefinování proměnných a šoků • cyklus pro šok a další proměnné (impulsní odezva, šok jen ve jednom období • vykreslení Modifikace • Model s investicemi. • Simulace (spočítání statistik) • Model s nedělitelnou nabídkou práce (indivisible labor) • Změna hodnoty parametru v cyklu Simulace modelu pro různé hodnoty parametru, např. p. Místo jedné hodnoty vytvoříme vektor hodnot po 0.04, od 0.04 pro 1. Prozkoumáme, jak se chová y v reakci na persistenci v šoku (p). Dynare umí všechno možné. Ale někdy je lepší přístup udělej si sám, viz. loop výše. Příkaz stoch_simul (periods=1000, irf=100) nasimuluje chování modelu v reakci na 1000 šoků a udělá impulsní odezvy pro délku 100. Statistiky vypíše na obrazovku a vše uloží do strukturované matice oo_. Umí i odhadovat pomocí metody maximální věrohodnosti nebo Bayesovskými metodami. Co dál? Na webu existuje databáze modelů z různých článků a studií, které jsou přepsané do Dynare kódu. http://www.macromodelbase.com/. Stačí se zaregistrovat, stáhnout si je a můžete s nimi pracovat dle libosti. Neexistuje pouze Dynare. Něco podobného umí např. IRIS http://www.iris-toolbox.com/ 2