InflaRX (IFRX N.V)

En la presente trabajo se desarrollará la primera practica del curso de Analisis de Gestion de Riesgos, en la cual se tomara los precios de la cotizacion de la empresa InflaRx en la bolsa NASDAQ.

Haremos una breve descripción de la empresa para contextalizarla. Además, asi podemos comprender mejor el porqué de las volatilidades.

InflaRX es una compañia biofarmacéutica que desarrolla nuevas terapias de primer nivel dirigido a la inflacion aguda y cronica. El enfoque que tiene principalmente es el desarrollo de anticuerpos monoclonales que se dirigen a los productos de activacion del sitema del conmplemento para su aplicación en enfermedades inflamatorias potencialmente mortales.

Fue fundada en diciembre \(2007\) en Jena Alemania, un centro de ensayos clínicos de cuidados agudos reconocido internationalmente.

Con respecto al reporte del año \(2019\) se tiene el resultado financiero neto disminuyó en \(€ 4.2\) millones a \(€ 3.5\) millones en \(2019\), de \(€ 7.7\) millones en \(2018\). Este cambio se debió principalmente a menores ganancias cambiarias, que disminuyeron en \(€ 4.8\) millones, parcialmente compensado por intereses sobre valores negociables, que aumentaron por \(€ 0,6\) millones. La pérdida neta para el año \(2019\) fue de \(€ 53.3\) millones o \(€ 2.05\) por acción común, en comparación con \(€ 29.8\) millones o \(€ 1.19\) por acción común para el año \(2018\). Al 31 de diciembre de 2019, los fondos totales disponibles de la Compañía fueron de € 115.8 millones, principalmente compuesto de efectivo y equivalentes de efectivo \((€ 33,1 millones)\) y valores negociables \((€ 81,9 millones)\).

Con respecto al año 2020 esta compañia también esta haciendo investigaciones acerca del COVID 19, lo cual se vera reflejado en en mayor gastos de investigaciones en año 2020.

\(1.\) Importe los datos de la serie de precios desde con fecha inicio \(2019-01-01\) y fecha de fin \(2020-01-01\). \((1pt)\)

Primero importamos los datos pero ello se tiene que llamar algunos paquetes que se van a usar

library(pdfetch)
library(stats)
library(graphics)
library(grDevices)
library(utils)
library(datasets)
library(methods)
library(base)
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(forcats)
library(stringr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(purrr)
library(readr)
library(tidyr)
library(tibble)
library(ggplot2)
library(tidyverse)
library(graphics)

Datos

Ahora si podemos hacer uso del paquete “pdfetch” para importar la variable.

IFRX.data<- pdfetch_YAHOO("IFRX", from = c("2019-01-01"), to = c("2020-01-01"),interval = "1d")

Resumen de los Datos

Hacemos un resumen de los datos:

summary(IFRX.data)
##      Index              IFRX.open        IFRX.high         IFRX.low     
##  Min.   :2019-01-02   Min.   : 2.210   Min.   : 2.340   Min.   : 2.170  
##  1st Qu.:2019-04-02   1st Qu.: 2.860   1st Qu.: 2.900   1st Qu.: 2.725  
##  Median :2019-07-02   Median : 3.385   Median : 3.565   Median : 3.260  
##  Mean   :2019-07-02   Mean   :18.441   Mean   :19.050   Mean   :17.835  
##  3rd Qu.:2019-10-01   3rd Qu.:36.695   3rd Qu.:37.470   3rd Qu.:35.407  
##  Max.   :2019-12-31   Max.   :51.150   Max.   :53.100   Max.   :50.750  
##    IFRX.close     IFRX.adjclose     IFRX.volume      
##  Min.   : 2.200   Min.   : 2.200   Min.   :    7100  
##  1st Qu.: 2.817   1st Qu.: 2.817   1st Qu.:  161400  
##  Median : 3.390   Median : 3.390   Median :  295650  
##  Mean   :18.408   Mean   :18.408   Mean   :  759392  
##  3rd Qu.:36.517   3rd Qu.:36.517   3rd Qu.:  575700  
##  Max.   :51.610   Max.   :51.610   Max.   :34665400

En este resumen se puede observar al precio que abren, el mas alto, el mas bajo, cuando cierra el precio, el ajustado y el volumen.

\(2.\) Calcule los retornos: \(1)\) Continuos \(2)\) Discretos. \((1pt)\)

