instalando archivos

## [[1]]
## [1] "pdfetch"   "stats"     "graphics"  "grDevices" "utils"     "datasets" 
## [7] "methods"   "base"     
## 
## [[2]]
## [1] "tseries"   "pdfetch"   "stats"     "graphics"  "grDevices" "utils"    
## [7] "datasets"  "methods"   "base"     
## 
## [[3]]
##  [1] "forcats"   "stringr"   "dplyr"     "purrr"     "readr"     "tidyr"    
##  [7] "tibble"    "ggplot2"   "tidyverse" "tseries"   "pdfetch"   "stats"    
## [13] "graphics"  "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[4]]
##  [1] "forecast"  "forcats"   "stringr"   "dplyr"     "purrr"     "readr"    
##  [7] "tidyr"     "tibble"    "ggplot2"   "tidyverse" "tseries"   "pdfetch"  
## [13] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"  
## [19] "base"

p1 Importe de datos

Importar los datos de los precios desde con fecha de inicio “2019-01-01” y fecha de fin “2020-01-01”

Se explicara los cálculos realizados en R, para activos financieros individuales, en este caso, será para la acción de FARO Technologies, Inc.cuyo nemotécnico es FARO.

FARO desarrolla tecnología de medición en 3D. La empresa desarrolla y comercializa dispositivos (brazo de medición, láser tracker, escáner láser) y software de obtención de imágenes y medición asistidas por ordenador. La tecnología de FARO permite una medición en 3D de alta precisión, obtención de imágenes y comparación de piezas y estructuras compuestas dentro de los procesos de producción y control de calidad.

En este trabajo se analizara los retornos de la empresa FARO durante el periodo 2029-01-01 al 2020-01-01 para ello se utilizaran gráficas y test que permitiran obtener los resultados del desarollo de sus retornos.

Para poder importar los datos que se encuentran en Yahoo Finance primero se debe de instalar paquetes con el comando packages, estos permitiran las descarga de los datos en R

Luego se debe de cargar las librerias con el comando library para poder ejecutar los packages

FAROdata <- pdfetch_YAHOO("^GSPC",from = as.Date("2019-01-01"),to = as.Date("2020-01-01"), interval = '1d')  #DATOS DE FARO

p2: calculo de los retornos

Para el cálculo de los retornos de los precios de FORO se debe de crear una serie de tiempo. Esta serie de tiempo se crea con un objeto Time-Series, este indica al software que se tomaron muestras equidistantes en el tiempo.

tsFARO <- ts(FAROdata$`^GSPC.close`,start = c(2019,1),frequency=356.25)

Se cálcula los retornos por medio de la diferencia de logatirmos con la función diff

d_FARO <- diff(tsFARO)/tsFARO[-length(tsFARO)]
mu <- mean(d_FARO)
s2 <- var(d_FARO)
s <- sd(d_FARO)
d_FARO <- diff(tsFARO)/tsFARO[-length(tsFARO)]
plot(d_FARO)

l_FARO<-diff(log(tsFARO))
mu<-mean(l_FARO)
s2<-var(l_FARO)
s<-sd(l_FARO)
ret_cont_FARO=diff(log(tsFARO))
plot(ret_cont_FARO)

p3: Análisis decriptivo

En este apartado se calcula medidas de tendencia central. Para el cálculo de la medida se utiliza el comando median, indicando sobre que variables se desea hacer el cálculo

Se obtiene una media de FARO de 0.001005693. La varianza de FARO es 0.0000621474.

Estos resultados nos muestran que los datos se encuentran en mayor porcentaje en la parte central de la gráfica. Los valores de las medidas de tendia central son casi cero, esto significa que no habido un cambio significativo ne los precios de FARO durante el periodo 2019-01-01 al 2020-01-01.

La desviación estandar es de 0.7883362% en esta serie de precios,la desviación estandar permite calcular el cambio en los precios. 0.78833625% muestra que en el periodo 2019-01-01 al 2010-01-01 no hubo variaciones considerables de los precios de FARO.

El histrograma muestra que la serie de precios de FARO se mantinen en mayor porcertaje en la parte central de la muestra. Esta gráfica nos muestra que los precios de la serie FARO se mantubieron sin variaciones significativas.Es necesario de un análisis de test de normalidad para tener resultados mas exaptos.

