Riesgo Financiero - Introducción.

En esta publicación, realizaremos un breve ejemplo de cómo llevar a cabo un trade-off en R Studio, basado en tres activos. El primero de ellos es un instrumento libre de riesgo, como lo los ETF, que consisten en TBILL, bonos de gobierno con madurez de 1 a 3 meses. Por otro lado, utilizaremos un activo con riesgo, el cual es el índice Standard & Poor’s y por último tenemos un activo de una empresa con alta presencia en el mundo y en el mercado de valores como es “Microsoft Corporation” el cual va a ser denominado “MSFT”.

En este análisis, exploraremos cómo se pueden comparar y contrastar estos tres tipos de activos en términos de rendimiento, volatilidad y otras métricas relevantes. Además, examinaremos cómo se pueden tomar decisiones informadas al considerar tanto la seguridad como el potencial de retorno en una estrategia de inversión.

Para llevar a cabo todo el proceso mencionado anteriormente, vamos a utilizar la teoría planteada por Harry Markowitz, ganador del Premio Nobel de Economía. La teoría moderna de carteras de Markowitz, también conocida como teoría de la cartera. La cual, proporciona un marco sólido para la toma de decisiones de inversión al considerar la relación entre el riesgo y el rendimiento de los activos.

Con la ayuda de la teoría de Markowitz, podremos construir y analizar carteras óptimas que equilibren el riesgo y el rendimiento de manera eficiente. Este enfoque nos permitirá evaluar cómo se pueden combinar los activos libres de riesgo, como los ETF de TBILL, con activos de riesgo, como el índice Standard & Poor’s, para maximizar el rendimiento esperado dado un nivel de riesgo tolerable.

Al aplicar los principios fundamentales de la teoría de la cartera, podremos tomar decisiones de inversión más informadas y construir carteras que se ajusten a nuestros objetivos financieros y tolerancia al riesgo.para ello tomaremos la siguiente formula

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

Dada la función anterior podemos obterner que la desviación estandar es la siguiente:

\[ Sd = \sqrt{\sigma^2} = \sigma \] Ahora que hemos revisado brevemente la teoría, procederemos con un ejemplo práctico utilizando los activos mencionados. Abordaremos el proceso paso a paso:

1- Cálculo del Retorno de cada Activo

En esta fase, examinaremos los retornos individuales de cada activo. Calcularemos y analizaremos los rendimientos históricos para comprender cómo se han comportado en el pasado.

dicho lo anterior, comenzaremos a analizar los dos activos entre el periodo 31 de dic de 2014 hasta 01 de enero de 2024 en R studio a partir del siguiente código

data_spy=getSymbols("SPY",from="2014-12-31",
                    to="2020-01-01",
                    auto.assign = FALSE)
head(data_spy)
##            SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
## 2014-12-31   207.99   208.19  205.39    205.54  130333800     174.3587
## 2015-01-02   206.38   206.88  204.18    205.43  121465900     174.2654
## 2015-01-05   204.17   204.37  201.35    201.72  169632600     171.1182
## 2015-01-06   202.09   202.72  198.86    199.82  209151400     169.5064
## 2015-01-07   201.42   202.72  200.88    202.31  125346700     171.6186
## 2015-01-08   204.01   206.16  203.99    205.90  147217800     174.6641
tail(data_spy)
##            SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
## 2019-12-23   321.59   321.65  321.06    321.22   52990000     300.6967
## 2019-12-24   321.47   321.52  320.90    321.23   20270000     300.7061
## 2019-12-26   321.65   322.95  321.64    322.94   30911200     302.3069
## 2019-12-27   323.74   323.80  322.28    322.86   42528800     302.2320
## 2019-12-30   322.95   323.10  320.55    321.08   49729100     300.5657
## 2019-12-31   320.53   322.13  320.15    321.86   57077300     301.2959
data_TBill=getSymbols("BIL",from="2014-12-31",
                      to="2020-01-01",
                      auto.assign = FALSE)
head(data_TBill)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2014-12-31    91.48    91.48   91.46     91.48     348100     81.25819
## 2015-01-02    91.46    91.48   91.46     91.46     341000     81.24043
## 2015-01-05    91.46    91.48   91.46     91.48    2518350     81.25819
## 2015-01-06    91.46    91.48   91.46     91.46     541250     81.24043
## 2015-01-07    91.48    91.48   91.46     91.46     153800     81.24043
## 2015-01-08    91.48    91.48   91.46     91.46     236450     81.24043
tail(data_TBill)
##            BIL.Open BIL.High BIL.Low BIL.Close BIL.Volume BIL.Adjusted
## 2019-12-23    91.40    91.41   91.40     91.41    2846500     84.89384
## 2019-12-24    91.42    91.42   91.41     91.42    1042700     84.90311
## 2019-12-26    91.41    91.43   91.41     91.43     956200     84.91242
## 2019-12-27    91.42    91.43   91.42     91.42    1325600     84.90311
## 2019-12-30    91.44    91.44   91.43     91.43    1381300     84.91242
## 2019-12-31    91.45    91.45   91.43     91.43    1406200     84.91242
data_TMSFT=getSymbols("MSFT",from="2014-12-31",
                      to="2020-01-01",
                      auto.assign = FALSE)
head(data_TMSFT)
##            MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
## 2014-12-31     46.73     47.44    46.45      46.45    21552500      40.11038
## 2015-01-02     46.66     47.42    46.54      46.76    27913900      40.37806
## 2015-01-05     46.37     46.73    46.25      46.33    39673900      40.00676
## 2015-01-06     46.38     46.75    45.54      45.65    36447900      39.41956
## 2015-01-07     45.98     46.46    45.49      46.23    29114100      39.92040
## 2015-01-08     46.75     47.75    46.72      47.59    29645200      41.09479
tail(data_TMSFT)
##            MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
## 2019-12-23    158.12    158.12   157.27     157.41    17718200      151.4063
## 2019-12-24    157.48    157.71   157.12     157.38     8989200      151.3774
## 2019-12-26    157.56    158.73   157.40     158.67    14520600      152.6182
## 2019-12-27    159.45    159.55   158.22     158.96    18412800      152.8972
## 2019-12-30    158.99    159.02   156.73     157.59    16348400      151.5794
## 2019-12-31    156.77    157.77   156.45     157.70    18369400      151.6852

