Instalación de paquetes - Quantmod

Se instala la libreria quantmod , con el fin de visualizar de manera correcta y detallada los datos financieros, que se presentaran para los activos bajo estudio.

Riesgo individual - Introducción

El riesgo es una medida de la incertidumbre asociada con el rendimiento de una inversión. Este, Refleja la posibilidad de que los precios de los activos financieros fluctúen debido a cambios en las condiciones del mercado, como tasas de interés, tipos de cambio, precios de productos básicos y volatilidad del mercado. Dado esto, los inversores buscan diversificar su cartera y mejorar la cobertura de sus acciones generando un portafolio o análisis de riesgo.

con esto, según Markowitz (1950), el riesgo es:

\[ \sigma^2 = \frac{1}{T-1} \sum_{i = 1}^{T} (r_i - \bar{r})^2 \]

Este documento busca analizar el riesgo presente en los activos: SPDR S&P 500 ETF Trust, el cual refleja el desempeño de las 500 principales empresas que cotizan en la bolsa de EE.UU, la acción SPDR Bloomberg 1-3 Month T-Bill ETF la cual refleja el desempeño de los bonos del tesoro de los estados unidos y por ultimó Alphabet Inc mejor conocida como Google, la cual refleja el valor de la empresa en el mercado de valores. Esto mediante la comparación de los tres activos en la misma proporción de tiempo: 2013, 2014 y 2015.

Descarga de Datos - Activos financieros SPY, BILL y Alphabet Inc (Google)

Se realiza la descarga de los datos por parte de cada uno de los activos: SPDR S&P 500 ETF Trust, e SPDR Bloomberg 1-3 Month T-Bill ETF y Alphabet Inc. Esto desde la plataforma yahoo Finance. También se procede a nombrar la data de cada activo o acción, en este caso de la siguiente manera: SPY, TBILL y Google.

data_spy =getSymbols("SPY", from= "2012-12-31",
                     to="2016-01-01",
                     auto.assign = F)
head(data_spy,2)
##            SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
## 2012-12-31   139.66   142.56  139.54    142.41  243935200     116.5059
## 2013-01-02   145.11   146.15  144.73    146.06  192059000     119.4920
tail(data_spy,2)
##            SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
## 2015-12-30   207.11   207.21  205.76    205.93   63317700     178.8482
## 2015-12-31   205.13   205.89  203.87    203.87  114877900     177.0592
data_TBILL =getSymbols("BIL", from= "2012-12-31",
                       to="2016-01-01",
                       auto.assign = F)
head(data_TBILL,2)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2012-12-31    91.64    91.64   91.62     91.62     373700     81.38255
## 2013-01-02    91.62    91.64   91.62     91.62    1277900     81.38255
tail(data_TBILL,2)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2015-12-30    91.38    91.38   91.36     91.38     299100     81.16936
## 2015-12-31    91.38    91.38   91.36     91.36     447800     81.15160
data_google =getSymbols("GOOG", from= "2012-12-31",
                       to="2016-01-01",
                       auto.assign = F)
head(data_TBILL,2)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2012-12-31    91.64    91.64   91.62     91.62     373700     81.38255
## 2013-01-02    91.62    91.64   91.62     91.62    1277900     81.38255
tail(data_TBILL,2)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2015-12-30    91.38    91.38   91.36     91.38     299100     81.16936
## 2015-12-31    91.38    91.38   91.36     91.36     447800     81.15160

Retornos- Activos Financieros SPY, BIL y Alphabet Inc (Google)

En este item se procede con el cálculo de los retornos porcentuales sucesivos de una serie temporal de precios ajustados para cada uno de los instrumentos financieros: SPY, BIL y Alphabet Inc (Google).

