Mostrando entradas con la etiqueta Materias Primas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Materias Primas. Mostrar todas las entradas

20 mar 2023

Gráfico de recesión (Reccesion plot) en R y ggplot2

En la siguiente entrada se muestra un ejemplo de gráficos con bandas de recesión en ggplot2 de R. La idea se toma de “rstudio-pubs[1]. Desde Excel, se cargan los datos conteniendo los precios mensuales del precio del petróleo.

library(readxl)
library(dplyr)
library(ggplot2)
library(tidyr) #gather
library(lubridate)
 
series_mes <- read_excel("series_examples.xlsx", sheet = "mes")
 
series_mes  %>%
  select(fecha,p_wti) %>%
  na.omit()
 
# A tibble: 446 x 2
   fecha               p_wti
   <dttm>              <dbl>
 1 1986-01-01 00:00:00  22.9
 2 1986-02-01 00:00:00  15.5
 3 1986-03-01 00:00:00  12.6
 4 1986-04-01 00:00:00  12.8
 5 1986-05-01 00:00:00  15.4
 6 1986-06-01 00:00:00  13.4
 7 1986-07-01 00:00:00  11.6
 8 1986-08-01 00:00:00  15.1
 9 1986-09-01 00:00:00  14.9
10 1986-10-01 00:00:00  14.9
# ... with 436 more rows

Posteriormente, se crea una base de referencia llamada reccess, donde se coloca una variable con las fechas de inicio y final de cada crisis, estas son llamadas begin y end, respectivamente. Respecto al código original, aquí se agrega la crisis financiera de 2003 dada su relevancia para la economía dominicana, además de la crisis del COVID-19. Adicionalmente, en la variable evento coloca el nombre del evento asociado a cada crisis. Esto le permitirá colocar etiquetas sobre el gráfico posteriormente.

recess <- data.frame(
  begin = c("1969-12-01","1973-11-01","1980-01-01","1981-07-01",
             "1990-07-01","2001-03-01","2003-01-01","2007-12-01",
             "2020-03-01"),
   end = c("1970-11-01","1975-03-01","1980-07-01","1982-11-01",
           "1991-03-01","2001-11-01","2004-01-01","2009-07-30",
           "2021-12-01"),
 event = c( "Fiscal & Monetary ", "1973 Oil crisis","Double dip I",
            "Double dip II", "Oil price shock", "Dot-com bubble",
             "Crisis Bancaria RD","Sub-prime crisis", "COVID-19"),
  y =  c(.014, 0.020, 0.029,  0.0341,  0.027, 0.02,0.02, 0.025, 0.2),
  stringsAsFactors = F
)

La variable y es la referencia sobre el valor de ese eje en donde entendemos debe aparecer las etiquetas asociadas a cada crisis. Es decir, que debemos cambiar estos valores para cada serie que quisiéramos representar. Sin embargo, dado que tenemos un vector de fechas en nuestra serie temporal este proceso es necesario automatizar. La opción utilizada en este ejemplo utiliza la función %in% combinada con which para identificar las posiciones de fechas en nuestra base de datos que coincide con las crisis. Estas posiciones se guardan en el vector recesion_index. Finalmente, se usa la indexación numérica para recuperar los calores de mi serie que coinciden con estas fechas. Por ejemplo, imaginemos que una recesión inició en enero de 2003, la idea es buscar el valor de mi serie en ese mes.  Estos valores se guardan en el vector position_labels.

#ubicando las posiciones de las fechas
recesion_index <- which(format(series_mes$fecha, "%y-%b") %in% format(recess$begin, "%y-%b"))
recesion_index
[1]  78 206 228 287 434
 
position_labels <- series_mes$p_wti[recesion_index]
position_labels
[1] 16.70 29.61 29.46 94.77 50.54

Finalmente, se usan diferentes geom de ggplot2 para obtener la representación deseada.
·         geom_line, gráfico de línea con el precio del petróleo.
·         geom_rect, franja roja asociada a cada crisis.
·         geom_label, posición de las etiquetas.

