Como coletar dados de alta frequência na Bovespa usando o GETHFDATA - Contabilidade & Métodos Quantitativos

Contabilidade & Métodos Quantitativos

Contabilidade & Métodos Quantitativos

sexta-feira, 13 de outubro de 2017

Como coletar dados de alta frequência na Bovespa usando o GETHFDATA

Recentemente os Professores Marcelo Perlim e Henrique Ramos da UFRGS publicaram um artigo na Revista Brasileira de Finanças, apresentando um pacote no R para baixar dados de alta frequência na Bovespa.

Esses dados podem ser utilizados para diversas aplicações, dentre elas a estimação da PIN.

Como eu tenho alguns alunos que trabalham e têm interesse de trabalhar com assimetria informacional, solicitei ao meu PIBIC Glauco Pordeus que fizesse um vídeo explicando como usar o pacote do R.

Posteriormente ele fará um vídeo sobre como estimar a PIN também no R.


Abaixo está o script usado por Glauco no vídeo:

# http://bibliotecadigital.fgv.br/ojs/index.php/rbfin/article/view/64587/65702
# https://cran.r-project.org/web/packages/GetHFData/GetHFData.pdf

# AUTORES: Marcelo S. Perlin e Henrique P. Ramos, Ambos do da UFRGS

install.packages("GetHFData")

library(GetHFData)

getwd ()
setwd ("c:/Users/glauc/Desktop")

# PARÂMETROS 'info'
first.time <- '10:00:00'
last.time <- '18:00:00'
type.output <- 'agg'
    # Define a periodicidade 
agg.diff <- '1 min'
    # 'sec' or 'secs', 'min' or 'mins', 'hour' or 'hours', 'day' or 'days'
type.market <- 'equity'
    # ou 'options', 'BMF'.
my.assets <- c('PETR4','PETR3')
    # ou só PETR
first.date <- '2017-10-11'
    # Dados disponíveis só a partir de 06/2015
last.date <- '2017-10-11'
only.dl <- TRUE
    # or FALSE

# PARÂMETROS 'crú'
first.time <- '10:00:00'
last.time <- '18:00:00'
type.output <- 'agg'
agg.diff <- '1 min'
my.assets <- c('PETR4','PETR3')
type.market <- 'equity'
first.date <- '2017-10-11'
last.date <- '2017-10-11'
only.dl <- TRUE

# IMPORTANDO DADOS

# IMPORTAÇÃO DE ATIVO'S ESPECÍFICO'S
DB <- ghfd_get_HF_data(my.assets = my.assets, type.market = type.market,
                           first.date = first.date, last.date = last.date,
                           first.time = first.time,  last.time = last.time,
                           type.output = type.output,  agg.diff = agg.diff) #only.dl


# IMPORTAÇÃO DE TODOS OS ATIVOS
DB1 <- ghfd_get_HF_data(#my.assets = my.assets, 
                       type.market = type.market,
                       first.date = first.date, last.date = last.date,
                       first.time = first.time,  last.time = last.time,
                       type.output = type.output,  agg.diff = agg.diff) #only.dl

# SELECIONANDO UM ATIVO

PETR4.1 <- subset(DB1, InstrumentSymbol=='PETR4') 
      # ESTE PROCEDIMENTO DEVERÁ SER FEITO CASO TENHA IMPORTADO OS DADOS POR MEIO DE ATIVOS ESPEPECÍFICOS, COM MAIS DE UM ATIVO

PETR4 <- data.frame(PETR4.1[,1],PETR4.1[,3],PETR4.1[,5])

names(PETR4) <- c('Ticker','DateTime','LastPrice')

# SALVAR TABELA

setwd ("c:/Users/glauc/Desktop")
write.table(PETR4, file = "PETR4.txt", sep =';')

Nenhum comentário:

Postar um comentário

Translate