Tecnológico de Monterrey

Doctor Teófilo Ozuna

Alumna:

Avril Lobato Delgado A00833113

Diebold and Yilmaz (2012): Better to give than to receive: Predictive directional measurement of volatility spillovers.

##Librerias

library(ggplot2)
library(dplyr)
library(tidyr)
library(lubridate)
library(purrr)
library(plotly)
library(forecast)
library(readxl)
library(DataExplorer)
library(dplyr)
library(ggplot2)
library(tm)
library(cluster)
library(factoextra) 
library(gridExtra)
library(purrr)
library(pROC)
library(rpart)
library(rpart.plot)
library(e1071)
library(ggpubr)
library(dlookr)
library(zoo)
library(caret)
library(stats)
library(tseries)
library(readr)
library(vars)
library(syuzhet)
library(kableExtra)
library(plotly)
library(scales)
library(knitr)
library(rmgarch)
library(devtools)
library(openxlsx)
library(relaimpo)
library(stargazer)
library(RColorBrewer)
library(PerformanceAnalytics)
library(ConnectednessApproach)
library(readr)
library(tseries)
library(forecast)
library(urca)
library(fGarch)
library(MTS)
library(MASS)
library(nortest)
library(outliers)
library(moments)
library(FinTS)
library(WeightedPortTest)

Carga de base de datos

# Lee el archivo CSV y selecciona las columnas relevantes
index_alt <- read_csv("C:\\Users\\AVRIL\\Documents\\Latinas\\returns.csv")
data <- index_alt[, c("Fecha", "Multi_Returns", "Techno_Returns")]
 # Asegúrate de que 'Fecha' y 'Multi_Returns' estén definidos correctamente.
data$Fecha <- as.Date(data$Fecha, format = "%d/%m/%Y")
data$Multi_Returns <- as.numeric(data$Multi_Returns)
data$Techno_Returns <- as.numeric(data$Techno_Returns)
## Warning: NAs introducidos por coerción
data <- na.omit(data)

# Crear matriz y objeto zoo
data_matrix <- as.matrix(data[, -1])  # Excluir la columna 'Fecha'
data_zoo <- zoo(data_matrix, order.by = data$Fecha)
# Mostrar estructura y resumen
str(data_zoo)
## 'zoo' series from 2010-01-04 to 2024-11-15
##   Data: num [1:5282, 1:2] 0 0.16011 0.20009 0.00847 0.11226 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : NULL
##   ..$ : chr [1:2] "Multi_Returns" "Techno_Returns"
##   Index:  Date[1:5282], format: "2010-01-04" "2010-01-05" "2010-01-06" "2010-01-07" "2010-01-08" ...
summary(data_zoo)
##      Index            Multi_Returns      Techno_Returns     
##  Min.   :2010-01-04   Min.   :-7.43852   Min.   :-25.06103  
##  1st Qu.:2013-09-23   1st Qu.:-0.04917   1st Qu.: -0.02594  
##  Median :2017-06-13   Median : 0.00000   Median :  0.00000  
##  Mean   :2017-06-13   Mean   : 0.07791   Mean   :  0.03507  
##  3rd Qu.:2021-03-05   3rd Qu.: 0.28119   3rd Qu.:  0.36610  
##  Max.   :2024-11-15   Max.   : 1.00000   Max.   :  1.00000
dim(data_zoo)
## [1] 5282    2
dca = ConnectednessApproach(data_zoo, 
                            nlag=4, 
                            nfore=10,
                            model="VAR",
                            connectedness="Time",
                            Connectedness_config=list(TimeConnectedness=list(generalized=TRUE)))
## Estimating model
## Computing connectedness measures
## The (generalized) VAR connectedness approach is implemented according to:
##  Diebold, F. X., & Yilmaz, K. (2012). Better to give than to receive: Predictive directional measurement of volatility spillovers. International Journal of Forecasting, 28(1), 57-66.
kable(dca$TABLE)
Multi_Returns Techno_Returns FROM
Multi_Returns 91.24 8.76 8.76
Techno_Returns 9.53 90.47 9.53
TO 9.53 8.76 18.29
Inc.Own 100.77 99.23 cTCI/TCI
NET 0.77 -0.77 18.29/9.14
NPT 1.00 0.00

VAR Model

dca = ConnectednessApproach(data_zoo, 
                            nlag=4, 
                            nfore=10,
                            window.size=200,
                            model="VAR",
                            connectedness="Time",
                            Connectedness_config=list(TimeConnectedness=list(generalized=TRUE)))
## Estimating model
## Computing connectedness measures
## The (generalized) VAR connectedness approach is implemented according to:
##  Diebold, F. X., & Yilmaz, K. (2012). Better to give than to receive: Predictive directional measurement of volatility spillovers. International Journal of Forecasting, 28(1), 57-66.

Gráficos

#Figure 2. Total Volatility Spillovers, Four Asset Classes
PlotTCI(dca, ylim=c(5,35))

#Figure 3. Directional Volatility Spillovers, TO Four Asset Classes
PlotTO(dca)

#Figure 4. Directional Volatility Spillovers, FROM Four Asset Classes
PlotFROM(dca)

