schema: EconSchema aspectRatio: 1.3 params: - name: g value: 10 min: 10 max: 25 round: 0.1 - name: r value: 5 min: 0 max: 9.9 round: 0.1 - name: a value: 0.1 min: 0 max: 0.3 round: 0.01 - name: b value: 100 min: 80 max: 120 round: 1 - name: pi value: 4 - name: a1 value: 2.525 min: 1.525 max: 4.525 round: 0.01 calcs: Yeq: ((15+10+params.g)/(1-0.75*(1-0.25))-(params.a1*(params.r))/(1-0.75*(1-0.25))) Yeqf: ((15+10+10)/(1-0.75*(1-0.25))-(params.a1*(5))/(1-0.75*(1-0.25))) Yeq2: ((15+10+params.g)/(1-0.75*(1-0.25))-(params.a1*(1))/(1-0.75*(1-0.25))) MR: ((-(params.a*params.b)*((0)-params.pi)+calcs.Yeqf)) PC: ((params.pi+(params.a)((100)-calcs.Yeqf))) PC1: ((params.pi+(params.a)((calcs.Yeq)-calcs.Yeqf))) PC21: ((params.pi+2(params.a)((calcs.Yeq)-calcs.Yeqf))) PC2: ((params.pi-(((calcs.MRPCeq1)-calcs.Yeqf)/((params.a)*(params.b))))) IS: ((((15+10+params.g)/(params.a1)-((calcs.MRPCeq1)*(1-0.75*(1-0.25))/(params.a1))))) ISnova: ((((15+10+params.g)/(params.a1)-((calcs.Yeqf)*(1-0.75*(1-0.25))/(params.a1))))) IS2: ((((15+10+params.g)/(params.a1)-((calcs.MRPCeq2)*(1-0.75*(1-0.25))/(params.a1))))) PC3: ((params.pi-(((calcs.MRPCeq2)-calcs.Yeqf)/((params.a)*(params.b))))) MRPCeq1: (-2((params.a*params.a*params.b*(calcs.Yeq-calcs.Yeqf))/((params.a*params.a*params.b)+1))+calcs.Yeqf) MRPCeq2: ((-((2)(params.a)(calcs.Yeq))-((params.a)(calcs.MRPCeq1))+((4)(params.a)(calcs.Yeqf))+((calcs.Yeqf)/((params.a)(params.b))))/((params.a)+((1)/((params.a)(params.b))))) layout: TwoVerticalGraphsPlusSidebar: topGraph: xAxis: min: 0 max: 110 ticks: 4 yAxis: min: 0 max: 20 ticks: 4 objects: #Curva IS - Curve: fn: "((((15+10+params.g)/(params.a1))-((x)*(1-0.75*(1-0.25))/(params.a1))))" ind: x color: blue min: 0 max: 120 strokeWidth: 4 samplePoints: 120 #Curva IS fixa - Curve: fn: "(((15+10+10)/(params.a1)-((x)*(1-0.75*(1-0.25))/(params.a1))))" ind: x color: blue min: 0 max: 120 strokeWidth: 2 samplePoints: 120 #Canva - Point: coordinates: [calcs.Yeq, params.r] color: red show: (params.g > 12) r: 5 - Point: coordinates: [calcs.Yeqf, calcs.ISnova] color: black r: 5 - Point: coordinates: [calcs.MRPCeq1, calcs.IS] color: green show: (params.g > 12) r: 5 - Point: coordinates: [calcs.MRPCeq2, calcs.IS2] color: green show: (params.g > 12) r: 4.5 - Segment: a: [calcs.Yeq+1, 6] b: [calcs.MRPCeq1+6,calcs.IS+0.2] color: red bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.MRPCeq1-2, calcs.IS-0.4] b: [calcs.MRPCeq2-3, calcs.IS2-0.2] color: green bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.MRPCeq2-3, calcs.IS2-0.2] b: [(calcs.Yeqf-4), calcs.ISnova] color: green bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [4, params.r] b: [4, calcs.ISnova] color: red bgcolor: none show: (18 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [116, params.r] b: [116, calcs.ISnova] color: red bgcolor: none show: (18 < params.g) strokeWidth: 3 endArrow: true #Taxa Nominal de Juros Neutra - Line: yIntercept: params.r color: red lineStyle: solid strokeWidth: 2 - Line: yIntercept: calcs.ISnova color: red lineStyle: solid strokeWidth: 4 - Segment: a: [0, calcs.IS] b: [calcs.MRPCeq1, calcs.IS] color: "'#36a854'" strokeWidth: 2 show: (15 < params.g) lineStyle: dotted - Segment: a: [0, calcs.IS2] b: [calcs.MRPCeq2, calcs.IS2] color: "'#36a854'" strokeWidth: 2 show: (15 < params.g) lineStyle: dotted - Segment: a: [calcs.Yeqf, calcs.ISnova] b: [calcs.Yeqf, 0] color: green lineStyle: dotted show: (15 < params.g) strokeWidth: 2 - Segment: a: [calcs.Yeq, 0] b: [calcs.Yeq, params.r] color: green show: (15 < params.g) lineStyle: dotted strokeWidth: 2 - Segment: a: [calcs.MRPCeq1, 0] b: [calcs.MRPCeq1, calcs.IS] color: green show: (15 < params.g) lineStyle: dotted strokeWidth: 2 - Segment: a: [calcs.MRPCeq2, 0] b: [calcs.MRPCeq2, calcs.IS2] color: green lineStyle: dotted strokeWidth: 2 - Segment: a: [calcs.Yeqf+2, 0] b: [calcs.Yeqf+2, 0] color: white bgcolor: "'#36a854'" label: text: "`(\\\\$)\\\\ ${calcs.Yeqf.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.MRPCeq1-2, 0] b: [calcs.MRPCeq1-2, 0] color: white show: (params.g > 12) bgcolor: "'#d62728'" label: text: "`(\\\\$)\\\\ ${calcs.MRPCeq1.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.MRPCeq2, 0] b: [calcs.MRPCeq2, 0] color: white show: (params.g > 12) bgcolor: "'#d62728'" label: text: "`(\\\\$)\\\\ ${calcs.MRPCeq2.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.Yeq+2, 0] b: [calcs.Yeq+2 ,0] color: white show: (params.g > 12) bgcolor: "'#2177b5'" label: text: "`(\\\\$)\\\\ ${calcs.Yeq.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [1, params.r] b: [-1 ,params.r] color: white bgcolor: "'#d62728'" label: text: "`${params.r.toFixed(1)}\\\\%`" position: r - Segment: a: [1, calcs.ISnova] b: [-1 ,calcs.ISnova] color: white bgcolor: "'#d62728'" label: text: "`${calcs.ISnova.toFixed(1)}\\\\%`" position: r - Segment: a: [1, calcs.IS] b: [-1 ,calcs.IS] color: white bgcolor: "'#36a854'" show: (params.g > 12) label: text: "`${calcs.IS.toFixed(1)}\\\\%`" position: r - Segment: a: [0, calcs.IS2] b: [0, calcs.IS2] color: white bgcolor: "'#36a854'" show: (params.g > 12) label: text: "`${calcs.IS2.toFixed(1)}\\\\%`" position: r - Segment: a: [110, 5] b: [110 ,5] color: white bgcolor: "'#d62728'" label: text: "'r_{neutra}'" position: l - Segment: a: [110, calcs.ISnova] b: [110 ,calcs.ISnova] color: white show: (params.g > 12) bgcolor: "'#d62728'" label: text: r'_{neutra} position: l - Segment: a: [calcs.Yeq2, 0.7] b: [calcs.Yeq2, 0.7] color: white bgcolor: "'#2177b5'" show: (calcs.Yeq != calcs.Yeqf) label: text: IS' position: bl - Segment: a: [calcs.Yeqf+25, 0.7] b: [calcs.Yeqf+25, 0.7] color: white bgcolor: "'#2177b5'" label: text: IS position: bl - Segment: a: [0, 20] b: [0.5, 20] label: text: r fontSize: 13 position: r - Segment: a: [120, 0] b: [120, 0] label: text: Y position: t bottomGraph: xAxis: min: 0 max: 110 ticks: 4 yAxis: min: 0 max: 15 ticks: 4 objects: #Curva de Phillips - Curve: fn: "(params.pi+(params.a)(x-calcs.Yeqf))" ind: x color: "'#008b38'" min: 0 max: 110 strokeWidth: 4 samplePoints: 100 #Curva de Phillips2 - Curve: fn: "(params.pi+((params.a)(x-calcs.Yeqf))+((params.a)(calcs.Yeq-calcs.Yeqf)))" ind: x color: "'#008b38'" min: 0 max: 110 strokeWidth: 4 samplePoints: 100 #Curva de Phillips3 - Curve: fn: "(params.pi+((params.a)(x-calcs.Yeqf))+2((params.a)(calcs.Yeq-calcs.Yeqf)))" ind: x color: "'#008b38'" min: 0 max: 110 strokeWidth: 4 samplePoints: 100 #Curva de Phillips4 - Curve: fn: "(params.pi+((params.a)(x-calcs.Yeqf))+2((params.a)(calcs.Yeq-calcs.Yeqf))+(params.a)(calcs.MRPCeq1-calcs.Yeqf))" ind: x color: "'#008b38'" min: 0 max: 110 strokeWidth: 4 lineStyle: solid samplePoints: 100 # Função de Reação (MR) - Curve: fn: "(params.pi-(((x)-calcs.Yeqf)/((params.a)*(params.b))))" ind: x color: supply min: 0 max: 200 strokeWidth: 4 samplePoints: 100 #Canva - Point: coordinates: [calcs.Yeqf, params.pi] color: black r: 5 - Point: coordinates: [calcs.Yeq, calcs.PC1] color: red r: 5 show: (params.g > 12) - Point: coordinates: [calcs.Yeq, calcs.PC21] color: red r: 5 show: (params.g > 12) - Point: coordinates: [calcs.MRPCeq1, calcs.PC2] color: green r: 5 show: (params.g > 12) - Point: coordinates: [calcs.MRPCeq2, calcs.PC3] color: green r: 4 show: (params.g > 12) - Line: yIntercept: params.pi color: red lineStyle: solid strokeWidth: 3 - Segment: a: [calcs.Yeq, calcs.PC21] b: [calcs.MRPCeq1,calcs.PC2] color: red bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.Yeqf+1, params.pi-0.6] b: [calcs.Yeq+1, calcs.PC1-0.6] color: red bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.Yeq+2.5, calcs.PC1+0.6] b: [calcs.Yeq+2.5, calcs.PC21-0.2] color: red bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.MRPCeq1-3,calcs.PC2-0.5] b: [calcs.MRPCeq2-5,calcs.PC3-0.3] color: green bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.MRPCeq2-5,calcs.PC3-0.3] b: [calcs.Yeqf-7, 4-0.3] color: green bgcolor: none show: (12 < params.g) strokeWidth: 3 endArrow: true - Segment: a: [calcs.Yeq, 0] b: [calcs.Yeq, calcs.Yeq] color: green lineStyle: dotted strokeWidth: 2 - Segment: a: [calcs.Yeqf, 0] b: [calcs.Yeqf, calcs.Yeqf] color: green lineStyle: dotted strokeWidth: 2 show: (calcs.Yeqf != calcs.Yeq) - Segment: a: [calcs.MRPCeq1, 0] b: [calcs.MRPCeq1, calcs.MRPCeq1] color: green lineStyle: dotted strokeWidth: 2 show: (calcs.Yeqf != calcs.Yeq) - Segment: a: [calcs.MRPCeq2, 0] b: [calcs.MRPCeq2, calcs.MRPCeq2] color: green lineStyle: dotted strokeWidth: 2 show: (calcs.Yeqf != calcs.Yeq) - Segment: a: [calcs.Yeqf, 0] b: [calcs.Yeqf, calcs.Yeqf] color: green lineStyle: dotted strokeWidth: 1 - Segment: a: [calcs.Yeqf+2, 0] b: [calcs.Yeqf+2, 0] color: white bgcolor: "'#36a854'" label: text: "`(\\\\$)\\\\ ${calcs.Yeqf.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.Yeq+2, 0] b: [calcs.Yeq+2,0] color: white show: (params.g > 12) bgcolor: "'#2177b5'" label: text: "`(\\\\$)\\\\ ${calcs.Yeq.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.MRPCeq1-2, 0] b: [calcs.MRPCeq1-2,0] color: white show: (params.g > 12) bgcolor: "'#d62728'" label: text: "`(\\\\$)\\\\ ${calcs.MRPCeq1.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [calcs.MRPCeq2, 0] b: [calcs.MRPCeq2,0] color: white show: (params.g > 12) bgcolor: "'#d62728'" label: text: "`(\\\\$)\\\\ ${calcs.MRPCeq2.toFixed(1)}`" position: t fontSize: 10 - Segment: a: [1, params.pi] b: [-1 ,params.pi] color: white bgcolor: "'#d62728'" label: text: "`${params.pi.toFixed(1)}\\\\%`" position: r - Segment: a: [110, params.pi] b: [110 ,params.pi] color: white bgcolor: "'#d62728'" label: text: "`\\\\pi_{meta}`" position: l - Segment: a: [calcs.MR, 0.7] b: [calcs.MR, 0.7] color: white bgcolor: "'#fc7e0f'" label: text: MR position: bl - Segment: a: [110, calcs.PC-1] b: [110, calcs.PC-1] color: white bgcolor: "'#008b38'" label: text: PC position: bl - Segment: a: [110, (calcs.PC+(params.a)(calcs.Yeq-calcs.Yeqf))+1] b: [110, (calcs.PC+(params.a)(calcs.Yeq-calcs.Yeqf))+1] color: white show: (params.g > 12) bgcolor: "'#008b38'" label: text: PC_{2} position: bl - Segment: a: [0, 15] b: [0.5, 15] label: text: "`\\\\pi`" position: r - Segment: a: [110, 0] b: [110, 0] label: text: Y position: t - Segment: a: [0, calcs.PC2] b: [calcs.MRPCeq1, calcs.PC2] color: "'#36a854'" lineStyle: dotted strokeWidth: 2 show: (params.g > 12) - Segment: a: [0, calcs.PC3] b: [calcs.MRPCeq2, calcs.PC3] color: "'#36a854'" lineStyle: dotted strokeWidth: 2 show: (params.g > 12) - Segment: a: [0, calcs.PC2] b: [0, calcs.PC2] color: white bgcolor: "'#36a854'" show: (params.g > 12) label: text: "`${calcs.PC2.toFixed(1)}\\\\%`" position: r - Segment: a: [0, calcs.PC3] b: [0, calcs.PC3] color: white bgcolor: "'#36a854'" show: (params.g > 12) label: text: "`${calcs.PC3.toFixed(1)}\\\\%`" position: r sidebar: controls: - title: Modelo IS-PC-MR - CHOQUE DE DEMANDA PERMANENTE COM DOIS PERÍODOS DE DEFASAGEM sliders: - param: g label: G digits: 3 - param: b label: \beta digits: 3 - param: a label: \alpha digits: 3 divs: - html: '`As condições iniciais da Economia são: $$ \\pi_{meta} = ${params.pi.toFixed(2)} \\ \\% $$ $$ Y_{pot}=(\\\$) \\ ${calcs.Yeqf.toFixed(1)} $$ $$ r_{neutra}= ${calcs.ISnova.toFixed(1)} \\ \\% $$ A evolução do produto é dada por $$ Y_{pot} = (\\\$) \\ ${calcs.Yeqf.toFixed(1)} $$ $$ Y_{1} = (\\\$) \\ ${calcs.Yeq.toFixed(1)} $$ $$ Y_{2} = (\\\$) \\ ${calcs.MRPCeq1.toFixed(1)} $$ $$ Y_{3} = (\\\$) \\ ${calcs.MRPCeq2.toFixed(1)} $$`' - html:
- html: '`A curva $IS$ é: $$\\color{${colors.black}}{r(Y) = \\frac{c_{0}+a_{0}+G}{a_{1}}-\\frac{Y[1-c_{1}(1-t)]}{a_{1}}}$$ $$\\color{${colors.black}}{\\Longleftrightarrow}$$ $$\\color{${colors.black}}{r(Y) = \\frac{15+10+${params.g.toFixed(0)}}{${params.a1.toFixed(3)}}-\\frac{Y[1-0.75(1-0.25)]}{${params.a1.toFixed(3)}}}$$`' - html: '`A curva $PC_{t}$ é: $$\\color{${colors.black}}{\\pi_{t} = \\pi_{meta}+\\alpha(Y_{t}-Y_{pot})}$$ $$\\Leftrightarrow$$ $$\\color{${colors.black}}{\\pi_{t} = 4+${params.a.toFixed(2)}(Y_{t}-${calcs.Yeqf.toFixed(2)})}$$ `' - html: '`A curva $MR_{t}$ é: $$\\color{${colors.black}}{\\pi_{t}(Y_{t}) = \\pi_{meta}-\\frac{(Y_{t}-Y_{pot})}{\\alpha \\beta}} $$`' - html:
- html: ' Para dois períodos de defasagem, as curvas ${PC_{t}}$ e ${MR_{t}}$ precisam ser ajustadas para ${t+2}$ períodos. ' - html: '` A curva $PC_{t+2}$ é: $$\\color{${colors.black}}{\\pi_{t+2} = \\pi_{meta}+\\alpha(Y_{t}-Y_{pot})+\\alpha(Y_{t+1}-Y_{pot})+\\alpha(Y_{t+2}-Y_{pot})}$$ $$\\Leftrightarrow$$ $$\\color{${colors.black}}{\\pi_{t+2} = \\pi_{meta}+2\\alpha(Y_{t}-Y_{pot})+\\alpha(Y_{t+2}-Y_{pot})}$$ `' - html: '`A curva $MR_{t+2}$ é: $$\\color{${colors.black}}{\\pi_{t+2}(Y_{t+2}) = \\pi_{meta}-\\frac{(Y_{t+2}-Y_{pot})}{\\alpha \\beta}} $$`' - html: '`O produto $Y_{t+2}$ ótimo de equilíbrio ocorre quando $MR_{t+2}=PC_{t+2}$, e resolvando para $Y_{t+2}$: $$MR_{t+2}=PC_{t+2}$$ $$\\Longleftrightarrow$$ $$\\color{${colors.black}}{ \\pi_{meta}-\\frac{(Y_{t+2}-Y_{pot})}{\\alpha \\beta}=\\pi_{meta}+2\\alpha(Y_{t}-Y_{pot})+a(Y_{t+2}-Y_{pot})}$$ O produto ótimo em $Y_{t+2}$ é dado por: $$Y_{t+2}= Y_{pot} - \\frac{2\\alpha^{2}\\beta(Y_{t}-Y_{pot})}{\\alpha^{2}\\beta+1}$$`' - html: '`Para $\\beta=100$ e $\\alpha=0,1$, temos: $$Y_{t+2}(Y_{t})= Y_{pot} - \\frac{2(Y_{t}-Y_{pot})}{2}$$ $$\\Leftrightarrow$$ $$Y_{t+2}=${calcs.MRPCeq1.toFixed(2)} $$`' - html: 'Para encontrar a taxa de juros (r) necessária para atingir esse produto ótimo — considerando que o choque de demanda é permanente — basta substituir o produto encontrado na Curva IS nova e resolver para (r).' - html: '`$$\\color{${colors.black}}{IS\'': r(Y_{t+2}) = \\frac{c_{0}+a_{0}+G}{a_{1}}-\\frac{Y_{t+2}[1-c_{1}(1-t)]}{a_{1}}}$$ $$\\color{${colors.black}}{\\Longleftrightarrow}$$ $$\\color{${colors.black}}{r(${calcs.MRPCeq1.toFixed(2)}) = \\frac{15+10+${params.g.toFixed(0)}}{${params.a1.toFixed(3)}}-\\frac{${calcs.MRPCeq1.toFixed(2)}[1-0.75(1-0.25)]}{${params.a1.toFixed(3)}}}$$ $$\\Longleftrightarrow$$ $$ r(${calcs.MRPCeq1.toFixed(2)})=${calcs.IS.toFixed(2)} \\% $$`' - html: '`Para encontrar os demais níveis de produto ótimo ($Y_{t+n}$) e taxa de juros ($r_{t+n}$), basta repetir o processo para cada nova Curva de Phillips $PC_{n}$, até atingir o produto potencial $Y_{pot}$`' - html: '' - html: 'A grande diferença entre um choque de demanda temporário e um choque de demanda permanente é que a taxa de juros neutra ($r_{neutra}$) aumenta após o choque permanente.'