Para calcular los retornos ya sea continuos o discretos, se tiene que seleccionar el precio de cierre ajustado que se encuentra en la columna 5, y lo pudimos ver con el comando head, y lo convertimos en series de tiempo.

head(IFRX.data)
##            IFRX.open IFRX.high IFRX.low IFRX.close IFRX.adjclose IFRX.volume
## 2019-01-02     36.10     36.54   33.160      34.90         34.90       49700
## 2019-01-03     33.98     34.90   32.860      33.60         33.60       11500
## 2019-01-04     33.55     37.06   33.420      35.85         35.85       12600
## 2019-01-07     36.65     36.65   33.735      35.95         35.95       22900
## 2019-01-08     36.83     36.83   33.265      35.50         35.50       10400
## 2019-01-09     36.15     36.15   33.250      34.54         34.54       68700
pIFRX<- IFRX.data[, 5]
tsIFRX <- ts(pIFRX, start = c(2019,1), frequency = 365)
summary(tsIFRX)
##  IFRX.adjclose   
##  Min.   : 2.200  
##  1st Qu.: 2.817  
##  Median : 3.390  
##  Mean   :18.408  
##  3rd Qu.:36.517  
##  Max.   :51.610
plot(tsIFRX)

En esta grafica se observa que los los datos de la series de IFRX son valites a lo largo del tiempo en estudio, se podría decir que no es estacionaria la serie porque se puede observar como va variando y en segundo para trimestre disminuyo bruscamente.

Retorno Discreto

tamano.precios <- length(pIFRX)
R1D <- numeric(length = tamano.precios)
for (i in 2:tamano.precios) {
  R1D[i] <- (tsIFRX[i]/tsIFRX[i - 1]) - 1
}

summary(R1D)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.917941 -0.023759 -0.003301 -0.001596  0.021075  0.182073
plot(R1D)

Retorno Continuo

R1C <- diff(log(tsIFRX))
R1C <- na.omit(R1C)

summary(R1C)
##  IFRX.adjclose      
##  Min.   :-2.500310  
##  1st Qu.:-0.024091  
##  Median :-0.003442  
##  Mean   :-0.008670  
##  3rd Qu.: 0.020951  
##  Max.   : 0.167269
plot(R1C)

La diferencia es utilizada en este caso para transformar los datos y para trabajar con los redimientos.

Luego de realizar las diferencias tanto discretas como continuas, se puede observar en el grafico que de la diferncia continua, que los rendimientos de IFRX son volatiles, pero se presenta mayor volatilidad en el tercer trimestre del 2019, posiblemente esto se deba a que las acciones de InflaRx IFRX, \(+ 7.04\%\) cayeron un \(84\%\) en el comercio previo al mercado después de que la biotecnología dijo que su medicamento para un trastorno inflamatorio de la piel llamado hidradenitis supurativa no mostró una respuesta estadísticamente significativa en los pacientes que recibieron el tratamiento en comparación con los que recibieron placebo.

Analisis Descriptivo

\(3.\) Haciendo uso de los retornos continuos. Realice un analisis descriptivo: media \((µ)\), varianza \((σ^2)\) y desviación estándar σ de la distribuci´on de los datos.\((3pts)\)

media <- mean(R1C)
varianza <- var(R1C)
desviacion.estandar <- sd(R1C)

Analisis<-data_frame(media,varianza,desviacion.estandar)
## Warning: `data_frame()` is deprecated as of tibble 1.1.0.
## Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.

Media= \(-0.00867029\) Varianza= \(0.0264\) Desviasión Estandar= \(0.162619\)