media_ret_cont=mean(ret_cont_FARO)
media_ret_cont
## [1] 0.001005693
var_ret_cont=var(ret_cont_FARO)
var_ret_cont
##              ^GSPC.close
## ^GSPC.close 0.0000621474
sd_ret_cont=sd(ret_cont_FARO)
sd_ret_cont
## [1] 0.007883362
hist(ret_cont_FARO)

p4: Gráfico de la distribucion de los retornos (continuos)

En este apartado se graficó la distribución de los retornos de FARO mediante un histograma. Este gráfico permite observar la distribución de datos numéricos a traves de barras. Cada barra grafica el número de veces que se observaron datos en un rango determinado.Para crear un histograma se utiliza la función hist(), esta gráfica tiene un argumento x un vestor numperico.

Para cambiar el títullo del gráfico se utiliza el argumento main, y el nombre de los ejes X y Y con xlab y yla.

El histograma permite realizar un primer análisis sobre la distribución de los retornos de FARO. La gráfica muestra en una primera instancia que la distribución de los datos se asemeja a una distribución normal, pero muestran que las barras sobrepasan la curva de normalidad delimitada por una linea de color rojo.El gráfico indica que los retornos de FARO no siguen una distribución normal entre 2019-01-01 y 2020-01-01. Para un mejor análisis de la distribución de los retornos de FARO es necesario aplicar los test estadísticos de normalidad.

x<-seq(-0.1,0.1,by=0.01)
hist(
     l_FARO,prob=TRUE,ylim=c(0,100),xlim = c(-0.1,0.1),breaks = 20,col = "grey94",
     main = c("Histograma de los retornos"),
     xlab = expression(r==ln(P[t]/P[t-1])),
     ylab=c("Densidad"),
    )
lines(density(l_FARO),lwd=1.5,lty=2)
curve(dnorm(x,mean=mu,sd=s),lwd=2,lty=2,col="red",add = T)

# p5: Test de normalidad:

Se realizo los test de normalidad * 1) Jarque-Bera * 2) Kolmogorov * 3) Shapiro-Wilk

Para la utilización del test de normalidad de Jarque-Bera en el primer apartado se cargo el paquete tseries mediante la función library(tseires)

Ya se cuenta con el objeto en el cual se aplicara el test para ello se debe de digitar jarque.bera.test(l_FARO)

El test de Jarque-Bera tiene como hipótesis nula:

H0: La serie de precios de FARO tiene asimetría y la curtosis de una distribución normal.

H1: La serie de precios de FARO no tiene curtosis y asimetría de una distribución normal.

El nivel de significancia que se trabajará es de 0.05.

A un nivel de significancia del 5%. la hipótesis nula de normalidad se rechaza debido a que p-value<0.05.Bajo el test de Jarque-Bera la serie FARO no tiene curtosis y asimetría de una distribución normal.

El test de Kolmogorv tiene como hipótesis nula:

H0: La serie de precios de FARO tiene una distribución normal.

H1: La serie de precios de FARO no tiene una distribución normal.

El nivel de significancia que se trabajará es de 0.05. Se utilizará un nivel de confianza del 95% y un nivel de significancia del 5%,la hipótesis nula de normalidad se rechazaa debido a que p-value<0.05.Bajo el test de Kolmogorv la serie FARO no sigue una distribución normal.

EL test de Shapiro-wilk tiene como hipótesis nula:

H0: La serie de precios de FARO tiene una distribución normal.

H1: La serie de precios de FARO no tiene una distribución normal.

El nivel de significancia que se trabajará es de 0.05. A un nivel de significancia del 5%,la hipótesis nula de normalidad se rechazaa debido a que p-value<0.05.Bajo el test de Shapiro-wilk la serie FARO no sigue una distribución normal.

Se concluye que los retornosd de la serie Faro no siguen una dsitribución normal.

jarque.bera.test(l_FARO)
## 
##  Jarque Bera Test
## 
## data:  l_FARO
## X-squared = 125.76, df = 2, p-value < 0.00000000000000022
ks.test(l_FARO, "pnorm", mean=mu, sd=s)
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  l_FARO
## D = 0.089311, p-value = 0.03648
## alternative hypothesis: two-sided
shapiro.test(l_FARO)
## 
##  Shapiro-Wilk normality test
## 
## data:  l_FARO
## W = 0.94326, p-value = 0.00000002771