Obteniendo las matrices de los dos activos ahora vamos a realizar el proceso de obtener los retornos y retornos acumulados

##Retornos
ret_spy=Delt(data_spy$SPY.Adjusted)
ret_TBill=Delt(data_TBill$BIL.Adjusted)
ret_MSFT = Delt(data_TMSFT$MSFT.Adjusted)

rets=cbind(ret_spy,ret_TBill, ret_MSFT)
names(rets)=c("SPY","TBill", "MSFT")
head(rets,6)
##                      SPY         TBill         MSFT
## 2014-12-31            NA            NA           NA
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
###Retornos acumulados

rets[1,]=c(0,0,0)
gross_ret=1+rets
head(rets)
##                      SPY         TBill         MSFT
## 2014-12-31  0.0000000000  0.0000000000  0.000000000
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
head(gross_ret)
##                  SPY     TBill      MSFT
## 2014-12-31 1.0000000 1.0000000 1.0000000
## 2015-01-02 0.9994649 0.9997814 1.0066736
## 2015-01-05 0.9819404 1.0002186 0.9908043
## 2015-01-06 0.9905810 0.9997814 0.9853225
## 2015-01-07 1.0124611 1.0000000 1.0127054
## 2015-01-08 1.0177453 1.0000000 1.0294183
cum_rets=cumprod(gross_ret)
head(cum_rets)
##                  SPY     TBill      MSFT
## 2014-12-31 1.0000000 1.0000000 1.0000000
## 2015-01-02 0.9994649 0.9997814 1.0066736
## 2015-01-05 0.9814149 1.0000000 0.9974166
## 2015-01-06 0.9721709 0.9997814 0.9827770
## 2015-01-07 0.9842851 0.9997814 0.9952636
## 2015-01-08 1.0017516 0.9997814 1.0245425
tail(cum_rets)
##                 SPY    TBill     MSFT
## 2019-12-23 1.724587 1.044742 3.774740
## 2019-12-24 1.724641 1.044856 3.774020
## 2019-12-26 1.733822 1.044971 3.804956
## 2019-12-27 1.733392 1.044856 3.811910
## 2019-12-30 1.723836 1.044971 3.779057
## 2019-12-31 1.728024 1.044971 3.781695
plot(rets$SPY,col="red",main="Retornos de S&P y Tbills",
     legend(legend = c("MSFT","TBILL","S&P")))

lines(ret_TBill, col = "blue", lwd = 4)

lines(ret_MSFT, col = "red", lwd = 4)

plot(cum_rets$SPY, col = "red", main = "Retornos acumulados de los activos")

lines(cum_rets$TBill, col = "blue", lwd = 2)

lines(cum_rets$MSFT, col = "gray", lwd = 2)

addLegend(legend.loc = "bottomleft", legend = c("SPY", "TBill", "MSFT"), col = c("red", "blue", "gray"), lty = 100, lwd = 2 )

en conclusión podemos observar gráficamente que el activo con mayor retorno efectivamente es el de la empresa privada “MSFT” con una alta diferencia dado que, los retornos casi duplican los del activo del S&P y por último el que genera menor retorno de los activos es el TBILL, algo que, se aplica a la teoría ya que el retorno TBILL es un bono de gobierno los cuales no manejan perdidas pero al ser tan seguro su rentabilidad hace que sea muy menos comparado a los demás.

2- Evaluación del Riesgo del Portafolio

En este paso, nos adentraremos en el análisis del riesgo asociado a nuestro portafolio. Mediante diversas métricas y técnicas, exploraremos la volatilidad y la variabilidad de los retornos de cada activo y cómo se combinan para formar nuestro portafolio.

######### Riesgos

head (rets)
##                      SPY         TBill         MSFT
## 2014-12-31  0.0000000000  0.0000000000  0.000000000
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
returns = rets [-1,]
head(returns)
##                      SPY         TBill         MSFT
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
## 2015-01-09 -0.0080137792  0.0000000000 -0.008405094
Sd_spy = sd(returns$SPY)
Sd_spy
## [1] 0.00845519
Sd_bill= sd(returns$TBill)
Sd_bill
## [1] 0.0001624932
Sd_MSFT= sd(returns$MSFT)
Sd_MSFT
## [1] 0.0146808

Dado el análisis de las desviaciones estándar de los rendimientos, se observa que el activo MSFT presenta la mayor variabilidad con una desviación estándar de 0.0146808, lo que indica un mayor riesgo en comparación con el SPY y el TBill, con desviaciones estándar de 0.008455195 y 0.0001624642 respectivamente. Por lo tanto, en términos de riesgo, el activo MSFT se destaca como el más riesgoso entre los tres activos analizados.

Para validar lo mencionado anteriormente, podemos generar los siguientes gráfico. Estos nos permitira visualizar la dispersión de los datos, representando la desviación estándar de los retornos de cada activo en color azul. Al analizar los resultados proporcionados por estos gráficos, podemos observar claramente la variabilidad en los rendimientos de cada activo, lo que nos permite hacer comparaciones y tomar decisiones informadas sobre su riesgo relativo.

Sd_spy/Sd_bill
## [1] 52.03413
hist(returns$SPY, breaks = 50)
curve(dnorm(x, mean = mean(returns$SPY), sd = sd(returns$SPY)), 
      col = "cyan", lwd =2, add =TRUE)
legend("topright", legend = paste("SD =", round(sd(returns$SPY), digits = 4)), col = "cyan", lwd = 1)

En este gráfico, hemos segmentado el rango de valores en 50 intervalos para facilitar la apreciación de la distribución de los datos. Este enfoque revela que la mayoría de los retornos se concentran entre -0.02 y 0.02, lo que destaca la tendencia central de la distribución de los datos.

hist(returns$TBill, breaks = 10)
curve(dnorm(x, mean = mean(returns$TBill), sd = sd(returns$TBill)), 
      col = "cyan", lwd =2, add =TRUE)
legend("topright", legend = paste("SD =", round(sd(returns$TBill), digits = 4)), col = "cyan", lwd = 1)

Además, al examinar los retornos del activo TBILL, se evidencia una desviación muy reducida, lo que resulta en la concentración de la mayoría de los datos en un estrecho rango de apenas 10 intervalos.

hist(returns$MSFT, breaks = 200)
curve(dnorm(x, mean = mean(returns$MSFT), sd = sd(returns$MSFT)), 
      col = "cyan", lwd =2, add =TRUE)