Podemos observar que la media de los retornos continuos es negativa y muy baja, con ello se puede decir que predominan los retonos muy cercanos a cero o negativos. Ademas, se puede decir que dabo a que la varianza es muy baja 0.0026 los valores(retornos continuos) se ecuentran muy cercanos a la media y no existe tanta dispersión de la muestra a los extremos. La desviación estándar, que es la raiz cuadrada de la varianza esta es 0.162619 lo cual representa una desviasión casi nula, cercana a cero.

Tambien se puede evidenciar por medio de un histograma:

hist(R1C)

### Gráfico de la distribución de los retornos (continuos) comparada con una distribucion normal simulada.

\(4.\) Realice un gráfico de la distribución de los retornos (continuos) y comparelo con una distribución normal simulada a partir de la media y varianza de los retornos obtenidos en la pregunta anterior: ¿La distribución de los datos, se asemeja a una distribución normal? Analice sus resultados.\((3pts)\)

func.den.IFRX<- density(R1C)

x<-seq(-0.1,0.1,by=0.01)
split.screen(c(1,2))
## [1] 1 2
screen(1)


plot(func.den.IFRX, lwd=2, lty=1,
     main = "Distribucion de Retornos Continuos", col = "red")

curve(dnorm(x, mean=media, sd=desviacion.estandar), lwd=2, lty=1, col="blue", add = TRUE)

screen(2)

hist(
  R1C,prob=TRUE, ylim=c(0,10), xlim= c(-1.0,0.3), breaks = 80,col = "orange",
  main = c("Histograma de los retornos"),
  xlab = expression(r==ln(1 + R[t])),
  ylab=c("Densidad"),
)

lines(density(R1C),lwd=1.5,lty=2)
curve(dnorm(x, mean=media, sd=desviacion.estandar), lwd=1.2, lty=2, col="blue", add = TRUE)

Lo que se realizo en las lineas superiores fue crear una secuencia, esta se crea con el comando “seq” que va desde -0.1 a 0.1 y va aumentando en 0.01, ello se va usar para crear una distribucion normal, que se puede observar en la primera grafica la linea de color azul y la distriibucion de los retornos continuos son de color rojo, en esta primera grafica se puede observar que la distribucion de los retornos continuos IFRX no siguen una distribucion normal como la distribucion de color azul, ello tambien se puede observar mejor en la segunda grafica donde se realizo un histograma, la distribución de los retornos continos se asemeja más a una distribucion leptocúrtica que a una normal, pero para descartar que no sigue una distribución normal con certeza, es necesario que se realice los test de normalidad.

Test de Normalidad

\(5.\) Realice tres test de normalidad \(1)\) Jarque-Bera, \(2)\) Kolmogorov, \(3)\) Spahiro-Wilk, ¿Cúal es la hip´otesis nula de cada uno de estos test? Interprete sus resultados. \((3pts)\)

TEST DE JARQUE BERA

jarque.bera.test(R1C)
## 
##  Jarque Bera Test
## 
## data:  R1C
## X-squared = 507287, df = 2, p-value < 2.2e-16

\(H_0\)= La asimetría y el exceso de curtosis son nulos (-\(asimetría\) \(=\) \(0\) y \(curtosis\) \(=\) \(3\)).Normal

Observando el \(p-value\) \(<\) \(0.05\), se rechaza la hipotesis nula, conluyendo que la distribucion de los retornos continuos no siguen una dstribucion normal.

TEST DE KOLMOGOROV

ks.test(R1C,"pnorm", media, desviacion.estandar)
## Warning in ks.test(R1C, "pnorm", media, desviacion.estandar): ties should not be
## present for the Kolmogorov-Smirnov test
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  R1C
## D = 0.34601, p-value < 2.2e-16
## alternative hypothesis: two-sided

\(H_0\)= La serie sigue una distribución normal.

Este test no es tan potente ni robusto ya que se tiene que cumplir ciertas condiciones para que se pueda aplicar y además asumen que la media y la desviacion estandar son normales, en este caso al poner “pnorm”, el \(p-value\) cambia observando el \(p-value\) \(<\) \(0.05\), por la cual rechazamos la hipotesis nula de noramalidad.

