##APIs

#install.packages("quantmod")
#install.packages("dplyr")
#install.packages("ggplot2")
library(quantmod)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(dplyr)
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
## 
##     first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

Lista de acciones

accion <- c('GFINBURO.MX', 'VESTA.MX','GRUMAB.MX','WALMEX.MX',"PE&OLES.MX","GFNORTEO.MX","AC.MX","PINFRA.MX","ALSEA.MX","OMAB.MX","CUERVO.MX","ALFAA.MX","BIMBOA.MX","LIVEPOLC-1.MX","ASURB.MX","GMEXICOB.MX","BBAJIOO.MX","LABB.MX","CEMEXCPO.MX","BOLSAA.MX","ORBIA.MX","GCARSOA1.MX","GCC.MX","SITESB-1.MX","RA.MX","KIMBERA.MX","ELEKTRA.MX","Q.MX","GAPB.MX","KOFUBL.MX","MEGACPO.MX","TLEVISACPO.MX","VOLARA.MX","FEMSAUBD.MX")

accion
##  [1] "GFINBURO.MX"   "VESTA.MX"      "GRUMAB.MX"     "WALMEX.MX"    
##  [5] "PE&OLES.MX"    "GFNORTEO.MX"   "AC.MX"         "PINFRA.MX"    
##  [9] "ALSEA.MX"      "OMAB.MX"       "CUERVO.MX"     "ALFAA.MX"     
## [13] "BIMBOA.MX"     "LIVEPOLC-1.MX" "ASURB.MX"      "GMEXICOB.MX"  
## [17] "BBAJIOO.MX"    "LABB.MX"       "CEMEXCPO.MX"   "BOLSAA.MX"    
## [21] "ORBIA.MX"      "GCARSOA1.MX"   "GCC.MX"        "SITESB-1.MX"  
## [25] "RA.MX"         "KIMBERA.MX"    "ELEKTRA.MX"    "Q.MX"         
## [29] "GAPB.MX"       "KOFUBL.MX"     "MEGACPO.MX"    "TLEVISACPO.MX"
## [33] "VOLARA.MX"     "FEMSAUBD.MX"
getSymbols(accion, from='2020-01-01',to="2020-12-31" )
## Warning: Unable to import "SITESB-1.MX".
## HTTP error 404.
##  [1] "GFINBURO.MX"   "VESTA.MX"      "GRUMAB.MX"     "WALMEX.MX"    
##  [5] "PE&OLES.MX"    "GFNORTEO.MX"   "AC.MX"         "PINFRA.MX"    
##  [9] "ALSEA.MX"      "OMAB.MX"       "CUERVO.MX"     "ALFAA.MX"     
## [13] "BIMBOA.MX"     "LIVEPOLC-1.MX" "ASURB.MX"      "GMEXICOB.MX"  
## [17] "BBAJIOO.MX"    "LABB.MX"       "CEMEXCPO.MX"   "BOLSAA.MX"    
## [21] "ORBIA.MX"      "GCARSOA1.MX"   "GCC.MX"        "RA.MX"        
## [25] "KIMBERA.MX"    "ELEKTRA.MX"    "Q.MX"          "GAPB.MX"      
## [29] "KOFUBL.MX"     "MEGACPO.MX"    "TLEVISACPO.MX" "VOLARA.MX"    
## [33] "FEMSAUBD.MX"
dataEnv <- new.env()

getSymbols(accion, from='2020-01-01', to="2020-12-31" ,env=dataEnv) 
## Warning: Unable to import "SITESB-1.MX".
## HTTP error 404.
##  [1] "GFINBURO.MX"   "VESTA.MX"      "GRUMAB.MX"     "WALMEX.MX"    
##  [5] "PE&OLES.MX"    "GFNORTEO.MX"   "AC.MX"         "PINFRA.MX"    
##  [9] "ALSEA.MX"      "OMAB.MX"       "CUERVO.MX"     "ALFAA.MX"     
## [13] "BIMBOA.MX"     "LIVEPOLC-1.MX" "ASURB.MX"      "GMEXICOB.MX"  
## [17] "BBAJIOO.MX"    "LABB.MX"       "CEMEXCPO.MX"   "BOLSAA.MX"    
## [21] "ORBIA.MX"      "GCARSOA1.MX"   "GCC.MX"        "RA.MX"        
## [25] "KIMBERA.MX"    "ELEKTRA.MX"    "Q.MX"          "GAPB.MX"      
## [29] "KOFUBL.MX"     "MEGACPO.MX"    "TLEVISACPO.MX" "VOLARA.MX"    
## [33] "FEMSAUBD.MX"

