全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1451 2
2021-04-04
<!-- markdown css tag --><div class="pinggu_markdown">
<div class="pinggu_markdown__html"><blockquote>
<p>do it best , economy and management.<br>
Author :     Daniel tulips liu .<br>
University :  Renmin Universtiy of China.<br>
Copyright ©  Andrea Gazzani (based on the original codes of  FORNI, GAMBETTI, LIPPI AND SALA)</p>
</blockquote>
<h2 id="a-dsge-model-use-python">A DSGE Model use Python</h2>
<p>我了显示的格式更美观,必须要打字一部分,占用帖子的前面部分。<br>
很久没有能发 MARKDOWN 格式的帖子了,<br>
没想到今天又能发;</p>
<p>挺不错的。</p>
<p>嘿嘿。</p>
<p><mark>NEWS AND NOISE SHOCKS IN HOUSING MARKET</mark></p>
<h2 id="codes">codes</h2>
<pre class=" language-c"><code class="prism  language-c"><span class="token operator">%</span><span class="token operator">%</span> Baseline results in <span class="token string">"NEWS AND NOISE SHOCKS IN HOUSING MARKET"</span> by Andrea <span class="token function">Gazzani</span> <span class="token punctuation">(</span>based on the original codes of
<span class="token operator">%</span><span class="token operator">%</span> FORNI<span class="token punctuation">,</span> GAMBETTI<span class="token punctuation">,</span> LIPPI AND SALA<span class="token punctuation">)</span>

clc<span class="token punctuation">;</span> close all<span class="token punctuation">;</span> clear all<span class="token punctuation">;</span>
tic
<span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultUicontrolFontName'</span><span class="token punctuation">,</span><span class="token string">'Palatina'</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultUitableFontName'</span><span class="token punctuation">,</span><span class="token string">'Palatina'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultAxesFontName'</span><span class="token punctuation">,</span><span class="token string">'Palatina'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultTextFontName'</span><span class="token punctuation">,</span><span class="token string">'Palatina'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultUipanelFontName'</span><span class="token punctuation">,</span><span class="token string">'Palatina'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span><span class="token number">&#48;</span><span class="token punctuation">,</span><span class="token string">'defaultlinelinewidth'</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">addpath</span><span class="token punctuation">(</span><span class="token function">genpath</span><span class="token punctuation">(</span><span class="token string">'Auxiliaries'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token operator">%</span><span class="token operator">%</span> Load and prepare data