TEST DE SHAPIRO-WILK

shapiro.test(R1C)
## 
##  Shapiro-Wilk normality test
## 
## data:  R1C
## W = 0.17373, p-value < 2.2e-16

\(H_0\)= La serie sigue una distribución normal.

Se observa que el \(p-value\) \(<\) \(0.05\), concluyendo que a un nivel del \(95%\) de confianza se rechaza la hipotesis nula de normalidad. Por lo tanto, la serie que analisamos no sigue una distribucion normal.

VAR

\(6.\)Para un nivel de significancia de \(α_1\) \(=\) \(0.01\), \(α_2 = 0.05\), \(α_3 = 0.1\) Calcule el Value at Risk, con los siguientes métodos (Exprese sus resultados en términos monetarios para para una cartera de \(100 000\) délares).\((6pts)\)

  1. Value at Risk de con datos históricos para cada $α $
  2. Value at Risk asumiendo una que los datos se distribuyen como una normal con media µ y varianza \(σ^2\), para un nivel de confianza de \(α\)
  3. Value at Risk - Montecarlo Para cada α realice las siguiente simulación:

Realice \(10 000\) simulaciones de un proceso browniano con media µ y varianza \(σ^2\) (A partir de los retornos continuos de la pregunta 2) Calcule el VaR de cada simulación y guarde su resultado en un vector de datos. Grafique la distribución de los VaR simulados. Calcule el promedio, y su intervalo de confianza con los percentiles \(0.025\) y \(0.975\) de los datos simulados.

VAR Historico

# Cartera de 100 000 dolares

niveldeconf <- c(0.01, 0.05, 0.1)

varhistorico<-  numeric(length = 3)

varhistorico.monet <- numeric(length = 3)
for (i in 1:3) {
  varhistorico[i] <- quantile(R1C, niveldeconf[i])
  varhistorico.monet[i] <- (exp(varhistorico[i]) - 1) * 100000
}

#Terminos discretos

varhistorico.monet
## [1] -7974.191 -5512.301 -3834.808

Ahora se puede interpretar el var historico en terminos discretos. El monto mínimo que se perdería al nivel de confianza de \(99%\) cuando \(\alpha\) \(=\) \(0.01\) es de \(\$\) \(727.325\).

Con un nivel de confianza del \(95%\), cuando el \(\alpha\) \(=\) \(0.05\), se perderia como mínimo \(\$5,512.301\).

Con un nivel de confianza del \(90%\), cuando el \(\alpha\) \(=\) \(0.1\), se perderia como mínimo \(\$3,834.808\).

VAR Parametrico

niveldeconf <- c(0.01, 0.05, 0.1)

varparametrico <-  numeric(length = 3)

varparametrico.monet <- numeric(length = 3)

for (i in 1:3) {
  varparametrico[i] <- qnorm(niveldeconf[i], media, desviacion.estandar,
                              lower.tail = TRUE)
  varparametrico.monet[i] <- (exp(varparametrico[i]) - 1) * 100000
}

varparametrico.monet
## [1] -32089.56 -24130.55 -19513.11

Ahora se puede interpretar el var parametrico en terminos discretos esto quiere decir en terminos monetarios. El monto mínimo que se perdería al nivel de \(99%\) cuando \(\alpha\) \(=\) \(0.01\) es de \(\$32,089.56\).

Con un nivel de confianza del \(95%\), cuando el \(\alpha\) \(=\) \(0.05\), se perdería como mínimo \(\$24,130.55\).

Con un nivel de confianza del \(90%\), cuando el \(\alpha\) \(=\) \(0.1\), se perderia como mínimo \(\$19,513.11\).

Var Montecarlo

Ahora para aplicar el metodo de Var Montercalo, se tiene que dividir el proceso para cada nivel de confianza, por otro lado, para lograr hacer las \(10,000\) simulaciones se tendra que crear un bucle y dentro de estas \(10,000\) repeticiones, se le pide al programa que genere una distribucion normal con media y desviación estandar de los retornos IFRX. Posterior que se hallen los retornos simulados y halle el valor del var para cada simulación, luego para interpretar los datos se debe de transformar en discretos.