ret_spy=Delt(data_spy$SPY.Adjusted)
tail(ret_spy)
##            Delt.1.arithmetic
## 2015-12-23       0.012383653
## 2015-12-24      -0.001650588
## 2015-12-28      -0.002285088
## 2015-12-29       0.010671900
## 2015-12-30      -0.007087790
## 2015-12-31      -0.010003329
ret_TBILL=Delt(data_TBILL$BIL.Adjusted)
tail(ret_TBILL)
##            Delt.1.arithmetic
## 2015-12-23      0.0000000000
## 2015-12-24      0.0002188648
## 2015-12-28     -0.0002188169
## 2015-12-29      0.0000000000
## 2015-12-30      0.0002188648
## 2015-12-31     -0.0002188169
ret_google=Delt(data_google$GOOG.Adjusted)
tail(ret_google)
##            Delt.1.arithmetic
## 2015-12-23      0.0004133097
## 2015-12-24     -0.0025456398
## 2015-12-28      0.0188535968
## 2015-12-29      0.0184785015
## 2015-12-30     -0.0072109859
## 2015-12-31     -0.0157198185
rets=cbind(ret_spy, ret_TBILL, ret_google)
head(rets,6)
##            Delt.1.arithmetic Delt.1.arithmetic.1 Delt.1.arithmetic.2
## 2012-12-31                NA                  NA                  NA
## 2013-01-02       0.025630120        0.0000000000        0.0224348468
## 2013-01-03      -0.002259091        0.0000000000        0.0005807685
## 2013-01-04       0.004391594        0.0002177750        0.0197603839
## 2013-01-07      -0.002732411       -0.0004361112       -0.0043632609
## 2013-01-08      -0.002878087        0.0000000000       -0.0019735156
names(rets)=c("SPY","TBILL","GOOG")
head(rets,6)
##                     SPY         TBILL          GOOG
## 2012-12-31           NA            NA            NA
## 2013-01-02  0.025630120  0.0000000000  0.0224348468
## 2013-01-03 -0.002259091  0.0000000000  0.0005807685
## 2013-01-04  0.004391594  0.0002177750  0.0197603839
## 2013-01-07 -0.002732411 -0.0004361112 -0.0043632609
## 2013-01-08 -0.002878087  0.0000000000 -0.0019735156

Retornos Brutos y Acumulados - SPY, BIL y Alphabet Inc (Google)

Se calculan los retornos acumulados y brutos para un lapso de tres años, esto mediante factores o matriz de crecimiento, sobre los activos financieras. Estos retornos se calculan de la siguiente forma:

rets[1, ]=c(0,0,0)
gross_ret=1+rets
head(rets,6)
##                     SPY         TBILL          GOOG
## 2012-12-31  0.000000000  0.0000000000  0.0000000000
## 2013-01-02  0.025630120  0.0000000000  0.0224348468
## 2013-01-03 -0.002259091  0.0000000000  0.0005807685
## 2013-01-04  0.004391594  0.0002177750  0.0197603839
## 2013-01-07 -0.002732411 -0.0004361112 -0.0043632609
## 2013-01-08 -0.002878087  0.0000000000 -0.0019735156
head(gross_ret,6)
##                  SPY     TBILL      GOOG
## 2012-12-31 1.0000000 1.0000000 1.0000000
## 2013-01-02 1.0256301 1.0000000 1.0224348
## 2013-01-03 0.9977409 1.0000000 1.0005808
## 2013-01-04 1.0043916 1.0002178 1.0197604
## 2013-01-07 0.9972676 0.9995639 0.9956367
## 2013-01-08 0.9971219 1.0000000 0.9980265
cum_rets=cumprod(gross_ret)
head(cum_rets)
##                 SPY     TBILL     GOOG
## 2012-12-31 1.000000 1.0000000 1.000000
## 2013-01-02 1.025630 1.0000000 1.022435
## 2013-01-03 1.023313 1.0000000 1.023029
## 2013-01-04 1.027807 1.0002178 1.043244
## 2013-01-07 1.024999 0.9997816 1.038692
## 2013-01-08 1.022049 0.9997816 1.036642
tail(cum_rets)
##                 SPY     TBILL     GOOG
## 2015-12-23 1.535771 0.9971622 2.129329
## 2015-12-24 1.533236 0.9973804 2.123908
## 2015-12-28 1.529733 0.9971622 2.163952
## 2015-12-29 1.546058 0.9971622 2.203938
## 2015-12-30 1.535100 0.9973804 2.188046
## 2015-12-31 1.519744 0.9971622 2.153650

