Ejemplo de covarianza para finanzas

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

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,])
Ejemplo de covarianza para finanzas
head(TEF)
str(TEF)
Ejemplo de covarianza para finanzas
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)
Ejemplo de covarianza para finanzas
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)
Ejemplo de covarianza para finanzas
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!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado