schema: EconSchema
aspectRatio: 1.25
params:
- name: p1
value: 1
min: 1
max: 3
round: 0.1
- name: p2
value: 1
min: 1
max: 3
round: 0.1
- name: m
value: 8
min: 1
max: 15
round: 0.1
- name: a
value: 0.5
min: 0.01
max: 1.5
precision: 0.001
round: 0.01
- name: b
value: 0.5
min: 0.1
max: 1
precision: 0.01
round: 0.01
calcs:
Dm1CES: (params.m)*(((params.b)*(params.p1))^(1/(params.a-1))/(((params.p1)^(params.a/(params.a-1)))(params.b)^((1)/(params.a-1))+(1-params.b)^(1/(params.a-1))(params.p2)^(params.a/(params.a-1))))
Dm2CES: (params.m)*(((1-params.b)*(params.p2))^(1/(params.a-1))/(((params.p1)^(params.a/(params.a-1)))(params.b)^((1)/(params.a-1))+((1-params.b)^(1/(params.a-1))(params.p2)^(params.a/(params.a-1)))))
UCES: (((1-params.b)*(calcs.Dm1CES^(params.a))+(params.b)*(calcs.Dm2CES^(params.a)))^(1/params.a))
RO: (-((0)*(params.p2)/(params.p1))+(params.m)/(params.p1))
RO2: (-((0)*(params.p1)/(params.p2))+(params.m)/(params.p2))
pr: (params.p2/params.p1)
px: (params.m*(1-params.b)*(6^(params.a-1))/((1-params.b)(6^(params.a))+(params.b)(calcs.Dm2CES^(params.a))))
px2: (params.m*(params.b)*(6^(params.a-1))/((1-params.b)(calcs.Dm1CES^(params.a))+(params.b)(6^(params.a))))
rmg1: (((params.m)*(params.a)*(calcs.Dm2CES)^(params.a)*(6)^(params.a-1))/((6)^(params.a)+(calcs.Dm2CES^(params.a)))^2)
rmg2: (((params.m)*(params.a)*(calcs.Dm1CES)^(params.a)*(6)^(params.a-1))/((6)^(params.a)+(calcs.Dm1CES^(params.a)))^2)
rc: (((11)((params.b*params.p1)/(params.p2*(1-params.b)))^(1/(params.a-1))))
layout:
FourGraphsPlusSidebar:
topLeftGraph:
xAxis:
min: 0
max: 12
ticks: 4
yAxis:
min: 0
max: 12
ticks: 4
objects:
#45-degree Line
- Line:
slope: 1
strokeWidth: 3
color: grey
- AngleMarker:
measure: 45
strokeWidth: 2.5
color: black
r: 2
label:
text: "`45\\\\degree`"
fontSize: 11
#Canva
- Segment:
a: [0, 12]
b: [0, 12]
color: black
label:
text: "`x_{1}`"
position: r
- Segment:
a: [12, 0.1]
b: [12, 0.1]
color: black
label:
text: "`x_{1}`"
position: t
- Point:
coordinates: [calcs.Dm1CES, calcs.Dm1CES]
color: green
r: 5
- Segment:
a: [calcs.Dm1CES, 0]
b: [calcs.Dm1CES, calcs.Dm1CES]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [12, calcs.Dm1CES]
b: [0, calcs.Dm1CES]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [calcs.Dm1CES, 0]
b: [calcs.Dm1CES, 0]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm1CES.toFixed(0)
position: t
fontSize: 12
- Segment:
a: [0, calcs.Dm1CES]
b: [0, calcs.Dm1CES]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm1CES.toFixed(0)
position: r
fontSize: 12
bottomLeftGraph:
xAxis:
min: 0
max: 12
ticks: 4
yAxis:
min: 0
max: 4
ticks: 4
objects:
#Curva de Demanda X1
- Curve:
fn: "(params.m*(1-params.b)*(x^(params.a-1))/((1-params.b)(x^(params.a))+(params.b)(calcs.Dm2CES^(params.a))))"
ind: x
color: supply
min: 0
max: 100
lineStyle: solid
strokeWidth: 3.5
samplePoints: 1000
#Curva de RMg X1
- Curve:
fn: "(params.b(1-params.b)params.m(params.a)((x)^(params.a-1))calcs.Dm2CES^(params.a))/(((params.b)(calcs.Dm2CES^(params.a))+(1-params.b)(x^(params.a))))^2"
ind: x
color: supply
min: 0
max: 100
lineStyle: dashed
strokeWidth: 2
samplePoints: 1000
#Canva
- Segment:
a: [0, 4]
b: [0, 4]
color: black
label:
text: "`P_{1}`"
position: r
- Segment:
a: [12, 0.1]
b: [12, 0.1]
color: black
label:
text: "`x_{1}`"
position: t
- Segment:
a: [calcs.Dm1CES, 0]
b: [calcs.Dm1CES, 20]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [0, params.p1]
b: [calcs.Dm1CES, params.p1]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Point:
coordinates: [calcs.Dm1CES, params.p1]
color: green
r: 5
- Segment:
a: [0, params.p1]
b: [0, params.p1]
bgcolor: "'#36a854'"
color: black
label:
text: "`(\\\\$)\\\\ ${params.p1.toFixed(2)}`"
position: r
fontSize: 12
- Segment:
a: [calcs.Dm1CES, 0]
b: [calcs.Dm1CES, 0]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm1CES.toFixed(0)
position: t
fontSize: 12
- Segment:
a: [calcs.px, 4]
b: [calcs.px, 4]
bgcolor: "'#fc7e0f'"
color: white
label:
text: "`P_{1}(X_{1})`"
position: l
fontSize: 12
- Segment:
a: [12, calcs.rmg1]
b: [12, calcs.rmg1]
bgcolor: "'#fc7e0f'"
color: white
label:
text: "`RMg_{1}(X_{1})`"
position: p
fontSize: 8
topRightGraph:
xAxis:
min: 0
max: 12
ticks: 4
yAxis:
min: 0
max: 12
ticks: 4
objects:
#Curva de Indiferença
- Curve:
fn: "((((calcs.UCES^(params.a))-((params.b)(x)^(params.a)))/(1-params.b)))^(1/params.a)"
ind: x
color: red
min: 0
max: 100
lineStyle: solid
strokeWidth: 4
samplePoints: 500
show: (params.a >= 0.1)
- Curve:
fn: "((((calcs.UCES^(params.a))-((params.b)(y)^(params.a)))/(1-params.b)))^(1/params.a)"
ind: y
min: 0
max: 100
color: red
lineStyle: solid
strokeWidth: 4
samplePoints: 500
show: (params.a <= 0.1)
#Restrição Orçamentaria
- Curve:
fn: "(-((x)*(params.p2)/(params.p1))+(params.m)/(params.p1))"
ind: x
color: blue
strokeWidth: 4
samplePoints: 300
#Curva de renda-consumo
- Curve:
fn: "((x)((params.b*params.p1)/(params.p2*(1-params.b)))^(1/(params.a-1)))"
ind: x
color: black
lineStyle: solid
strokeWidth: 2
samplePoints: 300
- Point:
coordinates: [calcs.Dm2CES, calcs.Dm1CES]
color: green
#Canva
- Segment:
a: [0, 12]
b: [0, 12]
color: black
label:
text: "`x_{1}`"
position: r
- Segment:
a: [12, 0.1]
b: [12, 0.1]
color: black
label:
text: "`x_{2}`"
position: t
- Segment:
a: [calcs.Dm2CES, 0]
b: [calcs.Dm2CES, calcs.Dm1CES]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [0, calcs.Dm1CES]
b: [calcs.Dm2CES, calcs.Dm1CES]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [calcs.Dm2CES, 0]
b: [calcs.Dm2CES, 0]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm2CES.toFixed(0)
position: t
fontSize: 12
- Segment:
a: [0, calcs.Dm1CES]
b: [0, calcs.Dm1CES]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm1CES.toFixed(0)
position: r
fontSize: 12
- Segment:
a: [calcs.Dm2CES, calcs.Dm1CES+1]
b: [calcs.Dm2CES, calcs.Dm1CES+1]
color: black
bgcolor: "'#FFCC90'"
label:
text: "`TMS=|-\\\\frac{p_{2}}{p_{1}}| =${calcs.pr.toFixed(2)}`"
position: l
fontSize: 11
- Segment:
a: [11, calcs.rc]
b: [11, calcs.rc]
color: black
bgcolor: grey
label:
text: "`renda-consumo`"
position: br
fontSize: 8
- Segment:
a: [0, calcs.RO]
b: [0, calcs.RO]
color: black
bgcolor: "'#FFCC90'"
label:
text: \frac{m}{p_{1}}
position: r
fontSize: 15
- Segment:
a: [calcs.RO2, 0]
b: [calcs.RO2, 0]
color: black
bgcolor: "'#FFCC90'"
label:
text: \frac{m}{p_{2}}
position: t
fontSize: 15
bottomRightGraph:
xAxis:
min: 0
max: 12
ticks: 4
yAxis:
min: 0
max: 4
ticks: 4
objects:
#Curva de Demanda X2
- Curve:
fn: "(params.m*(params.b)*(x^(params.a-1))/((1-params.b)(calcs.Dm1CES^(params.a))+(params.b)(x^(params.a))))"
ind: x
color: blue
min: 0
max: 100
lineStyle: solid
strokeWidth: 3.5
samplePoints: 1000
#Curva de RMg X2
- Curve:
fn: "(params.b(1-params.b)params.m(params.a)((x)^(params.a-1))calcs.Dm1CES^(params.a))/(((1-params.b)(calcs.Dm1CES^(params.a))+(params.b)(x^(params.a))))^2"
ind: x
color: blue
min: 0
max: 100
lineStyle: dashed
strokeWidth: 2
samplePoints: 1000
#Canva
- Segment:
a: [0, 4]
b: [0, 4]
color: black
label:
text: "`P_{2}`"
position: r
- Segment:
a: [12, 0.1]
b: [12, 0.1]
color: black
label:
text: "`x_{2}`"
position: t
- Segment:
a: [calcs.Dm2CES, 0]
b: [calcs.Dm2CES, 20]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [0, params.p2]
b: [calcs.Dm2CES, params.p2]
color: "'#36a854'"
lineStyle: dashed
strokeWidth: 2.5
- Segment:
a: [0, params.p2]
b: [0, params.p2]
bgcolor: "'#36a854'"
color: black
label:
text: "`(\\\\$)\\\\ ${params.p2.toFixed(2)}`"
position: r
fontSize: 12
- Segment:
a: [calcs.Dm2CES, 0]
b: [calcs.Dm2CES, 0]
bgcolor: "'#36a854'"
color: black
label:
text: calcs.Dm2CES.toFixed(0)
position: t
fontSize: 12
- Point:
coordinates: [calcs.Dm2CES, params.p2]
color: green
r: 5
- Segment:
a: [12, calcs.px2]
b: [12, calcs.px2]
bgcolor: "'#1f77b4'"
color: white
label:
text: "`P_{2}(X_{2})`"
position: p
fontSize: 12
- Segment:
a: [12, calcs.rmg2]
b: [12, calcs.rmg2]
bgcolor: "'#1f77b4'"
color: white
label:
text: "`RMg_{2}(X_{2})`"
position: p
fontSize: 8
sidebar:
controls:
- title: Decisão Ótima de Consumo CES e Funções de Demanda Marshallianas
sliders:
- param: m
label: m
digits: 3
- param: p1
label: p_{1}
digits: 3
- param: p2
label: p_{2}
digits: 3
- param: a
label: \rho
digits: 3
- param: b
label: \alpha
digits: 3
divs:
- html: 'A forma funcional da função de Utilidade CES é: $${U(X_{1},X_{2}) = [(1-\alpha)X_{1}^\rho + \alpha X_{2}^\rho]^\frac{1}{\rho}}$$'
- html: 'A função de demanda inversa marshalliana para ${X_{1}}$: $${P(X_{1}) = \frac{(1-\alpha)X_{1}^{\rho-1}m}{(1-\alpha)X_{1}^{\rho}+ \alpha X_{2}^{\rho}}}$$'
- html: 'A função de demanda inversa marshalliana para ${X_{2}}$: $${P(X_{2}) = \frac{\alpha X_{2}^{\rho-1}m}{(1-\alpha)X_{1}^{\rho}+\alpha X_{2}^{\rho}}}$$'
- html: 'A função de Receita Marginal para ${X_{1}}$ é: $${RT(X_{1}) = P(X_{1})\cdot X_{1}}$$ $${\\\\\ \\\Longleftrightarrow}$$ $${RT(X_{1}) = \frac{(1-\alpha)X_{1}^{\rho}m}{(1-\alpha)X_{1}^{\rho}+ \alpha X_{2}^{\rho}}}$$ $${\\\\\ \\\Longleftrightarrow}$$ $${RMg(X_{1})= \frac{\alpha(1-\alpha)m\rho X_{1}^{\rho-1} X_{2}^{\rho}}{[(1-\alpha)X_{1}^{\rho}+ \alpha X_{2}^{\rho}]^2}}$$'
- html: 'A função de Receita Marginal para ${X_{2}}$ é: $${RT(X_{2}) = P(X_{2})\cdot X_{2}}$$ $${\\\\\ \\\Longleftrightarrow}$$ $${RT(X_{2}) = \frac{\alpha X_{2}^{\rho}m}{(1-\alpha)X_{1}^{\rho}+ \alpha X_{2}^{\rho}}}$$ $${\\\\\ \\\Longleftrightarrow}$$ $${RMg(X_{2})= \frac{\alpha(1-\alpha)m\rho X_{2}^{\rho-1} X_{1}^{\rho}}{[(1-\alpha)X_{1}^{\rho}+\alpha X_{2}^{\rho}]^2}}$$'