Obtenemos los precios ajustados

plist <- eapply(dataEnv, Ad) 

adj_prices <- do.call(merge, plist)

tail(adj_prices)
##            GCC.MX.Adjusted GAPB.MX.Adjusted GMEXICOB.MX.Adjusted
## 2020-12-22        110.7244         179.3552             68.79227
## 2020-12-23        112.2026         182.1707             71.40289
## 2020-12-24        113.0000         180.5559             70.41000
## 2020-12-28        114.7601         181.9057             72.87511
## 2020-12-29        114.7310         185.7314             74.15904
## 2020-12-30        116.4619         185.0028             73.86802
##            BIMBOA.MX.Adjusted GRUMAB.MX.Adjusted OMAB.MX.Adjusted
## 2020-12-22           40.01189           214.0622         95.99937
## 2020-12-23           41.06583           216.3085         99.73840
## 2020-12-24           40.43916           216.8863         98.09199
## 2020-12-28           40.89492           219.8223         96.64561
## 2020-12-29           41.50259           223.2335         99.09984
## 2020-12-30           41.02785           224.0164         99.90766
##            GFNORTEO.MX.Adjusted PE.OLES.MX.Adjusted KIMBERA.MX.Adjusted
## 2020-12-22             83.46488            341.5805            27.74463
## 2020-12-23             88.24847            345.1388            28.51698
## 2020-12-24             86.61661            342.7000            28.27670
## 2020-12-28             86.57662            346.2883            28.70578
## 2020-12-29             91.04823            345.5986            29.37515
## 2020-12-30             88.78442            347.1579            29.16061
##            TLEVISACPO.MX.Adjusted PINFRA.MX.Adjusted CUERVO.MX.Adjusted
## 2020-12-22               29.92121           145.3018           47.70890
## 2020-12-23               30.73093           147.0538           48.69960
## 2020-12-24               30.36463           149.4485           48.60248
## 2020-12-28               30.74057           150.6107           48.88415
## 2020-12-29               31.81057           153.0670           48.85501
## 2020-12-30               32.12867           158.4198           48.84529
##            CEMEXCPO.MX.Adjusted Q.MX.Adjusted RA.MX.Adjusted
## 2020-12-22                10.15      90.10672       77.19232
## 2020-12-23                10.37      90.58311       77.44388
## 2020-12-24                10.25      90.04609       77.51096
## 2020-12-28                10.32      92.64458       76.47121
## 2020-12-29                10.26      91.05083       77.72058
## 2020-12-30                10.37      93.20758       77.56964
##            GCARSOA1.MX.Adjusted ASURB.MX.Adjusted WALMEX.MX.Adjusted
## 2020-12-22             50.52049          295.5761           53.68070
## 2020-12-23             54.77736          296.4933           54.36966
## 2020-12-24             57.40576          293.2464           54.11736
## 2020-12-28             59.25326          294.4112           54.40847
## 2020-12-29             62.36733          301.7672           55.73787
## 2020-12-30             63.51965          299.2266           55.73787
##            ORBIA.MX.Adjusted BOLSAA.MX.Adjusted GFINBURO.MX.Adjusted
## 2020-12-22          42.28829           38.89530                18.99
## 2020-12-23          42.68607           39.40697                19.94
## 2020-12-24          43.01756           40.20005                20.23
## 2020-12-28          43.57635           40.90786                20.66
## 2020-12-29          44.12568           41.20633                21.26
## 2020-12-30          44.55187           41.59861                21.20
##            LIVEPOLC.1.MX.Adjusted BBAJIOO.MX.Adjusted MEGACPO.MX.Adjusted
## 2020-12-22               63.60074            18.86911            61.46287
## 2020-12-23               64.48576            19.44521            61.85791
## 2020-12-24               64.74389            20.02879            62.43330
## 2020-12-28               65.03889            19.66966            62.87127
## 2020-12-29               65.61045            20.23079            63.35218
## 2020-12-30               65.01124            20.20087            64.34838
##            ALSEA.MX.Adjusted AC.MX.Adjusted ALFAA.MX.Adjusted LABB.MX.Adjusted
## 2020-12-22             25.37       85.19300          13.14796         15.85230
## 2020-12-23             25.84       85.98935          14.09207         15.76674
## 2020-12-24             25.98       85.81040          14.00263         15.92929
## 2020-12-28             25.73       85.58670          14.20139         15.70686
## 2020-12-29             26.01       86.82151          14.08213         15.80952
## 2020-12-30             26.02       86.39201          14.28089         16.01484
##            KOFUBL.MX.Adjusted ELEKTRA.MX.Adjusted FEMSAUBD.MX.Adjusted
## 2020-12-22           72.88837            1273.712             140.1551
## 2020-12-23           73.67825            1270.405             140.8980
## 2020-12-24           73.21410            1271.915             140.6503
## 2020-12-28           74.89156            1296.511             142.4124
## 2020-12-29           75.68143            1297.765             144.0506
## 2020-12-30           75.62443            1308.320             144.2888
##            VOLARA.MX.Adjusted VESTA.MX.Adjusted
## 2020-12-22              22.22          37.37091
## 2020-12-23              22.61          37.37091
## 2020-12-24              22.01          38.13520
## 2020-12-28              22.76          38.33372
## 2020-12-29              23.63          38.69106
## 2020-12-30              23.90          38.94913

