schema: EconSchema
aspectRatio: 1.3
params:
- name: C
value: 40
min: 35
max: 40
round: 0.01
- name: c
value: 0.6
min: 0.5
max: 0.6
round: 0.01
- name: I
value: 17
min: 17
max: 30
round: 0.05
- name: d
value: 500
min: 145
max: 250
round: 0.05
- name: G
value: 20
min: 20
max: 35
round: 0.05
- name: T
value: 20
min: 20
max: 35
round: 0.05
- name: x
value: 0.001
min: 0.001
max: 0.003
round: 0.001
- name: m
value: 0.2
min: 0.1
max: 0.3
round: 0.01
- name: h
value: 500
min: 490
max: 510
round: 0.05
- name: k
value: 0.5
min: 0.4
max: 0.5
round: 0.05
- name: Ye
value: 20000
min: 10000
max: 20000
round: 0.05
- name: M
value: 25
min: 25
max: 35
round: 0.05
- name: L
value: 1200
min: 50
max: 1200
round: 1
- name: rf
value: 0.05
min: 0
max: 0.1
round: 0.01
- name: ef
value: 1
min: 0.5
max: 1.5
round: 0.1
calcs:
e: (params.ef)
Yeq: (((params.C)-((params.c)(params.T))+(params.I)+(params.G)+(((params.d)(params.M + calcs.R))/(params.h))+((params.x)(calcs.e)(params.Ye)))/((1)-(params.c)+((2)(params.m))-((params.m)(calcs.e))+(((params.d)(params.k))/(params.h))))
Yeq1: (((params.C)-((params.c)(params.T))+(params.I)+(params.G)+((calcs.e)(params.x)(params.Ye)((1)+((params.d)/(params.L))))-((params.d)(params.rf)))/((1)-(params.c)+((2)(params.m))-((params.m)(calcs.e))+(((params.d)/(params.L))(((2)(params.m))-((params.m)(calcs.e))))))
req: ((((params.k)(calcs.Yeq))/(params.h))-((params.M + calcs.R)/(params.h)))
Md2: ((((params.C)(params.k))+((params.I)(params.k))+((35)(params.c))+((35)(params.m)(calcs.e))+((params.G)(params.k))+((params.Ye)(params.k)(calcs.e)(params.x))-((2)(35)(params.m))-(35)-((params.T)(params.c)(params.k)))/(((params.d)(params.k))+((2)(params.h)(params.m))+(params.h)-((params.c)(params.h))-((params.h)(params.m)(calcs.e))))
IS: (((params.C)+(params.I)-((params.d)(0))+(params.G)-((params.T)(params.c))+((params.x)(params.Ye)(calcs.e)))/((1 - params.c)+((2)(params.m))-((params.m)(calcs.e))))
LM: ((((0.075)*(params.h))/(params.k))+((params.M + calcs.R)/(params.k)))
X: (((params.x)(params.Ye))+((params.Ye)(((calcs.e)(params.x))-(params.x))))
M: (((params.m)(calcs.Yeq))+((calcs.Yeq)((params.m)-((params.m)(calcs.e)))))
R: ((((params.k)-(((params.h)(((2)(params.m))-((params.m)(calcs.e))))/(params.L)))(calcs.Yeq1))+(((params.h)(calcs.e)(params.x)(params.Ye))/(params.L))-((params.h)(params.rf))-(params.M))
req100: ((calcs.req)(100))
Mt: (params.M + calcs.R)
layout:
FourGraphsPlusSidebar2:
topRightGraph:
xAxis:
min: 0
max: 200
ticks: 6
yAxis:
min: 0
max: 200
ticks: 6
objects:
#45-degree Line
- Line:
slope: 1
strokeWidth: 2
color: grey
- AngleMarker:
measure: 45
strokeWidth: 2.5
color: black
r: 30
label:
text: "`45\\\\degree`"
fontSize: 11
- Segment:
a: [170, 170]
b: [170, 170]
color: grey
label:
text: "`Y_{d}=Y_{renda}=Y_{prod}`"
position: a
fontSize: 9
#Agreggate Expenditure
- Curve:
fn: "(params.C + params.c*(x - params.T) + params.G + params.I - params.d(calcs.req) + (params.x)(params.Ye) + (params.Ye)(((params.x)(calcs.e))-(params.x)) - ((params.m)(x)+(x)((params.m)-((params.m)(calcs.e)))))"
ind: x
color: blue
min: 0
max: 500
strokeWidth: 4
samplePoints: 100
- Point:
coordinates: [calcs.Yeq, calcs.Yeq]
color:
- Segment:
a: [calcs.Yeq, 0]
b: [calcs.Yeq, calcs.Yeq]
color: green
lineStyle: dotted
strokeWidth: 2
- Segment:
a: [calcs.Yeq, 0]
b: [calcs.Yeq, 0]
color: black
bgcolor: "'#36a854'"
label:
text: "`(\\\\$)\\\\ ${calcs.Yeq.toFixed(1)}`"
position: t
- Segment:
a: [0, calcs.Yeq]
b: [0, calcs.Yeq]
color: black
bgcolor: "'#36a854'"
label:
text: "`(\\\\$)\\\\ ${calcs.Yeq.toFixed(1)}`"
position: r
- Segment:
a: [calcs.Yeq, calcs.Yeq]
b: [0, calcs.Yeq]
color: green
lineStyle: dotted
strokeWidth: 2
bottomLeftGraph:
xAxis:
min: 0
max: 50
ticks: 4
yAxis:
min: 0
max: 0.079
ticks: 4
objects:
#Demand for Money - Curve
- Curve:
fn: "((((params.C)(params.k))+((params.I)(params.k))+((x + calcs.R)(params.c))+((x + calcs.R)(params.m)(calcs.e))-((2)(x + calcs.R)(params.m))-(x + calcs.R)-((params.T)(params.c)(params.k))+((params.G)(params.k))+((params.Ye)(params.k)(calcs.e)(params.x)))/(-((params.c)(params.h))+((params.d)(params.k))-((params.h)(params.m)(calcs.e))+((2)(params.h)(params.m))+(params.h)))"
ind: x
color: blue
min: 0
max: 60
strokeWidth: 4
samplePoints: 100
#Money Supply - Line
- Point:
coordinates: [params.M, calcs.req]
color:
- Line:
xIntercept: params.M
color: supply
lineStyle: solid
strokeWidth: 3
- Line:
yIntercept: calcs.req
color: supply
lineStyle: dotted
strokeWidth: 2
#Canva
- Segment:
a: [0,0.079]
b: [0,0.079]
color: black
bgcolor: white
label:
text: r
position: r
fontSize: 13
- Segment:
a: [50,0]
b: [50,0]
color: black
label:
text: M/P
position: t
- Segment:
a: [0, calcs.req]
b: [0, calcs.req]
color: black
bgcolor: "'#36a854'"
label:
text: "`${calcs.req100.toFixed(1)} \\\\%`"
position: r
- Segment:
a: [params.M, 0]
b: [params.M, 0]
color: black
bgcolor: "'#36a854'"
label:
text: "`(\\\\$)\\\\ ${params.M.toFixed(1)}`"
position: t
- Segment:
a: [params.M, 0.079]
b: [params.M, 0.079]
color: white
bgcolor: "'#fc7e0f'"
label:
text: M_{of}
position: b
- Segment:
a: [45, calcs.Md2]
b: [45, calcs.Md2]
color: white
bgcolor: "'#2177b5'"
label:
text: M_{d}
position: a
topLeftGraph:
xAxis:
min: 0
max: 20
ticks: false
show: false
yAxis:
min: 0
max: 10
ticks: 6
show: false
bottomRightGraph:
xAxis:
min: 0
max: 200
ticks: 4
yAxis:
min: 0
max: 0.079
ticks: 4
objects:
#IS Curve
- Curve:
fn: "((((params.C)-((params.c)(params.T))+(params.I)+(params.G)+((calcs.e)(params.x)(params.Ye)))/(params.d))-(((x)((1)-(params.c)-((calcs.e)(params.m))+((2)(params.m))))/(params.d)))"
ind: x
color: blue
min: 0
max: 500
strokeWidth: 4
samplePoints: 100
#LM Curve
- Curve:
fn: "((((x)(params.k))/(params.h))-((params.M + calcs.R)/(params.h)))"
ind: x
color: supply
min: 0
max: 200
strokeWidth: 4
samplePoints: 100
- Point:
coordinates: [calcs.Yeq, calcs.req]
color:
- Segment:
a: [calcs.Yeq, 0]
b: [calcs.Yeq, 0.079]
color: green
lineStyle: dotted
strokeWidth: 2
#BP
- Curve:
fn: "((params.rf)+((((2)(params.m)(x))-((calcs.e)(((params.x)(params.Ye))+((params.m)(x)))))/(params.L)))"
ind: x
color: green
min: 0
max: 200
strokeWidth: 4
samplePoints: 100
label:
text: "'BP'"
x: 180
#Canva
- Segment:
a: [0,0.079]
b: [0,0.079]
color: black
bgcolor: white
label:
text: r
position: r
fontSize: 13
- Segment:
a: [200, 0]
b: [200, 0]
color: black
label:
text: Y_{Eq}
position: t
- Segment:
a: [0, calcs.req]
b: [0, calcs.req]
color: black
bgcolor: "'#36a854'"
label:
text: "`${calcs.req100.toFixed(1)} \\\\%`"
position: r
- Segment:
a: [calcs.Yeq, 0]
b: [calcs.Yeq, 0]
color: black
bgcolor: "'#36a854'"
label:
text: "`(\\\\$)\\\\ ${calcs.Yeq.toFixed(2)}`"
position: t
- Segment:
a: [calcs.IS, 0.005]
b: [calcs.IS, 0.005]
color: white
bgcolor: "'#2177b5'"
label:
text: IS
position: b
- Segment:
a: [calcs.LM, 0.07]
b: [calcs.LM, 0.07]
color: white
bgcolor: "'#fc7e0f'"
label:
text: LM
position: l
- Segment:
a: [0, calcs.req]
b: [calcs.Yeq, calcs.req]
color: green
lineStyle: dotted
strokeWidth: 2
sidebar:
controls:
- title: Modelo IS-LM-BP — MOBILIDADE IMPERFEITA DE CAPITAIS E REGIME DE CÂMBIO FIXO
sliders:
- param: M
label: M_{of}
digits: 4
- param: G
label: G
digits: 4
- param: ef
label: \\e
digits: 4
- param: L
label: \lambda
digits: 4
divs:
- html:
- html: '`O Produto de Equilíbrio ($\\color{${colors.black}}{Y_{eq}}$) é : $$\\color{${colors.black}}{Y_{d} = R \\$ ${calcs.Yeq.toFixed(2)}}$$ A taxa de câmbio real (e) e a variação de Reservas ($\\color{${colors.black}}{ \\Delta R }$) $$\\color{${colors.black}}{\\bf{{e = ${calcs.e.toFixed(2)}}}}$$ $$\\color{${colors.black}}{\\bf{\\Delta R = ${calcs.R.toFixed(2)}}}$$ A Oferta total de Moeda ($\\color{${colors.black}}{M_{total}}$) é:$$\\color{${colors.black}}{M_{total}=M_{dom}+e \\cdot R}$$ $$\\color{${colors.black}}{M_{total} = ${params.M.toFixed(2)} +${calcs.R.toFixed(2)}}$$ $$\\color{${colors.black}}{M_{total} = ${calcs.Mt.toFixed(2)}}$$ O Saldo em Conta-Corrente (CC) é: $$\\color{${colors.black}}{X = R \\$ ${calcs.X.toFixed(2)}}$$ $$\\color{${colors.black}}{M = R \\$ ${calcs.M.toFixed(2)}}$$`'
- html:
- html: 'A identidade do produto ${Y_d}$ pela ótica da despesa em Economia Aberta é: $${Y_{d}=C+I+G+(X-M)}$$ As formas funcionais para cada componente são: $${C=C_0+c(Y_{renda}-T)}$$ $${I=I_0-d \cdot r}$$ $${G= \overline{G}}$$ Para uma condição inicial de orçamento equilibrado, temos: $${G=T}$$ Para Exportações ${(X)}$: $${X=x_1 \cdot Y_e + Y_e (e \cdot x_1 - x_1)}$$ em que ${\bf{x_1}}$ é a sensibilidade de ${\bf{X}}$ em relação à renda externa ${\bf{Y_e}}$, e $${\bf{Y_e(e \cdot x_1 - x_1)}}$$ representa a sensibilidade de ${\bf{X}}$ em relação à taxa de câmbio real ${\bf{(e)}}$.'
- html: 'Para as Importações ${(M)}$: $${M=m \cdot Y_{renda} + Y_{renda} (m - m \cdot e)}$$ em que ${\bf{m}}$ é a propensão marginal à importar e $${\bf{Y_{renda}(m - m \cdot e)}}$$ representa a sensibilidade das Importações ${(\bf{M})}$ em relação à taxa de câmbio real ${(\bf{e})}$.'
- html: 'A curva IS é: $${IS:r(Y)=\frac{C_0 + I_0 + G - cT + x_1 Y_e + Y_e (x_1 e - x_1)}{d}- \frac{Y(1 + 2m - me -c)}{d}}$$ A curva LM é: $${LM:r(Y)= \frac{k \cdot Y}{h} - \frac{M_o}{h}}$$ O equilíbrio no Balanço de Pagamentos ${(BP)}$ é: $${CC=-CF}$$ Como há mobilidade imperfeita de Capitais, então: $${CF=\lambda(r-r^*)}$$ $${\Longleftrightarrow}$$ $${X-M=-\lambda(r-r^*)}$$ $${\Longleftrightarrow}$$ $${x_1 \cdot Y_e + Y_e (e \cdot x_1 - x_1)-(m \cdot Y_{renda} + Y_{renda} (m - m \cdot e))=-\lambda(r-r^*)}$$ Resolvendo para a taxa de juros ${(r)}$ $${BP: r(Y) = r^* + \frac{Y_{renda}(2 \cdot m - m\cdot e)- e x Y_e}{\lambda}}$$ Para encontrar as Reservas ${(R)}$ de equilíbrio, basta igualar a equação acima com a curva LM e resolver para as Reservas (R).'
- html: '`A taxa de câmbio real ($\\color{${colors.black}}{e}$) é fixa, de modo que: $$\\color{${colors.black}}{e = ${params.ef.toFixed(2)}}$$ Dessa forma, as Reservas Internacionais (R) precisam variar para manter a taxa de câmbio fixa. A função das Reservas pode ser encontrada substituindo a IS na LM e resolvendo para R: `'
- html: ' $${ R = Y_{renda} \cdot k - \frac{h\,(2m - m\,e)}{\lambda}Y_{renda} + \frac{h\,e\,x\,Y_e}{\lambda} - h\,r^* - M_{dom}}$$'