fabiohono@gmail.com

Principal

Curriculum

Hobbies

Fotos

Links

Cursos

Arquivos

Simulações

Versões

O Modelo Dinâmico de Turnovsky



O Modelo Dinâmico de Turnovsky

Inicialização

> restart;

> with( DEtools ):

> with( plots ):

> with( linalg ):

> with( PDEtools ):

>

Warning, the name changecoords has been redefined

Warning, the name adjoint has been redefined

Warning, the protected names norm and trace have been redefined and unprotected

Equações Gerais (Descrições)

(1) Y = D(Y[D],r-pi,A)+G

onde 0<D1<1, D2 < 0 e D3 >0

O produto real depende da renda disponível, da taxa real de juros, da riqueza real do setor privado e dos gastos do governo

(2) Y[D] = Y-T+rb-pi*A

A renda disponível depende do produto/renda nacional, dos impostos, dos juros provenientes dos títulos do governo e das perdas esperadas da riqueza financeira (o imposto inflacionário esperado).

(3) A = m+b

A riqueza financeira consiste do estoque monetário mais o estoque dos títulos do governo em circulação.

(4) m = L(Y,r,A)

onde, L1>0, L2<0 e 0 <= L3 %? <= 1

Esta é a curva LM, onde a oferta real de moeda depende da renda, da taxa nominal de juros e da riqueza financeira. De (3) nos temos que A depende de m e b. Por isso, L3 pode ser considerada uma medida da aversão ao risco (absoluto ou relativo: escolha de portfólio sobre incerteza).

(5) p = alpha(Y-Y^f)+pi

Esta é a chamada curva de Phillips, onde a taxa de inflação efetiva (p= diff(P(t),t)/P ) depende do desvio entre do produto em relação ao seu nível de pleno-emprego (natural) e da taxa esperada de inflação (uma vez que p <> pi , isso reflete a ausência de ilusão monetária).

(6) diff(pi(t),t) = gamma(p-pi)

onde 0 < gamma

Essa equação implica em uma expectativa adaptativa de inflação. (Em contraste, se utilizassemos a hipótese de expectativas recionais, teríamos que p = pi ). Isso reflete a idéia de Keynes sobre convenções em situações de incerteza (expectativas são formadas com base em experiências passadas: backward looking ).

(7) diff(A(t),t) = diff(m(t),t)+diff(b(t),t)

ou diff(A(t),t) = G-T+rb-p(m+b)

Essa relação descreve a taxa de acumulação de riqueza do setor privado, que por sua vez equivale ao orçamento do governo onde -p(m + b) é o "imposto inflacionário" das dívidas do governo. A partir dessa equação, temos que 4 instrumentos de política (dívida, moeda, taxas e gasto do governo) podem ser escolhidas de modo independente.

Substituindo (2) em (1), os efeitos de um aumento de r, A e pi são ambíguos, ou seja, um aumento em r (ou pi ) pode ter tanto um efeito renda positivo (negativo) como um efeito substituição negativo (positivo). Consideraremos então que:

(8a) D[r] = D[1]*b+D[2]

D[r] < 0 . O efeito substituição é maior que o efeito renda.

(8b) D[pi] = -D[1]*A-D[2]

0 < D[pi] . O efeito Mundell-Tobin é maior que o efeito "imposto inflacionário".

Um aumento em A também terá um efeito renda e riqueza. O sinal do efeito renda dependerá da forma com que a riqueza aumenta (seja por títulos ou moeda: b ou m). Assumiremos que:

(8c) D[b] = D[1]*(r-pi)+D[3] e 0 < D[b]

(8d) D[m] = -D[1]*pi+D[3] e 0 < D[m]

Nesse modelo, as variáveis endógenas são: Y, Y[p], r, p, m or b

e as exógenas são: pi, A, b or m

Condições Iniciais

Estoque real de títulos

> b := 10:

Estoque real de moeda

> m := 15:

Produto Natural

> Y_nat := 40:

Gastos do governo

> G := 15:

Impostos

> T := 20:

Derivadas Parciais

O impacto da renda real sobre os gastos privados

> D1 := 0.4:

O impacto da taxa real de juros sobre os gastos privados

> D2 := -12:

O impacto da riqueza financeira sobre os gastos privados

> D3 := 5:

A sensibilidade da demanda de moeda à variações na renda.