Buscamos missing values

sum(is.na(adj_prices))
## [1] 0
#No encontramos valores faltantes

Cambiamos los nombres de las columnas con solo el nombre de la acción

colnames(adj_prices)
##  [1] "GCC.MX.Adjusted"        "GAPB.MX.Adjusted"       "GMEXICOB.MX.Adjusted"  
##  [4] "BIMBOA.MX.Adjusted"     "GRUMAB.MX.Adjusted"     "OMAB.MX.Adjusted"      
##  [7] "GFNORTEO.MX.Adjusted"   "PE.OLES.MX.Adjusted"    "KIMBERA.MX.Adjusted"   
## [10] "TLEVISACPO.MX.Adjusted" "PINFRA.MX.Adjusted"     "CUERVO.MX.Adjusted"    
## [13] "CEMEXCPO.MX.Adjusted"   "Q.MX.Adjusted"          "RA.MX.Adjusted"        
## [16] "GCARSOA1.MX.Adjusted"   "ASURB.MX.Adjusted"      "WALMEX.MX.Adjusted"    
## [19] "ORBIA.MX.Adjusted"      "BOLSAA.MX.Adjusted"     "GFINBURO.MX.Adjusted"  
## [22] "LIVEPOLC.1.MX.Adjusted" "BBAJIOO.MX.Adjusted"    "MEGACPO.MX.Adjusted"   
## [25] "ALSEA.MX.Adjusted"      "AC.MX.Adjusted"         "ALFAA.MX.Adjusted"     
## [28] "LABB.MX.Adjusted"       "KOFUBL.MX.Adjusted"     "ELEKTRA.MX.Adjusted"   
## [31] "FEMSAUBD.MX.Adjusted"   "VOLARA.MX.Adjusted"     "VESTA.MX.Adjusted"

Calculamos los retornos omitiendo los missing values