Graficas SPY, BIL y Alphabet Inc (Google)- Retornos y R. Acumulados de los Activos

En las primeras tres gráficas las cuales llevan como titulo “retornos de S&P 500, T-BILLS y Google” se muestra los retornos de los activos, Google en rojo, SPY en purpura y TBILL en azul. Luego, en la tercera y cuarta grafica se observa los retornos acumulativos de los activos, Google en rojo, SPY en purpura y TBILL en azul.

plot(rets$GOOG, col="red",main="retornos de S&P 500, T-BILLS y Google")

plot(lines(rets$SPY, col="purple",lwd=4))

lines(rets$TBILL, col="blue",lwd=4)

plot(cum_rets$GOOG, col="red")

lines(cum_rets$SPY, col="purple", lwd=4)

lines(cum_rets$TBILL,col = "blue",lwd=4)

Riesgos Activos Financieros SYP, BILL y Alphabet Inc (Google) - Desviación Estandar

Al observar el riesgo, se encuentra lo siguiente:

head(rets)
##                     SPY         TBILL          GOOG
## 2012-12-31  0.000000000  0.0000000000  0.0000000000
## 2013-01-02  0.025630120  0.0000000000  0.0224348468
## 2013-01-03 -0.002259091  0.0000000000  0.0005807685
## 2013-01-04  0.004391594  0.0002177750  0.0197603839
## 2013-01-07 -0.002732411 -0.0004361112 -0.0043632609
## 2013-01-08 -0.002878087  0.0000000000 -0.0019735156
returns=rets[-1, ]
head(returns)
##                     SPY         TBILL          GOOG
## 2013-01-02  0.025630120  0.0000000000  0.0224348468
## 2013-01-03 -0.002259091  0.0000000000  0.0005807685
## 2013-01-04  0.004391594  0.0002177750  0.0197603839
## 2013-01-07 -0.002732411 -0.0004361112 -0.0043632609
## 2013-01-08 -0.002878087  0.0000000000 -0.0019735156
## 2013-01-09  0.002542454  0.0000000000  0.0065730483
sd_spy=sd(returns$SPY)
sd_spy
## [1] 0.008028654
sd_bill=sd(returns$TBILL)
sd_bill 
## [1] 0.0001596503
sd_google=sd(returns$GOOG)
sd_google
## [1] 0.0154402
sd_spy/sd_bill
## [1] 50.289
sd_google/sd_spy
## [1] 1.923136
sd_google/sd_bill
## [1] 96.71259

Al tomar la desviación estandar. El analisis indica que alphabet inc mejor conocido como Google es el activo más rentable en el entorno de variables, dado que este es 96,7 veces más rentable que los bonos del tesoro de los Estados Unidos - T-BILLS -, y también es 1,92 veces más rentable que el activo que refleja el S&P 500. Lo anterior refleja el gran potencial para este activo, pero de igual forma el riesgo que constituye debido a la volatilidad que conlleva. En pocas palabras un activo respaldado por la parte pública o gubernamental es más seguro que un activo respaldado por los resultados financieros de la empresa privada.

Histograma - Activos Financieros SYP, BILL y Alphabet Inc (Google)

Según el histograma:

hist(returns$SPY, breaks=50) 
sd_spy*100
## [1] 0.8028654
sd_spy*3
## [1] 0.02408596
curve(dnorm(x, mean = mean(returns$SPY), sd = sd(returns$SPY)), 
      col = "blue", lwd = 2, add = TRUE)

