schema: EconSchema aspectRatio: 1.3 params: - name: B value: 1.5 min: 0.6 max: 1.5 round: 0.1 - name: a value: 1 min: 0.8 max: 1.3 round: 0.1 - name: Ypot value: 10 min: 8 max: 12 round: 0.1 - name: Yt value: 10 min: 8 max: 13 round: 0.1 - name: meta value: 5 min: 4 max: 6 precision: 0.1 round: 0.01 - name: mostrar value: false calcs: MR: ((params.meta)-(((params.Yt)-(params.Ypot))/((params.a)(params.B)))) MR2: ((params.meta)-(((0)-(params.Ypot))/((params.a)(params.B)))) Yt3: ((params.Ypot)-(2)((params.a)/((params.a)+((1)/((params.a)(params.B)))))((params.Yt)-(params.Ypot))) PCMR: ((params.meta)-(((calcs.Yt3)-(params.Ypot))/((params.a)(params.B)))) Loss: (((params.Yt)-(params.Ypot))^2 +((params.B)((params.a)((params.Yt)-(params.Ypot)))^2)) Loss2: (((params.Yt)-(params.Ypot))^2 +((params.B)((params.a)((params.Yt)-(params.Ypot))+(params.a)((params.Yt)-(params.Ypot)))^2)) Loss3: (((calcs.Yt3)-(params.Ypot))^2 +((params.B)((calcs.PCMR)-(params.meta))^2)) r: ((calcs.Loss)^0.5) r2: ((calcs.Loss2)^0.5) r3: ((calcs.Loss3)^0.5) inf: ((params.meta)+((params.a)((params.Yt)-(params.Ypot)))) inf2: ((params.meta)+(2(params.a)((params.Yt)-(params.Ypot)))) PCinv: ((((14)-(params.meta))/(params.a))+(params.Ypot)) PCinv2: ((((14)-((params.a)((params.Yt)-(params.Ypot)))-(params.meta))/(params.a))+(params.Ypot)) PCOTIinv: ((((14)-(((params.Yt)-(params.Ypot))/((params.B)(params.a)))-((params.a)((params.Yt)-(params.Ypot)))-(params.meta))/(params.a))+(params.Ypot)) MRinv: ((((9)-(params.meta))(params.B)(params.a))+(params.Ypot)) MRinv2: ((((1)-(params.meta))(params.B)(params.a))+(params.Ypot)) layout: OneGraphPlusSidebar: graph: xAxis: min: 0 max: 18 ticks: 3 yAxis: min: 0 max: 15 ticks: 3 objects: #Curva de Indiferença do Banco Central Cima - Curve: fn: "(((((calcs.Loss)/(params.B))-((((x)-(params.Ypot))^2)/(params.B)))^(1/2))+(params.meta))" ind: x color: red show: false min: -100 max: 100 lineStyle: solid strokeWidth: 1 samplePoints: 300 #Curva de Indiferença do Banco Central Baixo - Curve: fn: "(-((((calcs.Loss)/(params.B))-(((x)-(params.Ypot))^2/(params.B)))^0.5)+(params.meta))" ind: x show: false color: red min: -100 max: 100 lineStyle: solid strokeWidth: 1 samplePoints: 300 - Ellipse: center: [params.Ypot,params.meta] show: (params.Yt != params.Ypot) & (params.mostrar == true) rx: calcs.r3 ry: (calcs.r3)/((params.B))^0.5 fill: none stroke: red strokeWidth: 2 - Ellipse: center: [params.Ypot,params.meta] show: (params.Yt != params.Ypot) & (params.mostrar == true) rx: calcs.r2 ry: (calcs.r2)/((params.B))^0.5 fill: none stroke: red strokeWidth: 2 lineStyle: solid - Ellipse: center: [params.Ypot,params.meta] show: (params.Yt != params.Ypot) & (params.mostrar == true) rx: calcs.r ry: (calcs.r)/((params.B))^0.5 fill: none stroke: red strokeWidth: 2 lineStyle: solid #Curva de Phillips Inicial - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot))))" ind: x color: white show: calcs.PCinv > 16 strokeWidth: 1 samplePoints: 300 min: 6 max: 20 label: {text: "`PC_{1}`", x: 16 , bgcolor: "'#44ac44'"} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot))))" ind: x color: white show: calcs.PCinv < 16 strokeWidth: 1 samplePoints: 300 min: 6 max: 20 label: {text: "`PC_{1}`", x: calcs.PCinv , bgcolor: "'#44ac44'"} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot))))" ind: x color: "'#44ac44'" strokeWidth: 4 samplePoints: 300 min: 6 max: 17 #Curva de Phillips 2 - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x color: white show: calcs.PCinv2 > 15 & params.Yt != params.Ypot strokeWidth: 1 samplePoints: 300 min: 5 max: 20 label: {text: "`PC_{2}`", x: 15 , bgcolor: "'#44ac44'"} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x color: white show: calcs.PCinv2 < 15 & params.Yt != params.Ypot strokeWidth: 1 samplePoints: 300 min: 5 max: 20 label: {text: "`PC_{2}`", x: calcs.PCinv2 , bgcolor: "'#44ac44'"} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x color: "'#44ac44'" strokeWidth: 4 samplePoints: 300 min: 4 max: 16 #Curva de Phillips 3 - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x color: white show: calcs.PCOTIinv > 16 & params.Yt != params.Ypot strokeWidth: 1 min: 3 max: 20 samplePoints: 300 label: {text: "`PC_{3}`", x: 16 , bgcolor: "'#44ac44'", show: params.Yt != params.Ypot} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x show: calcs.PCOTIinv < 16 & params.Yt != params.Ypot min: 3 max: 20 color: white strokeWidth: 1 samplePoints: 300 label: {text: "`PC_{3}`", x: calcs.PCOTIinv , bgcolor: "'#44ac44'", show: params.Yt != params.Ypot} - Curve: fn: "((params.meta)+((params.a)((x)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot)))+((params.a)((params.Yt)-(params.Ypot))))" ind: x min: 3 max: 20 color: "'#44ac44'" strokeWidth: 4 samplePoints: 300 #Função de Reação - Curve: fn: "((params.meta)-(((x)-(params.Ypot))/((params.a)(params.B))))" ind: x color: white show: calcs.MRinv > 17 strokeWidth: 1 samplePoints: 300 min: -5 max: 20 label: {text: "`MR`", x: 17, bgcolor: "'#fc8c22'"} - Curve: fn: "((params.meta)-(((x)-(params.Ypot))/((params.a)(params.B))))" ind: x color: white show: calcs.MRinv < 17 strokeWidth: 4 samplePoints: 300 min: -5 max: 20 label: {text: "`MR`", x: calcs.MRinv , bgcolor: "'#fc8c22'"} - Curve: fn: "((params.meta)-(((x)-(params.Ypot))/((params.a)(params.B))))" ind: x color: "'#fc8c22'" strokeWidth: 4 samplePoints: 300 min: -5 max: 20 #Canva - Segment: a: [params.Yt, 0] b: [params.Yt, calcs.inf] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [0, calcs.inf] b: [params.Yt, calcs.inf] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [params.Yt, 0] b: [params.Yt, calcs.inf2] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [0, calcs.inf2] b: [params.Yt, calcs.inf2] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [calcs.Yt3, 0] b: [calcs.Yt3, calcs.PCMR] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [calcs.Yt3, calcs.PCMR] b: [0, calcs.PCMR] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Segment: a: [params.Ypot, 0] b: [params.Ypot, params.meta] color: blue lineStyle: solid strokeWidth: 4 - Segment: a: [0, params.meta] b: [params.Ypot, params.meta] color: blue lineStyle: solid strokeWidth: 4 - Segment: a: [calcs.Yt3, calcs.PCMR] b: [0, calcs.PCMR] show: (params.Yt != params.Ypot) color: green lineStyle: dotted - Point: coordinates: [params.Yt, calcs.inf] color: red show: (params.Yt != params.Ypot) - Point: coordinates: [params.Yt, calcs.inf2] color: red show: (params.Yt != params.Ypot) - Point: coordinates: [calcs.Yt3, calcs.PCMR] color: green show: (params.Yt != params.Ypot) - Point: coordinates: [params.Ypot, params.meta] color: blue - Segment: a: [0, params.meta] b: [0, params.meta] color: white bgcolor: "'#2074b4'" label: text: "`\\\\pi_{meta}: ${params.meta.toFixed(1)} \\\\%`" position: r - Segment: a: [params.Ypot, 0] b: [params.Ypot, 0] color: white bgcolor: "'#2074b4'" label: text: "`Y_{pot}: \\\\$ ${params.Ypot.toFixed(1)} `" position: t - Segment: a: [params.Yt, 0] b: [params.Yt, 0] show: (params.Yt != params.Ypot) color: white bgcolor: "'#44ac44'" label: text: "`Y_{t}: \\\\$ ${params.Yt.toFixed(1)} `" position: t - Segment: a: [calcs.Yt3, 0] b: [calcs.Yt3, 0] color: white show: (params.Yt != params.Ypot) bgcolor: "'#d42c2e'" label: text: "`Y_{t}: \\\\$ ${calcs.Yt3.toFixed(1)} `" position: t - Segment: a: [0, 15] b: [0, 15] color: black bgcolor: white label: text: "`\\\\pi `" position: r fontSize: 14 - Segment: a: [18, 0] b: [18, 0] color: black bgcolor: white label: text: "`Y `" position: t fontSize: 14 - Segment: a: [0, calcs.inf] b: [0, calcs.inf] color: white show: (params.Yt != params.Ypot) bgcolor: "'#44ac44'" label: text: "`\\\\pi_{1}: ${calcs.inf.toFixed(1)} \\\\% `" position: r - Segment: a: [0, calcs.inf2] b: [0, calcs.inf2] color: white show: (params.Yt != params.Ypot) bgcolor: "'#44ac44'" label: text: "`\\\\pi_{2}: ${calcs.inf2.toFixed(1)} \\\\% `" position: r - Segment: a: [0, calcs.PCMR] b: [0, calcs.PCMR] color: white show: (params.Yt != params.Ypot) bgcolor: "'#44ac44'" label: text: "`\\\\pi_{3}: ${calcs.PCMR.toFixed(1)} \\\\% `" position: r - Segment: a: [params.Ypot+0.4,params.meta] b: [params.Yt+0.25, calcs.inf-0.25] color: red show: (params.Yt != params.Ypot) bgcolor: none strokeWidth: 3 endArrow: true - Segment: a: [params.Yt+0.4,calcs.inf] b: [params.Yt+0.4, calcs.inf2] color: red show: (params.Yt != params.Ypot) bgcolor: none strokeWidth: 3 endArrow: true - Segment: a: [params.Yt,calcs.inf2] b: [calcs.Yt3+0.4, calcs.PCMR] color: red show: (params.Yt != params.Ypot) bgcolor: none strokeWidth: 3 endArrow: true sidebar: controls: - title: Modelo MR-PC — Minimização da Função Perda do Banco Central com 2 Períodos de Defasagem checkboxes: - param: mostrar label: "\\text{Mostrar Curvas de Nível}" sliders: - param: B label: B digits: 4 - param: a label: a digits: 4 - param: Ypot label: Y_{pot} digits: 4 - param: Yt label: Y_{t} digits: 4 - param: meta label: \pi_{meta} digits: 4 divs: - html:
- html: 'O Banco Central precisa minimizar uma função perda que relaciona desvios do produto ${(Y_{t}-Y_{pot})}$ e desvios da taxa de inflação em relação à meta ${(\pi_{t} - \pi_{meta})}$: $${L=(Y_{t}-Y_{pot})^2 + B(\pi_{t}-\pi_{meta})^2}$$ $${s.a.}$$ $${\pi_{t} = \pi_{t-1} + a(Y_{t}-Y_{pot})}$$ Para resolver o problema, é necessário substituir a Curva de Phillips (PC) na Função Perda (L), e derivar em relação a ${Y_{t}}$: $${L=(Y_{t}-Y_{pot})^2 + B((\pi_{t-1} + a(Y_{t}-Y_{pot}))-\pi_{meta})^2}$$ $${\Longleftrightarrow}$$ $${\frac{\partial L}{\partial Y_{t}}=2(Y_{t}-Y_{pot})+2B(\pi_{t-1} + a(Y_{t}-Y_{pot})-\pi_{meta})}$$ Sabemos que a Curva de Phillips (PC) é: $${\pi_{t} = \pi_{t-1} + a(Y_{t}-Y_{pot})}$$ Logo, podemos substituir na função anterior, obtendo $${2(Y_{t}-Y_{pot})+2B(\pi_{t}-\pi_{meta})a=0}$$ Agora, resolvendo para ${\pi_{t}}$ $${2B(\pi_{t}-\pi_{meta})a=-2(Y_{t}-Y_{pot})}$$ $${\Longleftrightarrow}$$ $${MR:\pi_{t}=\pi_{meta}-\frac{1}{a \cdot B}(Y_{t}-Y_{pot})}$$ Esta é a Função de Reação geral do Banco Central (BC). No entanto, estamos considerando que há dois períodos de defasagem na resposta do produto, logo a MR precisa ser ajustada para: $${MR_{t+2}:\pi_{t+2}=\pi_{meta}-\frac{1}{a \cdot B}(Y_{t+2}-Y_{pot})}$$ Além disso, também precisamos ajustar a Curva de Phillips (PC) para 2 períodos de defasagem. $${PC_{t+2}: \pi_{t+2}=\pi_{t-1} + a(Y_{t}-Y_{pot})+ a(Y_{t+1}-Y_{pot})+ a(Y_{t+2}-Y_{pot})}$$ Considerando que $${a(Y_{t}-Y_{pot}) = a(Y_{t+1}-Y_{pot})}$$ Então podemos simplificar $${PC_{t+2}: \pi_{t+2}=\pi_{t-1} + 2a(Y_{t}-Y_{pot}) + a(Y_{t+2}-Y_{pot})}$$ Igualando a ${MR_{t+2}}$ com ${PC_{t+2}}$ e resolvendo para ${Y_{t+2}}$, obtemos a função de produto ótimo do Banco Central (BC) para dois períodos de defasagem: $${Y_{t+2}=Y_{pot}-\frac{2a}{a + \frac{1}{B \cdot a}}\cdot (Y_{t} - Y_{pot})}$$ Para calcular a taxa de inflação ótima para dois períodos de defasagem, basta substituir ${Y_{t+2}}$ na Função de Reação ${MR_{t+2}}$: $${MR_{t+2}:\pi_{t+2}=\pi_{meta}-\frac{1}{a \cdot B}(Y_{t+2}-Y_{pot})}$$ $${\Longleftrightarrow}$$ $${MR_{t+2}:\pi_{t+2}=\pi_{meta}-\frac{ [Y_{pot}-\frac{2a}{a + \frac{1}{B \cdot a}}\cdot (Y_{t} - Y_{pot})] - Y_{pot}}{a \cdot B}}$$ Após simplificar, obtemos: $${MR_{t+2}: \pi_{t+2}=\pi_{meta}-\frac{2a}{B \cdot a^2 + 1}(Y_{t}-Y_{pot})}$$' - html: 'Bônus: A dedução da Regra de Taylor
' - html: 'A Regra de Taylor tradicional é representada da seguinte maneira: $${i=r^*+\pi_{t}+\beta(\pi_{t}-\pi_{meta})+\beta_1(Y_{t}-Y_{pot})}$$ Para deduzir a Regra de Taylor a partir do problema de minimização da Função Perda (L) do Banco Central (BC) é necessário definir a Curva IS dinâmica.' - html: ' A forma reduzida da Curva IS é dada por: $${IS: Y_{t}= A - \lambda r_{t}}$$ Para um desvio do produto do potencial, com um período de defasagem, ${(Y_{t+1}-Y_{pot})}$ e partindo da taxa de juros neutra ${r^{*}}$, temos. $${IS: (Y_{t+1}-Y_{pot})= -\lambda(r-r^*)}$$ A Regra Monetária para dois períodos de defasagem ${(MR_{t+2})}$ é dada por: $${MR_{t+2}: \pi_{t+2}=\pi_{meta}-\frac{2a}{B \cdot a^2 + 1}(Y_{t}-Y_{pot})}$$ $${\Longleftrightarrow}$$ $${\pi_{t+2}=\pi_{meta}-\frac{a}{B \cdot a^2 + 1}(Y_{t+1}-Y_{pot})-\frac{a}{B \cdot a^2 + 1}(Y_{t}-Y_{pot})}$$ Podemos substituir a curva IS na equação acima. $${\pi_{t+2}=\pi_{meta}-\frac{a}{B \cdot a^2 + 1}(-\lambda(r-r^*))-\frac{a}{B \cdot a^2 + 1}(Y_{t}-Y_{pot})}$$ Agora, resolvendo para a taxa de juros real (r), chegamos em: $${r=r^* + \frac{Ba^2+ 1}{a\lambda}(\pi_{t+2}-\pi_{meta})+\frac{1}{\lambda}(Y_{t}-Y_{pot})}$$ Podemos perceber que estamos bem próximos da forma dada pela Regra de Taylor tradicional.' - html: 'O último passo é substituir a Curva de Phillips ${(PC_{t+2})}$, na seguinte formúla $${PC_{t+2}: \pi_{t+2}=\pi_{t} + a(Y_{t+1}-Y_{pot})}$$ $${\Longleftrightarrow}$$ $${PC_{t+2}: \pi_{t+2}=\pi_{t} + a(-\lambda(r-r^*))}$$ E Resolver para a taxa de juros (r), obtendo: $${r=r*+ \frac{Ba^2 + 1}{a \lambda (Ba^2 +2)}(\pi_{t}-\pi_{meta})+\frac{1}{\lambda(Ba^2 + 2)}(Y_{t}-Y_{pot})}$$ Definido a taxa de juros real (r) como sendo $${r=i-\pi_{t}}$$ Então, chegamos no resultado final $${i-\pi_{t}=r^*+ \frac{Ba^2 + 1}{a \lambda (Ba^2 +2)}(\pi_{t}-\pi_{meta})+\frac{1}{\lambda(Ba^2 + 2)}(Y_{t}-Y_{pot})}$$ $${\Longleftrightarrow}$$ $${i=r^*+\pi_{t}+ \frac{Ba^2 + 1}{a \lambda (Ba^2 +2)}(\pi_{t}-\pi_{meta})+\frac{1}{\lambda(Ba^2 + 2)}(Y_{t}-Y_{pot})}$$' - html: 'Em que $${i = r^* + \pi_{t} + \underbrace{\frac{B a^2 + 1}{a\lambda(Ba^2 + 2)}}_{\beta} (\pi_t - \pi_{meta}) + \underbrace{\frac{1}{\lambda(Ba^2 + 2)}}_{\beta_1} (Y_t - Y_{pot}) }$$ Portanto, retornando a Regra de Taylor tradicional: $${i=r^*+\pi_{t}+\beta(\pi_{t}-\pi_{meta})+\beta_1(Y_{t}-Y_{pot})}$$'