#Figure 5. Net Volatility Spillovers, Four Asset Classes
PlotNET(dca)

#Figure 6. Net Pairwise Volatility Spillovers
PlotNPDC(dca)

LS0tDQp0aXRsZTogIlRlY2hub2xhdGluYXMmTXVsdGlsYXRpbmFzIg0KYXV0aG9yOiAiQXZyaWwgTG9iYXRvIC0gQTAwODMzMTEzIg0KZGF0ZTogIjIwMjQtMTEtMjIiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIGhpZ2hsaWdodDogcHlnbWVudHMNCi0tLQ0KDQohW10oaHR0cHM6Ly9jaXRyaXMtdWMub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzEwL1RlYy1kZS1Nb250ZXJyZXktbG9nby1ob3Jpem9udGFsLWJsdWUucG5nKQ0KDQo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXIiPg0KICA8cD48c3Ryb25nPlRlY25vbMOzZ2ljbyBkZSBNb250ZXJyZXk8L3N0cm9uZz48L3A+DQogIDxwPjxzdHJvbmc+RG9jdG9yIFRlw7NmaWxvIE96dW5hPC9zdHJvbmc+PC9wPg0KPC9kaXY+DQoNCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+DQogIDxwPjxzdHJvbmc+QWx1bW5hOjwvc3Ryb25nPjwvcD4NCg0KICBBdnJpbCBMb2JhdG8gRGVsZ2FkbyBBMDA4MzMxMTMNCiANCjwvZGl2Pg0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0KaWYgKHBhY2thZ2VWZXJzaW9uKCJ4ZnVuIikgPCAiMC40NCIpIHsNCiAgaW5zdGFsbC5wYWNrYWdlcygieGZ1biIpDQp9DQoNCiMgQ2FyZ2EgZWwgcGFxdWV0ZSBhY3R1YWxpemFkbw0KbGlicmFyeSh4ZnVuKQ0KDQojIENvbmZpZ3VyYWNpw7NuIGRlIGxvcyBjaHVua3MgZGUga25pdHINCmtuaXRyOjpvcHRzX2NodW5rJHNldCgNCgllY2hvID0gVFJVRSwNCgltZXNzYWdlID0gVFJVRSwNCgl3YXJuaW5nID0gVFJVRQ0KKQ0KYGBgDQoNCiMgKipEaWVib2xkIGFuZCBZaWxtYXogKDIwMTIpOioqIEJldHRlciB0byBnaXZlIHRoYW4gdG8gcmVjZWl2ZTogUHJlZGljdGl2ZSBkaXJlY3Rpb25hbCBtZWFzdXJlbWVudCBvZiB2b2xhdGlsaXR5IHNwaWxsb3ZlcnMuDQojI0xpYnJlcmlhcw0KYGBge3IgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkodGlkeXIpDQpsaWJyYXJ5KGx1YnJpZGF0ZSkNCmxpYnJhcnkocHVycnIpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KHJlYWR4bCkNCmxpYnJhcnkoRGF0YUV4cGxvcmVyKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkodG0pDQpsaWJyYXJ5KGNsdXN0ZXIpDQpsaWJyYXJ5KGZhY3RvZXh0cmEpIA0KbGlicmFyeShncmlkRXh0cmEpDQpsaWJyYXJ5KHB1cnJyKQ0KbGlicmFyeShwUk9DKQ0KbGlicmFyeShycGFydCkNCmxpYnJhcnkocnBhcnQucGxvdCkNCmxpYnJhcnkoZTEwNzEpDQpsaWJyYXJ5KGdncHVicikNCmxpYnJhcnkoZGxvb2tyKQ0KbGlicmFyeSh6b28pDQpsaWJyYXJ5KGNhcmV0KQ0KbGlicmFyeShzdGF0cykNCmxpYnJhcnkodHNlcmllcykNCmxpYnJhcnkocmVhZHIpDQpsaWJyYXJ5KHZhcnMpDQpsaWJyYXJ5KHN5dXpoZXQpDQpsaWJyYXJ5KGthYmxlRXh0cmEpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoc2NhbGVzKQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkocm1nYXJjaCkNCmxpYnJhcnkoZGV2dG9vbHMpDQpsaWJyYXJ5KG9wZW54bHN4KQ0KbGlicmFyeShyZWxhaW1wbykNCmxpYnJhcnkoc3RhcmdhemVyKQ0KbGlicmFyeShSQ29sb3JCcmV3ZXIpDQpsaWJyYXJ5KFBlcmZvcm1hbmNlQW5hbHl0aWNzKQ0KbGlicmFyeShDb25uZWN0ZWRuZXNzQXBwcm9hY2gpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeSh0c2VyaWVzKQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkodXJjYSkNCmxpYnJhcnkoZkdhcmNoKQ0KbGlicmFyeShNVFMpDQpsaWJyYXJ5KE1BU1MpDQpsaWJyYXJ5KG5vcnRlc3QpDQpsaWJyYXJ5KG91dGxpZXJzKQ0KbGlicmFyeShtb21lbnRzKQ0KbGlicmFyeShGaW5UUykNCmxpYnJhcnkoV2VpZ2h0ZWRQb3J0VGVzdCkNCmBgYA0KDQojIyBDYXJnYSBkZSBiYXNlIGRlIGRhdG9zDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KIyBMZWUgZWwgYXJjaGl2byBDU1YgeSBzZWxlY2Npb25hIGxhcyBjb2x1bW5hcyByZWxldmFudGVzDQppbmRleF9hbHQgPC0gcmVhZF9jc3YoIkM6XFxVc2Vyc1xcQVZSSUxcXERvY3VtZW50c1xcTGF0aW5hc1xccmV0dXJucy5jc3YiKQ0KZGF0YSA8LSBpbmRleF9hbHRbLCBjKCJGZWNoYSIsICJNdWx0aV9SZXR1cm5zIiwgIlRlY2hub19SZXR1cm5zIildDQpgYGANCg0KYGBge3J9DQogIyBBc2Vnw7pyYXRlIGRlIHF1ZSAnRmVjaGEnIHkgJ011bHRpX1JldHVybnMnIGVzdMOpbiBkZWZpbmlkb3MgY29ycmVjdGFtZW50ZS4NCmRhdGEkRmVjaGEgPC0gYXMuRGF0ZShkYXRhJEZlY2hhLCBmb3JtYXQgPSAiJWQvJW0vJVkiKQ0KZGF0YSRNdWx0aV9SZXR1cm5zIDwtIGFzLm51bWVyaWMoZGF0YSRNdWx0aV9SZXR1cm5zKQ0KZGF0YSRUZWNobm9fUmV0dXJucyA8LSBhcy5udW1lcmljKGRhdGEkVGVjaG5vX1JldHVybnMpDQpkYXRhIDwtIG5hLm9taXQoZGF0YSkNCg0KIyBDcmVhciBtYXRyaXogeSBvYmpldG8gem9vDQpkYXRhX21hdHJpeCA8LSBhcy5tYXRyaXgoZGF0YVssIC0xXSkgICMgRXhjbHVpciBsYSBjb2x1bW5hICdGZWNoYScNCmRhdGFfem9vIDwtIHpvbyhkYXRhX21hdHJpeCwgb3JkZXIuYnkgPSBkYXRhJEZlY2hhKQ0KYGBgDQoNCmBgYHtyfQ0KIyBNb3N0cmFyIGVzdHJ1Y3R1cmEgeSByZXN1bWVuDQpzdHIoZGF0YV96b28pDQpzdW1tYXJ5KGRhdGFfem9vKQ0KZGltKGRhdGFfem9vKQ0KYGBgDQoNCg0KYGBge3J9DQpkY2EgPSBDb25uZWN0ZWRuZXNzQXBwcm9hY2goZGF0YV96b28sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5sYWc9NCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmZvcmU9MTAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw9IlZBUiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkbmVzcz0iVGltZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkbmVzc19jb25maWc9bGlzdChUaW1lQ29ubmVjdGVkbmVzcz1saXN0KGdlbmVyYWxpemVkPVRSVUUpKSkNCmBgYA0KDQpgYGB7cn0NCmthYmxlKGRjYSRUQUJMRSkNCmBgYA0KIyMgVkFSIE1vZGVsDQpgYGB7cn0NCmRjYSA9IENvbm5lY3RlZG5lc3NBcHByb2FjaChkYXRhX3pvbywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmxhZz00LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZm9yZT0xMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2l6ZT0yMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw9IlZBUiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkbmVzcz0iVGltZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkbmVzc19jb25maWc9bGlzdChUaW1lQ29ubmVjdGVkbmVzcz1saXN0KGdlbmVyYWxpemVkPVRSVUUpKSkNCmBgYA0KIyMgR3LDoWZpY29zDQpgYGB7cn0NCiNGaWd1cmUgMi4gVG90YWwgVm9sYXRpbGl0eSBTcGlsbG92ZXJzLCBGb3VyIEFzc2V0IENsYXNzZXMNClBsb3RUQ0koZGNhLCB5bGltPWMoNSwzNSkpDQojRmlndXJlIDMuIERpcmVjdGlvbmFsIFZvbGF0aWxpdHkgU3BpbGxvdmVycywgVE8gRm91ciBBc3NldCBDbGFzc2VzDQpQbG90VE8oZGNhKQ0KI0ZpZ3VyZSA0LiBEaXJlY3Rpb25hbCBWb2xhdGlsaXR5IFNwaWxsb3ZlcnMsIEZST00gRm91ciBBc3NldCBDbGFzc2VzDQpQbG90RlJPTShkY2EpDQojRmlndXJlIDUuIE5ldCBWb2xhdGlsaXR5IFNwaWxsb3ZlcnMsIEZvdXIgQXNzZXQgQ2xhc3Nlcw0KUGxvdE5FVChkY2EpDQojRmlndXJlIDYuIE5ldCBQYWlyd2lzZSBWb2xhdGlsaXR5IFNwaWxsb3ZlcnMNClBsb3ROUERDKGRjYSkNCmBgYA0KDQo=