Tema 6

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 44

Stata: Desde básico hasta avanzando

José Mendoza Sánchez

INFOX

Semana 6 - Parte 1
1 Manipulando variables de fecha
Formatos de datos temporales
Arreglando los formatos de datos temporales

2 Manipulando datos de series de tiempo: rezagos, adelantos, diferencias


Operadores de rezagos, adelantos y diferencias

3 Algunos gráficos de series de tiempo

4 Filtros y suavización de series: tsfilter y tssmoth


Filtros moving-average, tssmooth
Otros filtros, tsfilter

5 Aplicación

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 2 / 44
Para que se pueda tomar ventajas del conjunto de funciones que trae
Stata se debe declarar previamente que el conjunto de datos son una serie
de tiempo. Previamente hemos visto algo parecido al momento de declarar
el diseño muestral de una encuesta- En este caso, la identificación es más
fácil. Necesitamos saber cuál es la frecuencia de los datos, es decir, si son
anuales, trimenstrales, mensuales, por hora, por minutos, etc. Darle
formato a la variable y usarla para declarar a los datos como de serie de
tiempo usando el comando tsset. Veamos un ejemplo con datos
simulados:

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 3 / 44
Datos de tiempo

Las series de tiempo pueden estar en distintas frecuencias, cada tipo de frecuencia puede
ser cargada en Stata bajo un formato específico. Veamos los casos más importantes,
datos trimestrales, datos mensuales y datos diarios (en el caso de datos anuales toda la
discusión se hace mucho más fácil ya que no es necesario darle un formato especial).

Como vemos cada variable mide una frecuencia distinta. La primera comienza en el
primer trimestre de 1960 (1960q1), mientras que la segunda comienza en enero de 1960
(1960m1) y la última serie comienza el primero de enero de 1960 (01jan1960, en donde
jan viene de january o enero en inglés).

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 4 / 44
Hay distintos formatos que se pueden considerar, desde milisegundos hasta años:

En el siguiente código vemos algunos ejemplos de como crear series. Primero


establecemos el tamaño de la base (set obs 100), luego creamos las series
considerando los distintos formatos. En este punto usamos trea tipos de funciones:
tq(), tm() y td(). Cada una de ellas crea un dato inicial para la fecha que se indica.
Luego sumamos la posición de la fila con _n y restamos uno (para que la lista comience
en cero). Posteriormente, damos formato a la serie usando los código de la lista. Por
último, usamos el comando tsset para declarar a la base como de serie de tiempo.
Veamos este último código
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 5 / 44
Cuando creamos datos desde cero solo se
generan unos valores numéricos. Para que
se vean como en las imágenes previas
tenemos que darle formato. Ahora, para
todo tipo de frecuencia el valor 0 se
establece para la primera observación de
1960. Es decir 1 en frecuencia mensual
significa 2 de enero de 1960 mientras que 1
para frecuencia mensual significa febrero de
1960. Contrariamente -1 bajo frecuencia
trimestral significaría el último trimestre de
1959. Bastante ojo con esto.

Luego haremos algunos ejemplos de como


definir las series temporales cuando los
datos ya vienen en otros formatos de cadena
desde la fuente original. Por ejemplo,
cuando cargamos desde excel una base de
que dice "2019 Trimestre 4".

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 6 / 44
tsset
Luego de crear las series usamos la nueva variable para declararla como la
variable temporal.

Declarar la base de esta manera nos permite usar un conjunto de funciones


y comandos creados específicamente para series temporales que
revisaremos posteriormente en esta semana. Hasta este puntos, ya

conocemos los tipos de formatos que hay y la necesidad de declarar los


datos como series temporales. Ahora, vamos a ver como manejar series de
tiempo cuando la variable de tiempo está en otro formato tanto en
string como en números. Este es un problema bastante recurrente por lo
que analizaremos distintos problemas tipos.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 7 / 44
Arreglando los formatos de datos temporales

Tomemos la siguiente base de datos como ejemplo.