hist(returns$TBILL, breaks=50) 
sd_spy*100
## [1] 0.8028654
sd_spy*3
## [1] 0.02408596
curve(dnorm(x, mean = mean(returns$SPY), sd = sd(returns$SPY)), 
      col = "blue", lwd = 2, add = TRUE)

hist(returns$GOOG, breaks=50) 
sd_google*100
## [1] 1.54402
sd_google*3
## [1] 0.04632059
curve(dnorm(x, mean = mean(returns$SPY), sd = sd(returns$SPY)), 
      col = "blue", lwd = 2, add = TRUE)

pnorm(1)-pnorm(-1)
## [1] 0.6826895
pnorm(2)-pnorm(-2)
## [1] 0.9544997
pnorm(3)-pnorm(-3)
## [1] 0.9973002

En base a la gráfica - histograma- para cada uno de los activos se observa lo siguiente: El activo Google y SPY tiene tendencia LEPTOCURTICA. Es decir manejan una alta volatilidad y riesgo, esto en base a la distribución de las colas. Por otra parte el activo BIL no presenta mucha variación en su histograma, dado su respaldo y baja volatilidad . Además se calcula la probabilidad en el rango de datos de la muestra.

El riesgo cambia en el tiempo - Retornos de 2013 a 2015

head(returns)
##                     SPY         TBILL          GOOG
## 2013-01-02  0.025630120  0.0000000000  0.0224348468
## 2013-01-03 -0.002259091  0.0000000000  0.0005807685
## 2013-01-04  0.004391594  0.0002177750  0.0197603839
## 2013-01-07 -0.002732411 -0.0004361112 -0.0043632609
## 2013-01-08 -0.002878087  0.0000000000 -0.0019735156
## 2013-01-09  0.002542454  0.0000000000  0.0065730483
str(returns)
## An xts object on 2013-01-02 / 2015-12-31 containing: 
##   Data:    double [756, 3]
##   Columns: SPY, TBILL, GOOG
##   Index:   Date [756] (TZ: "UTC")
##   xts Attributes:
##     $ src    : chr "yahoo"
##     $ updated: POSIXct[1:1], format: "2024-03-12 01:51:42"
# Desv Est. 2013
returns["2013"]
##                      SPY         TBILL          GOOG
## 2013-01-02  2.563012e-02  0.0000000000  0.0224348468
## 2013-01-03 -2.259091e-03  0.0000000000  0.0005807685
## 2013-01-04  4.391594e-03  0.0002177750  0.0197603839
## 2013-01-07 -2.732411e-03 -0.0004361112 -0.0043632609
## 2013-01-08 -2.878087e-03  0.0000000000 -0.0019735156
## 2013-01-09  2.542454e-03  0.0000000000  0.0065730483
## 2013-01-10  7.949424e-03  0.0000000000  0.0045520290
## 2013-01-11 -6.790760e-05  0.0000000000 -0.0020094121
## 2013-01-14 -6.798831e-04  0.0000000000 -0.0226220116
## 2013-01-15  6.803456e-04  0.0000000000  0.0023228624
##        ...                                          
## 2013-12-17 -3.180817e-03  0.0000000000 -0.0029078071
## 2013-12-18  1.707264e-02  0.0002187621  0.0139177513
## 2013-12-19 -1.155800e-03  0.0000000000  0.0013551061
## 2013-12-20  5.816578e-03 -0.0002187142  0.0132569927
## 2013-12-23  5.342902e-03  0.0000000000  0.0131561846
## 2013-12-24  2.191207e-03  0.0000000000 -0.0029234423
## 2013-12-26  5.083916e-03  0.0000000000  0.0050546571
## 2013-12-27 -5.449082e-05  0.0002187621  0.0008412099
## 2013-12-30 -1.627853e-04  0.0000000000 -0.0079935762
## 2013-12-31  4.732781e-03 -0.0004368657  0.0101400431
sd_2013=apply(X =returns["2013"], MARGIN=2, FUN=sd)
sd_2013
##          SPY        TBILL         GOOG 
## 0.0069759209 0.0001583911 0.0138058559
# Desv Est. 2014
returns["2014"]
##                      SPY         TBILL          GOOG
## 2014-01-02 -9.583514e-03  0.0000000000 -6.772482e-03
## 2014-01-03 -1.639127e-04  0.0002182468 -7.294809e-03
## 2014-01-06 -2.898132e-03 -0.0002181992  1.114934e-02
## 2014-01-07  6.141542e-03  0.0002182468  1.927822e-02
## 2014-01-08  2.180161e-04  0.0000000000  2.081091e-03
## 2014-01-09  6.538063e-04 -0.0002181992 -9.630013e-03
## 2014-01-10  2.722728e-03  0.0002182468 -5.305252e-05
## 2014-01-13 -1.330463e-02  0.0000000000 -6.370637e-03
## 2014-01-14  1.089751e-02  0.0000000000  2.352661e-02
## 2014-01-15  5.389918e-03  0.0000000000 -6.785857e-04
##        ...                                          
## 2014-12-17  1.960470e-02  0.0000000000  1.917682e-02
## 2014-12-18  2.472886e-02  0.0002180620  1.229973e-02
## 2014-12-19  4.254923e-03 -0.0002180144  1.027198e-02
## 2014-12-22  4.600187e-03  0.0000000000  1.650042e-02
## 2014-12-23  1.349536e-03  0.0000000000  1.089795e-02
## 2014-12-24  9.615454e-05  0.0002180620 -3.430174e-03
## 2014-12-26  3.224665e-03 -0.0002180144  9.947599e-03
## 2014-12-29  1.343342e-03  0.0000000000 -6.928470e-03
## 2014-12-30 -5.365988e-03  0.0000000000  1.697175e-04
## 2014-12-31 -9.923080e-03  0.0002180620 -7.578874e-03
sd_2014=apply(X =returns["2014"], MARGIN=2, FUN=sd)
sd_2014
##         SPY       TBILL        GOOG 
## 0.007083656 0.000155353 0.013361915
# Desv Est. 2015
returns["2015"]
##                      SPY         TBILL          GOOG
## 2015-01-02 -0.0005352343 -0.0002180144 -0.0030205331
## 2015-01-05 -0.0180594066  0.0002180620 -0.0208456163
## 2015-01-06 -0.0094192996 -0.0002180144 -0.0231770927
## 2015-01-07  0.0124615867  0.0000000000 -0.0017132338
## 2015-01-08  0.0177449381  0.0000000000  0.0031530366
## 2015-01-09 -0.0080136049  0.0000000000 -0.0129505474
## 2015-01-12 -0.0078336604  0.0000000000 -0.0072959398
## 2015-01-13 -0.0028125568  0.0000000000  0.0073698312
## 2015-01-14 -0.0060371877  0.0000000000  0.0094522215
## 2015-01-15 -0.0091606454  0.0000000000  0.0018367875
##        ...                                          
## 2015-12-17 -0.0152380414 -0.0002188169 -0.0114234106
## 2015-12-18 -0.0178151942  0.0002188648 -0.0135036098
## 2015-12-21  0.0082489366 -0.0002188169  0.0114431115
## 2015-12-22  0.0090742456  0.0000000000  0.0029821947
## 2015-12-23  0.0123836529  0.0000000000  0.0004133097
## 2015-12-24 -0.0016505879  0.0002188648 -0.0025456398
## 2015-12-28 -0.0022850880 -0.0002188169  0.0188535968
## 2015-12-29  0.0106719004  0.0000000000  0.0184785015
## 2015-12-30 -0.0070877899  0.0002188648 -0.0072109859
## 2015-12-31 -0.0100033291 -0.0002188169 -0.0157198185
sd_2015=apply(X =returns["2015"], MARGIN=2, FUN=sd)
sd_2015
##         SPY       TBILL        GOOG 
## 0.009721190 0.000165656 0.018585554

