El desarrollo de ejemplos aleatorios de covarianza puede facilitarte la comprensión de este tipo de análisis estadístico para un procesamiento del Big Data. Por este motivo, en este post, te compartimos un ejemplo de covarianza para finanzas
Ejemplo de covarianza para finanzas
Para el ejemplo de covarianza para finanzas hay que partir de que en el mercado bursátil se pone un gran énfasis en reducir el riesgo asumido.
Esto generalmente significa que estas acciones no se mueven en la misma dirección. Se suelen elegir acciones que tienen una menor covarianza entre sí; normalmente no se hace sobre el valor de la acción en sí, sino sobre la tasa de retorno al final de cada día.
suppressWarnings(require("quantmod")) start <- as.Date("2000-01-01") end <- as.Date("2021-01-01") TEF<-getSymbols("TEF.MC", src = "yahoo", from = start, to = end,auto.assign = F) SAN<-getSymbols("SAN.MC", src = "yahoo", from = start, to = end,auto.assign = F) BBVA<-getSymbols("BBVA.MC", src = "yahoo", from = start, to = end,auto.assign = F)
Loading required package: 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 ‘getSymbols’ currently uses auto.assign=TRUE by default, but will use auto.assign=FALSE in 0.5-0. You will still be able to use ‘loadSymbols’ to automatically load data. getOption("getSymbols.env") and getOption("getSymbols.auto.assign") will still be checked for alternate defaults. This message is shown once per session and may be disabled by setting options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details. Warning message: “TEF.MC contains missing values. Some functions will not work if objects contain missing values in the middle of the series. Consider using na.omit(), na.approx(), na.fill(), etc to remove or replace them.” Warning message: “SAN.MC contains missing values. Some functions will not work if objects contain missing values in the middle of the series. Consider using na.omit(), na.approx(), na.fill(), etc to remove or replace them.” Warning message: “BBVA.MC contains missing values. Some functions will not work if objects contain missing values in the middle of the series. Consider using na.omit(), na.approx(), na.fill(), etc to remove or replace them.”
candleChart(TEF[1:10,])
head(TEF) str(TEF)
convertToDf<-function(stock){ valueAdjusted <- stock[,6] df <- data.frame(index(valueAdjusted), valueAdjusted, row.names=1:length(valueAdjusted)) colnames(df) <- c("date",gsub(".Adjusted","",names(valueAdjusted))) df } df_TEF <- convertToDf(TEF) df_SAN <- convertToDf(SAN) df_BBVA <- convertToDf(BBVA) head(df_TEF) str(df_SAN)
df_total <- merge(df_TEF,df_SAN,by="date", all=T) df_total <- merge(df_total,df_BBVA,by="date", all=T) seq1 <- 1:(nrow(df_total)-1) seq2 <- 2:nrow(df_total) roi <- (df_total[seq2,2:ncol(df_total)]/df_total[seq1,2:ncol(df_total)]-1)*100 head(roi)
paste("La covarianza entre las tasas de retorno del BBVA y TEF es:", cov(roi$BBVA.MC,roi$TEF.MC, use="complete.obs")) paste("La covarianza entre las tasas de retorno del BBVA y SAN es:", cov(roi$BBVA.MC,roi$SAN.MC, use="complete.obs"))
‘La covarianza entre las tasas de retorno del BBVA y TEF es: 2.78308566495626’
‘La covarianza entre las tasas de retorno del BBVA y SAN es: 4.38861040170809’
Como cabría esperar, existe una gran covarianza entre los bancos Santander y BBVA que no se da con Telefónica. Pero la covarianza tiene un problema y es que no está normalizada.
En este ejemplo de covarianza para finanzas, la covarianza entre dos variables puede ser muy alta porque la varianza de una de las variables es muy alta o porque existe una relación alta entre cada una de ellas.
Sigue aprendiendo del Big Data
En este post te hemos expuesto un ejemplo de covarianza para finanzas para que puedas tener una guía práctica y profundizar en este tipo de cálculo estadístico.
Para aprender más sobre el Big Data y sus herramientas, desde KeepCoding te recomendamos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. A través de esta formación, aprenderás a dominar los conocimientos necesarios para implantar cualquier tipo de arquitectura. ¡No lo dudes más e inscríbete ya para convertirte en un experto del sector IT!