Este es un ejemplo breve sobre el uso de los condicionales “if” y “else”. Tomando como referencia la base de datos de Riesgo País de varios países de LATAM, se puede aplicar un condicional para saber si es conveniente invertir en un país con bajo riesgo (el menor EMBI).

#Primero se descarga la base de datos y se exporta a R

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
EMBI <- read_excel("C:/DATA/MI_DISCO/matriz_2023/1_UADEC/TERCER_SEMESTRE/CIENCIA_DATOS/Serie_Historica_Spread_del_EMBI.xlsx")
## Warning: Expecting logical in J1269 / R1269C10: got 'N/A'
## Warning: Expecting numeric in Q1269 / R1269C17: got 'N/A'
## Warning: Expecting numeric in R1269 / R1269C18: got 'N/A'
## Warning: Expecting logical in J1523 / R1523C10: got 'N/A'
## Warning: Expecting logical in J1772 / R1772C10: got 'N/A'
## Warning: Expecting date in A2800 / R2800C1: got '09-Jan-19'
## Warning: Expecting date in A2801 / R2801C1: got '10-Jan-19'
## Warning: Expecting date in A2802 / R2802C1: got '11-Jan-20'
## Warning: Expecting date in A2803 / R2803C1: got '14-Jan-19'
## Warning: Expecting date in A2804 / R2804C1: got '15-Jan-19'
## Warning: Expecting date in A2806 / R2806C1: got '17-Jan-19'
## Warning: Expecting date in A2807 / R2807C1: got '18-Jan-19'
## Warning: Expecting date in A2808 / R2808C1: got '22-Jan-19'
## Warning: Expecting date in A2809 / R2809C1: got '23-Jan-19'
## Warning: Expecting date in A2810 / R2810C1: got '24-Jan-19'
## Warning: Expecting date in A2812 / R2812C1: got '28-Jan-19'
## Warning: Expecting date in A2858 / R2858C1: got '03-Apr-19'
## Warning: Expecting date in A2865 / R2865C1: got '12-Apr-19'
## Warning: Expecting date in A2866 / R2866C1: got '15-Apr-19'
## Warning: Expecting date in A2867 / R2867C1: got '16-Apr-19'
## Warning: Expecting date in A2868 / R2868C1: got '17-Apr-19'
## Warning: Expecting date in A2869 / R2869C1: got '18-Apr-19'
## Warning: Expecting date in A3043 / R3043C1: got '30-Dec-19'
## Warning: Expecting date in A3044 / R3044C1: got '31-Dec-19'
## Warning: Expecting date in A3057 / R3057C1: got '21-Jan-20'
## Warning: Expecting date in A3060 / R3060C1: got '24-Jan-20'
## Warning: Expecting date in A3061 / R3061C1: got '27-Jan-20'
## Warning: Expecting date in A3206 / R3206C1: got '21-Aug-20'
## Warning: Expecting date in A3207 / R3207C1: got '24-Aug-20'
## Warning: Expecting date in A3208 / R3208C1: got '25-Aug-20'
## Warning: Expecting date in A3209 / R3209C1: got '26-Aug-20'
## Warning: Expecting date in A3210 / R3210C1: got '27-Aug-20'
## Warning: Expecting date in A3211 / R3211C1: got '28-Aug-20'
## Warning: Expecting date in A3212 / R3212C1: got '31-Aug-20'
## Warning: Expecting numeric in H4002 / R4002C8: got '`'
## Warning: Expecting numeric in I4061 / R4061C9: got '`'
View(EMBI)

Se prepara la base de datos en forma de serie. Sólo se requiere analizar la serie del promedio de Latam, México y Brasil.

EMBI_latino = ts(EMBI$LATINO, frequency = 365, start = c(2007,10,29))
EMBI_mexico = ts(EMBI$México, frequency = 365, start = c(2007,10,29))
EMBI_BR = ts(EMBI$Brasil, frequency = 365, start = c(2007,10,29))

Se analizan las series. Vemos que el riesgo país promedio de Latam es más alto en comparación a México y Brasil.

plot(EMBI_mexico, col = "red") 
lines(EMBI_latino, col = "blue")
lines(EMBI_BR, col = "green")

Llamamos a la librería “forecast” para que dado que cumpla alguna condición pueda estimar el ARIMA de cualquiera de las series:

library(forecast)
## Warning: package 'forecast' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo

Por ejemplo, si se quisiera invertir en México, entonces se debe buscar que el riesgo sea menor en este país en comparación a Brasil. Utilizando el código “if - else” se propone la siguiente condición: “si el valor medio del riesgo en México es menor que el de Brasil, entonces invertir en México, de lo contrario analizar el comportamiento de Brasil.

"Se puede utilizar un condicional básico que permita programar nuestra decisión de 
inversión"
## [1] "Se puede utilizar un condicional básico que permita programar nuestra decisión de \ninversión"
if (mean(EMBI_mexico) < mean(EMBI_BR)) {
  "invertir en México"
} else {
  auto.arima(EMBI_BR)
}
## Series: EMBI_BR 
## ARIMA(4,1,4) 
## 
## Coefficients:
##           ar1     ar2     ar3      ar4     ma1      ma2      ma3     ma4
##       -0.3340  0.5891  0.2481  -0.5362  0.4188  -0.5069  -0.3315  0.4183
## s.e.   0.0881  0.0914  0.1122   0.1026  0.0946   0.0988   0.1232  0.1132
## 
## sigma^2 = 0.006764:  log likelihood = 4410.98
## AIC=-8803.96   AICc=-8803.91   BIC=-8747.12

Ahora bien, también se puede proponer lo siguiente: si el valor más bajo del riesgo país de México es menor que el valor más bajo del promedio de Latam, entonces se deberá invertir en México, sino entonces comparar con Brasil y tomar la decisión de invertir o no en México.

if (min(EMBI_mexico) < min(EMBI_latino)) {
  "invertir en México"
} else {
  if (min(EMBI_mexico) < min(EMBI_BR)) {
    "invertir en México"
  }
} 
## [1] "invertir en México"

Lo anterior es una forma simple de programar una decisión de inversión; sin embargo, existen otras formas más directas y/o complejas.