Dado lo anterior se desmuestra que el riesgo cambia en el tiempo, esto se deduce mediante calcular y comparar las desviaciones estándar de los retornos de los activos financieros para cada año de 2013 a 2015.

# row - rbind #
# column-  cbind#
sd_all= rbind(sd_2013, sd_2014, sd_2015)
sd_all
##                 SPY        TBILL       GOOG
## sd_2013 0.006975921 0.0001583911 0.01380586
## sd_2014 0.007083656 0.0001553530 0.01336192
## sd_2015 0.009721190 0.0001656560 0.01858555

Se dejan los datos en una sola matriz de estudio, cambio de columna a fila, con el fin de comparar el retorno anual de cada uno de los activos SPY, BIL y Alphabet Inc (Google)

sd_all= rbind(sd_2013, sd_2014, sd_2015)
sd_all
##                 SPY        TBILL       GOOG
## sd_2013 0.006975921 0.0001583911 0.01380586
## sd_2014 0.007083656 0.0001553530 0.01336192
## sd_2015 0.009721190 0.0001656560 0.01858555

Grafico de Barras - Retornos Anuales SYP, BILL y Alphabet Inc (Google)

Finalmente, se calculan las desviaciones estándar anualizadas de los retornos de los activos financieros SYP, BILL y Alphabet Inc (Google). Luego, se crea un gráfico de barras para comparar las desviaciones y visualizar la volatilidad a lo largo del tiempo. En el gráfico, las barras purpuras y rojas representan la volatilidad de SPY, y Alphabet Inc (Google), mientras que las barras azules representan la volatilidad de BIL. Esta visualización nos ayuda a entender cómo varía la volatilidad de estos activos financieros a lo largo del tiempo