legend("topright", legend = paste("SD =", round(sd(returns$MSFT), digits = 4)), col = "cyan", lwd = 1)

Finalmente, se puede observar que los retornos de los activos para Microsoft pueden distribuirse en un amplio rango de hasta 200 intervalos, lo que evidencia la notable variabilidad en los rendimientos de esta empresa.

EL riesgo a través del tiempo

La desviación estándar de los activos ofrece valiosa información acerca de su comportamiento a lo largo del tiempo. Dicha medida nos permite discernir entre activos altamente volátiles y aquellos más consistentes. En este análisis, nos enfocaremos en examinar la desviación de los retornos del portafolio compuesto por estos tres activos a lo largo del tiempo. De esta manera, podremos visualizar y cuantificar de manera tanto gráfica como numérica, cuál de estos activos exhibió un mayor nivel de riesgo durante los años estudiados.

######## Desv EST 2015

head(returns)
##                      SPY         TBill         MSFT
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
## 2015-01-09 -0.0080137792  0.0000000000 -0.008405094
index(returns)
##    [1] "2015-01-02" "2015-01-05" "2015-01-06" "2015-01-07" "2015-01-08"
##    [6] "2015-01-09" "2015-01-12" "2015-01-13" "2015-01-14" "2015-01-15"
##   [11] "2015-01-16" "2015-01-20" "2015-01-21" "2015-01-22" "2015-01-23"
##   [16] "2015-01-26" "2015-01-27" "2015-01-28" "2015-01-29" "2015-01-30"
##   [21] "2015-02-02" "2015-02-03" "2015-02-04" "2015-02-05" "2015-02-06"
##   [26] "2015-02-09" "2015-02-10" "2015-02-11" "2015-02-12" "2015-02-13"
##   [31] "2015-02-17" "2015-02-18" "2015-02-19" "2015-02-20" "2015-02-23"
##   [36] "2015-02-24" "2015-02-25" "2015-02-26" "2015-02-27" "2015-03-02"
##   [41] "2015-03-03" "2015-03-04" "2015-03-05" "2015-03-06" "2015-03-09"
##   [46] "2015-03-10" "2015-03-11" "2015-03-12" "2015-03-13" "2015-03-16"
##   [51] "2015-03-17" "2015-03-18" "2015-03-19" "2015-03-20" "2015-03-23"
##   [56] "2015-03-24" "2015-03-25" "2015-03-26" "2015-03-27" "2015-03-30"
##   [61] "2015-03-31" "2015-04-01" "2015-04-02" "2015-04-06" "2015-04-07"
##   [66] "2015-04-08" "2015-04-09" "2015-04-10" "2015-04-13" "2015-04-14"
##   [71] "2015-04-15" "2015-04-16" "2015-04-17" "2015-04-20" "2015-04-21"
##   [76] "2015-04-22" "2015-04-23" "2015-04-24" "2015-04-27" "2015-04-28"
##   [81] "2015-04-29" "2015-04-30" "2015-05-01" "2015-05-04" "2015-05-05"
##   [86] "2015-05-06" "2015-05-07" "2015-05-08" "2015-05-11" "2015-05-12"
##   [91] "2015-05-13" "2015-05-14" "2015-05-15" "2015-05-18" "2015-05-19"
##   [96] "2015-05-20" "2015-05-21" "2015-05-22" "2015-05-26" "2015-05-27"
##  [101] "2015-05-28" "2015-05-29" "2015-06-01" "2015-06-02" "2015-06-03"
##  [106] "2015-06-04" "2015-06-05" "2015-06-08" "2015-06-09" "2015-06-10"
##  [111] "2015-06-11" "2015-06-12" "2015-06-15" "2015-06-16" "2015-06-17"
##  [116] "2015-06-18" "2015-06-19" "2015-06-22" "2015-06-23" "2015-06-24"
##  [121] "2015-06-25" "2015-06-26" "2015-06-29" "2015-06-30" "2015-07-01"
##  [126] "2015-07-02" "2015-07-06" "2015-07-07" "2015-07-08" "2015-07-09"
##  [131] "2015-07-10" "2015-07-13" "2015-07-14" "2015-07-15" "2015-07-16"
##  [136] "2015-07-17" "2015-07-20" "2015-07-21" "2015-07-22" "2015-07-23"
##  [141] "2015-07-24" "2015-07-27" "2015-07-28" "2015-07-29" "2015-07-30"
##  [146] "2015-07-31" "2015-08-03" "2015-08-04" "2015-08-05" "2015-08-06"
##  [151] "2015-08-07" "2015-08-10" "2015-08-11" "2015-08-12" "2015-08-13"
##  [156] "2015-08-14" "2015-08-17" "2015-08-18" "2015-08-19" "2015-08-20"
##  [161] "2015-08-21" "2015-08-24" "2015-08-25" "2015-08-26" "2015-08-27"
##  [166] "2015-08-28" "2015-08-31" "2015-09-01" "2015-09-02" "2015-09-03"
##  [171] "2015-09-04" "2015-09-08" "2015-09-09" "2015-09-10" "2015-09-11"
##  [176] "2015-09-14" "2015-09-15" "2015-09-16" "2015-09-17" "2015-09-18"
##  [181] "2015-09-21" "2015-09-22" "2015-09-23" "2015-09-24" "2015-09-25"
##  [186] "2015-09-28" "2015-09-29" "2015-09-30" "2015-10-01" "2015-10-02"
##  [191] "2015-10-05" "2015-10-06" "2015-10-07" "2015-10-08" "2015-10-09"
##  [196] "2015-10-12" "2015-10-13" "2015-10-14" "2015-10-15" "2015-10-16"
##  [201] "2015-10-19" "2015-10-20" "2015-10-21" "2015-10-22" "2015-10-23"
##  [206] "2015-10-26" "2015-10-27" "2015-10-28" "2015-10-29" "2015-10-30"
##  [211] "2015-11-02" "2015-11-03" "2015-11-04" "2015-11-05" "2015-11-06"
##  [216] "2015-11-09" "2015-11-10" "2015-11-11" "2015-11-12" "2015-11-13"
##  [221] "2015-11-16" "2015-11-17" "2015-11-18" "2015-11-19" "2015-11-20"
##  [226] "2015-11-23" "2015-11-24" "2015-11-25" "2015-11-27" "2015-11-30"
##  [231] "2015-12-01" "2015-12-02" "2015-12-03" "2015-12-04" "2015-12-07"
##  [236] "2015-12-08" "2015-12-09" "2015-12-10" "2015-12-11" "2015-12-14"
##  [241] "2015-12-15" "2015-12-16" "2015-12-17" "2015-12-18" "2015-12-21"
##  [246] "2015-12-22" "2015-12-23" "2015-12-24" "2015-12-28" "2015-12-29"
##  [251] "2015-12-30" "2015-12-31" "2016-01-04" "2016-01-05" "2016-01-06"
##  [256] "2016-01-07" "2016-01-08" "2016-01-11" "2016-01-12" "2016-01-13"
##  [261] "2016-01-14" "2016-01-15" "2016-01-19" "2016-01-20" "2016-01-21"
##  [266] "2016-01-22" "2016-01-25" "2016-01-26" "2016-01-27" "2016-01-28"
##  [271] "2016-01-29" "2016-02-01" "2016-02-02" "2016-02-03" "2016-02-04"
##  [276] "2016-02-05" "2016-02-08" "2016-02-09" "2016-02-10" "2016-02-11"
##  [281] "2016-02-12" "2016-02-16" "2016-02-17" "2016-02-18" "2016-02-19"
##  [286] "2016-02-22" "2016-02-23" "2016-02-24" "2016-02-25" "2016-02-26"
##  [291] "2016-02-29" "2016-03-01" "2016-03-02" "2016-03-03" "2016-03-04"
##  [296] "2016-03-07" "2016-03-08" "2016-03-09" "2016-03-10" "2016-03-11"
##  [301] "2016-03-14" "2016-03-15" "2016-03-16" "2016-03-17" "2016-03-18"
##  [306] "2016-03-21" "2016-03-22" "2016-03-23" "2016-03-24" "2016-03-28"
##  [311] "2016-03-29" "2016-03-30" "2016-03-31" "2016-04-01" "2016-04-04"
##  [316] "2016-04-05" "2016-04-06" "2016-04-07" "2016-04-08" "2016-04-11"
##  [321] "2016-04-12" "2016-04-13" "2016-04-14" "2016-04-15" "2016-04-18"
##  [326] "2016-04-19" "2016-04-20" "2016-04-21" "2016-04-22" "2016-04-25"
##  [331] "2016-04-26" "2016-04-27" "2016-04-28" "2016-04-29" "2016-05-02"
##  [336] "2016-05-03" "2016-05-04" "2016-05-05" "2016-05-06" "2016-05-09"
##  [341] "2016-05-10" "2016-05-11" "2016-05-12" "2016-05-13" "2016-05-16"
##  [346] "2016-05-17" "2016-05-18" "2016-05-19" "2016-05-20" "2016-05-23"
##  [351] "2016-05-24" "2016-05-25" "2016-05-26" "2016-05-27" "2016-05-31"
##  [356] "2016-06-01" "2016-06-02" "2016-06-03" "2016-06-06" "2016-06-07"
##  [361] "2016-06-08" "2016-06-09" "2016-06-10" "2016-06-13" "2016-06-14"
##  [366] "2016-06-15" "2016-06-16" "2016-06-17" "2016-06-20" "2016-06-21"
##  [371] "2016-06-22" "2016-06-23" "2016-06-24" "2016-06-27" "2016-06-28"
##  [376] "2016-06-29" "2016-06-30" "2016-07-01" "2016-07-05" "2016-07-06"
##  [381] "2016-07-07" "2016-07-08" "2016-07-11" "2016-07-12" "2016-07-13"
##  [386] "2016-07-14" "2016-07-15" "2016-07-18" "2016-07-19" "2016-07-20"
##  [391] "2016-07-21" "2016-07-22" "2016-07-25" "2016-07-26" "2016-07-27"
##  [396] "2016-07-28" "2016-07-29" "2016-08-01" "2016-08-02" "2016-08-03"
##  [401] "2016-08-04" "2016-08-05" "2016-08-08" "2016-08-09" "2016-08-10"
##  [406] "2016-08-11" "2016-08-12" "2016-08-15" "2016-08-16" "2016-08-17"
##  [411] "2016-08-18" "2016-08-19" "2016-08-22" "2016-08-23" "2016-08-24"
##  [416] "2016-08-25" "2016-08-26" "2016-08-29" "2016-08-30" "2016-08-31"
##  [421] "2016-09-01" "2016-09-02" "2016-09-06" "2016-09-07" "2016-09-08"
##  [426] "2016-09-09" "2016-09-12" "2016-09-13" "2016-09-14" "2016-09-15"
##  [431] "2016-09-16" "2016-09-19" "2016-09-20" "2016-09-21" "2016-09-22"
##  [436] "2016-09-23" "2016-09-26" "2016-09-27" "2016-09-28" "2016-09-29"
##  [441] "2016-09-30" "2016-10-03" "2016-10-04" "2016-10-05" "2016-10-06"
##  [446] "2016-10-07" "2016-10-10" "2016-10-11" "2016-10-12" "2016-10-13"
##  [451] "2016-10-14" "2016-10-17" "2016-10-18" "2016-10-19" "2016-10-20"
##  [456] "2016-10-21" "2016-10-24" "2016-10-25" "2016-10-26" "2016-10-27"
##  [461] "2016-10-28" "2016-10-31" "2016-11-01" "2016-11-02" "2016-11-03"
##  [466] "2016-11-04" "2016-11-07" "2016-11-08" "2016-11-09" "2016-11-10"
##  [471] "2016-11-11" "2016-11-14" "2016-11-15" "2016-11-16" "2016-11-17"
##  [476] "2016-11-18" "2016-11-21" "2016-11-22" "2016-11-23" "2016-11-25"
##  [481] "2016-11-28" "2016-11-29" "2016-11-30" "2016-12-01" "2016-12-02"
##  [486] "2016-12-05" "2016-12-06" "2016-12-07" "2016-12-08" "2016-12-09"
##  [491] "2016-12-12" "2016-12-13" "2016-12-14" "2016-12-15" "2016-12-16"
##  [496] "2016-12-19" "2016-12-20" "2016-12-21" "2016-12-22" "2016-12-23"
##  [501] "2016-12-27" "2016-12-28" "2016-12-29" "2016-12-30" "2017-01-03"
##  [506] "2017-01-04" "2017-01-05" "2017-01-06" "2017-01-09" "2017-01-10"
##  [511] "2017-01-11" "2017-01-12" "2017-01-13" "2017-01-17" "2017-01-18"
##  [516] "2017-01-19" "2017-01-20" "2017-01-23" "2017-01-24" "2017-01-25"
##  [521] "2017-01-26" "2017-01-27" "2017-01-30" "2017-01-31" "2017-02-01"
##  [526] "2017-02-02" "2017-02-03" "2017-02-06" "2017-02-07" "2017-02-08"
##  [531] "2017-02-09" "2017-02-10" "2017-02-13" "2017-02-14" "2017-02-15"
##  [536] "2017-02-16" "2017-02-17" "2017-02-21" "2017-02-22" "2017-02-23"
##  [541] "2017-02-24" "2017-02-27" "2017-02-28" "2017-03-01" "2017-03-02"
##  [546] "2017-03-03" "2017-03-06" "2017-03-07" "2017-03-08" "2017-03-09"
##  [551] "2017-03-10" "2017-03-13" "2017-03-14" "2017-03-15" "2017-03-16"
##  [556] "2017-03-17" "2017-03-20" "2017-03-21" "2017-03-22" "2017-03-23"
##  [561] "2017-03-24" "2017-03-27" "2017-03-28" "2017-03-29" "2017-03-30"
##  [566] "2017-03-31" "2017-04-03" "2017-04-04" "2017-04-05" "2017-04-06"
##  [571] "2017-04-07" "2017-04-10" "2017-04-11" "2017-04-12" "2017-04-13"
##  [576] "2017-04-17" "2017-04-18" "2017-04-19" "2017-04-20" "2017-04-21"
##  [581] "2017-04-24" "2017-04-25" "2017-04-26" "2017-04-27" "2017-04-28"
##  [586] "2017-05-01" "2017-05-02" "2017-05-03" "2017-05-04" "2017-05-05"
##  [591] "2017-05-08" "2017-05-09" "2017-05-10" "2017-05-11" "2017-05-12"
##  [596] "2017-05-15" "2017-05-16" "2017-05-17" "2017-05-18" "2017-05-19"
##  [601] "2017-05-22" "2017-05-23" "2017-05-24" "2017-05-25" "2017-05-26"
##  [606] "2017-05-30" "2017-05-31" "2017-06-01" "2017-06-02" "2017-06-05"
##  [611] "2017-06-06" "2017-06-07" "2017-06-08" "2017-06-09" "2017-06-12"
##  [616] "2017-06-13" "2017-06-14" "2017-06-15" "2017-06-16" "2017-06-19"
##  [621] "2017-06-20" "2017-06-21" "2017-06-22" "2017-06-23" "2017-06-26"
##  [626] "2017-06-27" "2017-06-28" "2017-06-29" "2017-06-30" "2017-07-03"
##  [631] "2017-07-05" "2017-07-06" "2017-07-07" "2017-07-10" "2017-07-11"
##  [636] "2017-07-12" "2017-07-13" "2017-07-14" "2017-07-17" "2017-07-18"
##  [641] "2017-07-19" "2017-07-20" "2017-07-21" "2017-07-24" "2017-07-25"
##  [646] "2017-07-26" "2017-07-27" "2017-07-28" "2017-07-31" "2017-08-01"
##  [651] "2017-08-02" "2017-08-03" "2017-08-04" "2017-08-07" "2017-08-08"
##  [656] "2017-08-09" "2017-08-10" "2017-08-11" "2017-08-14" "2017-08-15"
##  [661] "2017-08-16" "2017-08-17" "2017-08-18" "2017-08-21" "2017-08-22"
##  [666] "2017-08-23" "2017-08-24" "2017-08-25" "2017-08-28" "2017-08-29"
##  [671] "2017-08-30" "2017-08-31" "2017-09-01" "2017-09-05" "2017-09-06"
##  [676] "2017-09-07" "2017-09-08" "2017-09-11" "2017-09-12" "2017-09-13"
##  [681] "2017-09-14" "2017-09-15" "2017-09-18" "2017-09-19" "2017-09-20"
##  [686] "2017-09-21" "2017-09-22" "2017-09-25" "2017-09-26" "2017-09-27"
##  [691] "2017-09-28" "2017-09-29" "2017-10-02" "2017-10-03" "2017-10-04"
##  [696] "2017-10-05" "2017-10-06" "2017-10-09" "2017-10-10" "2017-10-11"
##  [701] "2017-10-12" "2017-10-13" "2017-10-16" "2017-10-17" "2017-10-18"
##  [706] "2017-10-19" "2017-10-20" "2017-10-23" "2017-10-24" "2017-10-25"
##  [711] "2017-10-26" "2017-10-27" "2017-10-30" "2017-10-31" "2017-11-01"
##  [716] "2017-11-02" "2017-11-03" "2017-11-06" "2017-11-07" "2017-11-08"
##  [721] "2017-11-09" "2017-11-10" "2017-11-13" "2017-11-14" "2017-11-15"
##  [726] "2017-11-16" "2017-11-17" "2017-11-20" "2017-11-21" "2017-11-22"
##  [731] "2017-11-24" "2017-11-27" "2017-11-28" "2017-11-29" "2017-11-30"
##  [736] "2017-12-01" "2017-12-04" "2017-12-05" "2017-12-06" "2017-12-07"
##  [741] "2017-12-08" "2017-12-11" "2017-12-12" "2017-12-13" "2017-12-14"
##  [746] "2017-12-15" "2017-12-18" "2017-12-19" "2017-12-20" "2017-12-21"
##  [751] "2017-12-22" "2017-12-26" "2017-12-27" "2017-12-28" "2017-12-29"
##  [756] "2018-01-02" "2018-01-03" "2018-01-04" "2018-01-05" "2018-01-08"
##  [761] "2018-01-09" "2018-01-10" "2018-01-11" "2018-01-12" "2018-01-16"
##  [766] "2018-01-17" "2018-01-18" "2018-01-19" "2018-01-22" "2018-01-23"
##  [771] "2018-01-24" "2018-01-25" "2018-01-26" "2018-01-29" "2018-01-30"
##  [776] "2018-01-31" "2018-02-01" "2018-02-02" "2018-02-05" "2018-02-06"
##  [781] "2018-02-07" "2018-02-08" "2018-02-09" "2018-02-12" "2018-02-13"
##  [786] "2018-02-14" "2018-02-15" "2018-02-16" "2018-02-20" "2018-02-21"
##  [791] "2018-02-22" "2018-02-23" "2018-02-26" "2018-02-27" "2018-02-28"
##  [796] "2018-03-01" "2018-03-02" "2018-03-05" "2018-03-06" "2018-03-07"
##  [801] "2018-03-08" "2018-03-09" "2018-03-12" "2018-03-13" "2018-03-14"
##  [806] "2018-03-15" "2018-03-16" "2018-03-19" "2018-03-20" "2018-03-21"
##  [811] "2018-03-22" "2018-03-23" "2018-03-26" "2018-03-27" "2018-03-28"
##  [816] "2018-03-29" "2018-04-02" "2018-04-03" "2018-04-04" "2018-04-05"
##  [821] "2018-04-06" "2018-04-09" "2018-04-10" "2018-04-11" "2018-04-12"
##  [826] "2018-04-13" "2018-04-16" "2018-04-17" "2018-04-18" "2018-04-19"
##  [831] "2018-04-20" "2018-04-23" "2018-04-24" "2018-04-25" "2018-04-26"
##  [836] "2018-04-27" "2018-04-30" "2018-05-01" "2018-05-02" "2018-05-03"
##  [841] "2018-05-04" "2018-05-07" "2018-05-08" "2018-05-09" "2018-05-10"
##  [846] "2018-05-11" "2018-05-14" "2018-05-15" "2018-05-16" "2018-05-17"
##  [851] "2018-05-18" "2018-05-21" "2018-05-22" "2018-05-23" "2018-05-24"
##  [856] "2018-05-25" "2018-05-29" "2018-05-30" "2018-05-31" "2018-06-01"
##  [861] "2018-06-04" "2018-06-05" "2018-06-06" "2018-06-07" "2018-06-08"
##  [866] "2018-06-11" "2018-06-12" "2018-06-13" "2018-06-14" "2018-06-15"
##  [871] "2018-06-18" "2018-06-19" "2018-06-20" "2018-06-21" "2018-06-22"
##  [876] "2018-06-25" "2018-06-26" "2018-06-27" "2018-06-28" "2018-06-29"
##  [881] "2018-07-02" "2018-07-03" "2018-07-05" "2018-07-06" "2018-07-09"
##  [886] "2018-07-10" "2018-07-11" "2018-07-12" "2018-07-13" "2018-07-16"
##  [891] "2018-07-17" "2018-07-18" "2018-07-19" "2018-07-20" "2018-07-23"
##  [896] "2018-07-24" "2018-07-25" "2018-07-26" "2018-07-27" "2018-07-30"
##  [901] "2018-07-31" "2018-08-01" "2018-08-02" "2018-08-03" "2018-08-06"
##  [906] "2018-08-07" "2018-08-08" "2018-08-09" "2018-08-10" "2018-08-13"
##  [911] "2018-08-14" "2018-08-15" "2018-08-16" "2018-08-17" "2018-08-20"
##  [916] "2018-08-21" "2018-08-22" "2018-08-23" "2018-08-24" "2018-08-27"
##  [921] "2018-08-28" "2018-08-29" "2018-08-30" "2018-08-31" "2018-09-04"
##  [926] "2018-09-05" "2018-09-06" "2018-09-07" "2018-09-10" "2018-09-11"
##  [931] "2018-09-12" "2018-09-13" "2018-09-14" "2018-09-17" "2018-09-18"
##  [936] "2018-09-19" "2018-09-20" "2018-09-21" "2018-09-24" "2018-09-25"
##  [941] "2018-09-26" "2018-09-27" "2018-09-28" "2018-10-01" "2018-10-02"
##  [946] "2018-10-03" "2018-10-04" "2018-10-05" "2018-10-08" "2018-10-09"
##  [951] "2018-10-10" "2018-10-11" "2018-10-12" "2018-10-15" "2018-10-16"
##  [956] "2018-10-17" "2018-10-18" "2018-10-19" "2018-10-22" "2018-10-23"
##  [961] "2018-10-24" "2018-10-25" "2018-10-26" "2018-10-29" "2018-10-30"
##  [966] "2018-10-31" "2018-11-01" "2018-11-02" "2018-11-05" "2018-11-06"
##  [971] "2018-11-07" "2018-11-08" "2018-11-09" "2018-11-12" "2018-11-13"
##  [976] "2018-11-14" "2018-11-15" "2018-11-16" "2018-11-19" "2018-11-20"
##  [981] "2018-11-21" "2018-11-23" "2018-11-26" "2018-11-27" "2018-11-28"
##  [986] "2018-11-29" "2018-11-30" "2018-12-03" "2018-12-04" "2018-12-06"
##  [991] "2018-12-07" "2018-12-10" "2018-12-11" "2018-12-12" "2018-12-13"
##  [996] "2018-12-14" "2018-12-17" "2018-12-18" "2018-12-19" "2018-12-20"
## [1001] "2018-12-21" "2018-12-24" "2018-12-26" "2018-12-27" "2018-12-28"
## [1006] "2018-12-31" "2019-01-02" "2019-01-03" "2019-01-04" "2019-01-07"
## [1011] "2019-01-08" "2019-01-09" "2019-01-10" "2019-01-11" "2019-01-14"
## [1016] "2019-01-15" "2019-01-16" "2019-01-17" "2019-01-18" "2019-01-22"
## [1021] "2019-01-23" "2019-01-24" "2019-01-25" "2019-01-28" "2019-01-29"
## [1026] "2019-01-30" "2019-01-31" "2019-02-01" "2019-02-04" "2019-02-05"
## [1031] "2019-02-06" "2019-02-07" "2019-02-08" "2019-02-11" "2019-02-12"
## [1036] "2019-02-13" "2019-02-14" "2019-02-15" "2019-02-19" "2019-02-20"
## [1041] "2019-02-21" "2019-02-22" "2019-02-25" "2019-02-26" "2019-02-27"
## [1046] "2019-02-28" "2019-03-01" "2019-03-04" "2019-03-05" "2019-03-06"
## [1051] "2019-03-07" "2019-03-08" "2019-03-11" "2019-03-12" "2019-03-13"
## [1056] "2019-03-14" "2019-03-15" "2019-03-18" "2019-03-19" "2019-03-20"
## [1061] "2019-03-21" "2019-03-22" "2019-03-25" "2019-03-26" "2019-03-27"
## [1066] "2019-03-28" "2019-03-29" "2019-04-01" "2019-04-02" "2019-04-03"
## [1071] "2019-04-04" "2019-04-05" "2019-04-08" "2019-04-09" "2019-04-10"
## [1076] "2019-04-11" "2019-04-12" "2019-04-15" "2019-04-16" "2019-04-17"
## [1081] "2019-04-18" "2019-04-22" "2019-04-23" "2019-04-24" "2019-04-25"
## [1086] "2019-04-26" "2019-04-29" "2019-04-30" "2019-05-01" "2019-05-02"
## [1091] "2019-05-03" "2019-05-06" "2019-05-07" "2019-05-08" "2019-05-09"
## [1096] "2019-05-10" "2019-05-13" "2019-05-14" "2019-05-15" "2019-05-16"
## [1101] "2019-05-17" "2019-05-20" "2019-05-21" "2019-05-22" "2019-05-23"
## [1106] "2019-05-24" "2019-05-28" "2019-05-29" "2019-05-30" "2019-05-31"
## [1111] "2019-06-03" "2019-06-04" "2019-06-05" "2019-06-06" "2019-06-07"
## [1116] "2019-06-10" "2019-06-11" "2019-06-12" "2019-06-13" "2019-06-14"
## [1121] "2019-06-17" "2019-06-18" "2019-06-19" "2019-06-20" "2019-06-21"
## [1126] "2019-06-24" "2019-06-25" "2019-06-26" "2019-06-27" "2019-06-28"
## [1131] "2019-07-01" "2019-07-02" "2019-07-03" "2019-07-05" "2019-07-08"
## [1136] "2019-07-09" "2019-07-10" "2019-07-11" "2019-07-12" "2019-07-15"
## [1141] "2019-07-16" "2019-07-17" "2019-07-18" "2019-07-19" "2019-07-22"
## [1146] "2019-07-23" "2019-07-24" "2019-07-25" "2019-07-26" "2019-07-29"
## [1151] "2019-07-30" "2019-07-31" "2019-08-01" "2019-08-02" "2019-08-05"
## [1156] "2019-08-06" "2019-08-07" "2019-08-08" "2019-08-09" "2019-08-12"
## [1161] "2019-08-13" "2019-08-14" "2019-08-15" "2019-08-16" "2019-08-19"
## [1166] "2019-08-20" "2019-08-21" "2019-08-22" "2019-08-23" "2019-08-26"
## [1171] "2019-08-27" "2019-08-28" "2019-08-29" "2019-08-30" "2019-09-03"
## [1176] "2019-09-04" "2019-09-05" "2019-09-06" "2019-09-09" "2019-09-10"
## [1181] "2019-09-11" "2019-09-12" "2019-09-13" "2019-09-16" "2019-09-17"
## [1186] "2019-09-18" "2019-09-19" "2019-09-20" "2019-09-23" "2019-09-24"
## [1191] "2019-09-25" "2019-09-26" "2019-09-27" "2019-09-30" "2019-10-01"
## [1196] "2019-10-02" "2019-10-03" "2019-10-04" "2019-10-07" "2019-10-08"
## [1201] "2019-10-09" "2019-10-10" "2019-10-11" "2019-10-14" "2019-10-15"
## [1206] "2019-10-16" "2019-10-17" "2019-10-18" "2019-10-21" "2019-10-22"
## [1211] "2019-10-23" "2019-10-24" "2019-10-25" "2019-10-28" "2019-10-29"
## [1216] "2019-10-30" "2019-10-31" "2019-11-01" "2019-11-04" "2019-11-05"
## [1221] "2019-11-06" "2019-11-07" "2019-11-08" "2019-11-11" "2019-11-12"
## [1226] "2019-11-13" "2019-11-14" "2019-11-15" "2019-11-18" "2019-11-19"
## [1231] "2019-11-20" "2019-11-21" "2019-11-22" "2019-11-25" "2019-11-26"
## [1236] "2019-11-27" "2019-11-29" "2019-12-02" "2019-12-03" "2019-12-04"
## [1241] "2019-12-05" "2019-12-06" "2019-12-09" "2019-12-10" "2019-12-11"
## [1246] "2019-12-12" "2019-12-13" "2019-12-16" "2019-12-17" "2019-12-18"
## [1251] "2019-12-19" "2019-12-20" "2019-12-23" "2019-12-24" "2019-12-26"
## [1256] "2019-12-27" "2019-12-30" "2019-12-31"
str(returns)
## An xts object on 2015-01-02 / 2019-12-31 containing: 
##   Data:    double [1258, 3]
##   Columns: SPY, TBill, MSFT
##   Index:   Date [1258] (TZ: "UTC")
##   xts Attributes:
##     $ src    : chr "yahoo"
##     $ updated: POSIXct[1:1], format: "2024-03-16 14:13:19"
returns ["2015"]
##                      SPY         TBill         MSFT
## 2015-01-02 -0.0005351469 -0.0002185777  0.006673612
## 2015-01-05 -0.0180596488  0.0002186255 -0.009195675
## 2015-01-06 -0.0094190497 -0.0002185777 -0.014677524
## 2015-01-07  0.0124610533  0.0000000000  0.012705445
## 2015-01-08  0.0177453071  0.0000000000  0.029418263
## 2015-01-09 -0.0080137792  0.0000000000 -0.008405094
## 2015-01-12 -0.0078334296  0.0000000000 -0.012502753
## 2015-01-13 -0.0028128626  0.0000000000 -0.005150232
## 2015-01-14 -0.0060370755  0.0000000000 -0.008628380
## 2015-01-15 -0.0091609883  0.0000000000 -0.010443615
##        ...                                         
## 2015-12-17 -0.0152378376 -0.0002191929 -0.007660925
## 2015-12-18 -0.0178153358  0.0002192410 -0.028186289
## 2015-12-21  0.0082492808 -0.0002191929  0.012931599
## 2015-12-22  0.0090741247  0.0000000000  0.009483878
## 2015-12-23  0.0123835912  0.0000000000  0.008491624
## 2015-12-24 -0.0016504983  0.0002192410 -0.002687496
## 2015-12-28 -0.0022849903 -0.0002191929  0.005029875
## 2015-12-29  0.0106719071  0.0000000000  0.010724010
## 2015-12-30 -0.0070878028  0.0002192410 -0.004244197
## 2015-12-31 -0.0100032573 -0.0002191929 -0.014740016
sd(returns["2015"])
## [1] 0.01168649
sd_2015 = apply( X = returns["2015"], MARGIN = 2, 
                 FUN = sd)
sd_2015
##          SPY        TBill         MSFT 
## 0.0097211823 0.0001657069 0.0177681504
### Desv EST (sd) 2016 

sd_2016 = apply( X = returns["2016"], MARGIN = 2, 
                 FUN = sd)
sd_2016
##          SPY        TBill         MSFT 
## 0.0082278381 0.0001849655 0.0142946125
barplot(sd_2016, main = "Desviaciones Estándar de los Activos en 2016", 
        xlab = "sd_2016", ylab = "Desviación Estándar", col = "cyan")

# Graficar las desviaciones estándar como distribuciones normales
curve(dnorm(x, mean = sd_2016["SPY"], sd = sd(sd_2016)), 
      col = "red", lwd = 2, xlim = c(0, max(sd_2016) * 2),
      main = "Distribuciones Normales de Desviaciones Estándar",
      xlab = "Desviación Estándar", ylab = "Densidad")

curve(dnorm(x, mean = sd_2016["TBill"], sd = sd(sd_2016)), 
      col = "blue", lwd = 2, add = TRUE)

curve(dnorm(x, mean = sd_2016["MSFT"], sd = sd(sd_2016)), 
      col = "gray", lwd = 2, add = TRUE)

# Agregar leyenda
legend("topright", legend = c("SPY", "TBill", "MSFT"), col = c("red", "blue", "gray"), lty = 1, lwd = 2)