ggplot(series_mes, aes(x = fecha, y = p_wti)) +
  geom_line(size=1.1) +
  geom_rect(data = dplyr::filter(recess, begin >= as.Date("1986-01-01")),
            aes(xmin = begin, xmax = end, ymin = -Inf, ymax = +Inf, fill = "Recession"),
            inherit.aes = FALSE, alpha = 0.2) +
  geom_label(data = dplyr::filter(recess, begin >= as.Date("1986-01-01")),
             aes(x = end, y = position_labels, label=event), size = 3) +
  scale_fill_manual(name = "", values="red", label="Recessions")  +
  theme_minimal() +
  ggtitle(c("Precio del petróleo (WTI) \n Datos mensuales 1986-2023")) +
  theme(legend.position = "none") +
  ylab(NULL) +  xlab(NULL)
 
ggsave("plot0.png")




[1] Introduction to Visualization with ggplot2. 

21 may 2012

Un análisis coyuntural del mercado global de materias primas (Mayo 2012)


La incertidumbre que describe el entorno económico mundial ha limitado la demanda global de materia prima y permitido que los precios se mantengan en los niveles actuales, pero “Actuando en un marco de volatilidad”<!--[if !supportFootnotes]-->[1]<!--[endif]-->. El crecimiento Europeo se ha reducido considerablemente desde septiembre 2011 y la sombra de la recesión continua presente en las economías regionales.

Durante el 2011 se observo, según el FMI, una caída de los precios internacionales de materias primas, mientras que un ambiente de crecimiento limitado proyecta cierta estabilidad en los precios para 2012-13. Esta reducción se asocia, según el FMI, a tres factores fundamentales: 1) “la incertidumbre aguda en torno a la economía mundial” unida a la desaceleración en el crecimiento de las llamadas economías emergentes, 2) las mejoras sustanciales en las cosechas actuales y proyectadas ha permitido reducir la presión sobre el nivel de precios y 3) la caída en la demanda China concentrada en bajas en el mercado inmobiliario. Por lo que se espera una demanda menos vigorosa para China.


La permanencia de incertidumbre en el mercado financiero mundial se refleja en el endurecimiento de las condiciones financieras. Esto provoca presiones sobre el alza de prima de riesgo que a su vez afecta los mercados de materias primas y se traduce en un endurecimiento del crédito y encarecimiento de los inventarios.

En el mercado mundial de alimentos, tanto las mejoras en las cosechas actuales como en las proyectadas, han permitido reducir el efecto pulso que ocasiono el shock de la oferta mundial de granos sufrido durante 2010. En el caso de la oferta mundial del petróleo, su  evolución está asociada con los riesgos geopolíticos. Durante el 2011 la demanda mundial del petróleo estuvo por debajo de lo proyectado en consecuencia de una actividad económica. Actualmente el más alto nivel de riesgo está asociado con los problemas en Iran.


El tercer efecto está referido a la desaceleración del crecimiento Chino, especialmente del mercado inmobiliario y las actividades afines, observándose una reducción del consumo aparente en el país.             No obstante el crecimiento proyectado para China es de 8.2% lo que asegura cierto nivel de demanda, pero quizás no tan vigorosa.  Aunque a juzgar por la experiencia internacional la demanda per cápita de China continuara aumentando en la medida en que se incremente el consumo.

Referencias

CrHoy Noticias: “FMI advierte caída en precios de materias primas”. Viernes 18 de mayo 2012. Costa Rica

Fondo Monetario Internacional (FMI): “Proyecciones económicas mundiales, Abril 2012”. Estudios económicos y financieros. Edición en Español

La Nación: “Débil economía mundial asegura menor precio en materias primas”, Art. Viernes 18 de mayo 2012 





<!--[if !supportFootnotes]-->

<!--[endif]-->
<!--[if !supportFootnotes]-->[1]<!--[endif]--> La Nación: “Débil economía mundial augura menor precio en materias primas”, Art. Viernes 18 de mayo 2012 

Recodificación de Variables en R

  La recodificación de variables es una tarea esencial en el análisis de datos que nos permite transformar datos continuos en categorías más...