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
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
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
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("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("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
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