### Desv EST (sd) 2017 

sd_2017 = apply( X = returns["2017"], MARGIN = 2, 
                 FUN = sd)
sd_2017
##          SPY        TBill         MSFT 
## 0.0042482120 0.0001925949 0.0093248550
barplot(sd_2017, main = "Desviaciones Estándar de los Activos en 2017", 
        xlab = "sd_2017", ylab = "Desviación Estándar", col = "cyan")

# Graficar las desviaciones estándar como distribuciones normales
curve(dnorm(x, mean = sd_2017["SPY"], sd = sd(sd_2017)), 
      col = "red", lwd = 2, xlim = c(0, max(sd_2017) * 2),
      main = "Distribuciones Normales de Desviaciones Estándar",
      xlab = "Desviación Estándar", ylab = "Densidad")

curve(dnorm(x, mean = sd_2017["TBill"], sd = sd(sd_2017)), 
      col = "blue", lwd = 2, add = TRUE)

curve(dnorm(x, mean = sd_2017["MSFT"], sd = sd(sd_2017)), 
      col = "gray", lwd = 2, add = TRUE)

# Agregar leyenda
legend("topright", legend = c("SPY", "TBill", "MSFT"), col = c("red", "blue", "gray"), lty = 1, lwd = 2)

### Desv EST (sd) 2018

