OctaveでDynareを動かそう!(連載:仲田泰祐「ゼロ金利制約下の金融政策」付録)
『経済セミナー』2020年12月・2021年1月号から、 仲田泰祐先生(東京大学大学院経済学研究科および公共政策大学院准教授)による新連載、
「ゼロ金利制約下の金融政策:FRBの政策運営」
がスタートしました!
第1回は「理論と政策の交差点」と題して、まず本連載のねらいや想定する読者、予定している連載プランをご紹介しました(★連載第1回の試し読みは【こちら】)。
また、連載第1回では基本的な本連載の土台となる「ニューケインジアン・モデル(NKモデル)」の紹介と、本格的に本連載に入る前の2つの準備運動として、「2つの定常状態」「マイナス金利の効果」の分析例のご紹介も行っています。
この準備運動でも登場しましたが、本連載では、MathWorks社が提供する「MATLAB」という数値計算等を行うためのソフトウェアと、その上で動く「Dynare」というフリーのツールを活用して、NKモデルを数値的に解析する例を紹介していきます。Dynareは、さまざまな経済モデル、特に動学的一般均衡(DSGE)モデルなどを処理するためのソフトウェア・プラットフォームです。
本連載で扱ったサンプルコードなどの付録は、本連載のサポートウェブサイトからダウンロードいただけますので、ぜひご覧下さい!
連載第1回の注8でも触れたとおり、Dynareは、MATLABのほかにも、「Octave」というフリーの数値計算用ソフトウェアで動かすことができます。
Octaveを使えば、MATLABをすぐに活用できる環境にない読者の皆さまも、すぐに本連載のサポートページから分析用のサンプルコードをダウンロードしてご利用いただくことができます。
そこで、この投稿ではOctaveを用いて、Dynareでコードを動かすところまでをご案内します。
■Octaveのダウンロードとインストール
Octave は、数値計算などを目的とした高水準のプログラミング言語です。 MATLABとの高い互換性も特徴的です。MATLABのコードが書かれた「xxx.m」(mファイル)も同様に扱うことができる場合が多いですが、完全に互換しているわけではないので注意が必要です。
Octaveのダウンロードは、以下の「GNU Octave」のウェブサイトからダウンロードできます。ご自身のOS環境などにあわせてインストーラをダウンロードして、指示に従ってインストールしてください。なお、編集部ではWindows 64bit版のversion 5.2.0を利用しています。
同ウェブサイトでは、利用マニュアルなどのドキュメントやサンプルコードなども活用できます。また、Octaveの扱い方については日本語の資料も含めてネットでたくさん閲覧することができるので、「Octave 使い方」などで検索して探してみてください。
インストールに成功してOctaveを立ち上げると、以下のような画面が出てきます。インストール後に立ち上げてチェックしてみてください。
■Dynareのダウンロードとインストール
次に、Dynareのインストーラをダウンロードして、インストールします。Dynareの公式サイトは以下で、そこからご自身のOS等の環境にあわせてダウンロードしてください。なお、編集部ではWindows版のversion 4.6.1を使っています。
ウェブサイトにはバージョンに関する注意も明記されています。たとえば、Windows版では2020年11月24日現在の最新バージョンである4.6.2に対して、「Compatible with Windows (7, 8.1, 10), MATLAB (R2009b and later) and GNU Octave (5.2.0 only, 64-bit or 32-bit)」といった注意が記載されています。ご自身の環境をよくお確かめのうえ、ご利用ください。
■OctaveでDynareを実行
OctaveとDynareがインストールされたので、次はいよいよOctaveを使ってDynareを動かしてみましょう。
なお、OctaveとDynareのコードは、テキストファイルです。適当なテキストエディタで開けば中身を確認することができますが、Octaveのコードが書かれたファイルの拡張子は「.m」(MATLABと同じ)であり、Dynareのコードは「.mod」となります。
さて、Octaveを立ち上げてみると、以下のような画面になります。
また、動作のテスト用ファイルとして、Octaveの「main_test1.m」、Dynareの「test1.mod」を使いますので、このファイル名の部分をクリックしてダウンロードし、ご自身のパソコンの適当な場所に保存してください。
ここでは、「C:\test」というフォルダに2つのファイルが置かれていて、Octaveで「現在のディレクトリ」になっているとします。
実際には「コマンドウィンドウ」に、
cd *****
と打ち込んで、ファイルを置いたフォルダへ移動してください。ただし、「*****」の部分には、ご自身のフォルダの場所を入力してください。
テスト用ファイルが2つ置かれたフォルダの場所が「現在のディレクトリ」になっていると、画面左上の「ファイルブラウザ」に2つのファイルが表示されています。ここで「main_test1.m」をダブルクリックする(あるいは右クリックして「開く」を選ぶ)と、以下の画面のように、Octaveのエディタでこのファイルが立ち上がります。
このmファイルに書かれているのは、以下の2行です。
addpath c:\dynare\4.6.1\matlab %dynareにパスを通す
dynare test1 %「test1.mod」というファイルのdynareコードを実行する。
「%」より右側はOctaveが無視するメモ(コメント)で、実行される命令はその左側です。
1行目の「addpath...」は、OctaveにDynareのパスを通す(Dynareが置かれている場所を教える)作業です。編集部では4.6.1を使っているのでその番号が記載されています。ご自身がDynareをインストールした場所を確認して、「dynare」の「4.6.1(ご自身でダウンロードしたDynareのバージョン番号)」の「matlab」というフォルダを指定してください。また、Octaveを立ち上げてDynareを2回目以降に実行する場合は、「addpath...」の命令は不要です。
2行目の「dynare test1」は、先ほどダウンロードしていただいた「test1.mod」という名前のmodファイルを「dynareで実行せよ」という命令です。
次に、エディタ内のアイコンが並んでいる場所の右から2つ目(赤丸の左のアイコン)をクリックすると、コードが実行されます。エディタの内容をコピーして、「コマンドウィンドウ」に貼り付けてエンターキーを押しても実行することができます。
インストール等に成功していると、mファイルを通じてmodファイルがDynareで実行されて、以下のような計算結果が「コマンドウィンドウ」に、グラフが別ウィンドウに表示されます(【注意】これはあくまで動作確認のテスト用ファイルなので、内容は気になさらないでください)。
また、「ワークスペース」に計算により格納された変数が記録されています。
加えて、「ファイルブラウザ」を見ると、実行後に生成されたファイルが新たに保存されていることがわかります。
■おわりに
以上で、OctaveでDynareを動かすことができるようになりました。MATLABを利用できる環境にない場合でも、本連載で使うMATLABやDynareのコードをお手元のパソコンで実行することができると思います。
実際に、連載第1回の第4節「準備運動(2):マイナス金利の効果」で使うコード【mファイル (main_elb.m) ; modファイル (linear_nk.mod)】を動かしてみると、こんな感じで出力されます。
繰り返しになりますが、本連載で使ったサンプルコードなどは、以下の本連載のサポートウェブサイトからダウンロードいただけますので、ぜひサイトを覗いてみてください!
第1回のサポートサイト画面は以下のようになっており、サンプルコードだけでなく、NKモデルの詳細な解説や、線形近似に関する詳しい解説資料もアップロードされています!
【ご注意】
本投稿や本連載の内容、およびサンプルコード等の資料は、情報の提供のみを目的としていますので、運用につきましては十分にご確認をいただき、お客様ご自身の責任とご判断によって行ってください。これらの情報の運用結果により損害等が生じた場合でも、日本評論社および著者はいかなる責任を負うこともできませんので、ご留意ください。