UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
“LABORATORIO 1”
DOCENTE: MSF. CARLOS ADEMIR PÉREZ
MATERIA: MÉTODOS PARA EL ANÁLISIS ECONÓMICO
GT: 02
Presentado por:
| NOMBRE | CARNET |
| LUIS DAVID CASTRO MARTINEZ | CM16011 |
| KEILY MARLENE CAMPOS ULLOA | CU14003 |
| LISBETH ESMERALDA MELCHOR REYES | MR14076 |
| RUTH ABIGAIL MARROQUIN SARAVIA | MS17026 |
Por sus siglas API significa “interfaz de programación de aplicaciones”. es una interfaz o zona de contacto de un conjunto de bibliotecas o paquetes de software capacitados para que otro software o programa pueda “verlos” y ejecutarlos. Es decir, una API es la herramienta que permite que un software se comunique o interactúe con otro. La importancia de las API es que permiten a diferentes programas, dispositivos y aplicaciones trabajar en conjunto, compartir información y así crear la verdadera conectividad que significa Internet.(de Bogotá, C. D. C. (2019). El mundo conectado por las API.)
Con las API abiertas se simplifican los procesos independientemente del banco, proveedor de tarjeta, dispositivo u otros factores que intervienen en una operación financiera digital. Es así que, al comprobar el balance de una cuenta, obtener historiales de gasto o gestionar pagos, las API permiten utilizar las mismas metodologías, eliminando la necesidad de procedimientos extras, repetitivos y costosos. En el mundo de los servicios financieros, que incluye préstamos, seguros, comercio electrónico, pagos, información bancaria de clientes, historiales de operaciones de clientes, autenticación, transferencias bancarias, entre otras, son las API abiertas las que permiten suministrar toda esta información a quien lo necesite y facilitar así los procesos de las operaciones.
Las API fueron un intento para controlar el caos mediante encapsular conceptos lógicos de negocio tales como datos centrales de entidades (piense en cliente o producto) o transacciones (por ejemplo, “coloque una orden” u “obtenga el precio”) como servicios. Las API podrían ser consumidas de manera amplias y en expansión. Aún más, el buen diseño de la API también introdujo controles para ayudar a administrar su propio ciclo de vida, incluyendo:
-Control de versiones. La capacidad para cambiar sin reproducir versiones viejas de la misma API inoperable. -Estandarización. Una manera uniforme para que las API sean expresadas y consumidas, desde distribuidores de objetos COM y CORBA hasta servicios hoy para los patrones RESTful de hot. -Control de la información de la API. Un medio construido-en para enriquecer y manejar la información inmersa en la API. Esta información incluye metadatos, enfoques para manejar lotes de registros, y ganchos para plataformas de software puente, agentes de mensajes, y buses de servicio. También define cómo las API comunican, enrutan, y manipulan la información que esté siendo intercambiada.( La empresa sinfónica. Deloitte Insights, pp. -111-130. Larry Calabro, Chris Purpura, Vishvershwara Vasa, y Arun Perinkolam. Recuperado de: https://www2.deloitte.com/content/dam/Deloitte/co/Documents/technology/Imperativo%20de%20API.pdf)
Arquitectura logica de la API
#Para cargar los datos del Banco Mundial, se debe cargar la libreria (wbstas)
library(wbstats)
# Versión en caché de información denominados wb_cachelist proporcionan una instantánea de los países disponibles, los indicadores y otra información relevante. La estructura de wb_cachelist es la siguiente:
str(wb_cachelist, max.level = 1)
## List of 8
## $ countries : tibble [304 x 18] (S3: tbl_df/tbl/data.frame)
## $ indicators : tibble [16,649 x 8] (S3: tbl_df/tbl/data.frame)
## $ sources : tibble [63 x 9] (S3: tbl_df/tbl/data.frame)
## $ topics : tibble [21 x 3] (S3: tbl_df/tbl/data.frame)
## $ regions : tibble [48 x 4] (S3: tbl_df/tbl/data.frame)
## $ income_levels: tibble [7 x 3] (S3: tbl_df/tbl/data.frame)
## $ lending_types: tibble [4 x 3] (S3: tbl_df/tbl/data.frame)
## $ languages : tibble [23 x 3] (S3: tbl_df/tbl/data.frame)
# Para obtener la información más reciente sobre los datos disponibles de la API del Banco Mundial, wbcache() descarga una versión actualizada de la información. (El lenguaje predeterminado es en inglés)
library(wbstats)
new_cache <- wb_cache()
# De forma predeterminada, la búsqueda se realiza en los campos de indicador_id, indicador e indicador_desc y devuelve las 3 columnas de las filas coincidentes. Los valores de id_indicador son entradas en wb_data(), la función para descargar los datos. Para devolver todas las columnas para el marco de datos de los indicadores, puede establecer extra = TRUE.
library(wbstats)
unemploy_inds<- wb_search("unemployment")
head(unemploy_inds)
## # A tibble: 6 x 3
## indicator_id indicator indic~1
## <chr> <chr> <chr>
## 1 fin37.t.a Received government transfers in the past year (% age 15~ The pe~
## 2 fin37.t.a.1 Received government transfers in the past year, male (%~ The pe~
## 3 fin37.t.a.10 Received government transfers in the past year, in labor~ The pe~
## 4 fin37.t.a.11 Received government transfers in the past year, out of l~ The pe~
## 5 fin37.t.a.2 Received government transfers in the past year, female (~ The pe~
## 6 fin37.t.a.3 Received government transfers in the past year, young ad~ The pe~
## # ... with abbreviated variable name 1: indicator_desc
# Se pueden buscar otros campos simplemente cambiando el parámetro de campos.
library(wbstats)
blmbrg_vars <- wb_search("Bloomberg", fields = "source_org")
#Desde aquí puede seleccionar qué indicadores queremos y pasar su ID de indicador a la función wb
pop_vars <- wbsearch("Population Growth")
pop_var_ids <- pop_vars[1:3, "indicatorID"]
pop_data <- wb(country = "countries_only", indicator = pop_var_ids, startdate = 2018, enddate = 2020)
head(pop_data)
## iso3c date value indicatorID indicator
## 4 IND 2011 17.70 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## 14 IND 2001-2011 17.64 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## 25 IND 1991-2001 21.54 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## 36 IND 1981-1991 23.86 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## 47 IND 1971-1981 24.66 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## 58 IND 1961-1971 24.80 IN.EC.POP.GRWTHRAT Decadal Growth of Population (%)
## iso2c country
## 4 IN India
## 14 IN India
## 25 IN India
## 36 IN India
## 47 IN India
## 58 IN India
# Los datos almacenados en caché predeterminados en wb_cachelist están en inglés. Para buscar indicadores en un idioma diferente, puede descargar una copia actualizada de wb_cachelist usando wb_cache(), con el parámetro lang establecido en el idioma de interés y luego configurarlo como el parámetro de caché en wb_search(). Se admiten otros idiomas en la medida en que sean compatibles con las fuentes de datos originales. Algunas fuentes brindan soporte completo para otros idiomas, mientras que otras tienen un soporte muy limitado. Si la fuente de datos no tiene una traducción para un determinado campo o indicador, entonces el resultado es NA, esto puede resultar en un número variable de coincidencias según el idioma que seleccione. Para ver una lista de idiomas disponibles, llame a wb_languages()
library(wbstats)
wb_langs <- wb_languages()
#Este data.frame contiene toda la información geográfica de las ubicaciones que están disponibles. Esta información es útil para buscar códigos de países, así como para unirlos con cualquier dato que haya consultado para agrupar y visualizar por columnas, como región o grupo de ingresos.
wb_geo <- wb_cachelist$countries
head(wb_geo, n = 5)
## # A tibble: 5 x 18
## iso3c iso2c country capit~1 longi~2 latit~3 regio~4 regio~5 region admin~6
## <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr>
## 1 ABW AW Aruba Oranje~ -70.0 12.5 LCN ZJ Latin~ <NA>
## 2 AFG AF Afghanistan Kabul 69.2 34.5 SAS 8S South~ SAS
## 3 AFR A9 Africa <NA> NA NA <NA> <NA> Aggre~ <NA>
## 4 AGO AO Angola Luanda 13.2 -8.81 SSF ZG Sub-S~ SSA
## 5 ALB AL Albania Tirane 19.8 41.3 ECS Z7 Europ~ ECA
## # ... with 8 more variables: admin_region_iso2c <chr>, admin_region <chr>,
## # income_level_iso3c <chr>, income_level_iso2c <chr>, income_level <chr>,
## # lending_type_iso3c <chr>, lending_type_iso2c <chr>, lending_type <chr>, and
## # abbreviated variable names 1: capital_city, 2: longitude, 3: latitude,
## # 4: region_iso3c, 5: region_iso2c, 6: admin_region_iso3c
# Si está interesado solo en algún subconjunto de países o regiones, puede pasar los códigos específicos al parámetro de país. Los códigos y nombres de países y regiones que también se pueden pasar al parámetro de país, principalmente los valores codificados de iso2c e iso3c del marco de datos de países en wb_cachelist o el retorno de wb_cache(). Cualquier valor de las columnas anteriores se puede mezclar y pasar a la misma llamada
ejemplo_geos <- c("Germany","France", "Ukraine", "USA", "HiGh InCoMe")
pop_data <- wb_data("SP.POP.TOTL", country = ejemplo_geos,
start_date = 2018, end_date = 2020)
pop_data
## # A tibble: 15 x 9
## iso2c iso3c country date SP.POP.TOTL unit obs_st~1 footn~2 last_upd~3
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <date>
## 1 DE DEU Germany 2018 82905782 <NA> <NA> <NA> 2022-09-16
## 2 DE DEU Germany 2019 83092962 <NA> <NA> <NA> 2022-09-16
## 3 DE DEU Germany 2020 83160871 <NA> <NA> <NA> 2022-09-16
## 4 FR FRA France 2018 67101930 <NA> <NA> Prelim~ 2022-09-16
## 5 FR FRA France 2019 67248926 <NA> <NA> Prelim~ 2022-09-16
## 6 FR FRA France 2020 67379908 <NA> <NA> Prelim~ 2022-09-16
## 7 UA UKR Ukraine 2018 44622518 <NA> <NA> Estima~ 2022-09-16
## 8 UA UKR Ukraine 2019 44386203 <NA> <NA> Estima~ 2022-09-16
## 9 UA UKR Ukraine 2020 44132049 <NA> <NA> Estima~ 2022-09-16
## 10 US USA United States 2018 326838199 <NA> <NA> <NA> 2022-09-16
## 11 US USA United States 2019 328329953 <NA> <NA> <NA> 2022-09-16
## 12 US USA United States 2020 331501080 <NA> <NA> <NA> 2022-09-16
## 13 <NA> XD High income 2018 1229836619 <NA> <NA> <NA> 2022-09-16
## 14 <NA> XD High income 2019 1234830048 <NA> <NA> <NA> 2022-09-16
## 15 <NA> XD High income 2020 1240684527 <NA> <NA> <NA> 2022-09-16
## # ... with abbreviated variable names 1: obs_status, 2: footnote,
## # 3: last_updated
# Si no sabe la última fecha en que un indicador que le interesa está disponible para su país, puede usar mrv en lugar de start_date y end_date. mrv representa el valor más reciente y toma un número entero correspondiente al número de valores más recientes que desea devolver.
library(wbstats)
gdp_capita <- wb_data("NY.GDP.PCAP.CD", mrv = 1)
# No todas las fuentes de datos admiten todos los idiomas. Si un indicador no tiene una traducción para un idioma en particular, los campos no admitidos se devolverán como NA. Esto podría resultar potencialmente en un número diferente de indicadores coincidentes de wb_search()
library(wbstats)
# english
cache_en <- wb_cache()
sum(is.na(cache_en$indicators$indicator))
## [1] 0
#> [1] 0
# spanish
cache_es <- wb_cache(lang = "es")
sum(is.na(cache_es$indicators$indicator))
## [1] 17154
#Este marco de datos contiene información como la descripción y la fuente de todos los indicadores que están disponibles para descargar.
wb_ind <- wb_cachelist$indicators
head(wb_ind, n = 5)
## # A tibble: 5 x 8
## indicator_id indicator unit indic~1 sourc~2 topics sourc~3 source
## <chr> <chr> <lgl> <chr> <chr> <list> <dbl> <chr>
## 1 1.0.HCount.1.90usd Poverty Head~ NA The po~ LAC Eq~ <df> 37 LAC E~
## 2 1.0.HCount.2.5usd Poverty Head~ NA The po~ LAC Eq~ <df> 37 LAC E~
## 3 1.0.HCount.Mid10to50 Middle Class~ NA The po~ LAC Eq~ <df> 37 LAC E~
## 4 1.0.HCount.Ofcl Official Mod~ NA The po~ LAC Eq~ <df> 37 LAC E~
## 5 1.0.HCount.Poor4uds Poverty Head~ NA The po~ LAC Eq~ <df> 37 LAC E~
## # ... with abbreviated variable names 1: indicator_desc, 2: source_org,
## # 3: source_id
#Anteriormente, cuando usamos la función wbsearch, en realidad está buscando a través de este indicador data.frame de wb_cachelist. Ahora que sabemos un poco más sobre lo que hace la función, tenemos algunas opciones más disponibles. Por ejemplo, podemos usar el parámetro de campos para cambiar qué campos en el data.frame de indicadores.
wbsearch(pattern = "unemployment", fields = "indicator")
#Para obtener la información más reciente sobre los datos disponibles de la API del Banco Mundial, wbcache() (cargada anteriormente) descarga una versión actualizada de la información almacenada en wb_cachelist. wb_cachelist es simplemente un retorno guardado de wbcache(lang = "en"). Para usar esta información actualizada en wbsearch() o wb(), establezca el parámetro de caché en la lista guardada devuelta por wbcache(). Siempre es una buena idea usar esta información actualizada para asegurarse de tener acceso a la información más reciente disponible, como indicadores o fuentes de datos recientemente agregados.
wb_search("gdp.*capita.*US\\$", cache = new_cache)
## # A tibble: 2 x 3
## indicator_id indicator indicator_desc
## <chr> <chr> <chr>
## 1 NY.GDP.PCAP.CD GDP per capita (current US$) GDP per capita is gross dom~
## 2 NY.GDP.PCAP.KD GDP per capita (constant 2015 US$) GDP per capita is gross dom~
# Una vez que haya encontrado el conjunto de indicadores que le gustaría explorar más a fondo, el siguiente paso es descargar los datos con wb_data(). Los siguientes ejemplos pretenden resaltar las diferentes formas en que se puede usar wb_data() y demostrar los principales parámetros opcionales y algunas gráficas que se pueden construir.
library(wbstats)
# PIB per cápita
gdp_data <- wb_data(country = "CL", indicator = "NY.GDP.PCAP.CD", start_date = 2012, end_date = 2022)
summary(gdp_data)
## iso2c iso3c country date
## Length:10 Length:10 Length:10 Min. :2012
## Class :character Class :character Class :character 1st Qu.:2014
## Mode :character Mode :character Mode :character Median :2016
## Mean :2016
## 3rd Qu.:2019
## Max. :2021
## NY.GDP.PCAP.CD unit obs_status footnote
## Min. :13221 Length:10 Length:10 Length:10
## 1st Qu.:13920 Class :character Class :character Class :character
## Median :14831 Mode :character Mode :character Mode :character
## Mean :14808
## 3rd Qu.:15668
## Max. :16503
## last_updated
## Min. :2022-09-16
## 1st Qu.:2022-09-16
## Median :2022-09-16
## Mean :2022-09-16
## 3rd Qu.:2022-09-16
## Max. :2022-09-16
Ejemplo 01
head(gdp_data)
## # A tibble: 6 x 9
## iso2c iso3c country date NY.GDP.PCAP.CD unit obs_status footnote last_upda~1
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <date>
## 1 CL CHL Chile 2012 15355. <NA> <NA> <NA> 2022-09-16
## 2 CL CHL Chile 2013 15778. <NA> <NA> <NA> 2022-09-16
## 3 CL CHL Chile 2014 14607. <NA> <NA> <NA> 2022-09-16
## 4 CL CHL Chile 2015 13495. <NA> <NA> <NA> 2022-09-16
## 5 CL CHL Chile 2016 13691. <NA> <NA> <NA> 2022-09-16
## 6 CL CHL Chile 2017 14963. <NA> <NA> <NA> 2022-09-16
## # ... with abbreviated variable name 1: last_updated
Ejemplo 02
tail(gdp_data)
## # A tibble: 6 x 9
## iso2c iso3c country date NY.GDP.PCAP.CD unit obs_status footnote last_upda~1
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <date>
## 1 CL CHL Chile 2016 13691. <NA> <NA> <NA> 2022-09-16
## 2 CL CHL Chile 2017 14963. <NA> <NA> <NA> 2022-09-16
## 3 CL CHL Chile 2018 15772. <NA> <NA> <NA> 2022-09-16
## 4 CL CHL Chile 2019 14699. <NA> <NA> <NA> 2022-09-16
## 5 CL CHL Chile 2020 13221. <NA> <NA> <NA> 2022-09-16
## 6 CL CHL Chile 2021 16503. <NA> <NA> <NA> 2022-09-16
## # ... with abbreviated variable name 1: last_updated
Ejemplo 03
library(ggplot2)
ggplot(gdp_data, aes(x = date, y = NY.GDP.PCAP.CD)) +
geom_point()
Ejemplo 04
ggplot(gdp_data, aes(x = date, y = NY.GDP.PCAP.CD)) +
geom_col()
Ejemplo 05
ggplot(gdp_data, aes(x = date, y = NY.GDP.PCAP.CD)) +
geom_col(fill = "pink") +
geom_point(color = "blue")
Ejemplo 06
more_gdp_data <- wb_data(country = c("MX", "CR", "CO"),
indicator = "NY.GDP.PCAP.CD",
start_date = 2005, end_date = 2022)
ggplot(more_gdp_data, aes(x = date, y = NY.GDP.PCAP.CD, color = country, shape = country)) +
geom_point()
Ejemplo 07
library(rnaturalearth)
library(tidyverse)
library(wbstats)
ind <- "NY.GDP.PCAP.PP.KD"
indicator_info <- filter(wb_cachelist$indicators, indicator_id == ind)
ne_countries(returnclass = "sf") %>%
left_join(
wb_data(
c(gdp = ind),
mrnev = 1
),
c("iso_a3" = "iso3c")
) %>%
filter(iso_a3 != "ATA") %>%
ggplot(aes(fill = gdp)) +
geom_sf() +
scale_fill_viridis_c(labels = scales::percent_format(scale = 1)) +
theme(legend.position="bottom") +
labs(
title = indicator_info$indicator,
fill = NULL,
caption = paste("Source:", indicator_info$source_org)
)
La API del FMI contiene la gama completa de todas las publicaciones estadisticas y financieras realizadas por el Fondo Monetario Internacional, en donde destaca el conjunto de datos establecida por una amplia gama de paises ampliadas en conjuntos de bases de datos que contienen variables de estadisticas internacionales contenidas en cada base de datos, permitiendo segun sea el objetivo acceder a las distintas bases de datos para seleccionar las variables objetivo y limitando a los paises a tratar y permitiendo hacer ajustes al como se desea recibir la informacion misma.
Carga del paquete “imfr”
#la descarga del paquete debe ser mediante el sitio de https://cran.r-project.org/src/contrib/Archive/imfr/ , debido a que el paquete “imfr” se elimino del repositorio de CRAN, por lo que debe ser descargado e instalada posteriormente en la libreria de R para acceder y utilizar el paquete.
library(curl)
library(imfr)
library(dplyr)
library(tidyr)
Primeros acercamientos a la base de datos del FMI
El API del FMI contiene una amplia gama de base de datos, para conocer las distintas bases de datos y la descripcion de las mismas, se utilizara la siguiente funcion:
base_datos_imf<-imf_ids()
print(head(base_datos_imf))
## database_id
## 1 BOP_2017M06
## 2 BOP_2020M3
## 3 BOP_2017M11
## 4 DOT_2020Q1
## 5 GFSMAB2016
## 6 BOP_2019M12
## description
## 1 Balance of Payments (BOP), 2017 M06
## 2 Balance of Payments (BOP), 2020 M03
## 3 Balance of Payments (BOP), 2017 M11
## 4 Direction of Trade Statistics (DOTS), 2020 Q1
## 5 Government Finance Statistics Yearbook (GFSY 2016), Main Aggregates and Balances
## 6 Balance of Payments (BOP), 2019 M12
Creando un objeto en el environment llamado “base_datos_imf” que contendra las 259 bases de datos existentes en el paquete “imfr” y que dara una descripcion de cada una, como ejemplo solo se presentaran las primeras 6.
Para explorar una base de datos en especifico se debe seleccionar la misma a traves de su “ID” o codigo de identificacion, de igual forma para conocer el como esta constituida esta base de datos como sus escalas de dimension de cada variable, frecuencia de los datos y las areas geograficas se debe utilizar la siguiente funcion:
lista_codigos_IFS<-imf_codelist(database_id = ("IFS_2019M01"))
print(lista_codigos_IFS)
## codelist description
## 1 CL_UNIT_MULT Scale
## 2 CL_FREQ Frequency
## 3 CL_AREA_IFS_2019M01 Geographical Areas
## 4 CL_INDICATOR_IFS_2019M01 Indicator
## 5 CL_TIME_FORMAT Time format
Se presentan como ejemplo la lista de codigos de dimension de la base de datos “IFS_2019M01” que hace referencia a las estadisticas financieras internacionales actualizadas a enero de 2019.
Al generar el listado de codigos de dimension de la libreria “IFS” esta presenta 5 dimensiones, en donde cada objeto presenta una lista de codigos o comandos que se pueden solicitar a la base de datos utilizada, para observarlos se utiliza la siguiente funcion:
IFS_AREA_codigos<-imf_codes(codelist = "CL_AREA_IFS")
Acceso a una base de datos especifica
La lista de codigos en donde se encuentran los indicadores economicos tiende a ser la mas utilizada en cada una de las bases de datos, ya que contiene la lista de todos los codigos de indicadores segun sea la base de datos que se esta utilizando puede variar el numero de indicadores dentro del paquete “imfr”.
IFS_INDICATOR_codigos<-imf_codes(codelist = "CL_INDICATOR_IFS")
print(head(IFS_INDICATOR_codigos))
## codes
## 1 NFIAXD_XDC
## 2 NFIAXD_SA_XDC
## 3 NFIAXD_NSA_XDC
## 4 NFIAXD_R_XDC
## 5 NFIAXD_R_SA_XDC
## 6 NFIAXD_R_NSA_XDC
## description
## 1 Acquisitions less Disposals of Valuables, Nominal, Domestic Currency
## 2 Acquisitions less Disposals of Valuables, Nominal, Seasonally Adjusted, Domestic Currency
## 3 Acquisitions less Disposals of Valuables, Nominal, Unadjusted, Domestic Currency
## 4 Acquisitions less Disposals of Valuables, Real, Domestic Currency
## 5 Acquisitions less Disposals of Valuables, Real, Seasonally Adjusted, Domestic Currency
## 6 Acquisitions less Disposals of Valuables, Real, Unadjusted, Domestic Currency
El caso para la base de datos “IFS” presenta un total de 1679 indicadores siendo de las que mas indicadores poseen por ser una base de datos muy generalizada y poseer muchas series parecidas del mismo indicador.
Carga de los codigos ISO2 a traves de la libreria “countrycode” para descargar los paises con sus codigos respectivos
Para obtener los datos de la API, se necesitara presenta los paises con sus respectivos codigos (ISO2) para asi obtener facilmente los paises de interes, por lo cual se genera un registro de paies que contenga todos los paises que el FMI entrega informacion y los asocie con sus respectivos codigos ISO.
library(countrycode)
data(codelist)
registro_paises <- codelist
registro_paises<- registro_paises %>%
select(country.name.en , iso2c, iso3c, imf, continent, region) %>% filter(!is.na(imf) & !is.na(iso2c))
print(head(registro_paises))
## # A tibble: 6 x 6
## country.name.en iso2c iso3c imf continent region
## <chr> <chr> <chr> <dbl> <chr> <chr>
## 1 Afghanistan AF AFG 512 Asia South Asia
## 2 Albania AL ALB 914 Europe Europe & Central Asia
## 3 Algeria DZ DZA 612 Africa Middle East & North Africa
## 4 American Samoa AS ASM 859 Oceania East Asia & Pacific
## 5 Angola AO AGO 614 Africa Sub-Saharan Africa
## 6 Anguilla AI AIA 312 Americas Latin America & Caribbean
Ejemplo 01. Visualizacion de indicadores economicos de paises de America Latina y el Caribe.
Como ejemplo registraremos de los paises aquellos que se encuentren en la region de America Latina y el Caribe, con el objetivo de evaluar como funcionan los indicadores y como se presenta la informacion
latin_caribbean_America_ISO2<- registro_paises$iso2c[registro_paises$region=="Latin America & Caribbean"]
Luego de crear la funcion que registra los paises de America Latina y el Caribe junto con sus codigos ISO, se presentaran 3 indicadores (Balanza de Pagos, Tenencia de Divisas en Dolares y Tipo de Cambio Real Efectivo en base al Consumo) para esta region, con una frecuencia anual y que el año de inicio sea el 2010 hasta las ultimas fechas disponibles:
IFS_latin_caribbean_America<-imf_data(database_id = "IFS",indicator = c("BG_BP6_USD" , "HPHC_USD" , "EREER_IX" ), country = latin_caribbean_America_ISO2, freq = 'A', start = 2010 , end = current_year())
print(head(IFS_latin_caribbean_America))
## iso2c year BG_BP6_USD HPHC_USD EREER_IX
## 1 AG 2010 -408.1682 51.93587 100.00000
## 2 AG 2011 -374.5695 62.12065 96.66617
## 3 AG 2012 -424.5054 88.12310 100.74107
## 4 AG 2013 -430.1833 118.18526 99.96000
## 5 AG 2014 -433.6443 94.07268 100.30884
## 6 AG 2015 -358.5371 71.26725 110.34592
Ejemplo 02. Destino de las exportaciones de paises del Oriente Asiatico hacia America Latina y el Caribe a traves de la base de datos “DOT”.
Se puede utilizar el paquete “imfr” para generar consultas a bases de datos complejas como las direcciones de comercio (DOT), en ese caso se sugiere devolver datos que no han sido procesados, lo que permita devolver listas que seran mas factibles de manejar en un marco de datos.
Se creara una funcion que recoga los codigos ISO de los paises del Oriente Asiatico (China. Japon, Korea del Sur), que luego se utilizara para reflejar cuanto de las exportaciones de estos paises terminan en America Latina y el Caribe.
Oriente_Asia_ISO2<- c("CN", "JP" , "KR")
DOT_Oriente_Asia <- imf_data(database_id = "DOT" , indicator = c("TXG_FOB_USD") , country = Oriente_Asia_ISO2 , start = 2010, end = current_year(), return_raw = TRUE)
El objeto creado servira como una lista anidada la cual se utilizara para generar el cuadro de las exportaciones, pero debe deshacerse el anidado o desatarlo, por lo cual se utiliza la siguiente funcion:
DOT_Oriente_Asia_Data <- DOT_Oriente_Asia$CompactData$DataSet$Series
DOT_Oriente_Asia_Data <- DOT_Oriente_Asia_Data %>%
filter(`@FREQ` == "A" & `@COUNTERPART_AREA` %in% latin_caribbean_America_ISO2) %>% unnest(Obs) %>%
arrange(`@REF_AREA`, `@COUNTERPART_AREA`)
print(head(DOT_Oriente_Asia_Data))
## # A tibble: 6 x 8
## `@FREQ` `@REF_AREA` `@INDICATOR` @COUNTERPAR~1 @UNIT~2 @TIME~3 @TIME~4 @OBS_~5
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 A CN TXG_FOB_USD AG 6 P1Y 2010 806.14~
## 2 A CN TXG_FOB_USD AG 6 P1Y 2011 657.69~
## 3 A CN TXG_FOB_USD AG 6 P1Y 2012 758.27~
## 4 A CN TXG_FOB_USD AG 6 P1Y 2013 245.61~
## 5 A CN TXG_FOB_USD AG 6 P1Y 2014 174.06~
## 6 A CN TXG_FOB_USD AG 6 P1Y 2015 54.021~
## # ... with abbreviated variable names 1: `@COUNTERPART_AREA`, 2: `@UNIT_MULT`,
## # 3: `@TIME_FORMAT`, 4: `@TIME_PERIOD`, 5: `@OBS_VALUE`
library(CoordinateCleaner)
data(countryref)
Long_Lat <-countryref %>%
filter(type == "country" & iso2 %in% latin_caribbean_America_ISO2) %>%
select(iso2, "destination_lon" = centroid.lon , "destination_lat"= centroid.lat, capital.lon, capital.lat) %>%
distinct(capital.lat, .keep_all = TRUE) %>%
mutate(China_Lat = 35.00000000, China_Long = 105.000) %>% rename("destination" = iso2)
Ejemplo 03.Mapa de visualizacion del destino de exportaciones de China a America Latina y el Caribe, en el periodo de 2015.
#A traves de la libreria “leaflet”, se permite crear un mapa interactivo de los principales destinos de las exportaciones para en este caso del pais asiatico China, teniendo como periodo de tiempo el año 2015.
China_Exportaciones_Lat <- DOT_Oriente_Asia_Data %>%
filter(`@REF_AREA`== "CN" & `@TIME_PERIOD` == 2015) %>%
select("origin" = `@REF_AREA`, "destination" = `@COUNTERPART_AREA`, "Export_Value" =`@OBS_VALUE`) %>%
left_join(. , Long_Lat)
China_Exportaciones_Lat$Export_Value <- as.numeric(China_Exportaciones_Lat$Export_Value)/1000
library(leaflet)
library(leaflet.minicharts)
leaflet() %>%
addTiles() %>%
addFlows(lng0 = China_Exportaciones_Lat$China_Long ,
lat0 = China_Exportaciones_Lat$China_Lat ,
lng1 = China_Exportaciones_Lat$destination_lon ,
lat1 = China_Exportaciones_Lat$destination_lat ,
flow = China_Exportaciones_Lat$Export_Value ,
dir = 1,
minThickness = 0.1,
maxThickness = 2.5)
Extracción de códigos y descripciones de reporteros de la API Comtrade de la ONU
Esta es una forma rápida de leer la lista de códigos de país/área en R: se instala la libreria rjson que nos permite reducir el tamaño de los archivos y el volumen de datos que es necesario transferir, se continua asignandole nombre a la extracción de los datos a través de fromJSON el cual devuelve los datos extraidos por defecto en lista, pasamos a guardar el data.framer simplificando con SAPPLY a tres variables.
library(rjson)
API_ONU <- "http://comtrade.un.org/data/cache/partnerAreas.json"
reporters <- fromJSON(file=API_ONU)
reporters <- as.data.frame(t(sapply(reporters$results,rbind)))
Función para extraer datos de la API Comtrade de la ONU
Esta función, get.Comtrade()extrae datos de un Comtrade utilizando csv o el formato json. Especificamos las variables y como proceder si la API se trabaja en “cvs” o en “json”, adicional a esto validamos la información al imprimir cada asignación.
get.Comtrade <- function(url="http://comtrade.un.org/api/get?"
,maxrec=50000
,type="C"
,freq="A"
,px="HS"
,ps="now"
,r
,p
,rg="all"
,cc="TOTAL"
,fmt="json"
)
{
string<- paste(url
,"max=",maxrec,"&" #maximum no. of records returned
,"type=",type,"&" #type of trade (c=commodities)
,"freq=",freq,"&" #frequency
,"px=",px,"&" #classification
,"ps=",ps,"&" #time period
,"r=",r,"&" #reporting area
,"p=",p,"&" #partner country
,"rg=",rg,"&" #trade flow
,"cc=",cc,"&" #classification code
,"fmt=",fmt #Format
,sep = ""
)
if(fmt == "csv") {
raw.data<- read.csv(string,header=TRUE)
return(list(validation=NULL, data=raw.data))
} else {
if(fmt == "json" ) {
raw.data<- fromJSON(file=string)
data<- raw.data$dataset
validation<- unlist(raw.data$validation, recursive=TRUE)
ndata<- NULL
if(length(data)> 0) {
var.names<- names(data[[1]])
data<- as.data.frame(t( sapply(data,rbind)))
ndata<- NULL
for(i in 1:ncol(data)){
data[sapply(data[,i],is.null),i]<- NA
ndata<- cbind(ndata, unlist(data[,i]))
}
ndata<- as.data.frame(ndata)
colnames(ndata)<- var.names
}
return(list(validation=validation,data =ndata))
}
}
}
EJEMPLOS DE ACCESO A LA INFORMACIÓN
Ejemplo 01
Uso de parámetros predeterminados (es decir, flujos recientes de datos comerciales totales anuales del EU, en json formato), especificando solo áreas de informes y socios, utilizamos get.Comtrade, paquete permite a los usuarios interactuar con la API directamente desde R y presenta funciones para realizar consultas e importar datos.
FORMATO1 <- get.Comtrade(r="842", p="124,484")
FORMATO1
## $validation
## status.name
## "Ok"
## status.value
## "0"
## status.category
## "0"
## status.description
## ""
## status.helpUrl
## "For more reference visit http://comtrade.un.org/data/dev/portal/"
## count.value
## "6"
## count.started
## "2022-10-20T03:51:03.0183468+02:00"
## count.finished
## "2022-10-20T03:51:03.5808063+02:00"
## count.durationSeconds
## "0.5624595"
## datasetTimer.started
## "2022-10-20T03:51:03.0183468+02:00"
## datasetTimer.finished
## "2022-10-20T03:51:05.0051291+02:00"
## datasetTimer.durationSeconds
## "1.9867823"
##
## $data
## pfCode yr period periodDesc aggrLevel IsLeaf rgCode rgDesc rtCode
## 1 H5 2020 2020 2020 0 0 1 Import 842
## 2 H5 2020 2020 2020 0 0 2 Export 842
## 3 H5 2020 2020 2020 0 0 3 Re-Export 842
## 4 H5 2020 2020 2020 0 0 1 Import 842
## 5 H5 2020 2020 2020 0 0 2 Export 842
## 6 H5 2020 2020 2020 0 0 3 Re-Export 842
## rtTitle rt3ISO ptCode ptTitle pt3ISO ptCode2 ptTitle2 pt3ISO2 cstCode cstDesc
## 1 USA USA 124 Canada CAN <NA>
## 2 USA USA 124 Canada CAN <NA>
## 3 USA USA 124 Canada CAN <NA>
## 4 USA USA 484 Mexico MEX <NA>
## 5 USA USA 484 Mexico MEX <NA>
## 6 USA USA 484 Mexico MEX <NA>
## motCode motDesc cmdCode cmdDescE qtCode qtDesc qtAltCode
## 1 TOTAL All Commodities 1 No Quantity <NA>
## 2 TOTAL All Commodities 1 No Quantity <NA>
## 3 TOTAL All Commodities 1 No Quantity <NA>
## 4 TOTAL All Commodities 1 No Quantity <NA>
## 5 TOTAL All Commodities 1 No Quantity <NA>
## 6 TOTAL All Commodities 1 No Quantity <NA>
## qtAltDesc TradeQuantity AltQuantity NetWeight GrossWeight TradeValue
## 1 0 <NA> 0 <NA> 276195545882
## 2 0 <NA> 0 <NA> 255021619206
## 3 0 <NA> 0 <NA> 45813968863
## 4 0 <NA> 0 <NA> 328861803529
## 5 0 <NA> 0 <NA> 212671750902
## 6 0 <NA> 0 <NA> 52526003850
## CIFValue FOBValue estCode
## 1 <NA> <NA> 4
## 2 <NA> <NA> 4
## 3 <NA> <NA> 4
## 4 <NA> <NA> 4
## 5 <NA> <NA> 4
## 6 <NA> <NA> 4
Ejemplo 02
Uso de parámetros predeterminados en formato csv, especificando solo áreas de informes y socios, en este caso no se incluye información de validación en la salida de datos.
FORMATO2 <- get.Comtrade(r="842", p="124,484", fmt="csv")
FORMATO2
## $validation
## NULL
##
## $data
## Classification Year Period Period.Desc. Aggregate.Level Is.Leaf.Code
## 1 H5 2020 2020 2020 0 0
## 2 H5 2020 2020 2020 0 0
## 3 H5 2020 2020 2020 0 0
## 4 H5 2020 2020 2020 0 0
## 5 H5 2020 2020 2020 0 0
## 6 H5 2020 2020 2020 0 0
## Trade.Flow.Code Trade.Flow Reporter.Code Reporter Reporter.ISO Partner.Code
## 1 1 Import 842 USA USA 124
## 2 2 Export 842 USA USA 124
## 3 3 Re-Export 842 USA USA 124
## 4 1 Import 842 USA USA 484
## 5 2 Export 842 USA USA 484
## 6 3 Re-Export 842 USA USA 484
## Partner Partner.ISO X2nd.Partner.Code X2nd.Partner X2nd.Partner.ISO
## 1 Canada CAN NA NA NA
## 2 Canada CAN NA NA NA
## 3 Canada CAN NA NA NA
## 4 Mexico MEX NA NA NA
## 5 Mexico MEX NA NA NA
## 6 Mexico MEX NA NA NA
## Customs.Proc..Code Customs Mode.of.Transport.Code Mode.of.Transport
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## Commodity.Code Commodity Qty.Unit.Code Qty.Unit Qty
## 1 TOTAL All Commodities 1 No Quantity 0
## 2 TOTAL All Commodities 1 No Quantity 0
## 3 TOTAL All Commodities 1 No Quantity 0
## 4 TOTAL All Commodities 1 No Quantity 0
## 5 TOTAL All Commodities 1 No Quantity 0
## 6 TOTAL All Commodities 1 No Quantity 0
## Alt.Qty.Unit.Code Alt.Qty.Unit Alt.Qty Netweight..kg. Gross.weight..kg.
## 1 NA NA NA 0 NA
## 2 NA NA NA 0 NA
## 3 NA NA NA 0 NA
## 4 NA NA NA 0 NA
## 5 NA NA NA 0 NA
## 6 NA NA NA 0 NA
## Trade.Value..US.. CIF.Trade.Value..US.. FOB.Trade.Value..US.. Flag
## 1 276195545882 NA NA 4
## 2 255021619206 NA NA 4
## 3 45813968863 NA NA 4
## 4 328861803529 NA NA 4
## 5 212671750902 NA NA 4
## 6 52526003850 NA NA 4
Ejemplo 03
Ejemplo para extraer datos mensuales, indicamos, pais, año, y formato
DATOS_MENSUALES <- get.Comtrade(r="842", p="0", ps="201201,201202,201203", freq="M")
DATOS_MENSUALES
## $validation
## status.name
## "Ok"
## status.value
## "0"
## status.category
## "0"
## status.description
## ""
## status.helpUrl
## "For more reference visit http://comtrade.un.org/data/dev/portal/"
## count.value
## "9"
## count.started
## "0001-01-01T00:00:00"
## count.finished
## "0001-01-01T00:00:00"
## count.durationSeconds
## "0"
## datasetTimer.started
## "2022-10-20T03:51:15.1558501+02:00"
## datasetTimer.finished
## "2022-10-20T03:51:15.3121702+02:00"
## datasetTimer.durationSeconds
## "0.1563201"
##
## $data
## pfCode yr period periodDesc aggrLevel IsLeaf rgCode rgDesc rtCode
## 1 HS 2012 201202 February 2012 0 0 2 Exports 842
## 2 HS 2012 201201 January 2012 0 0 3 Re-exports 842
## 3 HS 2012 201202 February 2012 0 0 3 Re-exports 842
## 4 HS 2012 201203 March 2012 0 0 1 Imports 842
## 5 HS 2012 201203 March 2012 0 0 2 Exports 842
## 6 HS 2012 201203 March 2012 0 0 3 Re-exports 842
## 7 HS 2012 201201 January 2012 0 0 1 Imports 842
## 8 HS 2012 201202 February 2012 0 0 1 Imports 842
## 9 HS 2012 201201 January 2012 0 0 2 Exports 842
## rtTitle rt3ISO ptCode ptTitle pt3ISO ptCode2 ptTitle2
## 1 United States of America <NA> 0 World <NA> <NA>
## 2 United States of America <NA> 0 World <NA> <NA>
## 3 United States of America <NA> 0 World <NA> <NA>
## 4 United States of America <NA> 0 World <NA> <NA>
## 5 United States of America <NA> 0 World <NA> <NA>
## 6 United States of America <NA> 0 World <NA> <NA>
## 7 United States of America <NA> 0 World <NA> <NA>
## 8 United States of America <NA> 0 World <NA> <NA>
## 9 United States of America <NA> 0 World <NA> <NA>
## pt3ISO2 cstCode cstDesc motCode motDesc cmdCode cmdDescE qtCode qtDesc
## 1 TOTAL All Commodities <NA> <NA>
## 2 TOTAL All Commodities <NA> <NA>
## 3 TOTAL All Commodities <NA> <NA>
## 4 TOTAL All Commodities <NA> <NA>
## 5 TOTAL All Commodities <NA> <NA>
## 6 TOTAL All Commodities <NA> <NA>
## 7 TOTAL All Commodities <NA> <NA>
## 8 TOTAL All Commodities <NA> <NA>
## 9 TOTAL All Commodities <NA> <NA>
## qtAltCode qtAltDesc TradeQuantity AltQuantity NetWeight GrossWeight
## 1 <NA> <NA> <NA> <NA> <NA>
## 2 <NA> <NA> <NA> <NA> <NA>
## 3 <NA> <NA> <NA> <NA> <NA>
## 4 <NA> <NA> <NA> <NA> <NA>
## 5 <NA> <NA> <NA> <NA> <NA>
## 6 <NA> <NA> <NA> <NA> <NA>
## 7 <NA> <NA> <NA> <NA> <NA>
## 8 <NA> <NA> <NA> <NA> <NA>
## 9 <NA> <NA> <NA> <NA> <NA>
## TradeValue CIFValue FOBValue estCode
## 1 123448585034 <NA> <NA> 0
## 2 14874235690 <NA> <NA> 0
## 3 15647392580 <NA> <NA> 0
## 4 202088822547 <NA> <NA> 0
## 5 139760502675 <NA> <NA> 0
## 6 17447257948 <NA> <NA> 0
## 7 188224982925 <NA> <NA> 0
## 8 176338299043 <NA> <NA> 0
## 9 118156544582 <NA> <NA> 0
La API de Yahoo Finance es una gama de bibliotecas y métodos para obtener datos históricos y en tiempo real para una variedad de productos y mercados financieros.
El paquete quantmod para R está diseñado para ayudar al comerciante cuantitativo en el desarrollo, prueba e implementación de modelos comerciales basados en estadísticas.
Lo primero es cargar la librería quantmod
library(quantmod)
Luego importaremos los datos de Yahoo Finance, pero primero se debe especificar el periodo de cuándo se quieren extraer esos datos.
mdate="2001-01-03"
amazonprices=getSymbols('AMZ', from=mdate, auto.assign = F)
Ejemplo 01
mdate1="2001-01-04"
amazonprices1=getSymbols('AMZ', from=mdate, auto.assign = F)[,4]
head(amazonprices1)
## AMZ.Close
## 2007-12-28 64.50
## 2007-12-31 NA
## 2008-01-02 65.00
## 2008-01-03 65.15
## 2008-01-04 61.40
## 2008-01-07 60.38
Ejemplo 02 Tasa de crecimiento
amazonroc=ROC(amazonprices1, type='discret')
head(amazonroc)
## AMZ.Close
## 2007-12-28 NA
## 2007-12-31 NA
## 2008-01-02 NA
## 2008-01-03 0.002307723
## 2008-01-04 -0.057559476
## 2008-01-07 -0.016612394
Ejemplo 03 Tasa de Rendimiento
amazonrend = periodReturn(amazonprices, period = 'monthly', type = 'log', subset = '2018')
head(amazonrend)
## monthly.returns
## 2018-01-30 0.1643646
## 2018-05-25 -6.7615206
Ejemplo 04 Obtener datos de S P 500
getSymbols("^GSPC", src = "yahoo", from = "2010-01-01", to = "2020-05-30", periodicity= "daily")
## [1] "^GSPC"
head(GSPC)
## GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted
## 2010-01-04 1116.56 1133.87 1116.56 1132.99 3991400000 1132.99
## 2010-01-05 1132.66 1136.63 1129.66 1136.52 2491020000 1136.52
## 2010-01-06 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
## 2010-01-07 1136.27 1142.46 1131.32 1141.69 5270680000 1141.69
## 2010-01-08 1140.52 1145.39 1136.22 1144.98 4389590000 1144.98
## 2010-01-11 1145.96 1149.74 1142.02 1146.98 4255780000 1146.98
chartSeries(GSPC, TA=NULL)
chartSeries(GSPC, subset ="last 3 months")
|
Institución |
Descripción |
Salida
de objetos |
|
BANCO MUNDIAL |
Wbstats El paquete wbstats brinda acceso
estructurado a toda la información disponible en la API del Banco Mundial,
que incluye; compatibilidad con varios idiomas, acceso a todos los datos
anuales, trimestrales y mensuales, así como acceso a la API del catálogo de
datos del Banco Mundial, que proporciona metadatos sobre cada fuente de
datos, como calendarios de actualización, últimas revisiones y cobertura,
entre otra información. |
library(wbstats) |
|
Wb Esta función descarga la información
solicitada usando la API del Banco Mundial |
wb( country =
"all", indicator, startdate, enddate, mrv, return_wide = FALSE,
gapfill, freq, cache, lang = c("en", "es",
"fr", "ar", "zh"), removeNA = TRUE, POSIXct =
FALSE, include_dec = FALSE, include_unit = FALSE, include_obsStatus = FALSE,
include_lastUpdated = FALSE ) |
|
|
Wbcache Descargue una lista actualizada de
información sobre países, indicadores, fuentes, catálogo de datos, temas de
indicadores, tipos de préstamos y niveles de ingresos de la API del Banco
Mundial |
wbcache(lang = c("en", "es", "fr",
"ar", "zh")) |
|
|
Wbcountries Descargue información actualizada
sobre países y regiones disponibles de la API del Banco Mundial |
wbcountries(lang = c("en", "es",
"fr", "ar", "zh")) |
|
|
Wbsources Descargue información actualizada
sobre las fuentes de datos disponibles de la API del Banco Mundial |
wbsources(lang = c("en", "es",
"fr", "ar", "zh")) |
|
|
Wb income Descargue información actualizada
sobre los tipos de ingresos disponibles de la API del Banco Mundial |
wbincome(lang = c("en", "es", "fr",
"ar", "zh")) |
|
|
Wbindicators Descarga
información actualizada sobre indicadores disponibles de la API del Banco
Mundial |
wbindicators(lang = c("en", "es",
"fr", "ar", "zh")) |
|
|
Wb_search Esta función permite encontrar
indicadores que coincidan con un término de búsqueda y devuelva un marco de
datos de resultados coincidentes |
Wb_search( pattern =
"poverty", fields = c("indicator",
"indicatorDesc"), extra = FALSE, cache ) |
|
|
Wb_cachelist Estos datos son un resultado
almacenado en caché de la wbcache función. Por funciones predeterminadas wb y
searchwb utilizar estos datos para el cache parámetro. |
wb_cachelist_dep |
|
|
Wb_data Esta función descarga la información
solicitada usando la API del Banco Mundial |
wb_data( indicator, country = "countries_only",
start_date, end_date, return_wide = TRUE, mrv, mrnev, cache, freq, gapfill =
FALSE, date_as_class_date = FALSE, lang ) |
|
|
FONDO MONETARIO INTERNACIONAL |
CONTENIDO DE LA
LIBRERÍA Comando: BASE_DATOS_IMF<-imf_ids() Presenta el contenido
de todas las bases de datos que conforman la librería “imfr” que en este caso
se conforma de 259 bases de datos, presentándolas en orden alfabético con sus
respectivas series, el código de la base de datos y una breve descripción de
la misma A través de un
“head” podemos obtener la siguiente salida de objetos: head(BASE_DATOS_IMF) |
BOP_2017M06(Balanza de Pagos actualizada a junio 2017). BOP_2020M3(Balanza de Pagos actualizada a marzo 2020). BOP_2017M11 (Balanza de
Pagos actualizada a noviembre 2017). DOT_2020Q1(Dirección de Estadísticas Comerciales actualizado al
1 trimestre 2020). GFSMAB2016(Estadísticas de Finanzas Públicas, Principales
Agregados y Saldos actualizado a 2016). BOP_2019M12(Balanza de Pagos actualizada a diciembre 2019). |
|
CONTENIDO DE UNA
BASE DE DATOS ESPECIFICA Comando: CODIGO_LISTA_DOT<- imf_codelist(database_id
= ("DOT")) Devuelve la lista de
códigos de una base de datos en específico, con la característica de cada una
de ellas. A través de un “print”
podemos obtener los códigos que esta devuelve para la base de datos “DOT”. print(CODIGO_LISTA_DOT) |
LISTA DE
CODIGOS
-CL_UNIT_MULT S (Escala de medición de la base
de datos). -CL_FREQ
(frecuencias de tiempo con que se presentan los datos). -CL_AREA_IFS_2019M01(Áreas
Geográficas o países de los que hay datos en la base de datos o que el FMI
publica). -CL_INDICATOR_IFS_2019M01(indicadores
económicos presentes para la base de datos especifica). -CL_TIME_FORMAT (el
formato de tiempo de la base de datos). |
|
|
PAISES PRESENTES EN
UNA BASE DE DATOS ESPECIFICA Comando: DOT_AREA<- imf_codes(codelist
="CL_AREA_DOT") El comando
“codelist” genera para una vista dentro de un código en específico de la
lista de códigos, en el caso del código “CL_AREA_DOT” este representa todos
los países que están en esta base de datos que en este caso son 229 y el
restante en áreas geográficas. A través de un “head” podemos obtener la
siguiente salida de objetos: head(DOT_AREA) |
-AF Afganistán -F19 África no asignado -AL Albania -DZ Argelia -AS Samoa Americana -AO Angola |
|
|
INDICADORES
ECONOMICOS DE UNA BASE DE DATOS ESPECIFICA Comando: INDICATOR_DOT<-imf_codes(codelist
= "CL_INDICATOR_DOT") El comando “codelist”
permite explorar la lista del indicador “CL_INDICATOR_DOT” en donde se
encuentran todos los indicadores económicos que se pueden acceder en esta
base de datos, para el caso de la base de datos “DOT” solo existen 4
indicadores, a través de un “print” podemos ver los indicadores y su
descripción. print(INDICATOR_DOT) |
-TXG_FOB_USD (Mercancías, Valor de las Exportaciones,
Franco a Bordo (FOB), dólares estadounidenses). -TMG_CIF_USD (Bienes, valor de las importaciones, costo,
seguro, flete (CIF), dólares estadounidenses). -TMG_FOB_USD
(Mercancías, Valor de las Importaciones, Franco a Bordo (FOB), dólares
estadounidenses). -TBG_USD
(Mercancías, valor de la balanza comercial, dólares estadounidenses). |
|
|
FRECUENCIA DE UNA
BASE DE DATOS ESPECIFICA Comando: FREQ
_DOT<-imf_codes(codelist = " CL_FREQ ") El comando
“codelist” señala a través del código “CL_FREQ” la frecuencia o el formato
como se presentan los datos, para el caso de la base de datos “DOT existen 6
formas de agrupar o presentar los datos en el tiempo en la base de datos
seleccionada, a través de un “print” podemos ver el código de cada frecuencia
de tiempo. |
A=Anual B=Semestral Q=Trimestral M=Mensual D=Diariamente W=Semanalmente |
|
|
CONSULTA FORMAL DE
UNA BASE DE DATOS ESPECIFICA, CON UN INDICADOR FIJADO Y UN PERIODO DE TIEMPO
DE ELECCION. Comando: CONSULTA PAIS<-imf_data(database_id =
"",indicator = c("), country =, freq = '', start = , end = current_year()) A través del comando
“imf_data” se puede generar una consulta que permita ver un indicador en
específico, con el objetivo de visualizar los datos del mismo para un país y
periodo de tiempo en particular Ejemplo: Crear el objeto del
país que se desea analizar: BOLIVIA<-registro_paises
$iso2c[registro_paises$country.name. en=="Bolivia"] Ejecutar la consulta
a través del comando ifm_data: BOLIVIA_CONSULTA<-imf_data(database_id =
"IFS",indicator = c("BG_BP6_USD" ), country =BOLIVIA ,
freq = 'A', start = 2010 , end = current_year()) head(BOLIVIA
_CONSULTA) |
iso2c year BG_BP6_USD 1 BO 2010 1122.5264 2 BO 2011 1048.4686 3 BO 2012 3135.3392 4 BO 2013 2809.5192 5 BO 2014 2915.9397 6 BO 2015 -387.8806 |
|
|
YAHOO
FINANCE |
quantmod-package: Modelado financiero cuantitativo y marco
comercial para R quantmod-class: Ayudan a
administrar el proceso de creación de modelos del paquete
quantmod. Llevan información para ser utilizada por una variedad de funciones
y métodos de acceso. quantmod-defunct: Las funciones enumeradas aquí ya no forman
parte de quantmod |
|
|
|
CONTENIDO DE LA LIBRERÍA Comando: mdate="2001-01-03" amazonprices=getSymbols('AMZ',
from=mdate, auto.assign = F) mdate1="2001-01-04" amazonprices1=getSymbols('AMZ',
from=mdate, auto.assign = F)[,4] amazonroc=ROC(amazonprices1,
type='discret') amazonrend = periodReturn(amazonprices,
period = 'monthly', type = 'log', subset = '2018') getSymbols("^GSPC",
src = "yahoo", from = "2010-01-01", to =
"2020-05-30", periodicity= "daily") chartSeries(GSPC, TA=NULL) chartSeries(GSPC, subset
="last 3 months") |
AMZ.Open AMZ.High AMZ.Low
AMZ.Close 2007-12-28 64.50
64.50 63.08 64.50 2007-12-31 NA NA
NA NA 2008-01-02 63.01
66.00 63.01 65.00 2008-01-03 65.92
65.92 64.80 65.15 2008-01-04 65.00
65.30 60.64
61.40 2008-01-07 60.36
61.00 58.89 60.38 AMZ.Volume AMZ.Adjusted 2007-12-28 1360 64.50 2007-12-31 NA NA 2008-01-02 8088 65.00 2008-01-03 1184 65.15 2008-01-04 9621 61.40 2008-01-07 5135 60.38 AMZ.Close 2007-12-28 64.50 2007-12-31 NA 2008-01-02 65.00 2008-01-03 65.15 2008-01-04 61.40 2008-01-07 60.38 AMZ.Close 2007-12-28 NA 2007-12-31 NA 2008-01-02 NA 2008-01-03 0.002307723 2008-01-04 -0.057559476 2008-01-07 -0.016612394 monthly.returns 2018-01-30 0.1643646 2018-05-25 -6.7615206 GSPC.Open GSPC.High GSPC.Low 2010-01-04 1116.56
1133.87 1116.56 2010-01-05 1132.66
1136.63 1129.66 2010-01-06 1135.71
1139.19 1133.95 2010-01-07 1136.27
1142.46 1131.32 2010-01-08 1140.52
1145.39 1136.22 2010-01-11 1145.96
1149.74 1142.02 GSPC.Close GSPC.Volume
GSPC.Adjusted 2010-01-04 1132.99 3991400000 1132.99 2010-01-05 1136.52 2491020000 1136.52 2010-01-06 1137.14 4972660000 1137.14 2010-01-07 1141.69 5270680000 1141.69 2010-01-08 1144.98 4389590000 1144.98 2010-01-11 1146.98 4255780000 1146.98 |
|
|
|
|
|
ORGANIZACIÓN DE LAS NACIONES UNIDAS |
CPC: Clasificación Central de Productos es una
estructura de clasificación coherente de bienes y servicios basada en un
conjunto de conceptos y reglas de clasificación acordados internacionalmente. Formato CSV |
Funcion General para poder acceder a ambos formatos de la API de
la ONU distinguiéndose csv o json library(rjson) string <- "http://comtrade.un.org/data/cache/partnerAreas.json" reporters <- fromJSON(file=string) reporters <-
as.data.frame(t(sapply(reporters$results,rbind))) get.Comtrade <-
function(url="http://comtrade.un.org/api/get?" ,maxrec=50000 ,type="C" ,freq="A" ,px="HS" ,ps="now" ,r ,p ,rg="all"
,cc="TOTAL"
,fmt="json" ) { string<- paste(url
,"max=",maxrec,"&" #maximum no. of records
returned
,"type=",type,"&" #type of trade
(c=commodities) ,"freq=",freq,"&"
#frequency
,"px=",px,"&" #classification
,"ps=",ps,"&" #time period
,"r=",r,"&" #reporting area
,"p=",p,"&" #partner country
,"rg=",rg,"&" #trade flow
,"cc=",cc,"&" #classification code ,"fmt=",fmt #Format ,sep
= "" ) if(fmt == "csv") { raw.data<-
read.csv(string,header=TRUE) return(list(validation=NULL,
data=raw.data)) } else {
if(fmt == "json" ) { raw.data<- fromJSON(file=string) data<- raw.data$dataset validation<-
unlist(raw.data$validation, recursive=TRUE) ndata<- NULL if(length(data)> 0) { var.names<- names(data[[1]]) data<- as.data.frame(t(
sapply(data,rbind))) ndata<- NULL for(i in 1:ncol(data)){
data[sapply(data[,i],is.null),i]<- NA ndata<- cbind(ndata,
unlist(data[,i])) } ndata<- as.data.frame(ndata) colnames(ndata)<- var.names } return(list(validation=validation,data
=ndata)) } } } |
|
|
||
|
SA: Formato JSON |
||
|
CIIU: Clasificación Industrial Internacional Uniforme de
Todas las Actividades Económicas (CIIU), es la clasificación internacional de
referencia de las actividades productivas. Formato CSV |
||
|
COICOP 2018: Clasificación del consumo individual por Finalidad
se utiliza para clasificar la información relevada en el IPC, EHPM, y
comparaciones internacionales del PIB. Formato CSV |
||
|
SITC: Clasificación Uniforme para el Comercion
Internacional clasifica los productos según su fase de producción y sirve de
base para un analisis sistematico del comercio mundial. Formato CSV y JSON |
||
|
BEC: Clasificación por Categorias Económicas Ampliadas es
una revisión del CUCI a niveles de procesamiento mas avanzados. Formato JSON |
||
|
CLASIFICACIONES DEL GASTO SEGÚN FINALIDAD: Esta
clasificación engloba gastos Gubernamentales, internacionales, personales y
funiona principalmente para comparaciones. Formato CSV |
||
|
ICATO: Formato CSV |
||
|
EBOPS: Proporciona un desglose de la partida de Comercio de
Servicios de la Balanza de Pagos (débito y crédito). Formato PDF |
“El imperativo de API. De la preocupación de IT al mandato comercial”, Tech Trends 2018. La empresa sinfónica. Deloitte Insights, pp. -111-130. Larry Calabro, Chris Purpura, Vishvershwara Vasa, y Arun Perinkolam. Recuperado de: https://www2.deloitte.com/content/dam/Deloitte/co/Documents/technology/Imperativo%20de%20API.pdf