VARvnames_long <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">'Rents'</span><span class="token punctuation">;</span><span class="token string">'Housing Prices'</span><span class="token punctuation">;</span><span class="token string">'GDP'</span><span class="token punctuation">;</span><span class="token string">'Residential Investment'</span><span class="token punctuation">;</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    <span class="token string">'Bba Corp Bond Yield'</span><span class="token punctuation">;</span><span class="token string">'S&amp;P Composite Index'</span><span class="token punctuation">;</span><span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token operator">%</span> define var names
VARvnames <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">'rents_fred_raw_rentonly'</span><span class="token punctuation">;</span><span class="token string">'hp_av_census'</span><span class="token punctuation">;</span><span class="token string">'rgdp'</span><span class="token punctuation">;</span> <span class="token string">'resinv'</span><span class="token punctuation">;</span> <span class="token string">'BAA_yield'</span><span class="token punctuation">;</span> <span class="token string">'sp'</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
VARnvar <span class="token operator">=</span> <span class="token function">length</span><span class="token punctuation">(</span>VARvnames<span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token punctuation">[</span>xlsdata<span class="token punctuation">,</span> xlstext<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">xlsread</span><span class="token punctuation">(</span><span class="token string">'\DataSet_NewsNoise.xlsx'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> load data
data   <span class="token operator">=</span> <span class="token function">Num2NaN</span><span class="token punctuation">(</span><span class="token function">xlsdata</span><span class="token punctuation">(</span><span class="token number">65</span><span class="token punctuation">:</span>end<span class="token number">-1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">:</span>end<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
dates <span class="token operator">=</span> <span class="token function">xlstext</span><span class="token punctuation">(</span><span class="token number">7&#48;</span><span class="token punctuation">:</span>end<span class="token number">-1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
vnames <span class="token operator">=</span> <span class="token function">xlstext</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">:</span>end<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> ii<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">:</span><span class="token function">length</span><span class="token punctuation">(</span>vnames<span class="token punctuation">)</span>
    DATA<span class="token punctuation">.</span><span class="token punctuation">(</span>vnames<span class="token punctuation">{</span>ii<span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token function">data</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ii<span class="token punctuation">)</span><span class="token punctuation">;</span>
end

DATA<span class="token punctuation">.</span>rents_fred_raw_rentonly <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>rents_fred_raw_rentonly<span class="token punctuation">.</span><span class="token operator">/</span><span class="token punctuation">(</span>DATA<span class="token punctuation">.</span>pce_ipd<span class="token punctuation">.</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>pop<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real rents
DATA<span class="token punctuation">.</span>rents_cpi <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>rents_cpi<span class="token punctuation">.</span><span class="token operator">/</span><span class="token punctuation">(</span>DATA<span class="token punctuation">.</span>pce_ipd<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real rents
DATA<span class="token punctuation">.</span>shiller_hp <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>shiller_hp<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real HP <span class="token operator">-</span> Shiller
DATA<span class="token punctuation">.</span>hp_med_census <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>hp_med_census<span class="token punctuation">.</span><span class="token operator">/</span>DATA<span class="token punctuation">.</span>ipd<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real HP <span class="token operator">-</span> Census
DATA<span class="token punctuation">.</span>hp_av_census <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>hp_av_census<span class="token punctuation">.</span><span class="token operator">/</span>DATA<span class="token punctuation">.</span>ipd<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real HP <span class="token operator">-</span> Census
DATA<span class="token punctuation">.</span>sp <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>sp<span class="token punctuation">.</span><span class="token operator">/</span>DATA<span class="token punctuation">.</span>ipd<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real SP
DATA<span class="token punctuation">.</span>rgdp <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>rgdp<span class="token punctuation">.</span><span class="token operator">/</span>DATA<span class="token punctuation">.</span>pop<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real per capita GDP
DATA<span class="token punctuation">.</span>resinv <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>resinv<span class="token punctuation">.</span><span class="token operator">/</span><span class="token punctuation">(</span>DATA<span class="token punctuation">.</span>ipd_resinv<span class="token punctuation">.</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>pop<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> real per capita Res Inv
DATA<span class="token punctuation">.</span>hstarts <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>hstarts<span class="token punctuation">)</span><span class="token punctuation">;</span>
DATA<span class="token punctuation">.</span>hpermits <span class="token operator">=</span> <span class="token function">log</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span>DATA<span class="token punctuation">.</span>hpermits<span class="token punctuation">)</span><span class="token punctuation">;</span>

nobs <span class="token operator">=</span> <span class="token function">size</span><span class="token punctuation">(</span>data<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
ENDO <span class="token operator">=</span> <span class="token function">nan</span><span class="token punctuation">(</span>nobs<span class="token punctuation">,</span>VARnvar<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> ii<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">:</span>VARnvar
    <span class="token function">ENDO</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ii<span class="token punctuation">)</span> <span class="token operator">=</span> DATA<span class="token punctuation">.</span><span class="token punctuation">(</span>VARvnames<span class="token punctuation">{</span>ii<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
end

Data <span class="token operator">=</span> ENDO<span class="token punctuation">;</span>

<span class="token operator">%</span><span class="token operator">%</span> Parameters

ll<span class="token operator">=</span> <span class="token number">4&#48;</span><span class="token punctuation">;</span>
npc<span class="token operator">=</span><span class="token number">&#48;</span><span class="token punctuation">;</span>
nrepli<span class="token operator">=</span><span class="token number">2&#48;&#48;&#48;</span><span class="token punctuation">;</span>
maxlags<span class="token operator">=</span><span class="token number">8</span><span class="token punctuation">;</span>
col2 <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token number">65</span> <span class="token punctuation">.</span><span class="token number">65</span> <span class="token punctuation">.</span><span class="token number">65</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
col1 <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token number">85</span> <span class="token punctuation">.</span><span class="token number">85</span> <span class="token punctuation">.</span><span class="token number">85</span><span class="token punctuation">]</span><span class="token punctuation">;</span>


<span class="token operator">%</span>storeFEV_surprise <span class="token operator">=</span> varu<span class="token punctuation">.</span><span class="token operator">/</span>varseries<span class="token punctuation">;</span> storeFEV_signal <span class="token operator">=</span> varalpha<span class="token punctuation">.</span><span class="token operator">/</span>varseries<span class="token punctuation">;</span>

varnews&#48; <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irfs</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by news
varnoise&#48; <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irfs</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by noise

varnewsnoise <span class="token operator">=</span> varnews&#48; <span class="token operator">+</span> varnoise&#48;<span class="token punctuation">;</span> <span class="token operator">%</span> news <span class="token operator">+</span> noise
totvar <span class="token operator">=</span> totvarnonstruc <span class="token operator">-</span> varualfa <span class="token operator">+</span> varnewsnoise<span class="token punctuation">;</span> <span class="token operator">%</span> total var
varnews1 <span class="token operator">=</span> varnews&#48;<span class="token punctuation">.</span><span class="token operator">/</span>totvar<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by news
varnoise1 <span class="token operator">=</span> varnoise&#48;<span class="token punctuation">.</span><span class="token operator">/</span>totvar<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by noise

tab7<span class="token operator">=</span> <span class="token function">varnews1</span><span class="token punctuation">(</span>varseries<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab8<span class="token operator">=</span> <span class="token function">varnoise1</span><span class="token punctuation">(</span>varseries<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab9<span class="token operator">=</span> <span class="token function">varnews1</span><span class="token punctuation">(</span>varseries<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token function">varnoise1</span><span class="token punctuation">(</span>varseries<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab7<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'tableNEWS.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab8<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'tableNOISE.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab9<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'tableNEWS+NOISE.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab5<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'tableLEARNING.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab6<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'tableSIGNAL.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token operator">%</span><span class="token operator">%</span> Bootstrap standard errors

X <span class="token operator">=</span> <span class="token function">Data</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>varseries<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> load data

<span class="token punctuation">[</span>redAR<span class="token punctuation">,</span>sigma<span class="token punctuation">,</span>sidui<span class="token punctuation">,</span>R2<span class="token punctuation">,</span>constant<span class="token punctuation">,</span>Yhat<span class="token punctuation">,</span>ex<span class="token punctuation">]</span><span class="token operator">=</span><span class="token function">varestimy</span><span class="token punctuation">(</span>lags<span class="token punctuation">,</span>X<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> estimate VAR
ciao <span class="token operator">=</span> <span class="token function">chol</span><span class="token punctuation">(</span><span class="token function">cov</span><span class="token punctuation">(</span>sidui<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">[</span>T N<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">size</span><span class="token punctuation">(</span>X<span class="token punctuation">)</span><span class="token punctuation">;</span>
AA <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> t<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">:</span>lags<span class="token operator">+</span><span class="token number">1</span>
    AA <span class="token operator">=</span> <span class="token punctuation">[</span>AA <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token function">redAR</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">,</span>t<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
end

hor <span class="token operator">=</span> <span class="token number">4&#48;</span><span class="token punctuation">;</span>
jota <span class="token operator">=</span> <span class="token punctuation">[</span>AA <span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token function">eye</span><span class="token punctuation">(</span>N<span class="token operator">*</span><span class="token punctuation">(</span>lags<span class="token number">-1</span><span class="token punctuation">)</span><span class="token punctuation">,</span>N<span class="token operator">*</span><span class="token punctuation">(</span>lags<span class="token number">-1</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token function">zeros</span><span class="token punctuation">(</span>N<span class="token operator">*</span><span class="token punctuation">(</span>lags<span class="token number">-1</span><span class="token punctuation">)</span><span class="token punctuation">,</span>N<span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> s <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">:</span>hor
    IRF_j <span class="token operator">=</span> jota<span class="token operator">^</span><span class="token punctuation">(</span>s<span class="token number">-1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token function">IRF_lev</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">,</span>s<span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token function">IRF_j</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">:</span>N<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">:</span>N<span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token operator">*</span>ciao'<span class="token punctuation">;</span>
end
temp <span class="token operator">=</span> sidui<span class="token operator">*</span><span class="token function">inv</span><span class="token punctuation">(</span>ciao<span class="token punctuation">)</span><span class="token punctuation">;</span>

standard_shocks <span class="token operator">=</span> temp<span class="token punctuation">;</span>

p <span class="token operator">=</span> lags<span class="token punctuation">;</span>
<span class="token punctuation">[</span>A<span class="token punctuation">,</span>SIGMA<span class="token punctuation">,</span>U<span class="token punctuation">,</span>V<span class="token punctuation">]</span><span class="token operator">=</span><span class="token function">olsvarc</span><span class="token punctuation">(</span>X<span class="token punctuation">,</span>p<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> estimate VAR in levels

h <span class="token operator">=</span> <span class="token number">4&#48;</span><span class="token punctuation">;</span>
<span class="token punctuation">[</span>CI<span class="token punctuation">,</span>CI_chol<span class="token punctuation">]</span><span class="token operator">=</span><span class="token function">boot_luca_MINE2</span><span class="token punctuation">(</span>A<span class="token punctuation">,</span>U<span class="token punctuation">,</span>X<span class="token punctuation">,</span>V<span class="token punctuation">,</span>p<span class="token punctuation">,</span>h<span class="token punctuation">,</span>nrepli<span class="token punctuation">,</span>varseries<span class="token punctuation">,</span>ind1<span class="token punctuation">,</span>ind<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> bootstrap

irfold <span class="token operator">=</span> <span class="token function">prctile</span><span class="token punctuation">(</span>CI_chol<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">5&#48;</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
irf_ls <span class="token operator">=</span> irfold<span class="token punctuation">;</span>

<span class="token operator">%</span><span class="token operator">%</span> Cumulative FEVD

totvarnonstruc <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span>irfold<span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> total variance

varu <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf_ls</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ind1<span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by learning
varalfa <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf_ls</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ind<span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by signal
varualfa <span class="token operator">=</span> varu <span class="token operator">+</span> varalfa<span class="token punctuation">;</span>

varsignal <span class="token operator">=</span> varalfa<span class="token punctuation">.</span><span class="token operator">/</span>totvarnonstruc<span class="token punctuation">;</span> varsurprise <span class="token operator">=</span> varu<span class="token punctuation">.</span><span class="token operator">/</span>totvarnonstruc<span class="token punctuation">;</span>

irf_nn <span class="token operator">=</span> <span class="token function">prctile</span><span class="token punctuation">(</span>CI<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">5&#48;</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

varnews&#48; <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf_nn</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by news
varnoise&#48; <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf_nn</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by noise

varnewsnoise <span class="token operator">=</span> varnews&#48; <span class="token operator">+</span> varnoise&#48;<span class="token punctuation">;</span> <span class="token operator">%</span> news <span class="token operator">+</span> noise
totvar <span class="token operator">=</span> totvarnonstruc <span class="token operator">-</span> varualfa <span class="token operator">+</span> varnewsnoise<span class="token punctuation">;</span> <span class="token operator">%</span> total var
varnews1 <span class="token operator">=</span> varnews&#48;<span class="token punctuation">.</span><span class="token operator">/</span>totvar<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by news
varnoise1 <span class="token operator">=</span> varnoise&#48;<span class="token punctuation">.</span><span class="token operator">/</span>totvar<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by noise

<span class="token function">varnews1</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token number">&#48;</span><span class="token punctuation">;</span> <span class="token function">varnoise1</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token number">&#48;</span><span class="token punctuation">;</span> <span class="token operator">%</span> implied by theoretical definitions in FGLS
tab_varSIGNAL_CumSum <span class="token operator">=</span> <span class="token function">varsignal</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> tab_varSURPRISE_CumSum <span class="token operator">=</span> <span class="token function">varsurprise</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab_varNEWS_CumSum <span class="token operator">=</span> <span class="token function">varnews1</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> tab_varNOISE_CumSum<span class="token operator">=</span><span class="token function">varnoise1</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>


ff<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span>
<span class="token function">figure</span><span class="token punctuation">(</span>ff<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">FigSize</span><span class="token punctuation">(</span><span class="token number">3&#48;</span><span class="token punctuation">,</span><span class="token number">21</span><span class="token punctuation">)</span>
<span class="token keyword">for</span> t<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">:</span><span class="token function">size</span><span class="token punctuation">(</span>varnews1<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span>
        <span class="token function">subplot</span><span class="token punctuation">(</span><span class="token function">size</span><span class="token punctuation">(</span>varnews1<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span>t<span class="token punctuation">)</span><span class="token punctuation">;</span>
        a<span class="token operator">=</span><span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span><span class="token function">varnews1</span><span class="token punctuation">(</span>t<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">:</span>ll<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token string">' 1&#48;&#48;*varnoise1(t,1:ll)'</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token string">'stacked'</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token function">grid</span><span class="token punctuation">(</span><span class="token string">'on'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span>axis tight<span class="token punctuation">;</span>
        <span class="token function">set</span><span class="token punctuation">(</span><span class="token function">a</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token string">'facecolor'</span><span class="token punctuation">,</span><span class="token string">'b'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">set</span><span class="token punctuation">(</span><span class="token function">a</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token string">'facecolor'</span><span class="token punctuation">,</span><span class="token string">'r'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">tit</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">title</span><span class="token punctuation">(</span>ti<span class="token punctuation">{</span>t<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">xlab</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">xlabel</span><span class="token punctuation">(</span><span class="token string">'Horizon'</span><span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">ylab</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">ylabel</span><span class="token punctuation">(</span><span class="token string">'% FEV'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        axis tight<span class="token punctuation">;</span>
        <span class="token operator">%</span><span class="token function">axis</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">&#48;</span> ll<span class="token number">-1</span> <span class="token number">&#48;</span> <span class="token number">1&#48;&#48;</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        optfont <span class="token operator">=</span> FigFontOption_Typewriter<span class="token punctuation">;</span> optfont<span class="token punctuation">.</span>title_weight <span class="token operator">=</span> <span class="token string">'bold'</span><span class="token punctuation">;</span> <span class="token function">FigFont</span><span class="token punctuation">(</span>optfont<span class="token punctuation">)</span>
end
leg<span class="token operator">=</span><span class="token function">legend</span><span class="token punctuation">(</span><span class="token string">'News'</span><span class="token punctuation">,</span><span class="token string">'Noise'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span>ylab<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>leg<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>tit<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>xlab<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">spaceplots</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token number">&#48;2</span> <span class="token punctuation">.</span><span class="token number">&#48;2</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span>gcf<span class="token punctuation">,</span> <span class="token string">'Color'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>


varnews&#48;_p <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">irf_nn</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by news
varnoise&#48;_p <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">irf_nn</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by noise

varnewsnoise_p <span class="token operator">=</span> varnews&#48;_p <span class="token operator">+</span> varnoise&#48;_p<span class="token punctuation">;</span> <span class="token operator">%</span> news <span class="token operator">+</span> noise
totvar_p <span class="token operator">=</span> totvarnonstruc_p <span class="token operator">-</span> varualfa_p <span class="token operator">+</span> varnewsnoise_p<span class="token punctuation">;</span> <span class="token operator">%</span> total var
varnews1_p <span class="token operator">=</span> varnews&#48;_p<span class="token punctuation">.</span><span class="token operator">/</span>totvar_p<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by news
varnoise1_p <span class="token operator">=</span> varnoise&#48;_p<span class="token punctuation">.</span><span class="token operator">/</span>totvar_p<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by noise

varlearning_p<span class="token operator">=</span> varu_p<span class="token punctuation">.</span><span class="token operator">/</span>totvarnonstruc_p<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by learnig instantaneously
varsignal_p<span class="token operator">=</span> varalfa_p<span class="token punctuation">.</span><span class="token operator">/</span>totvarnonstruc_p<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by signal instantaneously<span class="token punctuation">,</span> <span class="token number">1</span> year<span class="token punctuation">,</span> <span class="token number">2</span> year<span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">varnews1_p</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token number">&#48;</span><span class="token punctuation">;</span> <span class="token function">varnoise1_p</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token number">&#48;</span><span class="token punctuation">;</span> <span class="token operator">%</span> implied by theoretical definitions of FGLS

ff<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span>
<span class="token function">figure</span><span class="token punctuation">(</span>ff<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">FigSize</span><span class="token punctuation">(</span><span class="token number">3&#48;</span><span class="token punctuation">,</span><span class="token number">21</span><span class="token punctuation">)</span>
<span class="token keyword">for</span> t<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">:</span><span class="token function">size</span><span class="token punctuation">(</span>varnews1_p<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span>
        <span class="token function">subplot</span><span class="token punctuation">(</span><span class="token function">size</span><span class="token punctuation">(</span>varnews1_p<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span>t<span class="token punctuation">)</span><span class="token punctuation">;</span>
        a<span class="token operator">=</span><span class="token function">bar</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token punctuation">(</span><span class="token number">1&#48;&#48;</span><span class="token operator">*</span><span class="token function">varnews1_p</span><span class="token punctuation">(</span>t<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">:</span>ll<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token string">' 1&#48;&#48;*varnoise1_p(t,1:ll)'</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token string">'stacked'</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token function">grid</span><span class="token punctuation">(</span><span class="token string">'on'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span>axis tight<span class="token punctuation">;</span>
        <span class="token function">set</span><span class="token punctuation">(</span><span class="token function">a</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token string">'facecolor'</span><span class="token punctuation">,</span><span class="token string">'b'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">set</span><span class="token punctuation">(</span><span class="token function">a</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token string">'facecolor'</span><span class="token punctuation">,</span><span class="token string">'r'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">tit</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">title</span><span class="token punctuation">(</span>ti<span class="token punctuation">{</span>t<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">xlab</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">xlabel</span><span class="token punctuation">(</span><span class="token string">'Horizon'</span><span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">ylab</span><span class="token punctuation">(</span>t<span class="token punctuation">)</span><span class="token operator">=</span><span class="token function">ylabel</span><span class="token punctuation">(</span><span class="token string">'% FEV'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        axis tight<span class="token punctuation">;</span>
        <span class="token operator">%</span><span class="token function">axis</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">&#48;</span> ll<span class="token number">-1</span> <span class="token number">&#48;</span> <span class="token number">1&#48;&#48;</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        optfont <span class="token operator">=</span> FigFontOption_Typewriter<span class="token punctuation">;</span> optfont<span class="token punctuation">.</span>title_weight <span class="token operator">=</span> <span class="token string">'bold'</span><span class="token punctuation">;</span> <span class="token function">FigFont</span><span class="token punctuation">(</span>optfont<span class="token punctuation">)</span>
end
leg<span class="token operator">=</span><span class="token function">legend</span><span class="token punctuation">(</span><span class="token string">'News'</span><span class="token punctuation">,</span><span class="token string">'Noise'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span>ylab<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>leg<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>tit<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">14</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">set</span><span class="token punctuation">(</span>xlab<span class="token punctuation">,</span><span class="token string">'FontSize'</span><span class="token punctuation">,</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">spaceplots</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span> <span class="token number">&#48;.&#48;1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">.</span><span class="token number">&#48;2</span> <span class="token punctuation">.</span><span class="token number">&#48;2</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span>gcf<span class="token punctuation">,</span> <span class="token string">'Color'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token operator">%</span> Store Tables

tab_varSIGNAL <span class="token operator">=</span> <span class="token function">varsignal_p</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> tab_varSURPRISE <span class="token operator">=</span> <span class="token function">varlearning_p</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab_varNEWS <span class="token operator">=</span> <span class="token function">varnews1_p</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> tab_varNOISE<span class="token operator">=</span><span class="token function">varnoise1_p</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab_varNEWS<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NEWS_HbyH.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab_varNOISE<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NOISE_HbyH.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span><span class="token punctuation">(</span>tab_varNOISE<span class="token operator">+</span>tab_varNEWS<span class="token punctuation">)</span><span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NEWS+NOISE_HbyH.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab_varSURPRISE<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'SURPRISE_HbyH.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab_varSIGNAL<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'SIGNAL_HbyH.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>


<span class="token operator">%</span><span class="token operator">%</span> Second ordering

varseries2 <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">3</span> <span class="token number">4</span> <span class="token number">5</span> <span class="token number">1</span> <span class="token number">2</span> <span class="token number">6</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

<span class="token operator">%</span> Define indexes <span class="token keyword">for</span> variables

ind1 <span class="token operator">=</span> <span class="token number">4</span><span class="token punctuation">;</span> ind <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">;</span>

codeData<span class="token operator">=</span><span class="token function">ones</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token function">codeData</span><span class="token punctuation">(</span><span class="token function">varseries2</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token number">&#48;</span><span class="token punctuation">;</span>
nr <span class="token operator">=</span> <span class="token number">1&#48;</span><span class="token punctuation">;</span>

<span class="token operator">%</span> Computation<span class="token operator">-</span>identification

<span class="token punctuation">[</span>irfs2<span class="token punctuation">,</span>irfsb2<span class="token punctuation">,</span>irf2<span class="token punctuation">,</span>irfb2<span class="token punctuation">,</span>sigma_a2<span class="token punctuation">,</span>sigma_e2<span class="token punctuation">,</span>sigma_aboot2<span class="token punctuation">,</span>bidielle2<span class="token punctuation">,</span>sh2<span class="token punctuation">,</span>ssh2<span class="token punctuation">,</span>wr2<span class="token punctuation">,</span>shocks2<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">FAVARNewsNoiseChol_allshocks</span><span class="token punctuation">(</span>Data<span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    <span class="token punctuation">[</span><span class="token function">Data</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>varseries2<span class="token punctuation">)</span> <span class="token function">pc</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">:</span>npc<span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">,</span>codeData<span class="token punctuation">,</span>lags<span class="token punctuation">,</span>ll<span class="token punctuation">,</span>nr<span class="token punctuation">,</span><span class="token punctuation">[</span>varseries2 <span class="token number">15</span><span class="token punctuation">:</span><span class="token number">15</span><span class="token operator">+</span>npc<span class="token number">-1</span><span class="token punctuation">]</span><span class="token punctuation">,</span>ind1<span class="token punctuation">,</span>ind<span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token punctuation">[</span>r2<span class="token punctuation">,</span>p2<span class="token punctuation">,</span>rlo2<span class="token punctuation">,</span>rup2<span class="token punctuation">]</span><span class="token operator">=</span><span class="token function">corrcoef</span><span class="token punctuation">(</span><span class="token punctuation">[</span>ssh2 shocks2<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token operator">%</span> Variance Decomposition

irfold2 <span class="token operator">=</span> irf2<span class="token punctuation">;</span>
totvarnonstruc2 <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span>irfold2<span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> total variance

varu2<span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf2</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ind1<span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by learning
varalfa2 <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irf2</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span>ind<span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by signal
varualfa2 <span class="token operator">=</span> varu2 <span class="token operator">+</span> varalfa2<span class="token punctuation">;</span>

tab52<span class="token operator">=</span> <span class="token function">varu2</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">/</span><span class="token function">totvarnonstruc2</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">25</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by learnig instantaneously<span class="token punctuation">,</span> <span class="token number">1</span> year<span class="token punctuation">,</span> <span class="token number">2</span> year<span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
tab62<span class="token operator">=</span> <span class="token function">varalfa2</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">/</span><span class="token function">totvarnonstruc2</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">25</span> <span class="token number">41</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by signal instantaneously<span class="token punctuation">,</span> <span class="token number">1</span> year<span class="token punctuation">,</span> <span class="token number">2</span> year<span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>

varnews&#48;2 <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irfs2</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by news
varnoise&#48;2 <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">cumsum</span><span class="token punctuation">(</span><span class="token function">irfs2</span><span class="token punctuation">(</span><span class="token punctuation">:</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token punctuation">:</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token operator">^</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">%</span> variance by noise

varnewsnoise2 <span class="token operator">=</span> varnews&#48;2 <span class="token operator">+</span> varnoise&#48;2<span class="token punctuation">;</span> <span class="token operator">%</span> news <span class="token operator">+</span> noise
totvar2 <span class="token operator">=</span> totvarnonstruc2 <span class="token operator">-</span> varualfa2 <span class="token operator">+</span> varnewsnoise2<span class="token punctuation">;</span> <span class="token operator">%</span> total var
varnews12<span class="token operator">=</span> varnews&#48;2<span class="token punctuation">.</span><span class="token operator">/</span>totvar2<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by news
varnoise12 <span class="token operator">=</span> varnoise&#48;2<span class="token punctuation">.</span><span class="token operator">/</span>totvar2<span class="token punctuation">;</span> <span class="token operator">%</span> variance explained by noise

tab72<span class="token operator">=</span> <span class="token function">varnews12</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span> ll<span class="token operator">+</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab82<span class="token operator">=</span> <span class="token function">varnoise12</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span> ll<span class="token operator">+</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tab92 <span class="token operator">=</span> <span class="token function">varnews12</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span> ll<span class="token operator">+</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token function">varnoise12</span><span class="token punctuation">(</span>varseries2<span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">1</span> <span class="token number">5</span> <span class="token number">9</span> <span class="token number">17</span> <span class="token number">41</span> ll<span class="token operator">+</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab72<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NEWS_2ord.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab82<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NOISE_2ord.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span><span class="token punctuation">(</span>tab92<span class="token punctuation">)</span><span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'NEWS+NOISE_2ord.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab52<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'SURPRISE_2ord.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">matrix2lyx</span><span class="token punctuation">(</span>tab62<span class="token operator">*</span><span class="token number">1&#48;&#48;</span><span class="token punctuation">,</span> <span class="token string">'SIGNAL_2ord.lyx'</span><span class="token punctuation">,</span> <span class="token string">'%.1f'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

ind1 <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span>
ind <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span>
indGDP <span class="token operator">=</span><span class="token number">3</span><span class="token punctuation">;</span>
indC<span class="token operator">=</span> <span class="token number">7</span><span class="token punctuation">;</span>
indI<span class="token operator">=</span> <span class="token number">4</span><span class="token punctuation">;</span>
indFFR<span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span>
indpi<span class="token operator">=</span><span class="token number">6</span><span class="token punctuation">;</span>
indD <span class="token operator">=</span> <span class="token number">8</span><span class="token punctuation">;</span>

ff<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">;</span>
DoFigures_Hist


</code></pre>
<h1 id="enjoy">Enjoy</h1>
<p><strong>Yours</strong>  Daniel Tulips Liu</p>
<p>Renmin University of China , Beijing.</p>
</div>
</div>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-4-6 05:56:54
tulipsliu 发表于 2021-4-4 19:45
do it best , economy and management.
Author :     Daniel tulips liu .
University :  Renmin Univers ...
谢谢楼主分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-6 10:17:20
lonestone 发表于 2021-4-6 05:56
谢谢楼主分享
我这边显示是乱码, 你那边能看到 python 代码不?
用的是 markdown 格式写的帖子;  但是没想到我这边看到的都是乱码。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群