En este caso no tenemos los datos de
manera directa. Cada columna presenta las
variables de fechas en distintos formatos.
fecha1: Fecha string en formato en
inglés, primero mes luego día y al final
el año.
fecha2: Es similar al previo pero
tiene el mes en iniciales en inglés.
fecha3: Se tiene la fecha en números
pero sin algún tipo de separador.
fecha4: Similar al previo pero los
días y meses menores a 10 no
comienzan con cero.
fecha5: Similar a la segunda columna
pero con las iniciales en español.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 8 / 44
Veamos manejar estas fechas para que tengan el formato de series diarias. Cargamos la
base con las fechas de ejemplos.
La solución para los dos primeros
casos es bastante directa, podemos
usar el comando date() para indicar
el orden de los componentes de la
fecha. Por ejemplo "MDY" para mes -
día - año (como en el formato en
inglés). Si quisieramos pasarlo al
formato usual en español
comenzaríamos indicando el día, luego
el mes y por último el año ("DMY").
En el caso de fecha3 tenemos que
hacer un paso previo. Si queremos
usar el comando date() tenemos que
tener la serie en forma string() por
lo que usamos el comando
tostring(fecha3), replace para
que reemplace la variable fecha3 con
sus mismo valores pero en string.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 9 / 44
La variable fecha4 puede ser confusa. Por
ejemplo, 202011 indicaría el primero de enero
del 2020 pero 2020111 puede ser el 11 de
enero o el 1 de noviembre. En el ejemplo
tenemos valores bastante directos, para crear la
nueva variable separamos los valores de día,
mes y año usando el comando substr(),
previamente tenemos que pasarlo a string
para que pueda ser segmentada. Con cada
elemento listo, lo volvemos a pasar a números
usando el comando destring(). Con esto,
usamos el comando mdy() parecido a date()
En todos los casos, luego de
pero en donde indicamos cada componente de
generar los valores tenemos
la fecha diaria. Ojo: Cuando tengan casos más
que darle formato usando el
confusos deben ver alguna manera de
comando format seguido por
solucionar esos problemas.
%td para indicar que son
diarios. En el último caso, tenemos las fechas en
español por lo que podemos usar el comando
subinstr() para reemplazar las iniciales de la
fecha.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 10 / 44
Hay muchas opciones funciones adicionales que se pueden usar de acuerdo a la
frecuencia de la serie.

Algunas de ellas sirven cuando tenemos los datos en formato string otros cuando los
datos están en valores numéricos. Una operación adicional que se puede hacer es crear
variables nuevas con otros formatos. Por ejemplo podemos crear una variable que
indique en qué trimestre del año se encuentra la fecha diaria. Veamos:
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 11 / 44
Veamos algunos ejemplos de como cambiar la frecuencia de la serie.
En este ejemplos hacemos algunos
cambios. Primero pasamos de dia a
trimestre, luego de dia a mes y, por
último, de dia a semana. En los dos
primeros casos usamos las siguientes
funciones: qofd() y mofd() mientras
que en en último caso usamos una
función presentado previamente, yw().
Podemos indentificar a qofd() y
mofd() a partir de la primera y última
letra. En el primer caso sería, quarter
of day y luego sería month of day.
Hay una familia extensa de este tipo
de funciones que se puede revisar si
necesita hacer algún cambio en este
sentido. Por ejemplo, aqui.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 12 / 44
Operadores de rezagos, adelantos y diferencias

Un conjunto importante de operadores que se vuelve disponible cuando se usa tsset


con los relacionados a los rezagos, los adelantos y las diferencias. Veamos este operador
en términos de ecuaciones:

Rezago: Indica el valor de un periodo previo y se indica con el prefijo l(1).x

gt = ln(y )t − ln(y )t−1

Adelanto: Indice el valor de un periodo posterior y se indica con el prefijo f(1).x

gt+1 = ln(y )t+1 − ln(y )t

Differencia: El prefijo d(1).x sirve para tomar la resta entre dos periodos distintos

gt = ln(y )t − ln(y )t−1

Antes de presentar los ejemplos vamos a limpiar las bases de datos. Usaremos el PBI
peruano tanto en frecuencia anual como en frecuencia trimestral.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 13 / 44
Carguemos la serie anual del PBI Gasto del Perú desde la página del
BCRP. Limpiamos y ordenamos la serie y nos quedamos con los cicno
componentes del PBI Gasto: Consumo, Inversión, Gasto Público y
Exportaciones Netas.

En el caso anual, la variable de tiempo es el año de manera directa.


Veamos el caso trimestral.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 14 / 44
En el caso trimestral, la variable de fecha no viene en el formato deseado por lo que
tenemos que hacer una limpieza previa.

