<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Carrega dados do FMI referentes ao Brasil
Step1:  Exibimos série histórica
Step2:  Regressão entre taxa de inflação e taxa de crescimento do PIB
Como já evidenciado em outros estudos [1] [2] [3] e [4] não existe correlação negativa entre inflação e crescimento para valores de inflação de até 10%, mesmo no Brasil.
Step3:  Regressão entre taxa de juros e inflação
Um estudo recente [4] aponta para a falta de evidências nas explicações frequentemente fornecidas para que as taxas de juros no Brasil precisem ser tão altas e por tão longo tempo e sugerem
Step4:  Note inflação correlaciona positivamente com taxa de juros, porém isso se explica pelo fato de se subir os juros
quando se entende que inflação está elevada. Alega-se em geral que variações nas taxas de juros levam ao
menos 6 meses para atuarem sobre o mercado, assim nas próximas seções fazemos um shift de um e dois anos sobre a taxa de juros.
Step5:  Regressão entre taxa de juros e inflação no ano seguinte.
Shift de um ano na taxa de juros.
Step6:  Sanity check
Step7:  Note que a não há evidência estatística de que taxas de juros maiores provocaram redução da inflação no ano seguinte!
Talvez os efeitos da taxas de juros no Brasil sejam meio retardados... 
<ASSISTANT_TASK:>
Python Code:
df = pd.read_csv("../data/brazil_gdp_inflation_ir.csv", dtype={'Time':np.float64, 'GDP':np.float64, 'Inflation':np.float64, 'Interest':np.float64}, index_col="Time")
Explanation: Carrega dados do FMI referentes ao Brasil
End of explanation
df['RInterest'] = df.Interest - df.Inflation
brazil = df.sort()
brazil
Explanation: Exibimos série histórica
End of explanation
filter = brazil.Inflation < 11.0
sns.set(style="darkgrid")
plt.title(u"PIB vs Inflação até faixa de 10%")
ax = sns.regplot(brazil[filter].Inflation, brazil[filter].GDP, robust=True, n_boot=500)
ax.set_xlabel(u"Inflação")
ax.set_ylabel(u"PIB")
sns.coefplot("GDP ~ Inflation", data=brazil[filter])
sns.residplot(brazil[brazil.Inflation < 11.0].Inflation, brazil[brazil.Inflation < 11.0].GDP, lowess=True)
Explanation: Regressão entre taxa de inflação e taxa de crescimento do PIB
Como já evidenciado em outros estudos [1] [2] [3] e [4] não existe correlação negativa entre inflação e crescimento para valores de inflação de até 10%, mesmo no Brasil.
End of explanation
filter = brazil.Inflation < 11.0
color = sns.color_palette()[2]
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
f.set_figwidth(12)
sns.regplot(brazil[filter].Interest, brazil[filter].Inflation, robust=True, n_boot=500, ax=ax1)
sns.regplot(brazil[filter].RInterest, brazil[filter].Inflation, robust=True, n_boot=500, ax=ax2).set_ylabel("")
ax1.set_xlabel(u"Taxa de juros nominal")
ax2.set_xlabel(u"Taxa de juros real")
ax1.set_ylabel(u"Inflação")
f.tight_layout()
Explanation: Regressão entre taxa de juros e inflação
Um estudo recente [4] aponta para a falta de evidências nas explicações frequentemente fornecidas para que as taxas de juros no Brasil precisem ser tão altas e por tão longo tempo e sugerem:
Hence a wise central bank should consider "testing" the market to make sure it is not dealing with an extreme equilibrium configuration or a long standing disequilibrium.
Inpirado pelos 4 estudos citados até aqui resolvemos verificar a correlação entre taxas de juros e inflação nos patamares de até 10%.
End of explanation
f = plt.figure()
filter = brazil.index > 1998
l1, = plt.plot(brazil[filter].index, brazil[filter].Interest, figure=f, label=u"Tx juros nominal")
l2, = plt.plot(brazil[filter].index, brazil[filter].Inflation, figure=f, label=u"Inflação")
l3, = plt.plot(brazil[filter].index, brazil[filter].RInterest, figure=f, label=u"Tx juros real")
f.legend(handles=[l1,l2,l3], labels=[u"Tx juros nominal",u"Inflação", u"Tx juros real"])
plt.title(u"Gráfico da série histórica analisada")
#f.tight_layout()
brazil[filter].describe()
Explanation: Note inflação correlaciona positivamente com taxa de juros, porém isso se explica pelo fato de se subir os juros
quando se entende que inflação está elevada. Alega-se em geral que variações nas taxas de juros levam ao
menos 6 meses para atuarem sobre o mercado, assim nas próximas seções fazemos um shift de um e dois anos sobre a taxa de juros.
End of explanation
del filter
brazil_ir_s1 = brazil.copy()
brazil_ir_s1.Interest = brazil.Interest.shift(1)
brazil_ir_s1.RInterest = brazil.RInterest.shift(1)
Explanation: Regressão entre taxa de juros e inflação no ano seguinte.
Shift de um ano na taxa de juros.
End of explanation
brazil_ir_s1
color = sns.color_palette()[2]
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
f.set_figwidth(12)
sns.regplot(brazil_ir_s1.Interest, brazil_ir_s1.Inflation, robust=True, n_boot=500, ax=ax1)
sns.regplot(brazil_ir_s1.RInterest, brazil_ir_s1.Inflation, robust=True, n_boot=500, ax=ax2).set_ylabel("")
ax1.set_xlabel(u"Taxa de juros nominal do ano anterior")
ax2.set_xlabel(u"Taxa de juros real do ano anterior")
ax1.set_ylabel(u"Inflação")
f.tight_layout()
sns.coefplot("Inflation ~ RInterest", data=brazil_ir_s1, intercept=False)
model = ols("Inflation ~ RInterest + 1", brazil_ir_s1).fit()
model.summary()
sns.residplot(brazil_ir_s1.RInterest, brazil_ir_s1.Inflation)
model = rlm("Inflation ~ RInterest + 1", brazil_ir_s1).fit()
model.summary2()
brazil_ir_s1.describe()
Explanation: Sanity check
End of explanation
brazil_ir_s2 = brazil.copy()
brazil_ir_s2.Interest = brazil.Interest.shift(2)
brazil_ir_s2.RInterest = brazil.RInterest.shift(2)
sns.set(style="darkgrid")
color = sns.color_palette()[2]
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
f.set_figwidth(12)
sns.regplot(brazil_ir_s2.Interest, brazil_ir_s2.Inflation, robust=True, n_boot=500, ax=ax1)
sns.regplot(brazil_ir_s2.RInterest, brazil_ir_s2.Inflation, robust=True, n_boot=500, ax=ax2).set_ylabel("")
ax1.set_xlabel(u"Taxa de juros nominal de dois anos antes")
ax2.set_xlabel(u"Taxa de juros real de dois anos antes")
ax1.set_ylabel(u"Inflação")
f.tight_layout()
sns.coefplot("Inflation ~ RInterest", data=brazil_ir_s2)
model = ols("Inflation ~ RInterest + 1", brazil_ir_s2).fit()
model.summary()
sns.residplot(brazil_ir_s2.RInterest, brazil_ir_s2.Inflation)
model = rlm("Inflation ~ RInterest + 1", brazil_ir_s2).fit()
model.summary()
Explanation: Note que a não há evidência estatística de que taxas de juros maiores provocaram redução da inflação no ano seguinte!
Talvez os efeitos da taxas de juros no Brasil sejam meio retardados... :-)
Vamos verificar para 2 anos de diferença
Regressão entre taxa de juros e inflação dois anos à frente.
End of explanation
<END_TASK>