> L1 := 0.6:

A sensibilidade do demanda de moeda à variações da taxa nominal de juros.

> L2 := -0.9:

A sensibilidade da demanda de moeda a variações da riqueza financeira.

> L3 := 0.3:

Esse coeficiente representa os efeitos do desvio do produto sobre o nível de preços.

> alpha := 0.4:

Esse coeficiente representa a sensibilidade da taxa esperada de inflação ao erro de previsão efetivamente cometido.

> gama := 0.3:

Política de Fixação do Estoque Real de Moeda

Quando m é mantido constante, a política monetária torna-se passiva.

Redefinindo Equações:

(1a) Y = D(Y-T+r(A-m)-pi*A,r-pi,A)+G

(4) m = L(Y,r,A)

(5) p = alpha(Y-Y^f)+pi

(6) diff(pi(t),t) = gamma(p-pi)

(7a) diff(A(t),t) = G-T+r(A-m)-p*A

Encontrando o equilíbrio instantâneo para Y, p e r, e assumindo que as equações (1a), (4) e (5) são lineares, temos que

> eq1a := Y = D1*Y-D1*T+D1*r*A-D1*r*m-D1*pi*A+D2*r-D2*pi+D3*A+G:

> eq4 := m =L1*Y+L2*r+L3*A:

> eq5 := p = alpha*Y-alpha*Y_nat+pi:

> inst_eq := solve({eq1a,eq4,eq5},{Y,p,r});