Extraemos el valor del año y el número del trimestre. Como solo se tiene dos dígitos del
año tenemos que pasarlo al valor completo agregando los números que faltan. Con el
año y el número del trimestre podemos usar una función ya conocida yq() para obtener
el valor del trimestre. Guardamos casa una de las bases para usarlas cuando lo
necesitemos. Ahora, veamos como usar rezagos. logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 15 / 44
Rezagos
El operador de rezagos permite crear o usar
un valor rezago de una variable. A partir de
los datos anuales vamos a crear series
rezagadas del PBI. Para indicar el número
de rezagos podemos agregar un número al
operador. Por ejemplo, l2.lnpbi sería el
2do rezago del logaritmo del PBI.

Si hacemos un gráfico line de las


series rezagados podemos ver el
número de años que cada serie se
retrasa.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 16 / 44
Cuando tenemos datos trimestrales puede ser útil definir a los rezagos de una variable no
como los valores inmediatamente previos sino como los valores pasados de cada uno de
los trimestres. Por ejemplo, cuando se compara el primer trimestre del 2019 con el
primer trimestre del 2018

En este caso, para comparar los valores del primer trimestre de cada año usamos
l4.lnpbi. Si tuvieramos datos mensuales tendríamos que usar l12.lnpbi, por ejemplo.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 17 / 44
Al momento de querer graficar estas nuevas series nos topamos con un problema. Si
usamos la opción xlabel() de manera usual terminariamos con un gráfico errado. Para
que el código tenga sentida se puede agregar expresiones entre comillas con los formatos
deseados. Por ejemplo, indicamos que son quarters/trimestres ‘q()’ y luego damos
formato de trimestre.

Esta opción es, definitivamente, más compleja y extenuante. Luego veremos como
integrar los datos de series de tiempo a gráficos. Por el momento sigamos con esta
lógica.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 18 / 44
Adelantos

Con el operador de adelantos, f.var podemos tomar los valores adelantados de las
variables. Tomemos el caso de los datos trimestrales del PBI. Creamos una serie con los
valores de los mismos trimestres pero de años posteriores:

Complementemos los operadores de rezagos y adelantos con el operador de diferencias.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 19 / 44
Diferencias
El operador de diferencias toma la resta de una misma variable un número de periodos
dados. Tomemos la base anual del PBI y construyamos la tasa de crecimiento usando
tanto el operador de diferencias como los operadores de rezago. Recordemos que la tasa
de crecimiento puede definirse de la siguiente manera:

gt = ln(y )t − ln(y )t−1

Luego de crear el logaritmo del PBI, podemos crear la tasa de crecimiento tomando de
manera manual la diferencia lnpbi - l1.lnpbi o podemos usar el operador de
diferencias para obtener lo mismo, d.lnpbi. Ojo: si indicamos un número mayor de
diferencias, por ejemplo d2.lnpbi, estamos considerando la 2da diferencia del PBI es
decir:
d2.lnpbi = (ln(y )t − ln(y )t−1 ) − (ln(y )t−1 − ln(y )t−2 )
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 20 / 44
Tomemos la base trimestral y comparemos si podemos obtener la tasa de crecimiento
Q-Q usando el comando de diferencias.

La última linea de código no genera la tasa de crecimiento sino la diferencia de la


diferencia de la diferencia de la diferencia del ln(y ). También podemos combinar los
operadores. Si queremos obtener la tasa de crecimiento rezagada en la base anual del
PBI podemos usar l.d.lnpbi.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 21 / 44
Gráficos de series de tiempo
Cuando declaramos la base de datos como series de tiempo podemos usar un comando
nuevo para graficar series, tsline. Este comando es similar al que ya conocimos
previamente, line, con la diferencia que ya no necesitamos indicarla fecha como 2da
variable. Grafiquemos la participación de cada componente del PBI usando tsline y
line solo para los años entre 1995 y 2015.

En ambos casos obtenemos el mismo gráfico. Cuando indicamos tsline ya no hacemos


uso de year. Otro comando nuevo es tin(), este sirve para indicar los años que
queremos tomar. Veamos un ejemplo con los datos trimestrales en donde se complica un
logoinfox.png
poco más.
José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 22 / 44
Cuando usamos datos en frecuencias distintas a las anuales hace bastante útil usar los
comandos nuevos.

Por ejemplo:

Usamos if tin(1995q1,2015q4) para denotar los trimestres que vamos a


considerar
Si usamos xlabel() obtendríamos problemas ya que el programa no leería la fecha
en sí sino el valor numérico que está detrás de la etiqueta. Para considerar los
valores de las fechas usamos tlabel().
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 23 / 44
Hasta este punto hemos visto como manipular las variables de tiempo y como hacer
algunos gráficos simples considerando estos datos. Ahora vamos a ver un primer
conjunto de operaciones estadísticas bastante recurrentes cuando se usan datos logoinfox.png
temporales.
José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 24 / 44
El concepto de filtro proviene de la literatura de la ingeniería. La idea es tomar como
insumo una serie (o una señal) y procesarla considerando los valores rezagados para
generar una nueva serie, es decir una serie filtrada. Consideremos la siguiente ecuación:

