Uncategorized

Brincando com o R (novamente, o Bovespa)

bovespao

É, os comandos eu já coloquei aqui. Vou repetir.

library(quantmod)
getSymbols("BVMF3.SA",src="yahoo")
chartSeries(BVMF3.SA, subset='last 48 months')
addBBands()

Não é fácil? Eu sei, eu sei, você tem que ir lá e pesquisar para descobrir o que mais pode fazer com os dados. É, este R vai desbancar muito ‘pseudo-analista’ do mercado financeiro…

Anúncios
Uncategorized

Momento R do Dia – Novamente a função consumo

Aqueles que chegaram aqui agora, no meio da discussão, recomendo colocar “função consumo” na caixa de buscas no alto da página e pegar as duas últimas rodadas.

No script abaixo encontra-se o exercício feito em sala de aula hoje (Econometria II) para a função consumo brasileira. Dois alunos, Rafael e Isadora, conseguiram, após o final da aula, acertar os dados originais (deflacionar e calcular valores per capita). Descobriram que a atenção deve estar sempre alerta desde o início. Afinal, se o PIB de 2012 está com o deflator na base de 2012, seu valor real deve ser igual ao nominal e vamos agradecer aqui aos professores de Macroeconomia do início do curso (sem querer cometer injustiças, não citarei nomes).

Dito isto, o exercício proposto era o de estimar a função consumo coma renda permanente seguindo uma lei dinâmica no tempo conhecida como “mecanismo de expectativas adaptativas”. Falei delas nos posts anteriores e, portanto, não preciso voltar ao tema.

A diferença em relação ao que fiz aqui antes é apenas a extensão do período de tempo. No script que se segue, algumas novidades foram introduzidas (alunos de semestres anteriores não viram alguns itens simples).

Primeiramente, ensino a obter o valor de qualquer item do sumário dos resultados. Em segundo lugar, dou a dica para o cálculo do nível de significância para algumas distribuições (no caso, a Normal padronizada) e, terceiro, como alunos da faculdade já não choram e esperneiam por conta de um código de LaTex, dou também a dica do pacote stargazer.

É bom lembrar, contudo, que sem praticar em casa, nada disto adiantará. Você, que não é meu aluno em sala, se praticar, vai aprender mais do que o sujeito que vai até minha sala de aula, mas não treina em casa. Simples assim. Volto após o código.


# http://sites.google.com/site/shikidatimeseries.html (site da materia)
# Blog do professor: https://gustibusgustibus.wordpress.com
# Nepom: http://nepom.wordpress.com
# Agora, ao que interessa.
# previamente, instale os pacotes
# install.packages("lmtest")
# install.packages("sandwich")
# Etc. Ou faça...

# install.packages(c("lmtest", "sandwich","stargazer", "dynlm"))

# script aula 19/08

dados<-read.table("C:/Users/cdshi_000/Documents/Meus Documentos/Meus Documentos/cursos/Econometria ii/funcao_consumo_anual.csv", 
                  header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)

head(dados)
tail(dados)

series <- ts(dados, start=c(1947), freq=1)

head(series)
tail(series)

consumo<-series[,8]
pib<-series[,7]

plot(consumo, main="Consumo per capita em R$ de 2012")
plot(pib, main="PIB per capita em R$ de 2012")

consumolag=lag(consumo,-1)
piblag=lag(pib,-1)

cons=ts.intersect(consumo, consumolag)
pib0 =ts.intersect(pib, piblag)

pib0

f1<-(lm(cons[,1]~pib0[,1] + cons[,2]))

# f2<-(lm(cons[,1]~pib0[,1] + cons[,2]-1))

summary(f1)

library(sandwich)
library(lmtest)

f11<-coeftest(f1, vcov=NeweyWest)

f11

# Sugestão: se você tem o Lyx instalado (um Latex freeware)
# abra um novo arquivo (ctrl+N) e, em seguida, abra uma janela para codigos
# Ctrl+L
# Depois copie e cole o resultado do stargazer, retirando o que deve ser 
# retirado (consulte o Google, o monitor, etc)

library(stargazer)
stargazer(f1,f11)

# Agora voltamos ao que interessa. 
# Vejamos a defasagem media e a mediana

lambda<- coef(summary(f1))["cons[, 2]","Estimate"]
lambda
def_mediana<- (-log(2)/log(lambda))
def_mediana

def_media <-(lambda/(1-lambda))
def_media

# Outra forma de fazer esta regressao
# sem necessitar de criar a interseção de colunas
# com a variável e sua(s) defasagem(ns): o pacote dynlm


library(dynlm)

# não é preciso criar defasagens e a matriz x'x

f1novo <-(dynlm(consumo~pib + L(consumo,1)))

summary(f1novo)

# para comparar: mesmíssimos resultados

summary(f1)

# Seguindo o livro, 
# vamos para o metodo das variáveis instrumentais.
# Sugestao de Liviatan é usar Xt-1 como instrumento de Yt-1
# após o | substituir Yt-1 por seu instrumento e repetir os
# outros regressores

library("AER")

inst<- ivreg(cons[,1]~pib0[,1]+cons[,2]|pib0[,1]+pib0[,2])

summary(inst)

lambda1<- coef(summary(inst))["cons[, 2]","Estimate"]
lambda1
def_mediana1<- (-log(2)/log(lambda1))
def_mediana1

def_media1 <-(lambda1/(1-lambda1))
def_media1

# reparou como o modelo deu problema? O coeficiente do consumo, agora, não 
# foi significativo (e seu sinal?)

# autocorrelacao (teste h (não é um bom teste, mas aprenda como fazê-lo))

dwtest(inst)

rho<-(1-(1.2526/2))
valfa2 <-((coef(summary(inst))["cons[, 2]", "Std. Error"]))^2
valfa2

h<-rho*(sqrt(inst$n/(1-inst$n*valfa2)))

h

# para 5%, normal padronizada...
pnorm(1.645)

# logo, para h:

pnorm(h)

# 1. claro, outra opção é o teste BG (fica como dever de casa: dica lmtest)
# 2. no setor de fotocópias: pegue o material para R do semestre passado.
# 3. repita os passos feitos aqui.

Bem, pessoal, é fácil fazer isto tudo e a sugestão de dever de casa é muito tranquila. Em caso de dúvidas, lembre-se que você pode sempre usar comandos simples como “?lm” (para saber mais sobre o comando lm) ou “??lm” (veja no que dá). Obviamente, sem executar a linha, nada acontecerá.

Outra opção é fazer a busca pelos manuais dos pacotes. Digamos, por exemplo, que eu queira saber mais sobre o pacote “lmtest”. Uma rápida busca nos levará a este endereço. Nele você encontrará não apenas o manual (cuja linguagem é padronizada) como também as chamadas vignettes (nem todo pacote a(s) tem(têm), ok?) que costumam ser úteis.

Você aprende por repetição e replicar exemplos destes manuais é sempre uma boa idéia. Repare que muitos deles já vêm com bases de dados (você não precisa importá-las) que são usados nos exemplos do manual do pacote e, bem, você entendeu.

Outra dica é procurar, neste blog (e, ocasionalmente, no do Nepom) pelos chamados “Momento R do Dia” (procure!). São dicas que dou sobre os mais diversos tópicos de R. Você tem que pesquisar e descobrir se há alguma dica útil. Claro, há sempre o StackOverflow.

É isto, pessoal.

pibbr_aha