retornos_precios <- diff(adj_prices, arithmetic = FALSE) - 1
retornos_precios <- na.omit(retornos_precios)
head(retornos_precios)
##            GCC.MX.Adjusted GAPB.MX.Adjusted GMEXICOB.MX.Adjusted
## 2020-01-03   -0.0057430471      0.005315559          0.002408632
## 2020-01-06   -0.0075689485     -0.008805282         -0.023567528
## 2020-01-07    0.0006020018      0.007340570          0.002177045
## 2020-01-08    0.0034099762      0.027265902          0.026822871
## 2020-01-09   -0.0018491911      0.013654597         -0.001103734
## 2020-01-10   -0.0020526418      0.003005175          0.020810294
##            BIMBOA.MX.Adjusted GRUMAB.MX.Adjusted OMAB.MX.Adjusted
## 2020-01-03       0.0002826482        0.009576161     -0.004709487
## 2020-01-06       0.0043823440       -0.012361263     -0.009817165
## 2020-01-07      -0.0133710038       -0.011085515     -0.009058564
## 2020-01-08      -0.0008557932        0.021892352      0.014899805
## 2020-01-09       0.0231296995        0.014952099     -0.002517784
## 2020-01-10      -0.0039074427        0.009771067      0.010558318
##            GFNORTEO.MX.Adjusted PE.OLES.MX.Adjusted KIMBERA.MX.Adjusted
## 2020-01-03          0.002735589         0.020422989       -0.0005253091
## 2020-01-06          0.001091320         0.008062589        0.0063040855
## 2020-01-07         -0.029069794        -0.001505547        0.0326286963
## 2020-01-08          0.017776996        -0.010507463        0.0449949992
## 2020-01-09          0.037598735        -0.016047601       -0.0170536503
## 2020-01-10         -0.025870381        -0.011082656       -0.0163653936
##            TLEVISACPO.MX.Adjusted PINFRA.MX.Adjusted CUERVO.MX.Adjusted
## 2020-01-03            0.002215861        0.017884221      -0.0019976743
## 2020-01-06           -0.016913641       -0.011056170       0.0030026234
## 2020-01-07           -0.019678356        0.004719216      -0.0047043154
## 2020-01-08            0.011011628        0.026926513      -0.0002862329
## 2020-01-09           -0.008622623       -0.009955032      -0.0090259361
## 2020-01-10            0.001144538        0.002396532      -0.0172038528
##            CEMEXCPO.MX.Adjusted Q.MX.Adjusted RA.MX.Adjusted
## 2020-01-03          0.004189974 -0.0022562544   -0.007278673
## 2020-01-06          0.001390786  0.0134421583    0.002153755
## 2020-01-07         -0.018055506  0.0063220449   -0.005990127
## 2020-01-08          0.018387501 -0.0190932690    0.016284771
## 2020-01-09         -0.013888876  0.0215370283    0.007423486
## 2020-01-10          0.011267595  0.0006762148   -0.032530547
##            GCARSOA1.MX.Adjusted ASURB.MX.Adjusted WALMEX.MX.Adjusted
## 2020-01-03         0.0058193973       0.004910132       -0.007801205
## 2020-01-06         0.0049110722      -0.018260866        0.010696701
## 2020-01-07        -0.0178748882       0.011036614       -0.005336962
## 2020-01-08         0.0076345749       0.010067757        0.013277511
## 2020-01-09         0.0002704426       0.007654685       -0.002513021
## 2020-01-10         0.0128499755       0.017269657        0.010797163
##            ORBIA.MX.Adjusted BOLSAA.MX.Adjusted GFINBURO.MX.Adjusted
## 2020-01-03      0.0152173503       -0.021008444        -0.0024370988
## 2020-01-06     -0.0009515129       -0.004768714         0.0073290028
## 2020-01-07     -0.0366756089        0.007187290        -0.0210186121
## 2020-01-08     -0.0106301920        0.002854489        -0.0045416477
## 2020-01-09     -0.0009997261       -0.001423293         0.0091248158
## 2020-01-10      0.1363182404       -0.003087679         0.0004110246
##            LIVEPOLC.1.MX.Adjusted BBAJIOO.MX.Adjusted MEGACPO.MX.Adjusted
## 2020-01-03            0.017728196         0.008695545       -0.0006455945
## 2020-01-06            0.006481682        -0.004618125        0.0016792765
## 2020-01-07           -0.013886021        -0.003093166       -0.0288846207
## 2020-01-08            0.011836639        -0.008997751       -0.0091620074
## 2020-01-09           -0.015480015        -0.011271188       -0.0026803354
## 2020-01-10            0.018181870        -0.029132361        0.0051062565
##            ALSEA.MX.Adjusted AC.MX.Adjusted ALFAA.MX.Adjusted LABB.MX.Adjusted
## 2020-01-03      7.964255e-03    0.008927563       0.012376382     0.0005326892
## 2020-01-06      9.637827e-05   -0.003743463       0.010696563     0.0015965047
## 2020-01-07     -4.817714e-04    0.009418668      -0.024493420     0.0042506783
## 2020-01-08     -5.205330e-03   -0.003287601       0.019218916    -0.0100530581
## 2020-01-09     -8.720576e-04   -0.005820620      -0.002433095     0.0026725768
## 2020-01-10     -1.697217e-02    0.001073268      -0.023170719    -0.0010661575
##            KOFUBL.MX.Adjusted ELEKTRA.MX.Adjusted FEMSAUBD.MX.Adjusted
## 2020-01-03        0.008137697        -0.002681136          0.010248488
## 2020-01-06       -0.005839409         0.006785905         -0.000600076
## 2020-01-07       -0.003714226         0.005297346          0.007749494
## 2020-01-08       -0.004595155        -0.002042009         -0.005956948
## 2020-01-09       -0.004747013        -0.005491384         -0.005066414
## 2020-01-10       -0.004419490        -0.001348897         -0.006351578
##            VOLARA.MX.Adjusted VESTA.MX.Adjusted
## 2020-01-03        0.008491512       0.019619163
## 2020-01-06       -0.019564163      -0.015364753
## 2020-01-07        0.013387188      -0.008312924
## 2020-01-08        0.009471612       0.004706080
## 2020-01-09        0.007160516      -0.015807923
## 2020-01-10        0.009070824       0.011302557