yt = ψ(L)xt

En donde ψ(L) es una función que considera los rezagos (L) de la serie insumo, xt , para
generear una serie output,yt . Esta operación puede ser muy compleja y suponer
operaciones matriciales avanzadas o ser mucho más simple como sacar los promedio de
las valores rezagados. Vamos a ver dos conjuntos de filtros. Primeros los llamados

moving average y luego una colección de filtros más complejos.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 25 / 44
Filtros moving-average, tssmooth
Los filtros moving average tienen la siguiente forma:
Pf
i=−l
wi xt+i
x̂t = Pf
i=−l
wi

En donde x̂t es la serie nueva, wi son pesos para cada observación y xt es la serie input.
Los valores f y l indican el número de rezagos a considerar a la derecha y a la izquierda.
Si no tenemos ponderadores el filtro solo toma un promedio simple de los datos, por
ejemplo:
Pf
i=−l
xt+i
x̂t = Pf
i=−l

Consideremos que tomamos un moving average de cinco periodo, es decir, dos periodos
previos, el periodo actual y dos periodos posteriores:
P2
i=−2
xt+i
x̂t =
5
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 26 / 44
Para implementar el moving average usamos el comando tssmooth ma
seguido por la variable. Adicionalemente debemos indicador los valor l y f
de la ecuación vista previamente. Para eso usamos la opción
window(#l,#c,#f) en donde #l indica el número de rezagos hacia atrás,
#c se reemplaza por 1 cuando se quiere considerar el valor actual y 0 en
caso contrario, #f indica los adelantos a considerar. Usemos esta función
para crear la serie moving average de cada componente del consumo
considerando una ventana de 5 periodos.

Comparemos la serie original con la serie nueva


logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 27 / 44
La serie con linea puntada indica los valores reales en cada trimestre
mientras que la serie solida indica la nueva serie moving average. Como se
observa en el gráfico, el filtro ‘suaviza’ los valores de la serie.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 28 / 44
Otros filtros, tsfilter

Ahora veamos otro conjuntos de filtros disponibles en Stata bajo el


comando tsfilter:
tsfilter hp para el filtro Hodrick - Prescott
tsfilter bk para el filtro Baxter - King
tsfilter cf para el filtro Christiano - Fitzgerald
tsfilter bw para el filtro Butterworth

A diferencia del moving average, estos filtros generan por lo menos dos
series nuevas, usualmente se identifica a estos componentes como ciclo y
tendencia. Veamos cada filtro por separado y luego comparemos los
resultados.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 29 / 44
tsfilter hp

El filtro Hodrick-Prescott o filtro HP es un filtro bastante usado en la literatura (también


bastante criticado, por ejemplo en Hamilton). Este filtro sigue la siguiente ecuación:

xt = zt + τt

En donde a partir de xt , la serie inicial, se crean dos series nuevas: una tendencia, τt , y
una residuo o ciclo, zt . Para obtener estos componentes de minimiza la siguiente función
con respecto a τt
T  
X
min (xt − τt )2 + λ((τt+1 − τt ) − (τt − τt−1 ))2
t=1

En donde λ indica un parametro de suavizamiento a seleccionar de acuerdo a la


frecuncia de los datos. Usualmente se considera λ = 1600 para datos trimestrales,
λ = 129600 para datos mensuales y λ = 6.25 para datos anuales.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 30 / 44
Vamos a descomponer o filtrar la serie trimestral del PBI en dos partes: un
ciclo (o componente residual) y una tendencia.

En este caso debemos indicar el nuevo nombre del componente, en este


caso PBI_ciclo, y la serie de la cuál se extraerá, PBI. También debemos
indicar el valor que tomará el parámetro λ, en este caso 1600, y si
queremos que se cree una nueva variable con el componente tendencial,
trend(PBI_tendencia). Esta rutina generará dos nuevas variables:

PBI_ciclo y PBI_tendencia. Grafiquemoslas.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 31 / 44
Como vemos, el componente tendencial no tiene los picos y valles
presentes en la serie inicial. logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 32 / 44
La serie del ciclo o el residuo es igual a la resta de las series previas.
Recordemos que zt = xt − τt logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 33 / 44
tsfilter bk
En contraste al filtro HP, el filtro Baxter - King (BK) es un filtro de pase de banda
(particualrmente, de highpass). La definición estadística exacta del filtro supero los
limites del curso. A pesar de esto, podemos establecer algunos criterios para poder usar
la serie dado que hay varios componentes que se deben elegir. El comando tiene la
siguiente forma

Al igual que el filtro HP debemos de indicar el nombre de la serie ciclo y de la serie


tendencia. Adicionalmente, debemos indicar algunos componentes nuevos. En este caso
minperiod() y maxperiod(). Ambos son parámetros que hacen referencia a la
extensión de los ciclos considerados. Los valores introducidos son los propuestos para
datos trimestrales de acuerdo a Baxter y King. Ahora, este filtro requiere hacer una
revisión teórica previa para poder entender exactamente su procedimiento por lo que les
recomiendo (si están bastante interesados en el tema) revisar un libro de econometría de
series de tiempo. El resto de filtros también van a introducir nuevos conceptos
estadísticos que requieren de un estudio previo, Ojo con esto.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 34 / 44
Veamos las nuevas series generadas.

A diferencia del filtrado HP, la tendencia estimada es mucho menos suave. Esto también
logoinfox.png
se refleja en el componente cíclico.
José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 35 / 44
En este caso, el cíclo aparece menos volátil que en el caso HP.

Otro diferencia se encuentra en que al usar el filtro BK eliminamos logoinfox.png

observaciones de los extremos.


José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 36 / 44
tsfilter cf

El filtro Christiano-Fitzgerald también es un filtro de pase de banda con un


procedimiento distinto a los filtros previos.

Los argumentos son similares a los de Baxter-King, se puede seleccionar


los periodos mínimos y máximos así como el número de observaciones que
contribuyen al filtro con smaorder(). De nuevo, para mayor comprensión
de la parte nétamente estadística del filtro se debe revisar algún libro de
econometria de series de tiempo. Veamos las series que se construyen.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 37 / 44
Al igual que el filtro Baxter King, la serie de tendencia del PBI no sale suavizada como
en el caso del filtro HP. Esto genera que tengamos una serie para el ciclo menos volatil
como en el caso HP. Comparemos los ciclos estimados bajo Christiano-Fitzgerald y bajo logoinfox.png
Baxter-King.
José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 38 / 44
Ambos filtron generan una serie para el ciclo de manera similar. Una
diferencia visible en el gráfico es que el filtro CF no remueve observaciones logoinfox.png

en las colas de la serie.


José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 39 / 44
tsfilter bw
Por último, el filtro Butterworth es una opción adicional que tiene el comando
tsfilter. No es tan usado como el resto de opciones. Si comparamos las series
generadas, la tendencia es más suavizada y el ciclo más volatil

Hay más opciones de filtro de series, algunas más complejos como el filtro de Kalman u
otros más simples en adaptar a stata como el filtro de Hamilton (ssc install
hamiltonfilter).
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 40 / 44
Aplicación
Como aplicación vamos a tomar la serie de tipo de cambio nominal del sol frente al dólar
para estimar el ciclo y la tendencia usando las herramientas aprendidas. Tomamos la
serie directamente de la página del BCRP. Luego de descargarlo y limpiar ligeramente la
base necesitamos crear una variable que indique la fecha.

Como vemos, la variable de tiempo tiene las


iniciales de los meses en español y solo tiene
dos dígitos del año correspondiente.
Veamos como solucionar esto.

logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 41 / 44
Primero completamos los
valores para el año de
cada observación y luego
creamos una variable
nueva con el número de
cada mes de acuerdo a las
iniciales. Al final usamos
el comando ym() para
crear la variable fecha y
darle formato.

Usemos un filtro moving average de cinco ventanas junto a un filtro HP para estimar las
tendencias.
logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 42 / 44
En el gráfico obtenemos la serie original del tipo de cambio junto a la serie Mooving
Avergae (MA) y la tendencia estimada por el filtro HP. Hagamos zoom en el periodo
logoinfox.png
que empieza en el 2002.
José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 43 / 44
La serie MA solo suaviza ligeramente los picos encontrados en la serie original mientras
que la tendencia HP genera una serie bastante suavizada a lo largo del periodo. logoinfox.png

José Mendoza Sánchez (INFOX) Stata: Desde básico hasta avanzando Semana 6 - Parte 1 44 / 44

También podría gustarte