sd_2018 = apply( X = returns["2018"], MARGIN = 2, 
                 FUN = sd)
sd_2018
##          SPY        TBill         MSFT 
## 0.0107321673 0.0001169484 0.0178046259
barplot(sd_2018, main = "Desviaciones Estándar de los Activos en 2018", 
        xlab = "sd_2018", ylab = "Desviación Estándar", col = "cyan")

# Graficar las desviaciones estándar como distribuciones normales
curve(dnorm(x, mean = sd_2018["SPY"], sd = sd(sd_2018)), 
      col = "red", lwd = 2, xlim = c(0, max(sd_2018) * 2),
      main = "Distribuciones Normales de Desviaciones Estándar",
      xlab = "Desviación Estándar", ylab = "Densidad")

curve(dnorm(x, mean = sd_2018["TBill"], sd = sd(sd_2018)), 
      col = "blue", lwd = 2, add = TRUE)

curve(dnorm(x, mean = sd_2018["MSFT"], sd = sd(sd_2018)), 
      col = "gray", lwd = 2, add = TRUE)

# Agregar leyenda
legend("topright", legend = c("SPY", "TBill", "MSFT"), col = c("red", "blue", "gray"), lty = 1, lwd = 2)

### Desv EST (sd) 2019

sd_2019 = apply( X = returns["2019"], MARGIN = 2, 
                 FUN = sd)