Vemos los promedios de los retornos de las acciones

means <- colMeans(retornos_precios)
class(means)
## [1] "numeric"
means
##        GCC.MX.Adjusted       GAPB.MX.Adjusted   GMEXICOB.MX.Adjusted 
##           9.667412e-04           5.609244e-04           2.458631e-03 
##     BIMBOA.MX.Adjusted     GRUMAB.MX.Adjusted       OMAB.MX.Adjusted 
##           1.248940e-03           1.172048e-03           2.705326e-04 
##   GFNORTEO.MX.Adjusted    PE.OLES.MX.Adjusted    KIMBERA.MX.Adjusted 
##           5.401707e-04           2.723872e-03          -5.153585e-06 
## TLEVISACPO.MX.Adjusted     PINFRA.MX.Adjusted     CUERVO.MX.Adjusted 
##          -5.699518e-04           3.366997e-05           1.753477e-03 
##   CEMEXCPO.MX.Adjusted          Q.MX.Adjusted         RA.MX.Adjusted 
##           2.078723e-03           1.672834e-03          -6.286011e-05 
##   GCARSOA1.MX.Adjusted      ASURB.MX.Adjusted     WALMEX.MX.Adjusted 
##           1.183151e-04           3.402292e-05           4.020335e-04 
##      ORBIA.MX.Adjusted     BOLSAA.MX.Adjusted   GFINBURO.MX.Adjusted 
##           1.223323e-03           1.119446e-03          -8.424948e-05 
## LIVEPOLC.1.MX.Adjusted    BBAJIOO.MX.Adjusted    MEGACPO.MX.Adjusted 
##          -7.351414e-04          -2.683867e-04           2.231849e-04 
##      ALSEA.MX.Adjusted         AC.MX.Adjusted      ALFAA.MX.Adjusted 
##          -1.829510e-03           1.246221e-04           3.987629e-04 
##       LABB.MX.Adjusted     KOFUBL.MX.Adjusted    ELEKTRA.MX.Adjusted 
##           3.776133e-04          -4.812561e-04          -1.350427e-04 
##   FEMSAUBD.MX.Adjusted     VOLARA.MX.Adjusted      VESTA.MX.Adjusted 
##          -3.868589e-04           1.754671e-03           8.860643e-04

##Desviación Estándar Calculamos la desviación estándar con la función sd.

volatilidad de los retornos