p6: Calculo de Value at Risk

Value at risk o valor en riesgo cuantifica el riesgo de mercado para una cartera utilizando técnicas de estadística.Para ello el var mide la pérdida máxima de la cartera, en un periodo determinado con un cierto nivel de confianza. Se utilizo este método debido a que este indicador se encuentra muy desarrollado en el mundo financeiro de los mercados de capitales.

Se tiene un nivel de significancia de α1 = 0.01, α2 = 0.05, α3 = 0.1 para calcular el Value at Risk mediante los métodos de datos históricos para cada α,método de varianza y el método de Montecarlo.

Para la utilización de Value at Risk en el primer apartado se cargo los paquetes tidyr y ggplot2.

Se calculo Value at Risk para los precios de FARO.

Este método calcula el Var a través de datos históricos, suponiendo que todas las variaciones de precios futuras de los activos ya se han observado en el pasado, se distribuira de igual manera que los datos observados.

α1 = 0.01 A un nivel de confianza de 1% entre el periodo 2029-01-01 a 2020-01-01 , el monto mínimo que se perderia por las acciones de FARO sería de -2535.171

α2 = 0.05 A un nivel de confianza de 5% entre el periodo 2029-01-01 a 2020-01-01 , el monto mínimo que se perderia por las acciones de FARO sería de -1208.628

α3 = 0.1 A un nivel de confianza de 10% entre el periodo 2029-01-01 a 2020-01-01 , el monto mínimo que se perderia por las acciones de FARO sería de -728.274

W<-100000

alpha <- 0.01
q1 <- quantile(x=l_FARO, alpha)
mean(exp(q1)-1)
## [1] -0.02535171
VAR1 <- W*(exp(q1)-1)
W<-100000

alpha <- 0.05
q1 <- quantile(x=l_FARO, alpha)
mean(exp(q1)-1)
## [1] -0.01208628
VAR1 <- W*(exp(q1)-1)
W<-100000

alpha <- 0.1
q1 <- quantile(x=l_FARO, alpha)
mean(exp(q1)-1)
## [1] -0.00728274
VAR1 <- W*(exp(q1)-1)

Este método supone que la distribución de las rentabilidades de los factores sigue una distribución normal multivariante y la cartera es función lineal de lso factores.

El Var tiene un valor de -0.01733375. La pérdida no seria menor a -0.01733375.

set.seed(1000)
VARp<-qnorm(0.01,mean = mu,sd = s,lower.tail = T);VARp
## [1] -0.01733375
#En términos discretos
exp(VARp)-1
## [1] -0.01718439

Se realizo 10000 simulaciones de un proceso browniano con media µ y varianza σ2 (A partir de los retornos continuos de la pregunta. Se Calculo el VaR de cada simulación Grafique la distribuci´on de los VaR simulados. Calcule el promedio, y su intervalo de confianza con los percentiles 0.025 y 0.975 de los datos simulados.

set.seed(1000)
simulacion <- rnorm(10000,mean = mu,sd = s)
VARsim<-quantile(simulacion,0.01);VARsim
##          1% 
## -0.01723401
exp(VARsim)-1
##          1% 
## -0.01708635

VAR: Monte Carlo

VAR.mc <- numeric()
for (i in 1:1000) {
  changes <- rnorm(length(l_FARO),mean=1+mu,sd=s)
  sim.ts <- cumprod(c(as.numeric(tsFARO[1]),changes))
  sim.R <- diff(log(sim.ts))
  sim.q <- quantile(sim.R,0.01,na.rm = T)
  sim.VAR <- exp(sim.q)-1
  VAR.mc[i] <- sim.VAR
}
mean(VAR.mc)
## [1] -0.01662756
sd(VAR.mc)
## [1] 0.00166096
plot(density(VAR.mc))

quantile(VAR.mc,0.025)
##        2.5% 
## -0.02013577
quantile(VAR.mc,0.975)
##       97.5% 
## -0.01365065

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this: