Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

dt = as.

Date("2017-07-13")
url = format(dt,"http://bvmf.bmfbovespa.com.br/InstDados/SerHist/COTAHIST_A%Y.ZIP")
filename = format(dt,"Downloads/COTAHIST_A%Y.ZIP")
download.file(url = url, destfile = filename, mode = "wb")

file = unzip(zipfile = filename, exdir = "Downloads")

layout = read.csv2("Layout/layout_cotahist.csv", stringsAsFactors = F)

dados = read.fwf(
file = file,
widths = layout$tamanho,
header = F,
col.names = layout$campo,
skip = 1
stringsasfactor = F)

dados = dados[-nrow(dados),] #retirado a ultima linha

**********************************************************

#dt = as.Date("2017-07-13")

ler.bmf.cotahist = function(dt){
stopifnot(is(dt, "Date"),length(dt) ==1)

url = format(dt,"http://bvmf.bmfbovespa.com.br/InstDados/SerHist/COTAHIST_D%d%m
%Y.ZIP")
filename = format(dt,"Downloads/COTAHIST_D%d%m%Y.ZIP")
download.file(url = url, destfile = filename, mode = "wb")

file = unzip(zipfile = filename, exdir = "Downloads")

layout = read.csv2("Layout/layout_cotahist.csv", stringsAsFactors = F)

dados = read.fwf(
file = file,
widths = layout$tamanho,
header = F,
col.names = layout$campo,
skip = 1, stringsAsFactor = F)

file.remove(file)

dados = dados[-nrow(dados),] #retirado a ultima linha

dados$DATA_PREGAO = as.Date(dados$DATA_PREGAO, "%Y%m%d")


dados$DATVEN = as.Date(as.character(dados$DATVEN), "%Y%m%d")

cols = c(
"PREABE", "PREMAX", "PREMIN",
"PREMED", "PREULT", "PREOFC",
"PREOFV", "PREEXE")
for (nome.coluna in cols){
dados[,nome.coluna] = dados[,nome.coluna]/100
}
return(dados)
}

You might also like