DynareをMATLABで動かすための環境構築について / プログラミング

 DynareとMATLABの環境構築の方法と、簡単なDynareの解説を行う。これはラムゼイ・モデル、ニューケインジアン・モデルといった動学的最適化を含むマクロ経済学のモデルをシミュレーションする際に必要になる。ここで役立つのがDynareである。Dynareは、MATLABかOctave上で起動する。MATLABはよく使われており、高額なソフトだが大学がライセンスをとっている場合も多い。なお、無料でMATLABっぽいソフトを使いたい人は「DynareをOctaveで動かすための環境構築について」を読んでほしい。

 解説は4つの手順に分けて行う。

(1)Dynareのインストール

(2)MATLABのインストール

(3)DynareのMATLABでの動作確認

(4)簡単なコードの解説

 

 Dynare環境の構築ができれば、マクロ経済学の知識とDynareのコードのちょっとした知識で、上級なマクロ経済モデルのシミュレーションが実行できるようになる

【参考資料】

『動学マクロ経済学へのいざない』サポートページ

(1)Dynareのインストール

対象者:Macユーザー

非対象者:Windowsユーザー(→「Dynare.org」から頑張ってください。)

 DynareをPCにインストールしよう。

(1)−1.「Dynare.org」に行き「Download」をクリックしよう。WEBサイトが適切なダウンロードページに導いてくれる。

(1)ー2.「Dynare X.X」をクリックしてダウンロードしよう。Macについてだが、アップル製半導体のM1チップ、M2チップを使っている人はarm64、少し前モデルでインテル製半導体を使っている人はx86-64を選ぼう。

(1)ー3.Safari右上のダウンロードにある「dynare-5.5-arm64.pkg」をクリックする。すると「“dynare-5.5-arm64.pkg”は、開発元が未確認のため開けません。このアプリケーションにマルウェアが含まれていないことを検証できません。」との表示がある。なお「5.5-arm64」はdynareのバージョンと半導体の名前であるから気にしなkてよい。

(1)ー4.Macの「設定」を開き、次のブロック報告メッセージを見つける。「設定」>「プライバシーとセキュリティ」>「セキュリティ」>「“dynare-5.5-arm64.pkg”は、開発元を確認できないため、使用がブロックされました。」 ここで「このまま開く」をクリックする。

(1)ー5.「ようこそdynare-X.X-arm64のインストローラへ」というタブが現れるので「続ける」「続ける」「同意する」「インストール」とクリックする。いらなくなったインストローラはゴミ箱に入れてOKです。

(1)ー6.「Finder」から「Applications」を見ると「Dynare」がインストールされている。Dynareについてやることは一旦これで終わりである。

(1)ー7.気になる人はDynareフォルダをクリックして、中身をチェックしてみよう。後ほど、この中にある「examples」というフォルダにあるプログラムを実際に実行してみる。

(2)MATLABのインストール

対象者:Macユーザー、Windowsユーザー

代替案:MATLABではなくOctaveを使う→「DynareをOctaveで動かすための環境構築について」

 MATLABは高額なソフトウェアである。所属組織がライセンス契約をしている場合は、それを使うべきだ。東大生なら「UTokyo MATLAB Campus-Wide License」を使ってタダでインストールすることができる。

(3)DynareのMATLABでの動作確認

対象者:Macユーザー、Windowsユーザー

 Dynareには最初からテスト用コードがexampleフォルダに格納されている。「example1.mod」を実行してみよう。

 MATLABやOctaveでDynareを動かすには次の3つの手順が必要である。なお、MATLABやOctaveもコードは同じである。

(3)−1.パスを通す:マクロ経済モデルを解くためのプログラム(=Dynare)が格納されている場所を教える。

(3)−2.作業ディレクトリを設定する:入力するファイルがある場所、出力されたファイルを入れる場所を教える。

(3)−3.modファイルを実行する:具体的な入力するファイルを教える。

(3)−1.パスを通す

 MATLABからDynareにパスを通すには、手動かコードかの2つの方法がある。

・手動の場合

 手動ならば、まず画面上部の「ホーム」>「環境」>「パスの設定」をクリックする。その次に「フォルダの追加」をクリックし、「アプリケーション」>「Dynare」>「5.5-arm64(←他の場合もある。バージョンと半導体の名前)」>「matlab」と選び、「開く」をクリックする。そして「保存」する。

・コードの場合

 コードを用いる場合は、コマンドウィンドウに書く。次のように「addpath」に続けてDynareのmatlabフォルダまでのパスを繋いでやる。フォルダの位置は、MATLAB上部のフォルダ名がずらずら書いてあるところをクリックすると得ることができる。この位置指定は入れ子構造になっていて「/東京都/千代田区/永田町/・・・」のようになっている。ここでは「アプリケーション」>「Dynare」>「5.5-arm64」>「matlab」の意味で、次のようにコードを書く。

addpath  /Applications/Dynare/5.5-arm64/matlab

(3)−2.作業ディレクトリの設定

 MATLABの作業ディレクトリを設定するのも、手動かコードかの2つの方法がある。

・手動の場合

 画面左の「現在のフォルダ」を上部のフォルダを操作して、設定したい作業ディレクトリを選べばよい。今回動かしたいファイルは「アプリケーション」>「Dynare」>「5.5-arm64」>「examples」である。これを選べばよい。他にも自由に作業ディレクトリを設定することができる。

・コードの場合

 コードを用いる場合は、コマンドウィンドウに書く。次のように「cd」に続けて、設定したい作業ディレクトリを指定する。今回は「Applications」>「Dynare」>「5.5-arm64」>「examples」なので、次のようにセットする。

cd  /Applications/Dynare/5.5-arm64/examples

(3)−3.modファイルの実行

 XXX.modファイルを実行したいならば、コマンドウィンドウに「dynare XXX.mod」か「dynare XXX」と入力してエンターを押せばよい。

 今回はexample1.modを実行したいので、次のコードを書いて、エンターを押す。

dynare example1

 グラフが出てきたら成功である。

(4)簡単なコードの解説

対象者:Macユーザー、Windowsユーザー

 example1.modは、次の要素で構成されている。ただし、実際のコーディングは具体的なマクロ経済モデルと同時に扱うのがよいだろう。

var //内生変数
varexo //ショックを与える外生変数
parameters //パラメーター(定数)
model  //モデル
initval //初期値
shocks  //ショック
stoch_simul  //インパルス応答のグラフ化

 example1.modの全体。

var y, c, k, a, h, b;
varexo e, u;

parameters beta, rho, alpha, delta, theta, psi, tau;

alpha = 0.36;
rho   = 0.95;
tau   = 0.025;
beta  = 0.99;
delta = 0.025;
psi   = 0;
theta = 2.95;

phi   = 0.1;

model;
c*theta*h^(1+psi)=(1-alpha)*y;
k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
    *(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));
k = exp(b)*(y-c)+(1-delta)*k(-1);
a = rho*a(-1)+tau*b(-1) + e;
b = tau*a(-1)+rho*b(-1) + u;
end;

initval;
y = 1.08068253095672;
c = 0.80359242014163;
h = 0.29175631001732;
k = 11.08360443260358;
a = 0;
b = 0;
e = 0;
u = 0;
end;

shocks;
var e; stderr 0.009;
var u; stderr 0.009;
var e, u = phi*0.009*0.009;
end;

stoch_simul;