MAMO podzim 2016 Přednáška 13 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 napsat do příkazového řádku addpath 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í exogenních 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í, c — 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áno jako kt tedy k — naše kt vybíráme v čase t — 1, v Dynare kódu je bráno jako kt—i tedy k(-l) • steady; vypočítá steady state • check; zkontroluje, zda existuje (jediné) řešení modelu • shocks; a end; definování exogenních 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) et 1 Linearizované rohodovací pravidlo kt-k = aktk(kt-i -k) + aktZ(zt-i - z) + afej£et případně v odchylkách h = ak,kkt-i + ak,zzt-i + ak,cĚt Dynare ale používá tento zápis: kt = k + aktk(kt-i -k)+ aktZ(zt-i - z) + afej£et 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) značí devakto odchylku od steady státu kt- \ —k. Čísla v maticích odpovídají parametrům akjc, aktZ atd. 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í Dynare umí všechno možné. Ale někdy je lepší přístup udělej si sám 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. 2