Todo ello se va realizar para cada nivel de confianza, se graficara las distribuciones obtenidas, se calculara la media, desviacion estandar y los intervalos de confianza para los percentiles \(0.025%\) y \(0.975%\)

Var Montecarlo al 99% del nivel de confianza

niveldeconfianza <- c(0.01, 0.05, 0.1)

set.seed(2106)

VAR.99 <- numeric()
for (i in 1:10000) {
  changes <- rnorm(length(R1C),mean = 1 + media,sd = desviacion.estandar)
  sim.ts <- cumprod(c(as.numeric(IFRX.data[1]),changes))
  sim.R <- diff(log(sim.ts))
  sim.q <- quantile(sim.R, 0.01, na.rm = TRUE)
  sim.VAR <- exp(sim.q)-1
  VAR.99[i] <- sim.VAR
}


mean(VAR.99)
## [1] -0.3744032
sd(VAR.99)
## [1] 0.03394856
#Valores discretos

mean.monet.99<-c(mean(VAR.99)*100000)
sd.monet.99<-c(sd(VAR.99)*100000)

mean.monet.99
## [1] -37440.32
sd.monet.99
## [1] 3394.856
plot(density(VAR.99))

q.1.025<-quantile(VAR.99,0.025)
q.1.975<-quantile(VAR.99,0.975)

quantile.1.025<- c(q.1.025*100000)
quantile.1.97.5<- c(q.1.975*100000)

quantile.1.97.5
##     97.5% 
## -31291.92
quantile.1.025
##   2.5% 
## -44498

De los valores obtenidos se puede decir lo siguiente: la maxima perdida media esperada es de \(37,440\$\), estos valores estan en terminos monetarios porque se mutiplicaron por \(100,000\$\) de la cartera. Con respecto a la desviasión estandar se puede decir lo siguiente, este también se calculo multplicando la sd por \(100,000\$\) de la cartera y nos dio \(3,394\$\) esto quiere decir que a dicho valor se desviará de la media. Ahora analizando los cuantiles \(0.025\) y \(0.975\) podemos decir que la maxima perdida se encontratria entre estos valores \(31,291\$\) y \(44,444\$\)

Var Montecarlo al 95% del nivel de confianza

set.seed(2106)

VAR.95 <- numeric()
for (i in 1:10000) {
  changes <- rnorm(length(R1C),mean = 1 + media,sd = desviacion.estandar)
  sim.ts <- cumprod(c(as.numeric(IFRX.data[1]),changes))
  sim.R <- diff(log(sim.ts))
  sim.q <- quantile(sim.R, 0.05, na.rm = TRUE)
  sim.VAR <- exp(sim.q)-1
  VAR.95[i] <- sim.VAR
}

#Valores  Discretos

mean(VAR.95)
## [1] -0.2717765
sd(VAR.95)
## [1] 0.02086441
mean.monet.95<-c(mean(VAR.95)*100000)
sd.monet.95<-c(sd(VAR.95)*100000)

mean.monet.95
## [1] -27177.65
sd.monet.95
## [1] 2086.441
plot(density(VAR.95))

q.2.025<-quantile(VAR.95,0.025)
q.2.975<-quantile(VAR.95,0.975)

quantile.2.025<- c(q.2.025*100000)
quantile.2.97.5<- c(q.2.975*100000)

quantile.2.97.5
##    97.5% 
## -23261.4
quantile.2.025
##      2.5% 
## -31440.81

De los valores obtenidos se puede decir lo siguiente: la maxima perdida media esperada a un nivel de confianza del \(99\%\) es de \(\$27,177\), estos valores estan en terminos monetarios porque se mutiplicaron por \(\$100,000\) de la cartera. Con respecto a la desviasión estandar se puede decir lo siguiente, este también se calculo multplicando la sd por \(\$100,000\) de la cartera y nos dio \(\$2,086\) esto quiere decir que a dicho valor se desviará de la media. Ahora analizando los cuantiles \(0.025\) y \(0.975\) podemos decir que la maxima perdida se encontratria entre estos valores \(\$23,261\) y \(\$31,440\)