sd_2019
##          SPY        TBill         MSFT 
## 0.0078811328 0.0001192474 0.0124907629
barplot(sd_2019, main = "Desviaciones Estándar de los Activos en 2019", 
        xlab = "sd_2019", ylab = "Desviación Estándar", col = "cyan")

# Graficar las desviaciones estándar como distribuciones normales
curve(dnorm(x, mean = sd_2019["SPY"], sd = sd(sd_2019)), 
      col = "red", lwd = 2, xlim = c(0, max(sd_2019) * 2),
      main = "Distribuciones Normales de Desviaciones Estándar",
      xlab = "Desviación Estándar", ylab = "Densidad")

curve(dnorm(x, mean = sd_2019["TBill"], sd = sd(sd_2019)), 
      col = "blue", lwd = 2, add = TRUE)

curve(dnorm(x, mean = sd_2019["MSFT"], sd = sd(sd_2019)), 
      col = "gray", lwd = 2, add = TRUE)

# Agregar leyenda
legend("topright", legend = c("SPY", "TBill", "MSFT"), col = c("red", "blue", "gray"), lty = 1, lwd = 2)

EL riesgo cambia en el tiempo

3 - Determinación del Valor en Riesgo (VaR)

El VaR (Value at Risk) es una medida clave que nos ayuda a comprender el riesgo potencial de nuestro portafolio en un horizonte de tiempo específico. Calcularemos el VaR para evaluar la probabilidad de incurrir en pérdidas significativas bajo condiciones normales de mercado.

4 - Cálculo del Esperado Shortfall (ES)

El Expected Shortfall (ES), también conocido como Conditional VaR, es una medida complementaria al VaR que nos proporciona una visión más detallada de las posibles pérdidas en escenarios extremos. Calcularemos el ES para comprender mejor el impacto de eventos adversos en nuestro portafolio.

Al abordar cada uno de estos pasos con cuidado y precisión, estaremos mejor equipados para comprender y gestionar los riesgos asociados a nuestros activos y portafolios de inversión.