Obtener Datos del Mercado Colombiano

Información sobre Acciones

Los datos de las acciones colombianas se pueden descargar de la página de la bolsa de valores colombiana. Sin embargo tiene límite de 6 meses para descargar los datos de una acción. Con R se puede construir un algoritmo sencillo para hacer esta tarea automática, que se repita varias veces y así descargamos periodos de seis meses hasta obtener varios años de datos de información. 

Obtener el enlace de descarga

El primer paso consiste en saber el enlace que nos permitirá obtener los datos de forma automática. Para ello nos dirigimos a la acción que deseamos investigar en la pagina de la BVC. En este ejemplo escribimos PFBCOLOM donde dice consultar otra acción y damos click en buscar. Una vez allí, nos dirigimos en la parte de abajo donde dice Resumen del mercado - Compraventas. y damos clic derecho sobre cualquier parte del recuadro que contiene el boton de descarga. Nos sale un menú y damos clic en inspeccionar. 


Nos salen los códigos de la página, resaltando la linea que contiene el código del elemento que deseamos inspeccionar. Podemos ver que el elemento se llama menu_tabla.


Vamos a dar clic en esta línea para que nos muestre el enlace y las entradas (inputs) que requiere para mostrarnos los precios de mercado


Con estos códigos ya podemos saber el enlace y los parámetros de descarga. Debemos buscar muy bien dentro de la clase menu_tabla todas las líneas que comiencen con la palabra input. Ya que éstos, son los parámetros obligatorios. 

En orden, vemos primero el enlace al que nos redirige al hacer clic en el botón de Descarga. Es decir, dentro de la página http://www.bvc.com.co, al hacer clic en el botón de descarga, éste implementa una acción que es redirigirnos a http://www.bvc.com.co/mercados/DescargaXlsServlet con los parámetros que solicita en las líneas de abajo del código. 
El primer input es llamado archivo, y el valor que le ingresa es acciones_detalle
El segundo input es llamado nemo, y el valor que le ingresea es PFBCOLOM
El tercer input es llamado tipoMercado, y el valor que le ingresa es 1.
El cuarto input es llamado fechaIni, y el valor que debemos ingresar debe ser en formato yyyy-mm-dd
El quinto input es llamado fechaFin, y el valor que debemos ingresar debe ser en formato yyyy-mm-dd

El quinto input no se alcanza a ver en la imagen pero si lo buscas, allí está. Finalmente el enlace en código html para descargar la acción PFBCOLOM en el período 2016-01-01 hasta 2016-06-01 sería el siguiente:


Si copias este enlace y lo pones en el navegador, te descarga los precios de la acción en el periodo solicitado. Recuerda que no te deja descargar más de 6 meses. Por lo que debes tener cuidado con las fechas. Si no te deja, trata de descargar hasta un día menos.

Automatizando las descargas en R

Una vez que obtenemos el enlace de descarga, hacer las bases de datos es mucho más fácil. Podemos descargar varios periodos de seis meses y obtener datos por varios años. 

Para realizar descargas en R se usa el comando download.file(), el cual recibe como argumentos la url, la ruta donde se desea guardar el archivo y el modo de descarga. Para consultar más sobre este comando escriba ??download.file. 

A continuación un fragmento de código que utilizo para realizar descargas automáticas de varios periodos. Es posible que debas desactivar las funciones de internas de windows para el acceso a internet mediante el comando setInternet2(FALSE) 

# Establecer las fechas del primer periodo de 6 meses 
fechaFin = Sys.Date()
fechaIni = fechaFin-182

# Comenzar a recorrer 10 semestres (5 años) consecutivos hacia atrás desde hoy
for(k in 1:10){
# establecer url
url=paste0("http://www.bvc.com.co/mercados/DescargaXlsServlet?archivo=acciones_detalle&nemo=PFBCOLOM&tipoMercado=1&fechaIni=",fechaIni,"&fechaFin=",fechaFin)
# establecer el directorio para guardar el archivo
dir = paste0("C:/PFbcolom-",k,".xls")
# intentar descargar el archivo
try(download.file(url, dir, mode="wb"))
# establecer las fechas del nuevo periodo de descarga
fechaIni=fechaIni-183
fechaFin=fechaFin-183
}

En la ruta especificada se deben guardar 10 archivos enumerados de la acción PFBCOLOM correspondientes a los últimos 10 semestres. Algunas acciones no tienen negociaciones durante algunos periodos, por lo que algunos archivos no tendrán datos.

Los diez archivos pueden ser compilados en un único archivo. En posteriores publicaciones veremos cómo.

No hay comentarios.:

Publicar un comentario