Var Montecarlo al 90% del nivel de confianza

set.seed(2106)
VAR.90 <- numeric()
for (i in 1:10000) {
  changes <- rnorm(length(R1C),mean = 1 + media,sd = desviacion.estandar)
  sim.ts <- cumprod(c(as.numeric(IFRX.data[1]),changes))
  sim.R <- diff(log(sim.ts))
  sim.q <- quantile(sim.R, 0.10, na.rm = TRUE)
  sim.VAR <- exp(sim.q)-1
  VAR.90[i] <- sim.VAR
}

#Valores  Discretos

mean(VAR.90)
## [1] -0.2139024
sd(VAR.90)
## [1] 0.01710697
mean.monet.90<-c(mean(VAR.90)*100000)
sd.monet.90<-c(sd(VAR.90)*100000)

mean.monet.90
## [1] -21390.24
sd.monet.90
## [1] 1710.697
plot(density(VAR.90))

q.3.025<-quantile(VAR.90,0.025)
q.3.975<-quantile(VAR.90,0.975)

quantile.3.025<- c(q.3.025*100000)
quantile.3.97.5<- c(q.3.975*100000)

quantile.3.97.5
##     97.5% 
## -18031.61
quantile.3.025
##      2.5% 
## -24792.82

De los valores obtenidos se puede decir lo siguiente: la maxima perdida media esperada a un nivel de confianza del \(90\%\) es de \(\$21,390\), estos valores estan en terminos monetarios porque se mutiplicaron por \(\$100,000\) de la cartera. Con respecto a la desviasión estandar se puede decir lo siguiente, este también se calculo multplicando la sd por \(\$100,000\) de la cartera y nos dio \(\$1,710\) esto quiere decir que a dicho valor se desviará de la media. Ahora analizando los cuantiles \(0.025\) y \(0.975\) podemos decir que la maxima perdida se encontratria entre estos valores \(\$18,031.61\) y \(\$24792.82\)

GARCH(1,1)

\(7.\)Se estimara un modelo GARCH(1,1), estos se van a calular a partir de la varianza incondicional y la prevalencia.

