Obtener precios de mercado

Básicamente se pueden obtener datos de los mercados a los que se tiene acceso mediante las bases de datos consultadas de forma gratuita como Google Finance, Yahoo finance,  Datos Económicos de la Reserva Federal de EEUU, Divisas y metales de oanda.com, archivos descargados en formato csv, MySQL y RData

Esto puede ser suficiente para algunas demostraciones académicas y algunas negociaciones internacionales. Además para realizar pruebas de algunos modelos personales.

Después de instalar y cargar la librería quantmod, podemos acceder a datos de mercado mediante el comando getSymbols(). A continuación se muestran algunos ejemplos de su uso:

# cargar librería
library(quantmod)

# obtener precios de cierre diario de usdcop en un rango de fechas
getSymbols("USD/COP", src="oanda", from="2012-01-01", to="2015-01-01")

# obtener datos de diferentes fuentes de datos 
getSymbols("FB", src="google") # Facbook
getSymbols("FB", src="yahoo") # Facebook
getSymbols("USD/COP", src="oanda") # dolar - peso colombiano
getSymbols("DGS10", src="FRED") # 10-Years treasury constant maturity rate

para visualizar los datos, podemos acceder a las variables que han sido creadas con el mismo mnemotecnico ingresado. Si sólo queremos ver los primeros datos escribimos el comando head(), y los ultimos datos con el comando tail(). Dentro del paréntesis debe ir el mnemotécnico que hemos descargado antes. Por ejemplo

# visualizar los primeros datos de la serie DGS10
> head(DGS10)
                   DGS10
1962-01-02  4.06
1962-01-03  4.03
1962-01-04  3.99
1962-01-05  4.02
1962-01-08  4.03

1962-01-09  4.05

# visualizar los últimos datos de la serie DGS10
> tail(DGS10)
                   DGS10
2016-07-07  1.40
2016-07-08  1.37
2016-07-11  1.43
2016-07-12  1.53
2016-07-13  1.48

2016-07-14  1.53

# visualizar todos los datos de la serie DGS10
>DGS10
                   DGS10

1962-01-02  4.06
...
2016-07-14  1.53

En el caso de las acciones el formato de precios es OHLC, que quiere decir Open, High, Low, Close. Adicionalmente descarga el volumen y precio ajustado. los primeros datos de FB se muestran así:

> head(FB)
                    FB.Open   FB.High   FB.Low   FB.Close   FB.Volume       FB.Adjusted
2012-05-18   42.05        45.00       38.00       38.23        573576400       38.23
2012-05-21   36.53         36.66      33.00       34.03        168192700       34.03
2012-05-22   32.61         33.59      30.94       31.00        101786600       31.00
2012-05-23   31.37         32.50      31.36       32.00          73600000       32.00
2012-05-24   32.95         33.21      31.77       33.03          50237200       33.03
2012-05-25   32.90         32.95      31.11       31.91          37149800       31.91

Existen otros métodos de descarga equivalentes al comando getSymbols() para cada fuente de datos. Pero es más fácil de recordar un solo comando que los demás.

getSymbols("FB", src="google")             = getSymbols.google("FB")
getSymbols("FB", src="yahoo")              = getSymbols.yahoo("FB")
getSymbols("COP/USD", src="oanda")  = getSymbols.oanda("COP/USD") = getFX("COP/USD")
getSymbols("gold", src="oanda")            = getSymbols.oanda("gold")           = getMetals("gold")
getSymbols("DGS10", src="FRED")        = getSymbols.FRED("DGS10")
getSymbols("FB", src="MySQL")           = getSymbols.MySQL("FB")
getSymbols("FB", src="csv")                  = getSymbols.csv("FB")

En los dos ultimos métodos, hay que ingresar otros parámetros adicionales para conectarse con las bases de datos. En MySQL algunos parámetros son user = NULL, password = NULL, dbname = NULL, host = "localhost", port = 3306. En csv la ruta del archivo dir="ruta".

Si necesitas más información sobre estos métodos recuerda que puedes acceder a la ayuda mediante el comando

??getSymbols


No hay comentarios.:

Publicar un comentario