stddev <- as.data.frame(retornos_precios) %>% summarise_if(is.numeric, sd)
stddev
##   GCC.MX.Adjusted GAPB.MX.Adjusted GMEXICOB.MX.Adjusted BIMBOA.MX.Adjusted
## 1       0.0230919       0.03545378           0.02645614         0.02804818
##   GRUMAB.MX.Adjusted OMAB.MX.Adjusted GFNORTEO.MX.Adjusted PE.OLES.MX.Adjusted
## 1         0.02213441       0.03569064           0.03124074          0.03627431
##   KIMBERA.MX.Adjusted TLEVISACPO.MX.Adjusted PINFRA.MX.Adjusted
## 1          0.02309146             0.03602294         0.02307857
##   CUERVO.MX.Adjusted CEMEXCPO.MX.Adjusted Q.MX.Adjusted RA.MX.Adjusted
## 1         0.02256646           0.03476335    0.02862548     0.03513402
##   GCARSOA1.MX.Adjusted ASURB.MX.Adjusted WALMEX.MX.Adjusted ORBIA.MX.Adjusted
## 1           0.03249476          0.029566         0.01751217        0.03184466
##   BOLSAA.MX.Adjusted GFINBURO.MX.Adjusted LIVEPOLC.1.MX.Adjusted
## 1         0.02974209             0.031974             0.02938293
##   BBAJIOO.MX.Adjusted MEGACPO.MX.Adjusted ALSEA.MX.Adjusted AC.MX.Adjusted
## 1          0.02951595          0.02242532        0.04089855     0.01648622
##   ALFAA.MX.Adjusted LABB.MX.Adjusted KOFUBL.MX.Adjusted ELEKTRA.MX.Adjusted
## 1        0.04164251       0.02790459         0.01863899         0.008432233
##   FEMSAUBD.MX.Adjusted VOLARA.MX.Adjusted VESTA.MX.Adjusted
## 1           0.02226895          0.0447807        0.02346043
class(stddev)
## [1] "data.frame"

##Sharpe Ratio

Calculamos el valor el Sharpe Ratio con una tasa de 3% diaria.

Sharpe

sharpe <- (means - (0.03/360)) / stddev
sharpe
##   GCC.MX.Adjusted GAPB.MX.Adjusted GMEXICOB.MX.Adjusted BIMBOA.MX.Adjusted
## 1      0.03825618       0.01347081           0.08978248         0.04155729
##   GRUMAB.MX.Adjusted OMAB.MX.Adjusted GFNORTEO.MX.Adjusted PE.OLES.MX.Adjusted
## 1         0.04918653      0.005245052           0.01462313          0.07279363
##   KIMBERA.MX.Adjusted TLEVISACPO.MX.Adjusted PINFRA.MX.Adjusted
## 1         -0.00383202            -0.01813525       -0.002151925
##   CUERVO.MX.Adjusted CEMEXCPO.MX.Adjusted Q.MX.Adjusted RA.MX.Adjusted
## 1         0.07400998           0.05739925    0.05552748   -0.004161022
##   GCARSOA1.MX.Adjusted ASURB.MX.Adjusted WALMEX.MX.Adjusted ORBIA.MX.Adjusted
## 1          0.001076534      -0.001667808         0.01819879        0.03579846
##   BOLSAA.MX.Adjusted GFINBURO.MX.Adjusted LIVEPOLC.1.MX.Adjusted
## 1         0.03483657         -0.005241222            -0.02785545
##   BBAJIOO.MX.Adjusted MEGACPO.MX.Adjusted ALSEA.MX.Adjusted AC.MX.Adjusted
## 1         -0.01191627         0.006236326       -0.04677044    0.002504443
##   ALFAA.MX.Adjusted LABB.MX.Adjusted KOFUBL.MX.Adjusted ELEKTRA.MX.Adjusted
## 1       0.007574702       0.01054593        -0.03029078         -0.02589777
##   FEMSAUBD.MX.Adjusted VOLARA.MX.Adjusted VESTA.MX.Adjusted
## 1          -0.02111425         0.03732273        0.03421638
class(sharpe)
## [1] "data.frame"