ts.garch <- garch(R1C,c(1,1))
## 
##  ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 
## 
## 
##      I     INITIAL X(I)        D(I)
## 
##      1     2.380067e-02     1.000e+00
##      2     5.000000e-02     1.000e+00
##      3     5.000000e-02     1.000e+00
## 
##     IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
##      0    1 -3.268e+02
##      1    5 -3.270e+02  5.61e-04  2.48e-03  2.4e-02  1.4e+05  2.4e-03  1.74e+02
##      2    6 -3.271e+02  3.36e-04  3.10e-04  2.2e-02  2.0e+00  2.4e-03  5.24e-01
##      3   10 -3.281e+02  3.02e-03  2.21e-03  4.1e-01  2.0e+00  3.8e-02  5.52e-01
##      4   12 -3.285e+02  1.31e-03  9.90e-04  9.4e-02  2.0e+00  7.7e-03  2.72e+02
##      5   14 -3.286e+02  4.02e-04  3.58e-04  1.9e-02  2.0e+00  1.5e-03  8.78e+04
##      6   16 -3.287e+02  9.19e-05  8.78e-05  3.9e-03  2.0e+00  3.1e-04  1.10e+07
##      7   18 -3.287e+02  1.98e-04  1.87e-04  7.7e-03  2.0e+00  6.1e-04  4.18e+08
##      8   20 -3.287e+02  4.24e-05  4.17e-05  1.6e-03  2.0e+00  1.2e-04  4.53e+10
##      9   22 -3.287e+02  8.59e-06  8.52e-06  3.1e-04  2.0e+00  2.5e-05  2.51e+12
##     10   24 -3.287e+02  1.73e-05  1.72e-05  6.2e-04  2.0e+00  4.9e-05  3.28e+13
##     11   26 -3.287e+02  3.48e-06  3.47e-06  1.2e-04  2.0e+00  9.8e-06  1.64e+15
##     12   28 -3.288e+02  6.98e-06  6.96e-06  2.5e-04  2.0e+00  2.0e-05  1.92e+16
##     13   30 -3.288e+02  1.40e-06  1.40e-06  5.0e-05  2.0e+00  3.9e-06  8.49e+17
##     14   32 -3.288e+02  2.80e-06  2.80e-06  9.9e-05  2.0e+00  7.9e-06  7.61e+18
##     15   34 -3.288e+02  5.61e-07  5.60e-07  2.0e-05  2.0e+00  1.6e-06  2.32e+20
##     16   36 -3.288e+02  1.12e-06  1.12e-06  4.0e-05  2.0e+00  3.1e-06  9.02e+20
##     17   38 -3.288e+02  2.25e-06  2.24e-06  8.0e-05  2.0e+00  6.3e-06  5.27e+21
##     18   40 -3.288e+02  4.50e-07  4.48e-07  1.6e-05  2.0e+00  1.3e-06  7.32e+22
##     19   42 -3.288e+02  9.12e-08  7.52e-08  3.2e-06  2.0e+00  2.5e-07  1.07e+23
##     20   44 -3.288e+02  1.84e-07  1.31e-07  6.4e-06  2.0e+00  5.0e-07  1.07e+23
##     21   46 -3.288e+02  3.69e-08  3.66e-08  1.3e-06  8.8e+01  1.0e-07  1.07e+23
##     22   48 -3.288e+02  7.38e-08  7.36e-08  2.6e-06  1.1e+02  2.0e-07  1.11e+23
##     23   50 -3.288e+02  1.48e-07  1.47e-07  5.1e-06  5.5e+02  4.0e-07  1.45e+23
##     24   53 -3.288e+02  2.95e-09  2.95e-09  1.0e-07  1.1e+06  8.1e-09  7.40e+23
##     25   56 -3.288e+02  2.36e-08  2.36e-08  8.2e-07  3.4e+05  6.4e-08  3.21e+25
##     26   59 -3.288e+02  4.72e-10  4.72e-10  1.6e-08  7.2e+08  1.3e-09  2.89e+27
##     27   61 -3.288e+02  9.44e-10  9.43e-10  3.3e-08  9.1e+08  2.6e-09  2.86e+29
##     28   63 -3.288e+02  1.89e-10  1.89e-10  6.5e-09  2.3e+11  5.2e-10  2.86e+31
##     29   66 -3.288e+02  3.78e-12  3.77e-12  1.3e-10  1.9e+03  1.0e-11 -3.66e-01
##     30   68 -3.288e+02  7.55e-12  7.55e-12  2.6e-10  2.2e+04  2.1e-11 -3.66e-01
##     31   70 -3.288e+02  1.51e-12  1.51e-12  5.2e-11  3.7e+06  4.1e-12 -3.66e-01
##     32   72 -3.288e+02  3.02e-12  3.02e-12  1.0e-10  2.9e+05  8.3e-12 -3.66e-01
##     33   74 -3.288e+02  6.04e-13  6.04e-13  2.1e-11  8.0e+03  1.7e-12 -3.66e-01
##     34   76 -3.288e+02  1.21e-12  1.21e-12  4.2e-11  9.5e+03  3.3e-12 -3.66e-01
##     35   78 -3.288e+02  2.41e-13  2.41e-13  8.4e-12  4.8e+02  6.6e-13 -3.66e-01
##     36   80 -3.288e+02  4.83e-13  4.83e-13  1.7e-11  5.9e+02  1.3e-12 -3.66e-01
##     37   82 -3.288e+02  9.72e-14  9.66e-14  3.3e-12  3.1e+01  2.6e-13 -3.60e-01
##     38   84 -3.288e+02  1.93e-13  1.93e-13  6.7e-12  3.8e+01  5.3e-13 -3.61e-01
##     39   86 -3.288e+02  3.87e-13  3.86e-13  1.3e-11  2.9e+00  1.1e-12 -2.68e-01
##     40   89 -3.288e+02  8.30e-15  7.73e-15  2.7e-13  2.0e+00  2.1e-14 -3.57e-01
##     41   91 -3.288e+02  1.42e-14  1.55e-14  5.4e-13  2.0e+00  4.2e-14 -3.00e-01
##     42   93 -3.288e+02  3.18e-14  3.09e-14  1.1e-12  2.0e+00  8.4e-14 -3.21e-01
##     43   96 -3.288e+02 -3.04e+07  6.18e-16  2.1e-14  2.0e+00  1.7e-15 -3.64e-01
## 
##  ***** FALSE CONVERGENCE *****
## 
##  FUNCTION    -3.287552e+02   RELDX        2.143e-14
##  FUNC. EVALS      96         GRAD. EVALS      43
##  PRELDF       6.182e-16      NPRELDF     -3.640e-01
## 
##      I      FINAL X(I)        D(I)          G(I)
## 
##      1    2.538790e-02     1.000e+00    -1.820e+01
##      2    4.721117e-16     1.000e+00     1.189e+02
##      3    3.896942e-02     1.000e+00    -4.981e-01
## Warning in garch(R1C, c(1, 1)): singular information
summary(ts.garch)
## 
## Call:
## garch(x = R1C, order = c(1, 1))
## 
## Model:
## GARCH(1,1)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -15.38329  -0.14680  -0.02034   0.12948   1.02913 
## 
## Coefficient(s):
##     Estimate  Std. Error  t value Pr(>|t|)
## a0 2.539e-02          NA       NA       NA
## a1 4.721e-16          NA       NA       NA
## b1 3.897e-02          NA       NA       NA
## 
## Diagnostic Tests:
##  Jarque Bera Test
## 
## data:  Residuals
## X-squared = 501682, df = 2, p-value < 2.2e-16
## 
## 
##  Box-Ljung test
## 
## data:  Squared.Residuals
## X-squared = 0.0042876, df = 1, p-value = 0.9478
ts.garch
## 
## Call:
## garch(x = R1C, order = c(1, 1))
## 
## Coefficient(s):
##        a0         a1         b1  
## 2.539e-02  4.721e-16  3.897e-02