nrow(returns["2015"]) # DÍAS DE TRANSACCIÓN #
## [1] 252
sd_all_annual=sqrt(252) *sd_all
sd_all_annual
##               SPY       TBILL      GOOG
## sd_2013 0.1107393 0.002514381 0.2191612
## sd_2014 0.1124495 0.002466153 0.2121138
## sd_2015 0.1543191 0.002629708 0.2950365
barplot(t(sd_all_annual),beside = T,
        col=c("purple","blue","red"),
        main="Desv.Est. anualizada",
        legend.text=c("SPY","T-BILLS","GOOG")) # TRASNCRITA #

Conclusiones

1. Se puede concluir que los bonos de gobierno con madurez entre uno y tres meses poseen un muy bajo riesgo, esto contrario al EFT del S&P 500 y a Google los cuales presentan un riesgo tan alto que es 50.9 veces (SYP) y 96,7 (Google) mayor respectivamente que el activo BIL. Esto se debe a varias cuestiones: Primero, dado el respaldo de los activos del tesoro americano por el gobierno de los estados unidos y su economía estos no presentan un riesgo de alta magnitud, mientras que Google al ser un activo determinado por los resultados financieros de una empresa privada cuentan con un respaldo mucho más bajo. Segundo factor, la desviación estandar de los activos.

2. En cuestión de volatilidad según el histograma se puede observar que el activo BIL tiene una volatilidad baja, en cambio el activo SPY y Google presentan una tendencia leptocurtica es decir presentan una mayor volatidad o riesgo a lo largo del tiempo. Esto se puede observar de igual forma en la distribución y las colas resaltadas.

3. Por ultimó en base a los retornos se puede observar que el activo Google presenta mayor retorno para cada uno de los años en comparación al activo SPY y BIL, esto debido a su mayor riesgo y volatilidad “Entre mayor riesgo mayor retorno” (Esto se puede visualizar en la desviación estandar anualizada”

4. En pocas palabras, un activo de Google y SPY en el portafolio genera un riesgo y un retorno mayor mientras que un activo BIL genera menor rentabilidad pero mayor respaldo .