inst_eq := {Y = (115.*A-4605.+6.*pi*A-180.*pi-2.*A^...
inst_eq := {Y = (115.*A-4605.+6.*pi*A-180.*pi-2.*A^...

A solução algébrica das equações acima é:

Y = -(-m*D1*A+m^2*D1-m*D2+L2*D1*T+L2*D2*pi-L2*D3*A+...

p = -(L1*alpha*Y_nat*D2+alpha*Y_nat*L2-L1*D1*pi*A+L...
p = -(L1*alpha*Y_nat*D2+alpha*Y_nat*L2-L1*D1*pi*A+L...
p = -(L1*alpha*Y_nat*D2+alpha*Y_nat*L2-L1*D1*pi*A+L...

r = (L1*D1*T+L1*D2*pi-L1*D3*A+L1*D1*pi*A+m+D1*L3*A-...

O resultado acima foi obtido pela substituição dos valores dados.

Encontrando os valores para a taxa nominal de juros ao longo do tempo:

> r :=subs(A=A(t),subs(pi=infl(t),subs(inst_eq,r)));

r := (80.+4.*infl(t)*A(t)-120.*infl(t)-53.*A(t))/(4...

Encontrado o valor do nível de preços ao longo do tempo:

> p :=subs(A=A(t),subs(pi=infl(t),subs(inst_eq,p)));

p := .2000000000*(5910.+32.*infl(t)*A(t)-1305.*infl...

Derivadas Parciais:

O impacto da taxa de juros sobre os gastos privados (deve ser < 0)

> Dr := D1*b+D2;

Dr := -8.0

O impacto da taxa esperada de inflação sobre os gastos privados (deve ser > 0)

> Dpi := -D1*A(t)-D2;

Dpi := -.4*A(t)+12

O impacto do estoque real de títulos sobre os gastos privados (deve ser > 0)

> Db := D3+(r-infl(t))*D1;

Db := 5+.4*(80.+4.*infl(t)*A(t)-120.*infl(t)-53.*A(...

O impacto do estoque real de moeda sobre os gastos privados (deve ser > 0)

> Dm := D3-infl(t)*D1;

Dm := 5-.4*infl(t)

A relação abaixo deve ser > 0

> J2 := -L2*(1-D1)-L1*Dr;

J2 := 5.34

Linearizando as Equações

Fazendo a expansão da Taylor das equações diferenciais acima em torno da posição de equilíbrio, temos que:

matrix([[diff(pi(t),t)], [diff(A(t),t)]]) = matrix(...

Obs: Uma vez que encontrados as equações para o equilíbrio instantâneo, assumiremos que r = r( pi ,A) e p = p( pi ,A)

Onde as derivadas parciais são:

diff(p,pi) (deve ser > 1)

> dpdpi:=1-(alpha*Dpi*L2)/J2;

dpdpi := 1.808988764-.2696629214e-1*A(t)

diff(p,A) (deve ser > 0) - Efeito riqueza forte

> dpdA := (alpha*(-L2*Db+Dr*L3))/J2;

dpdA := .1573033708+.2696629213e-1*(80.+4.*infl(t)*...
dpdA := .1573033708+.2696629213e-1*(80.+4.*infl(t)*...

diff(r,pi) (deve ser > 0)

> drdpi := (Dpi*L1)/J2;

drdpi := -.4494382024e-1*A(t)+1.348314607

diff(r,A) (deve ser > 0)

> drdA := (L3*(1-D1)+Db*L1)/J2;

drdA := .5955056180+.4494382022e-1*(80.+4.*infl(t)*...
drdA := .5955056180+.4494382022e-1*(80.+4.*infl(t)*...

A partir de (6) e (7a), o equilíbrio em estado estacionário ( steady-state ) requer que:

diff(pi(t),t) = 0 e diff(A(t),t) = 0

Equação do locus diff(pi(t),t) = 0

> eq6 := gama*(subs(inst_eq,p)-pi)=0;

eq6 := .6000000000e-1*(5910.+32.*pi*A-1305.*pi-90.*...

> locus_infl := simplify(subs(A=A(t),solve(eq6,pi)));

locus_infl := .1666666667*(-2955.+45.*A(t)+2.*A(t)^...

Equação do locus diff(A(t),t) = 0

> eq7 := simplify(G-T+subs(inst_eq,r)*(A-m)-subs(inst_eq,p)*A=0);

eq7 := -.2000000000*(1635.*A+1275.+12.*pi*A^2-405.*...

> locus_A := subs(A=A(t),solve(eq7,pi));

locus_A := .3333333333*(-1635.*A(t)-1275.-175.*A(t)...

Os valores dos estado estacionário precisam ser positivos (A>0 and pi >0), para fazer senti econômico.

> stdst_sol := solve({eq6,eq7},{A,pi});

stdst_sol := {A = -13.19420209, pi = 12.34951684}, ...

Encontrando a solução que satisfaz A > 0 e pi > 0.

> num_sol:=1:
while subs(stdst_sol[num_sol],A)<0 or subs(stdst_sol[num_sol],pi)<0 do
num_sol := num_sol+1
end do:

> A_e:=subs(stdst_sol[num_sol],A)+1:

> pi_e:=subs(stdst_sol[num_sol],pi):

Evita que a simulação prossiga caso A<0 ou pi <0

> if A_e <0 or pi_e <0 then
stop
end if;

Temos assim que,

> eqdifpi:=diff(infl(t),t)=gama*(p-infl(t));

eqdifpi := diff(infl(t),t) = .6000000000e-1*(5910.+...

> eqdifA:=diff(A(t),t)=G-T+r*(A(t)-m)-p*A(t);

eqdifA := diff(A(t),t) = -5+(80.+4.*infl(t)*A(t)-12...
eqdifA := diff(A(t),t) = -5+(80.+4.*infl(t)*A(t)-12...

A matriz do sistem no nível de steady-state:

> J := matrix([[gama*(subs(A(t)=A_e,dpdpi)-1), gama*subs(A(t)=A_e,subs(infl(t)=pi_e,dpdA))],[A_e*(subs(A(t)=A_e,drdpi)-subs(A(t)=A_e,dpdpi))-m*subs(A(t)=A_e,drdpi), subs(A(t)=A_e,subs(infl(t)=pi_e,r))-subs(A(t)=A_e,subs(infl(t)=pi_e,p))+A_e*(subs(A(t)=A_e,subs(infl(t)=pi_e,drdA))-subs(A(t)=A_e,subs(infl(t)=pi_e,dpdA)))-m*subs(A(t)=A_e,subs(infl(t)=pi_e,drdA))]]);

J := matrix([[.65188146e-2, .1427553766], [-29.3145...

O determinante da matriz:

> det(J);

4.271637511

O traço da matriz:

> trace(J);

13.32671409

Para a estabilidade, é necessário que Det > 0 e Trace < 0. Para tanto, é necessário que a taxa real de juros (r-p) seja baixa e mais: diff(p,pi) < 1 e diff(r,A) < diff(p,A) .

Gráfico de Vetor de Forças

Período Empregado nas análises

> tempo := 0.24:

Definimos como condição inicial as proximidades do steady-state

> IC:=[A(0)=round(A_e),infl(0)=round(pi_e)]:

Limites do gráfico

> xmax := A_e*2;

xmax := 58.38840418

> xmin := 0;

xmin := 0

> ymax := pi_e*2.5;

ymax := 22.25120790

> ymin := 0;

ymin := 0

Verificando a trajetória da economia nas proximidade do steady-state

> curves:=DEplot({eqdifA,eqdifpi},[A(t),infl(t)],t=0..tempo,[IC],infl=ymin..ymax,A=xmin..xmax,color=black,arrows=large, linecolour=red,thickness=2):
linelocus_infl:=plot(locus_infl,A=xmin..xmax,infl=ymin..ymax,thickness=3,colour=blue):
linelocus_A:=plot(locus_A,A=xmin..xmax,infl=ymin..ymax,thickness=3,colour=green):
display(curves,linelocus_infl,linelocus_A);

[Maple Plot]

Diagrama de Fases

Encontrando as equações da solução

> solucao_eqs:=dsolve({eqdifA,eqdifpi} union convert(IC,set), numeric, output=listprocedure,
range=0..tempo):

> dsolA := subs(solucao_eqs,A(t)):dsolinfl := subs(solucao_eqs,infl(t)):

> odeplot(solucao_eqs,[[t,A(t)],[t,infl(t)]],0..tempo,linestyle=1,legend=["Riqueza Financeira","Inflação"], labels=["",""]);

[Maple Plot]

> dsolr:=subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,r))):
dsolp:=subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,p))):
dsolY:=subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,Y))):

> grafr:=plot(dsolr(t),t=0..tempo,color=blue,legend="Taxa de Juros", labels=["",""]):
grafp:=plot(dsolp(t),t=0..tempo,color=red,legend="Nível de Preços", labels=["",""]):
grafY:=plot(dsolY(t),t=0..tempo,color=magenta,legend="Produto", labels=["",""]):
display(grafr,grafp,grafY);

[Maple Plot]

Taxa Nominal de Crescimento Monetário Constante

Nesse caso, a autoridade monetária permite que a oferta nominal de moeda aumente a uma taxa constante.

Redefinindo Equações:

(1a) Y = D(Y-T+r(A-m)-pi*A,r-pi,A)+G

(4) m = L(Y,r,A)

(5) p = alpha(Y-Y^f)+pi

(6) diff(pi(t),t) = gamma(p-pi)

(7a) diff(A(t),t) = G-T+r(A-m)-p*A

(8) diff(m(t),t) = m*(mu-p)

Taxa de crescimento do estoque de moeda

> mu:=6;

mu := 6

> unassign('r','m','p');

Emboras as equações (1a), (4) e (5) não tenham sido alteradas, com zeramos os valores de m, r e p teremos que encontrar as soluções novamente.

> eq1a := Y = D1*Y-D1*T+D1*r*A-D1*r*m-D1*pi*A+D2*r-D2*pi+D3*A+G;

eq1a := Y = .4*Y+7.0+.4*r*A-.4*r*m-.4*pi*A-12*r+12*...

> eq4 := m =L1*Y+L2*r+L3*A;

eq4 := m = .6*Y-.9*r+.3*A

> eq5 := p = alpha*Y-alpha*Y_nat+pi;

eq5 := p = .4*Y-16.0+pi

> inst_eq := solve({eq1a,eq4,eq5},{Y,p,r});

inst_eq := {Y = -.3333333333*(26.*A*m-20.*m^2-600.*...
inst_eq := {Y = -.3333333333*(26.*A*m-20.*m^2-600.*...
inst_eq := {Y = -.3333333333*(26.*A*m-20.*m^2-600.*...

Encontrando do valor da taxa nominal do juros ao longo do tempo

> r :=subs(m=m(t),subs(A=A(t),subs(pi=infl(t),subs(inst_eq,r))));

r := -1.*(-70.+4.*infl(t)*A(t)-120.*infl(t)-53.*A(t...

Encontrando o valor da nível de preços ao longo do tempo

> p :=subs(m=m(t),subs(A=A(t),subs(pi=infl(t),subs(inst_eq,p))));

p := .6666666667e-1*(-30330.-96.*infl(t)*A(t)+3015....
p := .6666666667e-1*(-30330.-96.*infl(t)*A(t)+3015....

Derivadas Parciais:

O impacto da taxa de juros sobre os gastos privados (deve ser < 0)

> Dr := D1*b+D2;

Dr := -8.0

O impacto da taxa esperada de inflação sobre os gastos privados (deve ser > 0)

> Dpi := -D1*A(t)-D2;

Dpi := -.4*A(t)+12

O impacto do estoque real de títulos sobre os gastos privados (deve ser > 0)

> Db := D3+(r-infl(t))*D1;

Db := 5-.4*(-70.+4.*infl(t)*A(t)-120.*infl(t)-53.*A...

O impacto do estoque real de moeda sobre os gastos privados (deve ser > 0)

> Dm := D3-infl(t)*D1;

Dm := 5-.4*infl(t)

A relação abaixo deve ser > 0

> J2 := -L2*(1-D1)-L1*Dr;

J2 := 5.34

diff(p,pi) (deve ser > 1)

> dpdpi:=1-(alpha*Dpi*L2)/J2;

dpdpi := 1.808988764-.2696629214e-1*A(t)

diff(p,A) (deve ser > 0) - Efeitos riqueza forte

> dpdA := (alpha*(-L2*Db+Dr*L3))/J2;

dpdA := .1573033708-.2696629213e-1*(-70.+4.*infl(t)...
dpdA := .1573033708-.2696629213e-1*(-70.+4.*infl(t)...

diff(r,pi) (deve ser > 0)

> drdpi := (Dpi*L1)/J2;

drdpi := -.4494382024e-1*A(t)+1.348314607

diff(r,A) (deve ser > 0)

> drdA := (L3*(1-D1)+Db*L1)/J2;

drdA := .5955056180-.4494382022e-1*(-70.+4.*infl(t)...
drdA := .5955056180-.4494382022e-1*(-70.+4.*infl(t)...

diff(p,m)

> dpdm:=alpha*(L2*D1*r-Dr)/J2;

dpdm := .2696629213e-1*(-70.+4.*infl(t)*A(t)-120.*i...

diff(r,m) (deve ser < 0)

> drdm := (D1(1-L1*r)-1)/J2;

drdm := -.1123595506

Linearizando as Equações

Fazendo a expansão da Taylor das equações diferenciais acima em torno da posição de equilíbrio, temos que:

matrix([[diff(A(t),t)], [diff(m(t),t)], [diff(pi(t)...
matrix([[diff(A(t),t)], [diff(m(t),t)], [diff(pi(t)...
matrix([[diff(A(t),t)], [diff(m(t),t)], [diff(pi(t)...

Obs: Uma vez que encontrados as equações para o equilíbrio instantâneo, assumiremos que r = r( pi ,A) e p = p( pi ,A)

O equilíbrio em estado estacionário ( steady-state ) requer que:

diff(pi(t),t) = 0 , diff(A(t),t) = 0 e diff(m(t),t) = 0 .

Equação do locurs diff(pi(t),t) = 0

> eq6 := gama*(subs(inst_eq,p)-pi)=0;

eq6 := .2000000000e-1*(-30330.-96.*pi*A+3015.*pi+10...
eq6 := .2000000000e-1*(-30330.-96.*pi*A+3015.*pi+10...

> locus_infl := subs(m=m(t),subs(A=A(t),solve(eq6,pi)));

locus_infl := .5555555556e-1*(-15165.+525.*A(t)+120...

Equação do locus diff(A(t),t) = 0

> eq7 := simplify(G-T+subs(inst_eq,r)*(A-m)-subs(inst_eq,p)*A=0);

eq7 := -.1000000000e-10*(-.2112000000e15*A+.9000000...
eq7 := -.1000000000e-10*(-.2112000000e15*A+.9000000...
eq7 := -.1000000000e-10*(-.2112000000e15*A+.9000000...
eq7 := -.1000000000e-10*(-.2112000000e15*A+.9000000...

> locus_A := subs(m=m(t),subs(A=A(t),solve(eq7,pi)));

locus_A := -5.*(-.2112000000e13*A(t)+.9000000000e11...
locus_A := -5.*(-.2112000000e13*A(t)+.9000000000e11...
locus_A := -5.*(-.2112000000e13*A(t)+.9000000000e11...
locus_A := -5.*(-.2112000000e13*A(t)+.9000000000e11...

Equação do locus diff(m(t),t) = 0

> eq8 := simplify(mu*m-subs(inst_eq,p)*m=0);

eq8 := -.1000000000e-10*m*(.9400000000e13*A-.799999...
eq8 := -.1000000000e-10*m*(.9400000000e13*A-.799999...
eq8 := -.1000000000e-10*m*(.9400000000e13*A-.799999...

> locus_m := subs(m=m(t),subs(A=A(t),solve(eq8,pi)));

locus_m := -.5000000000e-8*(.9400000000e11*A(t)-799...
locus_m := -.5000000000e-8*(.9400000000e11*A(t)-799...
locus_m := -.5000000000e-8*(.9400000000e11*A(t)-799...

Os valores das variáveis em steady-state precisam ser positivas (A>0, m>0 e pi >0).

> stdst_sol2 := fsolve({eq6,eq7,eq8},{A,pi,m});

stdst_sol2 := {A = 28.16684257, m = 17.61248681, pi...

> A_e:=subs(stdst_sol2,A):

> m_e:=subs(stdst_sol2,m):

> pi_e:=mu:

Evita que a simulação continue, caso A<0, m<0 ou pi <0

> if A_e <0 or m_e <0 or pi_e <0 then
stop
end if;

> eqdifpi:=diff(infl(t),t)=gama*(p-infl(t));

eqdifpi := diff(infl(t),t) = .2000000000e-1*(-30330...
eqdifpi := diff(infl(t),t) = .2000000000e-1*(-30330...

> eqdifA:=diff(A(t),t)=G-T+r*(A(t)-m(t))-p*A(t);

eqdifA := diff(A(t),t) = -5-1.*(-70.+4.*infl(t)*A(t...
eqdifA := diff(A(t),t) = -5-1.*(-70.+4.*infl(t)*A(t...
eqdifA := diff(A(t),t) = -5-1.*(-70.+4.*infl(t)*A(t...

> eqdifm:=diff(m(t),t)=m(t)*(mu-p);

eqdifm := diff(m(t),t) = m(t)*(6-.6666666667e-1*(-3...
eqdifm := diff(m(t),t) = m(t)*(6-.6666666667e-1*(-3...

Análise da Estabilidade

O valor da taxa nominal de juros em steady state

> r :=subs(m=m_e,subs(A=A_e,subs(pi=pi_e,subs(inst_eq,r))));

r := 16.48618440

O valor do nível de preços em steady state

> p :=mu;

p := 6

Derivadas parciais em steady-state

> Dr := D1*b+D2;

Dr := -8.0

> Dpi := -D1*A_e-D2;

Dpi := .73326297

> Db := D3+(r-pi_e)*D1;

Db := 9.194473760

> Dm := D3-pi_e*D1;

Dm := 2.6

> J2 := -L2*(1-D1)-L1*Dr;

J2 := 5.34

> dpdpi:=1-(alpha*Dpi*L2)/J2;

dpdpi := 1.049433459

> dpdA := (alpha*(-L2*Db+Dr*L3))/J2;

dpdA := .4400768828

> drdpi := (Dpi*L1)/J2;

drdpi := .8238909775e-1

> drdA := (L3*(1-D1)+Db*L1)/J2;

drdA := 1.066794804

> dpdm:=alpha*(L2*D1*r-Dr)/J2;

dpdm := .1546796716

> drdm := (D1(1-L1*r)-1)/J2;

drdm := -.1123595506

A matrix jacobiana em steady-state

> J2:= matrix([[(A_e*(drdpi-dpdpi)-m_e*dpdpi)-lambda, r-p+A_e*(drdA-dpdA)-m_e*dpdA, A_e*(drdm-dpdm)-m_e*dpdm-r], [-m_e*dpdpi, -m_e*dpdA-lambda, mu-p-m_e*dpdm],[gama*(dpdpi-1), gama*dpdA, gama*dpdm-lambda]]);

J2 := matrix([[-45.72171923-lambda, 20.38800113, -2...

> detJ2 := det(J2);

detJ2 := 78.82187554-729.4910174*lambda-53.42616362...

A condição de Routh-Hurwitz diz que (Takayama, 1993 p. 343):

Uma condição necessária e suficiente é que as raízes da equação característica

alpha[0]*lambda^n+alpha[1]*lambda^(n-1)+% .. alpha[...

tenham coeficientes reais, isso será atendido se e somente se

0 < alpha[1] , 0 < matrix([[alpha[1], alpha[0]], [alpha[3], alpha[... ,..., 0 < matrix([[alpha[1], alpha[0], 0, 0, %, %], [alph...

Por isso, em um sistema 3x3 isso significa que

0 < alpha[1] , 0 < alpha[2] , 0 < alpha[3] , 0 < alpha[1]*alpha[2]-alpha[3]

> coef_a1 := coeff(detJ2,lambda,2);

coef_a1 := -53.42616362

> coef_a2 := coeff(detJ2,lambda,1);

coef_a2 := -729.4910174

> coef_a3 := coeff(detJ2,lambda,0);

coef_a3 := 78.82187554

> coef_a1*coef_a2-coef_a3;

38895.08457

Gráfico de Vetor de Forças

Redefinindo o tempo de análise

> tempo:=3:

Definimos como condição inicial as proximidades do steady-state

> IC:=[A(0)=round(A_e),m(0)=round(m_e),infl(0)=round(pi_e)]:

Limites do Gráfico

> xmax := A_e*1.5;

xmax := 42.25026386

> xmin := A_e*0.5;

xmin := 14.08342128

> ymax := m_e*1.5;

ymax := 26.41873022

> ymin := m_e*0.5;

ymin := 8.806243405

> zmax:= pi_e+0.7;

zmax := 6.7

> zmin :=pi_e-0.7;

zmin := 5.3

Verificando a trajetória da economia nas proximidade do steady-state

> curves:=DEplot3d({eqdifA,eqdifm,eqdifpi},[A(t),m(t),infl(t)],t=0..tempo,m=ymin..ymax,A=xmin..xmax,[IC],method=classical[rk4],color=black,arrows=small, linecolour=red,thickness=3,orientation=[-139,69]):

> linelocus_infl:=plot3d(locus_infl,A=xmin..xmax,m=ymin..ymax,thickness=1,colour=blue):
linelocus_A:=plot3d(locus_A,A=xmin..xmax,m=ymin..ymax,thickness=1,colour=green):
linelocus_m:=plot3d(locus_m,A=xmin..xmax,m=ymin..ymax,thickness=1,colour=cyan):
display(curves,linelocus_infl,linelocus_A,linelocus_m,view=[xmin..xmax,ymin..ymax,zmin..zmax]);

[Maple Plot]

Ou em movimento:

Powered by: JavaView

obs: Se o gráfico não aparecer, pressione "atualizar" no browser. Você precisa ter a máquina virtual java habilitada/instalada.
Para girar a figura, fazer um zoom na imagem, ou distorcer seus vértices, clique com o botão da direita e Movimente o Mouse
A imagem pode demorar um pouco para carregar.

Diagrama de Fases

Encontrando as equações da solução

> solucao_eqs2:=dsolve({eqdifA,eqdifm,eqdifpi,A(0)=round(A_e),m(0)=round(m_e),infl(0)=round(pi_e)}, numeric, method=classical[rk4], output=listprocedure):

> dsolA := subs(solucao_eqs2,A(t)):
dsolm := subs(solucao_eqs2,m(t)):
dsolinfl := subs(solucao_eqs2,infl(t)):

> odeplot(solucao_eqs2,[[t,A(t)],[t,m(t)],[t,infl(t)]],0..tempo,linestyle=1,legend=["Riqueza Financeira","Estoque Real de Moeda","Inflação"], labels=["",""]);

[Maple Plot]

> dsolr:=subs(m=subs(solucao_eqs2,m(t)),subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,r)))):
dsolp:=subs(m=subs(solucao_eqs2,m(t)),subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,p)))):
dsolY:=subs(m=subs(solucao_eqs2,m(t)),subs(A=subs(solucao_eqs,A(t)),subs(pi=subs(solucao_eqs,infl(t)),subs(inst_eq,Y)))):

> dsolr(0);dsolp(0);dsolY(0);

17.21176471

9.527058827

41.31764706

Referências:

TAKAYAMA, A. (1993). Analytical Methods in Economics . The University of Michigan Press : Michigan PP.342-345.

TURNOVSKY, Stephen J. (1995) Methods of macroeconomic dynamics . MIT Press. Cambridge (Mass.) pp. 15-55.

Por Fabio Hideki Ono - http://fhono.conjuntura.com.br