SAUDAÇÕES!

Seja bem vindo à página do professor Pedro Albuquerque. Para saber mais sobre meu currículo, disciplinas ministradas e interesses de pesquisa, navegue no menu disponível no topo da página.
Mostrando postagens com marcador Manipulação de dados. Mostrar todas as postagens
Mostrando postagens com marcador Manipulação de dados. Mostrar todas as postagens

quarta-feira, 15 de junho de 2016

Dados financeiros para o R.


Existe uma série de dados livres em finanças e economia que estão disponíveis no R. As principais fontes de dados são listadas a a seguir:

Fonte Pacote Acesso livre Disponível CRAN Nome/Página
Yahoo, FRED, Oanda, Google Quantmod Sim Sim http://www.quantmod.com/
Quandl Quandl Sim Sim http://www.quandl.com/help/packages/r
TrueFX TFX Sim Sim http://rpubs.com/gsee/TFX
Bloomberg Rbbg Não Não http://findata.org/rbloomberg/
Interactive Broker IBrokers Não Sim https://www.interactivebrokers.com/en/main.php
Datastream rdatastream Não Não https://github.com/fcocquemas/rdatastream
Penn World Table pwt Sim Sim https://pwt.sas.upenn.edu/
Yahoo, FRED, Oanda fImport Sim Sim http://www.rmetrics.org/
ThinkNum Thinknum Sim Sim http://thinknum.com/

A disponibilidade desses dados possibilita a execução de modelos econométricos em finanças e economia, visando o ensino como também a pesquisa. Outras publicações que valem a pena conferir, são:

1) Quandl Package – 5,000,000 free datasets at the tip of your fingers!
2) Financial Data Accessible from R - Parte 1.
2) Financial Data Accessible from R - Parte 2.
2) Financial Data Accessible from R - Parte 3.
2) Financial Data Accessible from R - Parte 4.

sexta-feira, 15 de maio de 2015

Revolution R - Parte 2.


Dando continuidade ao nosso estudo sobre o Revolution R, vimos no post Revolution R - Parte 1, como trabalhar inicialmente com a IDE fornecida pelo grupo Revolution Analytics.

Nesse post veremos como manipular grandes bases de dados usando para isso o Revolution R. Para isso, considere o arquivo Pobreza.csv. É claro que essa base não é uma "base grande", mas vamos fazer os exercícios com ela, e, sem perda de generalidade, podemos posteriormente utilizar algum conjunto de dados com maior massa de informações.

O primeiro comando para manipulação de banco de dados no formato *.XDF será o comando rxDataStep. O primeiro passo é ler a base de dados Pobreza.csv:


#Importa os dados no formato XDF
pobreza.xdf <- rxImport(inData = "Pobreza.csv",outFile = "pobreza.xdf", overwrite=TRUE)
Esse comando importa o arquivo Pobreza.csv e cria outro denominado pobreza.xdf o qual estará no formato nativo do Revolution R, em seguida, podemos fazer consultas simples nessa base de dados "grande". Para utilizar o comando rxDataStep, podemos escrevê-lo diretamente ou usando o Snippet:
Aqui a base Pobres.xdf será composta pelos municípios com Índice de Gini (Var09) maior ou igual a 0.40 e Incidência de Pobreza (Var03) superior a 50. Já a base Ricos.xdf será composta pelos municípios com Índice de Gini (Var09) menores do que 0.40 e Incidência de Pobreza (Var03) inferior ou igual a 50. O código é dado por:
#Cria as bases Pobres.xdf e Ricos.xdf
Pobres.xdf<- rxDataStep(inData = "pobreza.xdf", 
 outFile = "Pobres.xdf", rowSelection = Var09>=0.4 & Var03>50)

#Mostra as primeiras linhas
head(Pobres.xdf)

Ricos.xdf<- rxDataStep(inData = "pobreza.xdf", 
 outFile = "Ricos.xdf", rowSelection = Var09<0.4 & Var03<=50)

#Mostra as primeiras linhas
head(Ricos.xdf)
Para facilitar a alocação de memória podemos manter somente algumas variáveis de interesse, por exemplo, suponha que gostaríamos de ter na base somente as variáveis Var01, Var03 e Var09. Para isso, basta fazer:
#Mantêm somente as variáveis de interesse
rxDataStep(inData = "pobreza.xdf", 
 outFile = "Pobres.xdf", rowSelection = Var09>=0.4 & Var03>50,
 overwrite=TRUE,varsToKeep=c("Var01","Var03","Var09"))


#Retira as variáveis que não são necessárias
rxDataStep(inData = "pobreza.xdf", 
 outFile = "Ricos.xdf", rowSelection = Var09<0.4 & Var03<=50,
 overwrite=TRUE,varsToDrop=c("Var02","Var04","Var05",
 "Var06","Var07","Var08","Var10","Var11"))
O comando rxDataStep também pode ser utilizado para se criar novas variáveis na base de dados, por exemplo, suponha que desejamos criar uma variável Tipo que assume valor igual a 0, quando a base é Pobres.xdf e 1 quando a base é Ricos.xdf:
#Cria a variavel Tipo para a base Pobres
rxDataStep(inData = "Pobres.xdf",outFile = "Pobres.xdf",
 transforms = list(Tipo = Var01 < 0),overwrite=TRUE)

#Mostra as primeiras observações
head(Pobres.xdf)

#Cria a variavel Tipo para a base Ricos
rxDataStep(inData = "Ricos.xdf",outFile = "Ricos.xdf",
 transforms = list(Tipo = Var01 > 0),overwrite=TRUE)

#Mostra as primeiras observações
head(Ricos.xdf)
Seguiremos com mais dicas sobre o Revolution R em outros posts.