En este caso es un autorregresivo AR(1) y MA(1) que son las medias moviles. Dicho modelo no nos arroja el impacto de las variables estimadas por el t-student ni el p-value, asi que no podriamos saber si nuestras variables son significativas o no. Pero existe un componente que si se debe destacar “b1” este mide la volatilidad que acompaña al p en t-1 que en este caso es \(3.87e-02\), nos indica que la volatilidad es baja. Con respecto al Box-Ljung test, el p-value es \(0.09478 >0.05\) dice que los residuos son independientes, pero dado a que solo es un valor estdistico, no se puede conluir nada.

Coefgarch <- ts.garch$coef; Coefgarch
##           a0           a1           b1 
## 2.538790e-02 4.721117e-16 3.896942e-02
alfacero <- Coefgarch[1]
alfauno <- Coefgarch[2]
beta <- Coefgarch[3]
VarianzaIncondicional <- (alfacero / (1 - alfauno - beta))
Persistencia <- (alfauno + beta)
VarianzaIncondicional
##         a0 
## 0.02641737
Persistencia
##         a1 
## 0.03896942

Persistencia

La persistencia muestra la velocidad en que la varianza de los choques de la varianza vuelven a sus valores normales a largo plazo.

y esta se halla de la siguiente manera

\(γ=α_1+β\)

en este caso a nosotros nos sale \(0.0389\) esta es menor a uno, esto quiere decir que los retornos son estacionarios y volveran a su horizonte normal.

Varianza Incondicional

Esta representa la volatilidad promedio diaria de los rentiminetos de IFXR. Esta se halla de la siguiente manera:

\(h=\frac{α_0} {1−α_1−β}\)

La varianza incondicional es \(0.02641737\).