library(IMFData) #lee2016
library(ggplot2) #wickham2009
library(R2jags) #yusung2021
library(scales) #wickham2020
grafica <- 1
En el 2006, como parte de mis estudios de Maestría en la Universidad de Essex, escribí una tesis llamada “Bayesian Analysis of the Unit Root in Real Exchange Rates: the NAFTA case” (Cuervo Guzman 2006). En ese trabajo analizaba la condición de paridad de poder adquisitivo (PPP) del tipo de cambio entre tres monedas: el peso mexicano, el dólar americano y el dólar canadiense.
En la práctica, la presencia de fricciones en los mercados puede evitar que el tipo de cambio se comporte como lo pronostican los modelos basados en la PPP. Uno de los principales argumentos a probar en dicho trabajo es la hipótesis de que la existencia de tratados comerciales entre las naciones eliminan algunas de estas fricciones que pueden hacer que no se cumpla con la condición de PPP en el tipo de cambio.
Recientemente, el Tratado de Libre Comercio de América del Norte (TLCAN) fue revisado y un nuevo tratado fue acordado entre las tres naciones, rebautizándolo incluso como TMEC (Tratado México - Estados Unidos - Canadá). La firma del nuevo tratado fue realizada por los presidentes de los tres países el 30 de noviembre del 2018, en Buenos Aires, Argentina durante la cumbre del G-20.
La renegociación del tratado es el pretexto para revisitar el trabajo realizado en el 2006, actualizarlo con referencias académicas más recientes y migrar el procesamiento de los datos a R (la versión original fue desarrollada en WinBugs). Esta actualización, sin embargo, se concentra en el análisis de la serie de tiempo del tipo de cambio peso mexicano / dólar americano utilizando el modelo seleccionado en el 2006. En las secciones siguientes retomo, por lo tanto, partes del trabajo previo a manera de contexto, así como algunas de las reflexiones ahí hechas, para posteriormente actualizar el análisis con las observaciones de los precios cambiarios del 2006 a la fecha, considerando la renovación de las condiciones del tratado comercial.
La condición de Paridad de Poder Adquisitivo (PPP) es uno de los argumentos utilizados por los modelos cambiarios y puede ser formulada, de manera general, como la condición de que los niveles de generales precios de dos países, convertidos a una misma moneda, serán los mismos para ambos países (Copeland 2005). Esto es:
\(P = SP^{*}\)
Donde:
La condición de PPP implica, por otra parte, que el tipo de cambio real, definido como:
\(Q = S(P^{*}/P)\)
es igual a 1. En la práctica, sin embargo, la PPP y los tipos de cambio reales constantes rara vez se observan. Esto se deriva de que la PPP es una construcción teórica basada en muchos supuestos difíciles de cumplir en la realidad (la Ley del Precio Único, por ejemplo). Algunos factores que explican estas desviaciones se deben a fricciones en los mercados, tales como:
No obstante lo anterior, la PPP es una herramienta teórica útil, y particularmente el análisis de las divergencias del tipo de cambio de la PPP (como punto de referencia teórico) permiten sacar conclusiones sobre el comportamiento del tipo de cambio entre dos países.
Para analizar el comportamiento del tipo de cambio real frecuentemente se recurre a la expresión alternativa:
\(q = s + p^{*} - p\).
Donde:
\(q = ln(Q)\); \(s = ln(S)\); \(p = ln(P)\) y \(p^{*} = ln(P^{*})\).
Dado que desviaciones de la condición de PPP son bastante comunes (incluso esperadas) en el corto plazo, el interés se centra en determinar si el tipo de cambio real es constante en el largo plazo. Una manera de investigar esto consiste en determinar si la serie de tiempo del tipo de cambio real es una serie estacionaria.
Se dice que un proceso estocástico \(y_t\) es estrictamente estacionario “[…] si la distribución de sus valores permancece la misma a medida que el tiempo avanza, implicando que la probabilidad de que \(y_t\) caiga dentro de un determinado intervalo es la misma ahora que en cualquier punto del tiempo pasado o futuro” (Brooks 2002). Sin embargo, con mayor frecuencia, cuando se habla de estacionariedad de una serie de tiempo, se hace referencia a estacionariedad en sentido débil o de segundo orden. Así, se dice que una serie de tiempo es estacionaria en segundo orden si (Brooks 2002):
Es decir, que un proceso (débilmente) estacionario se caracteriza por tener media, varianza y autocovarianza constantes.
Así, dos modelos son tradicionalmente usados para caracterizar a las series no estacionarias (Brooks 2002):
\(y_t = \alpha + \rho y_{t-1} + u_t ; \rho \geq 1\)
\(y_t = \alpha + \delta t + u_t\)
Donde \(u_t\) representa a un proceso de ruido blanco.
En Cuervo Guzman (2006) se seleccionó como el modelo con el mayor poder explicativo a un modelo AR(1) con una tendencia determinista y deriva y, siguiendo la propuesta de Schotman and Djik (1991a), un efecto no lineal tanto en la tendencia como en la deriva, esto es:
\(q_t = x_t + \mu\)
\(x_t = \delta t + \rho x_{t-1} + \epsilon_t\)
esto puede ser re-expresado como:
\(q_t = \mu (1 - \rho) + \delta t + \rho q_{t-1} + \epsilon_t =\)
\(q_t = \alpha + \delta t + \rho q_{t-1} + \epsilon_t\)
donde:
\(\alpha = \mu (1 - \rho)\)
El presente análisis, por lo tanto, se centra en una caracterización mixta de las mencionadas anteriormente. En todo caso, se pueden considerar tres casos (Brooks 2002):
El caso estacionario: \(\rho < 1 \Rightarrow \rho^T \rightarrow 0\) a medida que \(T \rightarrow \infty\). En este caso, los impactos al sistema gradualmente desparecen.
El caso con raíz unitaria: \(\rho = 1 \Rightarrow \rho^T = 1 \forall T\). En este caso, los impactos al sistema nunca desparecen.
El caso explosivo: \(\rho > 1\). Los impactos al sistema se vuelven más influyentes en el tiempo. Este caso, es importante señalar, es rara vez observado en series de tiempo financieras, motivo por el cual es usualmente descartado de los análisis.
En el estudio anterior se observó que los datos parecía favorecer la perspectiva del arbitraje de bienes de la PPP, según la cual resulta más apropiado utilizar los índices de precios al productor (IPP), en lugar de los índices de precios al consumidor (IPC) ya que los primeros están más cargados hacia los bienes susceptibles de comercio transfronterizo y, por lo tanto, reflejan de mejor manera la “Ley del Precio Único”.
Finalmente, y siguiendo también lo realizado en el estudio anterior, se analizarán distintos periodos de la serie de tiempo, atendiendo a eventos relevantes y enfocándonos en el caso mexicano:
Como ya se señaló, una manera de investigar la fortaleza de la PPP entre dos monedas es verificar la existencia de raíces unitarias en la serie de tiempo del tipo de cambio real.
Si la PPP se mantuviera, se esperaría que, ante impactos al tipo de cambio real, en el largo plazo, dichos impactos se disolvieran y el tipo de cambio real volviera a su nivel medio. Es decir, la serie de tiempo del tipo de cambio real debería ser una serie estacionaria. Sin embargo, si la PPP no se sostiene, como señala Mark (2001) “[…] real exchange rate fluctuations can have important allocative effects. A prolonged real appreciation may have an adverse effect on a country’s competitiveness, as the appreciation raises the realtive price of home goods and services induces expenditures to switch from home goods toward foreign goods. […] On the other hand, a real depreciation may be benefficial to the tradable-goods sector and harmful to consumers. The foreign debt of many developing countries is denominated in US dollars, however, so a real depreciation reflects a real increase in debt servicing costs. These expenditure-switching effects are absent in the flexible-price theories […].”
Schotman and Djik (1991a): “Nominal and real exchange rates behave almost like random walks. [] If the real exchange rate follows a random walk, shocks to the real exchange rate accumulate and a time series of real exchange rates will not show a tendency of mean reversion. This is contrary to the notion of Purchasing Power Parity (PPP) which posits that there is a constant equilibrium real exchange rate.”
Desde luego, las relaciones entre países no son estáticas, ni lo son tampoco las condiciones políticas y económicas al interior de cada uno de los países bajo análisis. Por lo tanto, sería ilógico suponer una relación cambiaria fija o constante en términos reales permanentemente o a largo plazo. Se podría argumentar, sin embargo, que en periodos sin cambios significativos en dichas condiciones en los países (o cuando los cambios afectan de manera similar a ambas jurisdicciones) la relación debería mantenerse. Por ello, en este estudio se analizarán diferentes periodos de la paridad cambiaria en forma independiente, utilizando para la identificación de dichos periodos criterios totalmente discrecionales, intentando que correspondan a periodos vinculados (según yo) a eventos relevantes (como, por ejemplo, la firma o actualización del TLCAN).
Como en cualquier otra aplicación del paradigma Bayesiano, cuando se analizan series de tiempo el objetivo es determinar la distribución posterior de interés. Una vez determinada la distribución posterior de los parámetros, es posible hacer el contraste de hipótesis que permita juzgar si existe evidencia de estacionaridad en la serie.
Nuevamente, siguiendo el estudio anteriormente realizado, para el caso de una serie de tiempo AR(1), y asumiendo que \(\epsilon_t\) tiene una función de distribución \(p(\epsilon_t | \rho)\), entonces \(q_t\) es también una variable aleatoria con función de distribución \(p(q_t | \alpha, \delta, \rho, q^{(t-1)}, \theta_\epsilon)\) donde \(q^{(t-1)} = \{q_{t-1}, ..., q_1\}\) y \(\theta_\epsilon\) corresponde a los parámetros de la distribución de \(\epsilon\).
Si, adicionalmente \(p(\theta), \theta = \{\alpha, \delta, \rho, \theta_\epsilon\}\) representa a la función de distribución previa de los parámetros \(\theta\), entonces:
\(p(\theta | q^{(t)}) = \frac{p(\theta , q^{(t)})}{p(q^{(t)})} = \frac{p(q^{(t)} | \theta)p(\theta)}{p(q^{(t)})} \propto p(q_t | q^{(t-1)}, \theta)p(\theta)\).
Así, con base en lo señalado previamente, para poder contrastar la hipótesis de estacionaridad en la serie, tenemos que evaluar los posibles escenarios:
Los datos fueron obtenidos de la base de datos del Fondo Monetario Internacional, de la base de datos de las Estadísticas Financieras Internacionales. Para la obtención de los datos se utilizaron las rutinas de la librería IMFData desarrollada para R por Lee (2016).
CompactDataMethod.queryfilter <-
list(
CL_FREQ = 'M'
, CL_AREA_IFS = c('MX','US')
, CL_INDICATOR_IFS = c('ENDE_XDC_USD_RATE', 'PCPI_IX')
)
datos <-
CompactDataMethod(
databaseID = 'IFS' ,
queryfilter = CompactDataMethod.queryfilter,
startdate = '1970-01-01' ,
enddate = '2022-12-31' ,
tidy = TRUE )
Lo primero que debemos observar es que el FMI, con el fin de estandarizar la presentación, proporciona el dato del tipo de cambio en el formato de dólares por cada unidad de moneda nacional. Esto deberá tomarse en cuenta al momento de realizar los cálculos correspondientes.
filtro <-
datos$`@INDICATOR` == 'ENDE_XDC_USD_RATE' & datos$`@REF_AREA` == 'MX'
datos.tc.mxus <-
datos[filtro, c('@TIME_PERIOD', '@OBS_VALUE')]
datos.tc.mxus$S <- as.numeric(datos.tc.mxus$`@OBS_VALUE`)
datos.tc.mxus$fecha <-
as.Date(x = paste0(datos.tc.mxus$`@TIME_PERIOD`,'-01'), format = '%Y-%m-%d')
datos.tc.mxus$s <- log(datos.tc.mxus$S)
g1 <-
ggplot(
data = datos.tc.mxus ,
mapping = aes(x = fecha, y = S)) +
geom_line() +
geom_vline(xintercept = as.Date('1976-08-01'), colour = 'red') +
geom_vline(xintercept = as.Date('1985-01-01'), colour = 'red') +
geom_vline(xintercept = as.Date('1994-01-01'), colour = 'red') +
scale_x_date() +
theme_bw() +
ylab('S') +
xlab('') +
labs(
title =
paste0(
'Gráfica ',
grafica,
': Serie de tiempo histórica del tipo de cambio USD/MXN.'),
caption = 'Fuente: IMFData.')
g1_1 <-
ggplot(
data = datos.tc.mxus ,
mapping = aes(x = fecha, y = s) ) +
geom_line() +
geom_vline(xintercept = as.Date('1976-08-01'), colour = 'red') +
geom_vline(xintercept = as.Date('1985-01-01'), colour = 'red') +
geom_vline(xintercept = as.Date('1994-01-01'), colour = 'red') +
scale_x_date() +
theme_bw() +
ylab('s = ln(S)') +
xlab('')
plot(g1)
plot(g1_1)
Como se puede observar en las gráficas, lapso considerable de tiempo refleja el periodo durante el cual México tenía un régimen de tipo de cambio fijo. De acuerdo con Banco de Mexico (2009) …
filtro <-
datos$`@INDICATOR` == 'PCPI_IX' & datos$`@REF_AREA` == 'MX'
# datos$`@INDICATOR` == 'PPPI_IX'
cpi.mx <-
datos[filtro, c('@TIME_PERIOD', '@REF_AREA', '@OBS_VALUE')]
cpi.mx$`@OBS_VALUE` <- as.numeric(cpi.mx$`@OBS_VALUE`)
cpi.mx$fecha <-
as.Date(x = paste0(cpi.mx$`@TIME_PERIOD`,'-01'), format = '%Y-%m-%d')
cpi.mx$P <- cpi.mx$`@OBS_VALUE`
cpi.mx$p <- log(cpi.mx$`@OBS_VALUE`)
datos.2 <-
merge(
x = cpi.mx,
y = datos.tc.mxus[,c('fecha', 'S', 's')],
by.x = 'fecha',
by.y = 'fecha',
all.x = TRUE)
ggplot(
data = datos.2,
mapping = aes(x = fecha, y = P)) +
geom_line() +
scale_x_date() +
theme_minimal() +
ylab('P = CPI:MX') +
xlab('FECHA')
filtro <-
datos$`@INDICATOR` == 'PCPI_IX' & datos$`@REF_AREA` == 'US'
cpi.usa <-
datos[filtro, c('@TIME_PERIOD', '@REF_AREA', '@OBS_VALUE')]
cpi.usa$`@OBS_VALUE` <- as.numeric(cpi.usa$`@OBS_VALUE`)
cpi.usa$fecha <-
as.Date(x = paste0(cpi.usa$`@TIME_PERIOD`,'-01'), format = '%Y-%m-%d')
cpi.usa$`P.*` <- cpi.usa$`@OBS_VALUE`
cpi.usa$`p.*` <- log(cpi.usa$`@OBS_VALUE`)
datos.2 <-
merge(
x = datos.2,
y = cpi.usa[,c('fecha', 'P.*', 'p.*')],
by.x = 'fecha',
by.y = 'fecha',
all.x = TRUE)
ggplot(
data = datos.2,
mapping = aes(x = fecha, y = `P.*`)) +
geom_line() +
scale_x_date() +
theme_minimal() +
ylab('P* = CPI:USA') +
xlab('FECHA')
datos.2$Q <- datos.2$S * datos.2$`P.*` / datos.2$P
datos.2$q <- log(datos.2$Q)
write.table(
x = datos.2
, file = 'datos_ppp.txt'
, sep = '|'
, fileEncoding = 'utf-8'
, row.names = FALSE
)
ggplot(data = datos.2, mapping = aes(x = fecha, y = P)) +
geom_line(show.legend = TRUE) +
geom_line(mapping = aes(y = `P.*`), colour = 'blue', show.legend = TRUE) +
scale_x_date() +
theme_minimal() +
ylab('P = CPI:MX; P* = CPI:USA (AZUL)') +
xlab('FECHA')
ggplot(data = datos.2, mapping = aes(x = fecha, y = p)) +
geom_line(show.legend = TRUE) +
geom_line(mapping = aes(y = `p.*`), colour = 'blue', show.legend = TRUE) +
scale_x_date() +
theme_minimal() +
ylab('p = log(CPI:MX); p* = log(CPI:USA) (AZUL)') +
xlab('FECHA')
ggplot(data = datos.2, mapping = aes(x = fecha, y = Q)) +
geom_line() +
scale_x_date() +
theme_minimal() +
ylab('Q = S*P*/P') +
xlab('FECHA')
ggplot(data = datos.2, mapping = aes(x = fecha, y = q)) +
geom_line() +
scale_x_date() +
theme_minimal() +
ylab('q = log(Q)') +
xlab('FECHA')
fecha.inicio <- min(datos.2$fecha)
fecha.fin <- max(datos.2$fecha)
Es necesario observar que no se cuenta con la misma longitud para todas las series. Únicamente a partir de 1970-01-01 se cuenta con datos para las tres series, por lo que el análisis se hará a partir de esa fecha y hasta 2022-11-01 (máxima fecha en común para las tres series).
(Por otra parte, además, Chiquiar, Noriega, and Ramos-Francia 2007 encuentra que la inflación subyacente de los precios al consumidor muestra evidencia de haberse convertido en una serie estacionaria a partir de abril 2001.)
[PENDIENTE]
Como ya se señaló, la especificación del modelo sigue un modelo AR(1) con una tendencia determinista y deriva, y nolinealidad en los coeficientes, esto es:
\(q_t = \alpha + \delta t + \rho q_{t-1} + \epsilon_t\)
donde:
\(\alpha = \mu (1 - \rho)\)
Adicionalmente, se asume:
Con base en esto, la implementación en JAGS es la siguiente:
readLines(con = 'modelo_3.bug', encoding = 'utf-8')
## [1] "################################################################################"
## [2] "#"
## [3] "# Modelo de un proceso AR(1) usando distribuciones previas Normal-Gamma para "
## [4] "# los parámetros de la autorregresión y relación no-lineal entre los parámetros"
## [5] "# "
## [6] "# Modela la paridad cambiaria bajo PPP."
## [7] "#"
## [8] "################################################################################"
## [9] ""
## [10] ""
## [11] "model"
## [12] "{"
## [13] ""
## [14] "##### Estructura del modelo"
## [15] ""
## [16] " for(i in 2:N)"
## [17] " {"
## [18] " "
## [19] " y[i] ~ dnorm(mu*(1 - rho) + delta*i + rho*y[i - 1], t)"
## [20] " "
## [21] " }"
## [22] ""
## [23] "##### Prior distributions"
## [24] ""
## [25] " mu ~ dnorm(m[1], t)"
## [26] " delta ~ dnorm(m[2], t)"
## [27] " "
## [28] " rho ~ dnorm(m[3], t)"
## [29] " "
## [30] " t <- tau*P"
## [31] " "
## [32] " tau ~ dgamma(a, b)"
## [33] " "
## [34] " a <- 0.1"
## [35] " b <- 0.00001"
## [36] " m[1] <- 0"
## [37] " m[2] <- 0"
## [38] " m[3] <- 1"
## [39] " P <- 0.00001"
## [40] ""
## [41] "}"
Analizaremos primero el comportamiento de la serie de tiempo de tipo de cambio real completa.
temp <- ts(data = datos.2$q, start = c(1970, 1), frequency = 12)
temp.dec <- decompose(x = temp, type = 'multiplicative')
temp.dec <-
data.frame(
fecha = datos.2$fecha
, q = as.numeric(temp.dec$x)
, trend = as.numeric(temp.dec$trend)
, seasonal = as.numeric(temp.dec$seasonal)
, random = as.numeric(temp.dec$random)
)
ggplot(data = temp.dec) +
aes(x = fecha, y = q) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: datos originales')
ggplot(data = temp.dec) +
aes(x = fecha, y = trend) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: tendencia')
ggplot(data = temp.dec) +
aes(x = fecha, y = seasonal) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: estacional')
ggplot(data = temp.dec) +
aes(x = fecha, y = random) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: aleatorio')
La media histórica del componente aleatorio es igual a 0.9999.
N <- nrow(datos.2)
y <- datos.2$q
ppi.data <- list('N' = N, 'y' = y)
r.jags <-
jags.model(
file = "modelo_3.bug"
, data = ppi.data
, n.chains = 3
, n.adapt = 500
, quiet = TRUE
)
r.jags.results <-
coda.samples(
model = r.jags
, variable.names = c('mu', 'delta', 'rho', 't')
, n.iter = 2000
)
simulaciones <- data.frame(do.call(rbind.data.frame, r.jags.results))
ggplot(data = simulaciones, mapping = aes(x = mu)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(mu), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = delta)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(delta), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = rho)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(rho), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = t)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(tau), y = 'Densidad')
Considerando estas distribuciones posteriores podemos calcular ahora la probabilidad (posterior) de \(\rho \geq 1\) y la media posterior:
p.rho.geq.1.1 <-
length(simulaciones$rho[which(simulaciones$rho >= 1)]) /
length(simulaciones$rho)
media.post.rho.1 <- mean(simulaciones$rho)
\[P[\rho \geq 1|y] = 0.37000\]
\[E[\rho|y] = 0.9991\]
En esta sección analizaremos el comportamiento de la serie de tiempo en el primer periodo de interés: de enero de 1981 a diciembre de 1984.
temp <- datos.2[which(datos.2$fecha <= '1984-12-31'),]
temp.dec <- ts(data = temp$q, start = c(1970, 1), frequency = 12)
temp.dec <- decompose(x = temp.dec, type = 'multiplicative')
temp.dec <-
data.frame(
fecha = temp$fecha
, q = as.numeric(temp.dec$x)
, trend = as.numeric(temp.dec$trend)
, seasonal = as.numeric(temp.dec$seasonal)
, random = as.numeric(temp.dec$random)
)
ggplot(data = temp.dec) +
aes(x = fecha, y = q) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: datos originales'
)
ggplot(data = temp.dec) +
aes(x = fecha, y = trend) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: tendencia')
ggplot(data = temp.dec) +
aes(x = fecha, y = seasonal) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: estacional')
ggplot(data = temp.dec) +
aes(x = fecha, y = random) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: aleatorio')
La media histórica del componente aleatorio es igual a 0.9999.
ggplot(data = simulaciones, mapping = aes(x = mu)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(mu), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = delta)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(delta), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = rho)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(rho), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = t)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(tau), y = 'Densidad')
Considerando estas distribuciones posteriores podemos calcular ahora la probabilidad (posterior) de \(\rho \geq 1\) y la media posterior:
p.rho.geq.1.2 <-
length(simulaciones$rho[which(simulaciones$rho >= 1)]) /
length(simulaciones$rho)
media.post.rho.2 <- mean(simulaciones$rho)
\[P[\rho \geq 1|y] = 0.35933\]
\[E[\rho|y] = 0.9974\]
temp <-
datos.2[which(datos.2$fecha <= '1993-12-31' & datos.2$fecha > '1984-12-31'),]
temp.dec <- ts(data = temp$q, start = c(1985, 1), frequency = 12)
temp.dec <- decompose(x = temp.dec, type = 'multiplicative')
temp.dec <-
data.frame(
fecha = temp$fecha
, q = as.numeric(temp.dec$x)
, trend = as.numeric(temp.dec$trend)
, seasonal = as.numeric(temp.dec$seasonal)
, random = as.numeric(temp.dec$random)
)
ggplot(data = temp.dec) +
aes(x = fecha, y = q) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: datos originales'
)
ggplot(data = temp.dec) +
aes(x = fecha, y = trend) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: tendencia')
ggplot(data = temp.dec) +
aes(x = fecha, y = seasonal) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: estacional')
ggplot(data = temp.dec) +
aes(x = fecha, y = random) +
geom_line() +
theme_minimal() +
labs(title = 'Descomposición de la serie de tiempo del tipo de cambio real', subtitle = 'Componente: aleatorio')
La media histórica del componente aleatorio es igual a 1.0011.
ggplot(data = simulaciones, mapping = aes(x = mu)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(mu), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = delta)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(delta), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = rho)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(rho), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = t)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(tau), y = 'Densidad')
Considerando estas distribuciones posteriores podemos calcular ahora la probabilidad (posterior) de \(\rho \geq 1\) y la media posterior:
p.rho.geq.1.3 <-
length(simulaciones$rho[which(simulaciones$rho >= 1)]) /
length(simulaciones$rho)
media.post.rho.3 <- mean(simulaciones$rho)
\[P[\rho \geq 1|y] = 0.63067\]
\[E[\rho|y] = 1.0032\]
La media histórica del componente aleatorio es igual a 1.0001.
ggplot(data = simulaciones, mapping = aes(x = mu)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(mu), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = delta)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(delta), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = rho)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(rho), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = t)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(tau), y = 'Densidad')
Considerando estas distribuciones posteriores podemos calcular ahora la probabilidad (posterior) de \(\rho \geq 1\) y la media posterior:
p.rho.geq.1.4 <-
length(simulaciones$rho[which(simulaciones$rho >= 1)]) /
length(simulaciones$rho)
media.post.rho.4 <- mean(simulaciones$rho)
\[P[\rho \geq 1|y] = 0.52900\]
\[E[\rho|y] = 1.0009\]
temp <-
datos.2[which(datos.2$fecha > '2009-12-31'),]
temp.dec <- ts(data = temp$q, start = c(2010, 1), frequency = 12)
temp.dec <- decompose(x = temp.dec, type = 'multiplicative')
temp.dec <-
data.frame(
fecha = temp$fecha
, q = as.numeric(temp.dec$x)
, trend = as.numeric(temp.dec$trend)
, seasonal = as.numeric(temp.dec$seasonal)
, random = as.numeric(temp.dec$random)
)
ggplot(data = temp.dec) +
aes(x = fecha, y = q) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: datos originales'
)
ggplot(data = temp.dec) +
aes(x = fecha, y = trend) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: tendencia'
)
ggplot(data = temp.dec) +
aes(x = fecha, y = seasonal) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: estacional'
)
ggplot(data = temp.dec) +
aes(x = fecha, y = random) +
geom_line() +
theme_minimal() +
labs(
title = 'Descomposición de la serie de tiempo del tipo de cambio real'
, subtitle = 'Componente: aleatorio'
)
La media histórica del componente aleatorio es igual a 1.0000.
ggplot(data = simulaciones, mapping = aes(x = mu)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(mu), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = delta)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(delta), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = rho)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(rho), y = 'Densidad')
ggplot(data = simulaciones, mapping = aes(x = t)) +
geom_density() +
theme_minimal() +
labs(title = 'Densidad posterior', x = expression(tau), y = 'Densidad')
Considerando estas distribuciones posteriores podemos calcular ahora la probabilidad (posterior) de \(\rho \geq 1\) y la media posterior:
p.rho.geq.1.5 <-
length(simulaciones$rho[which(simulaciones$rho >= 1)]) /
length(simulaciones$rho)
media.post.rho.5 <- mean(simulaciones$rho)
\[P[\rho \geq 1|y] = 0.52717\]
\[E[\rho|y] = 1.0008\]
El cuadro que se presenta a continuación resume los resultados obtenidos para los periodos analizados:
[Incluir aquí el cuadro con PERIODO|PROBABILIDAD DE RHO GEQ 1|MEDIA POST RHO|MEDIA POST MU| MEDIA POST DELTA]
¿Qué podemos inferir de esto?
Capistran and Ramos Francia (2006):
First we use the ADF-ERS test, a modification of the augmented Dickey-Fuller test […]. We select the lags using the modified Akaike criterion […]. For each country we select an intercept or a trend or both at the 10% significant level.
It would seem that at least for five countries in our sample the apparent non-stationarity could be associated with a unit root. But the tests we have applied so far work under the assumption that there are no breaks in the stochastic process under consideration. The presence of breaks is not a problem if the null of a unit root is rejected […]. The problematic case is when a test cannot reject a unit root, as this rejection could be driven by the presence of breaks. In order to see if this is the case, we apply Kapetanio’s (2005) test of a unit root against the alternative of up to \(m\) structural breaks […].
Continuar con capítulo 7 Mark (2001)
No-linealidad –> and Lubrano (1995).
Cortar la serie de tiempo considerando los hallazagos de Chiquiar, Noriega, and Ramos-Francia (2007)
Pie de gráficas
Puntos de cambio
Interpretación del coeficiente de la tendencia lineal.
Schotman and Djik (1991b)
Los primeros esfuerzos de apertura comercial se dan al rededor de 1985, entrando en vigor en 1986, bajo el gobierno de Miguel de la Madrid (ver, por ejemplo (Turrent 2012)).
Luego, en 1993, bajo el gobierno de Salinas de Gortari, se firma el TLC (nuevamente, Turrent (2012)).
Cambiar las referencias al software, dejar de mencionar a WinBugs para mencionar JAGS.
La varianza, ¿cómo modelarla? No parece correcto que la variable dependiente y los parámetros compartan la varianza (\(\tau\)) dada la no-linealidad en los parámetros. Adicionalmente, no parece apropiado tampoco que \(\rho\) comparta la varianza dado que es un parámetro que modela la no-linealidad. Incluso, pareciera que \(\rho\) sería más apropiado modelarlo con una distribución Gamma, como la varianza.
Revisar Shapiro and Yoder (2022), ¿hay algo que deba/pueda incluirse relativo a FDI, remesas o TIF como señales del fortalecimiento/debilitamiento de la relación entre los países?
Schotman and Djik (1991a) posterior odds ratio stationary vs random walk
Intervalo de probabilidad al 95%