Buscar

Teoria Macroeconômica II


Prévia do material em texto

Teoria Macroeconômica II - Semestre II de 2023
Lista 1 de exerćıcios
Professor: Jefferson Bertolai
Monitor: Samuel Cruz
Exerćıcio 1 (Mercados completos). Considere uma economia com N indiv́ıduos que vivem infini-
tamente, indexados por i ∈ I, com I = {1, ..., N}. Em cada peŕıodo há uma unidade de bem de
consumo perećıvel e cada indiv́ıduo i possui uma dotação {yit}∞t=0 desse bem, que é governada por
um processo estocástico. Nessa economia, o risco é representado por um choque agregado corrente
denotado por st ∈ S. Denote por st = (s0, s1, ..., st) a história de eventos dessa economia e suponha
que cada história tenha probabilidade πt(s
t) > 0 de ocorrer. Defina St ≡ S × S × · · · × S︸ ︷︷ ︸
t+1vezes
, em que
× denota o produto cartesiano, de modo que st ∈ St.
Todos os N agentes estão sujeitos a um mesmo fator de desconto intertemporal β ∈ (0, 1), de
forma que a utilidade esperada da vida do agente i ∈ I é dada por:
ui
(
{(cit(st)i∈I}
)
=
∞∑
t=0
βt
∑
st∈St
πt(s
t)U i
(
cit(s
t), st
)
,
em que U i(·, ·) é a função de utilidade instantânea do agente i.
Suponha que os mercados são completos e que o conjunto de ativos dessa economia consiste
em t́ıtulos contingentes de um peŕıodo, isto é, um contrato financeiro comprado no peŕıodo t que
paga uma unidade de bem de consumo no peŕıodo t + 1 somente se um estado st+1 particular se
realizar. Seja qt(s
t, st+1) o preço desse t́ıtulo no nó st de um contrato que paga uma unidade de
consumo somente se st+1 ocorrer (Arrow securities). Denote por ait+1(s
t, st+1) a quantidade de
t́ıtulos comprada ou vendida pelo agente i no nó st e que paga uma unidade de bem de consumo
em st+1.
A restrição orçamentária do agente i no peŕıodo t e na história st é dada por:
cit(s
t) +
∑
st+1∈S
qt(s
t, st+1)a
i
t+1(s
t, st+1) ≤ yit(s
t) + ait(s
t)
O problema do consumidor é maximizar sua utilidade intertemporal sujeita à sua restrição
orçamentária. Sob mercados sequenciais, esse problema possui uma formulação recursiva. Para
escrever o problema na forma recursiva, suponha que {st} é um processo markoviano com a seguinte
matriz de transição invariante no tempo:
π(s′|s) =
[
2/3 1/3
1/3 2/3
]
,
1
em que s representa o evento no peŕıodo corrente e s′ o evento no peŕıodo seguinte. Note que esse
processo possui dois estados: ruim, s = 0; bom, s = 1. Sob a hipótese de que os preços das Arrow
securities assumem a forma q(st, st+1) = q(st+1|st), o problema do consumidor pode ser escrito na
forma recursiva como
v(a, s) = max
{a′(s′)}s′∈S
{
U
(
y(s) + a−
∑
s′∈S
a′(s′)q(s′|s))
)
+ β
∑
s′∈S
π(s′|s)v
(
(a′(s′), s′
)}
. (1)
Assuma que U(·) é uma função de utilidade CRRA com parâmetro σ = 2 e que β = 0.99.
Assuma também que y = 10 se s = 0 e y = 20 se s = 1.
Note que a solução da equação funcional depende de q(·|·).
a) Suponha que q(s′|s) = 1 para todo s′ e s. Usando o método da discretização e o método
da iteração da função valor, escreva um programa em Python que calcule uma aproximação
para a solução da equação funcional (1) e a função poĺıtica associada.
b) Refaça o item a) sem supor que q(s′|s) = 1 para todo s′ e s. Use o seguinte resultado
anaĺıtico:
q(s′|s) = βπ(s′|s)
[
Y ′(s′)
Y (s)
]−σ
, (2)
em que Y (s) é o produto agregado no estado s. Assuma que Y ′(s′) = Y (s) para todo s′ e s,
de modo que q(s′|s) = βπ(s′|s).
c) Considere dois indiv́ıduos nessa economia, isto é, i ∈ {1, 2}, em que i é o indiv́ıduo. Agora,
o problema recursivo se torna:
vi(a, s) = max
{a′(s′)}s′∈S
{
U
(
yi(s) + a−
∑
s′∈S
a′(s′)q(s′|s))
)
+ β
∑
s′∈S
π(s′|s)vi
(
(a′(s′), s′
)}
.
(3)
Assuma que y1(0) = 10, y1(1) = 20 e que y2(0) = 20, y2(1) = 10, de modo que o pro-
duto agregado seja Y (s) = 30 para todo s. Resolva o problema (3) para cada indiv́ıduo.
Em seguida, fixe um estado (a, s) particular e use as funções poĺıticas dos indiv́ıduos para
encontrar a poupança de cada um deles. Verifique se a poupança agregada é igual a zero.
Exerćıcio 2 (Método da bisseção). Seja f : [xL, xH ] 7→ R, com xL < xH , uma função cont́ınua
e monótona. Suponha que f(xL) e f(xH) tenham sinais opostos, isto é, f(xL)f(xH) < 0. Pelo
teorema do valor intermediário, tem-se que a função f possui uma raiz no intervalo (xL, xH). Nesse
caso, o método da bisseção pode ser utilizado para encontrar numericamente a raiz de f , ou seja,
encontrar numericamente x∗ ∈ (xL, xH) tal que f(x∗) = 0. Esse método encontra a raiz de f por
2
meio da redução sucessiva do intervalo (xL, xH). Dado o intervalo (xL, xH), computa-se f(xm),
em que xm = 0.5(xL + xH) é o ponto médio do intervalo. Se f(xm) = 0, então xm é uma raiz
de f . Se f(xH) e f(xm) têm sinais opostos, então a raiz deve estar no intervalo (xm, xH), e o xL
deve ser trocado pelo xm. Caso contrário, a raiz deve estar no intervalo (xL, xm), e nesse caso
troca-se o valor de xH por xm. Em ambos os casos, o novo intervalo (xL, xH) possui metade do
tamanho do intervalo original. Esse procedimento de bisseção é repetido até que o intervalo possua
um tamanho pequeno ε, de modo que |xL − xH | ≤ ε. Quando esse intervalo pequeno suficiente é
encontrado, a raiz x∗ é dada pelo ponto médio desse intervalo. Considerando o algoritmo descrito
acima, resolva os seguintes itens:
a) Escreva uma função em Python que receba como insumo (input) (i) uma função cont́ınua f
com domı́nio em um intervalo [x1, x2], (ii) os valores x1 e x2, e (iii) um ńıvel de tolerância ε.
Essa função deve usar o método da bisseção e retornar a raiz de f(x).
b) Use a função do item a) para encontrar a raiz da função f(x) = x3 − 10x2 + 5, em que o
domı́nio de f é [0, 1].
c) Refaça a função do item a) sem usar o laço while.
Exerćıcio 3 (Distribuição estacionária). Considere um processo markoviano com espaço de estados
{0, 1} e com a seguinte matriz de transição:
π =
[
P(st+1 = 0|st = 0) P(st+1 = 1|st = 0)
P(st+1 = 0|st = 1) P(st+1 = 1|st = 1)
]
. (4)
Assuma que P(st+1 = i|st = i) = 2/3 para todo i ∈ {0, 1} e que P(st+1 = i|st = j) = 1/3 para todo
i, j ∈ {0, 1} e i ̸= j. Considere uma distribuição inicial Π0 = [5/6 1/6]′ para os estados e responda
os seguintes itens.
(a) Escreva uma função em Python que calcule a distribuição estacionária dos estados iterando
Πt+1 = π′Πt.
(b) Escreva uma função em Python que calcule a distribuição estacionária por meio do autovetor
(à esquerda) de π normalizado e associado ao autovalor igual a 1.
3

Continue navegando