• Nenhum resultado encontrado

O período recente tem demonstrado aumento na volatilidade dos ativos, com alterações no coeficiente de correlação entre eles. Os títulos de longo prazo brasileiros chegaram a inverter de forma persistente a sua correlação com o câmbio no período em análise. O mesmo ocorreu com o papel americano, que também apresentou alteração no sinal da correlação, mas em proporções bem menores. Estas alterações demonstram que a incerteza no cenário atual, tanto no Brasil como nos Estados Unidos, acabam por modificar o comportamento dos títulos de longo prazo.

A propagação de períodos de volatilidade do câmbio tem maior intensidade no mercado de curto prazo brasileiro com impacto na correlação entre os papéis, que foi modificada por um longo período de tempo. Tivemos dificuldade para ajustar os títulos de longo prazo brasileiro, que só apresentaram parâmetros significantes no modelo GO. Já as ações demonstraram um comportamento mais padrão, de fora que sua volatilidade não foi transferida para a correlação com o câmbio, e se ajustou bem em todos os modelos.

No período de crescimento brasileiro iniciado em julho de 2011, gerado pela redução dos juros, nota-se um aumento da volatilidade condicional de todos os papéis, indicando que este crescimento foi acompanhado de incerteza entre os agentes. Já o período de desaquecimento da economia americana em maio de 2013 teve impacto principalmente na correlação condicional entre o câmbio e o mercado de ações. Os movimentos da correlação condicional observados acima podem ser capturados e utilizados para incluir uma dinâmica das correlações entre os papéis nos modelos de previsão de risco, melhorando seu resultado.

A escolha de um modelo GARCH está relacionada ao número de parâmetros que se deseje utilizar, modelos mais simplificados como DCC se utilizam de um menor número de parâmetros, que apesar de demandarem menor poder de processamento, não demonstrando de forma clara as mudanças de estado entre as variáveis, e no geral apresentam maior volatilidade. O modelo rotacionado GO calcula um número maior de parâmetros se valendo de um método que garante a independência elas, resultando em uma variância condicional mais estável e que nem por isso deixa de absorver as mudanças dos estados do mercado.

REFERÊNCIAS

BARROSO, João Barata R. B. Realized Volatility as an Instrument to Official Intervention. Working Papers 363, Banco Central do Brasil. 2014.

BILLIO, Monica, Michele Gobo, Masimiliano Caporin. Flexible Dynamic Condicional Correlation Multivariate GARCH models for Asset Allocation. Universita ’CA’ Foscari di Venezia. 2005.

BODART, Vincent, Paul Reding. Exchange rate regime, volatility and international correlations on bond and stock markets. Journal of International Money and Finance. 1999.

BOLLERSLEV, Tim. Generalized Autoregressive Conditional Heteroskedasticity. Journal of Econometrics. 1986.

CAMPBELL, John Y., Andrew W. Lo and A. Craig MacKinlay. The Econometrics of Financial Markets. New Jersey. Princeton University Press. 1997.

COCHRANE, John H. Asset Pricing. New Jersey. Princeton University Press. 2001. CRYER, Jonathan D., Kung-Sik Chan. Time Series Analysis With Applications in R. Berlin. Springer.com. 2008.

EHRMANN, Michael, Marcel Fratzscher and Roberto Rigobon. Stocks, Bonds, Money Markets and Exchange Rates: Measuring International Financial

Transmission. Journal of Applied Econometrics. 2009.

ENDERS, Walter. Applied econometric time series. New Jersey. John Wiley & Soons, Inc. 2004

ENGLE, Robert F. Autoregressive Conditional Heteroscedasicity with Estimates of the Variance of United Kingdom Inflation. Econometrica. 1982.

ENGLE, Robert F., Kevin Sheppard. Theoretical and Empirical Properties of Dynamic Condicional Correlation Multivariate GARCH. National bureau of Economic

Research. 2001.

GHALANOS, Alexios. rmgarch: Multivariate GARCH models. Pacote R versão 2.8.0. 2014.

GHALANOS, Alexios. rugarch: Univariate GARCH models. Pacote R versão 2.8.0. 2014.

J.P.MORGAN/Reuters. Riskmetrics - technical document, Technical report. Morgan Guaranty Trust Company. 1996.

KEARNEY, Colm, Andrew J. Patton. Multivariate GARCH Modeling of Exchange Rate Volatility Transmission in the European Monetary System. University of California, The Financial Review 41. 2000.

RIGOBON, Roberto. Identification through heteroskedasticity: Measuring “contagion”

between argentinean and mexican sovereign bonds. National Bureau of Economic Research. 2000.

RODRIGUEZ, Juan Carlos. Measuring financial contagion: A Copula approach. Journal of Empirical Finance. 2007.

SHEPPARD, Kevin. MFE Toolbox. www.kevinsheppard.com/MFE_Toolbox. 2015

TSAY, Ruey S. Multivariate Time Series Analysis – With R and Financial

Applications. New Jersey. Wiley. 2014.

WEIDE, van der. Go-garch: a multivariate generalized orthogonal garch model. Journal of Applied Econometrics.2002.

c

ANEXO D – IDENTIFICAÇÃO DO MODELO UNIVARIADO

ativo ARCH GARCH 1 2 5 1 p+q* p+q**

1 1 0,9468 76,7% 90,8% 99,5% 96,8% 100,0% 100,0% 1 2 0,9364 76,2% 90,3% 98,9% 96,8% 100,0% 100,0% 1 3 0,8635 80,5% 84,5% 96,4% 96,5% 100,0% 100,0% 2 1 0,9380 76,6% 90,7% 99,0% 96,8% 100,0% 100,0% 2 2 0,9386 76,2% 90,3% 98,9% 96,8% 100,0% 100,0% 2 3 0,8656 80,5% 84,7% 96,5% 96,4% 100,0% 100,0% 3 1 0,9269 76,1% 90,4% 99,0% 96,9% 100,0% 100,0% 3 2 0,9346 76,4% 90,6% 99,1% 96,9% 100,0% 100,0% 3 3 0,9350 76,3% 90,7% 99,2% 97,0% 100,0% 100,0% 1 1 3,4467 16,8% 24,5% 47,9% 74,0% 99,4% 100,0% 1 2 - - - - 1 3 - - - - 2 1 - - - - 2 2 - - - - 2 3 - - - - 3 1 - - - - 3 2 3,0529 42,6% 59,7% 81,1% 92,5% 100,0% 100,0% 3 3 3,1252 45,9% 64,4% 82,8% 92,3% 100,0% 100,0% 1 1 3,4932 88,8% 97,2% 99,8% 70,2% 61,7% 57,1% 1 2 3,4958 88,2% 97,1% 99,8% 71,3% 58,5% 64,0% 1 3 3,4982 87,9% 97,0% 99,8% 72,1% 59,9% 71,0% 2 1 3,4952 88,2% 97,0% 99,8% 99,8% 62,7% 68,8% 2 2 3,4957 89,3% 97,0% 99,9% 82,1% 57,4% 68,9% 2 3 3,4965 90,0% 97,4% 99,9% 95,4% 70,3% 81,1% 3 1 3,4977 88,0% 96,9% 99,8% 98,8% 66,9% 77,4% 3 2 3,4982 88,8% 96,9% 99,9% 81,7% 62,1% 75,6% 3 3 3,4987 90,0% 97,4% 99,9% 95,4% 74,5% 81,2% 1 1 8,9022 3,5% 1,8% 1,1% 28,1% 66,6% 73,6% 1 2 8,8974 5,0% 2,4% 1,2% 74,6% 88,4% 89,7% 1 3 8,8982 6,0% 2,8% 1,3% 84,6% 95,2% 95,4% 2 1 8,9068 3,5% 1,8% 1,1% 27,9% 74,3% 82,1% 2 2 8,8996 5,0% 2,4% 1,2% 74,6% 86,6% 89,2% 2 3 8,9001 5,9% 2,7% 1,3% 75,7% 96,9% 96,5% 3 1 8,9115 3,6% 1,8% 1,1% 27,7% 76,0% 81,4% 3 2 8,9042 5,0% 2,4% 2,2% 74,2% 89,7% 89,2% 3 3 8,9010 5,0% 2,2% 1,1% 60,7% 95,6% 94,6% 1* 3* 8,8510 49,8% 100,0% 78,6% 70,7% 95,2% 96,0% 1 1 4,6780 21,5% 33,3% 56,6% 83,1% 99,7% 100,0% 1 2 4,6805 21,5% 33,2% 56,4% 83,2% 100,0% 100,0% 1 3 4,6770 20,9% 30,6% 53,7% 74,0% 100,0% 100,0% 2 1 4,6793 28,9% 44,0% 67,0% 98,5% 100,0% 100,0% 2 2 4,6815 28,9% 44,0% 67,0% 98,5% 100,0% 100,0% 2 3 4,6840 28,9% 43,9% 66,9% 98,7% 100,0% 100,0% 3 1 4,6744 32,1% 43,5% 66,1% 98,1% 100,0% 100,0% 3 2 4,6766 32,1% 43,5% 66,1% 98,1% 100,0% 100,0% 3 3 4,6787 32,1% 43,5% 66,1% 98,1% 100,0% 100,0% 1 1 2,7788 23,3% 37,8% 38,0% 65,8% 98,0% 99,9% 1 2 2,7811 23,2% 37,8% 38,0% 65,8% 99,8% 100,0% 1 3 2,7839 23,3% 37,8% 37,9% 65,9% 99,9% 100,0% 2 1 2,7546 16,4% 27,4% 33,8% 72,2% 99,7% 99,9% 2 2 2,7568 16,4% 27,4% 33,8% 72,2% 99,8% 100,0% 2 3 2,7591 16,4% 27,3% 33,8% 72,2% 99,9% 100,0% 3 1 2,7490 16,3% 27,2% 33,1% 69,2% 99,8% 100,0% 3 2 2,7512 16,3% 27,2% 33,1% 69,2% 99,9% 100,0% 3 3 2,7533 16,3% 27,2% 33,1% 69,2% 100,0% 100,0% 1 1 - - - - 1 2 - - - - 1 3 2,9561 89,0% 100,0% 99,9% 90,6% 100,0% 100,0% 2 1 - - - - 2 2 2,8749 44,4% 93,5% 96,3% 90,1% 100,0% 100,0% 2 3 2,8771 44,3% 93,5% 96,3% 90,1% 100,0% 100,0% 3 1 - - - - 3 2 2,8771 44,3% 93,5% 96,3% 90,1% 100,0% 100,0% 3 3 2,8793 44,3% 93,5% 96,3% 90,1% 100,0% 100,0%

*A média foi modelada por um processo ARFIMA(1,0,1) US 3 M

US 10 A

SP 500

US/R

média e variancia

condicional L Jung Box res Ljung Box res^2

BR 3M

BR 10A

IBOV

ANEXO E – CÓDIGO R GARCH_Univariado.R

require(rugarch) rm(list = ls())

######################### #Carrega a base de dados# #########################

base=read.csv('\\Dados\\base_dados_072015.csv', header=TRUE, sep=";") rbr <- diff(log(as.numeric(base$rbr)))*100 #br3m

bbr <- diff(log(as.numeric(base$bbr)))*100 #br10a sbr <- diff(log(as.numeric(base$sbr)))*100 #ibov

rus <- diff(log(as.numeric(base$rus)))*100 #us3m bus <- diff(log(as.numeric(base$bus)))*100 #us10a sus <- diff(log(as.numeric(base$sus)))*100 #sp500 e <- diff(log(as.numeric(base$e)))*100 #us_r y <- cbind(e,rbr,bbr, sbr, sus, rus, bus)

index = seq(from = 1, to = 922, by = 1)

write.table(summary(y), file="descritiva.csv",sep=";") #MODELO BR 3M

rbr.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(1,3)),

mean.model = list(armaOrder=c(0,0))) rbr.fit = ugarchfit(spec=rbr.spec, data=rbr,

solver.control=list(trace = 1)) rbr.fit

pacf(residuals(rbr.fit)) #MODELO BR 10A cat ("bbr")

cat ("Press [enter] to continue") line <- readline()

bbr.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(3,2)),

mean.model = list(armaOrder=c(0,0)), distribution.model="norm")

bbr.fit = ugarchfit(spec=bbr.spec, data=bbr, solver.control=list(trace = 1)) bbr.fit

pacf(residuals(bbr.fit)) #MODELO IBOV cat ("sbr")

cat ("Press [enter] to continue") line <- readline()

sbr.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(1,1)),

mean.model = list(armaOrder=c(0,0))) sbr.fit = ugarchfit(spec=sbr.spec, data=sbr,

solver.control=list(trace = 1)) sbr.fit

pacf(residuals(sbr.fit)) #MODELO US 3M cat ("rus")

cat ("Press [enter] to continue") line <- readline()

rus.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(1,3)),

mean.model = list(armaOrder=c(1,1))) rus.fit = ugarchfit(spec=rus.spec, data=rus,

solver.control=list(trace = 1)) rus.fit

pacf(residuals(rus.fit)) #MODELO US 10A cat ("bus")

cat ("Press [enter] to continue") line <- readline()

bus.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(3,1)),

mean.model = list(armaOrder=c(0,0))) bus.fit = ugarchfit(spec=bus.spec, data=bus, solver.control=list(trace = 1)) bus.fit

pacf(residuals(bus.fit)) #MODELO SP500 cat ("sus")

cat ("Press [enter] to continue") line <- readline()

sus.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(3,1)),

mean.model = list(armaOrder=c(0,0))) sus.fit = ugarchfit(spec=sus.spec, data=sus,

solver.control=list(trace = 1)) sus.fit

pacf(residuals(sus.fit)) #MODELO CAMBIO cat ("e")

cat ("Press [enter] to continue") line <- readline()

e.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder=c(2,2)),

mean.model = list(armaOrder=c(1,0))) e.fit = ugarchfit(spec=e.spec, data=e,

solver.control=list(trace = 1)) e.fit pacf(residuals(e.fit)) GARCH_DCC.R library(rmgarch) ########################## #Especifica o modelo GARCH # ########################## y. <- cbind(e,rbr,bbr,sbr)

garchm.spec<-multispec(c(e.spec, rbr.spec, bbr.spec, sbr.spec)) spec.dcc = dccspec(garchm.spec,

VAR=FALSE, model="DCC",

distribution ='mvnorm')

garchm.fit<-dccfit(spec.dcc, data=y., solver='solnp', fit.control=list(eval.se=TRUE))

garchm.fit

nomes<-cbind('Cambio' ,'3meses', '10anos', 'acoes') #Captura a covariancia condicional

covCond <-rcov(garchm.fit) covc11<-covCond[1,1,] covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44)

#Captura a correlacao corCond <-rcor(garchm.fit) corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24,

corr34)

write.table(cor, file="corDCCbr.csv",sep=";") ##########################

#Especifica o modelo GARCH # ########################## y. <- cbind(e,rus,bus,sus)

garchm.spec<-multispec(c(e.spec, rus.spec, bus.spec, sus.spec)) spec.dcc = dccspec(garchm.spec,

VAR=TRUE, model="DCC",

distribution ='mvnorm')

garchm.fit<-dccfit(spec.dcc, data=y., solver='solnp', fit.control=list(eval.se=TRUE))

garchm.fit

#Captura a covariancia condicional covCond <-rcov(garchm.fit)

covc11<-covCond[1,1,] covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44)

write.table(cov, file="covDCCus.csv",sep=";", col.names=nomes) #Captura a correlacao corCond <-rcor(garchm.fit) corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24, corr34) write.table(cor, file="corDCCus.csv",sep=";") GARCH_Adcc.R library(rmgarch) ########################## #Especifica o modelo GARCH # ########################## y. <- cbind(e,rbr,bbr,sbr)

garchm.spec<-multispec(c(e.spec, rbr.spec, bbr.spec, sbr.spec)) spec.dcc = dccspec(garchm.spec,

model="aDCC", distribution ='mvnorm')

garchm.fit<-dccfit(spec.dcc, data=y., solver='solnp', fit.control=list(eval.se=TRUE))

garchm.fit

nomes<-cbind('Cambio' ,'3meses', '10anos', 'acoes') #Captura a covariancia condicional

covc11<-covCond[1,1,] covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44)

write.table(cov, file="covaDCCbr.csv",sep=";", col.names=nomes) #Captura a correlacao corCond <-rcor(garchm.fit) corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24,

corr34)

write.table(cor, file="coraDCCbr.csv",sep=";") ##########################

#Especifica o modelo GARCH # ########################## y. <- cbind(e,rus,bus,sus)

garchm.spec<-multispec(c(e.spec, rus.spec, bus.spec, sus.spec)) spec.dcc = dccspec(garchm.spec,

model="aDCC", distribution ='mvnorm')

garchm.fit<-dccfit(spec.dcc, data=y., solver='solnp', fit.control=list(eval.se=TRUE))

garchm.fit

#Captura a covariancia condicional covCond <-rcov(garchm.fit)

covc11<-covCond[1,1,] covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44)

write.table(cov, file="covaDCCus.csv",sep=";", col.names=nomes) #Captura a correlacao corCond <-rcor(garchm.fit) corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24, corr34) write.table(cor, file="coraDCCus.csv",sep=";") GO_GARCH.R library(rmgarch) ################# #Modelo GO GARCH# ################# #Captura titulos brasileiros y.=0; go.spec=0; go.fit=0 y. <- cbind(e, rbr, bbr, sbr)

garchm.spec<-multispec(c(e.spec, rbr.spec, bbr.spec, sbr.spec))

lag = 1, lag.max = NULL, lag.criterion = "AIC"), external.regressors = NULL,

variance.model = list(model = "sGARCH", garchOrder = c(1,1), submodel = NULL, variance.targeting = TRUE), distribution.model = "mvnorm", ica = "fastica") go.fit<-gogarchfit(go.spec, data=y., out.sample = 0, solver = "solnp", fit.control = list(stationarity = 1), solver.control = list(), cluster = NULL, VAR.fit = NULL, ARcoef = NULL) corCond=0;corCond=0 corCond <-rcor(go.fit) covCond <-rcov(go.fit)

#Captura a covariancia condicional covc11=0;covc22=0;covc33 = 0;covc44=0 covc11<-covCond[1,1,]

covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44) write.table(cov, file="covGObr.csv",sep=";") #Captura a correlacao corr11=0;corr22=0;corr33 = 0;corr44=0 corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24, corr34) write.table(cor, file="corGObr.csv",sep=";") show(go.fit@mfit$ufit@fit) names(go.fit@mfit) show(go.fit)

nisurface(go.fit, type="cor", pair=c(1,2), plot=TRUE) cat ("Press [enter] to continue")

line <- readline()

nisurface(go.fit, type="cor", pair=c(1,3), plot=TRUE) cat ("Press [enter] to continue")

line <- readline()

nisurface(go.fit, type="cor", pair=c(1,4), plot=TRUE) cat ("Press [enter] to continue")

line <- readline()

#Capturando os dados dos Estados Unidos y.=0; go.spec=0; go.fit=0

y. <- cbind(e, rus, bus, sus)

garchm.spec<-multispec(c(e.spec, rus.spec, bus.spec, sus.spec))

go.spec = gogarchspec(mean.model = list(model = "constant", robust = FALSE, lag = 1, lag.max = NULL, lag.criterion = "AIC"),

external.regressors = NULL,

variance.model = list(model = "sGARCH", garchOrder = c(1,1), submodel = NULL, variance.targeting = TRUE), distribution.model = "mvnorm", ica = "fastica")

data=y., out.sample = 0, solver = "solnp", fit.control = list(stationarity = 1), solver.control = list(), cluster = NULL, VAR.fit = NULL, ARcoef = NULL) names(go.fit@mfit)

#w - peso dos ativos (wit rit)

#Captura todos os parametros e testes do modelo GO show(go.fit@mfit$ufit@fit)

corCond=0;corCond=0 corCond <-rcor(go.fit) covCond <-rcov(go.fit)

#Captura a covariancia condicional covc11=0;covc22=0;covc33 = 0;covc44=0 covc11<-covCond[1,1,]

covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44) write.table(cov, file="covGOus.csv",sep=";") #Captura a correlacao corr11=0;corr22=0;corr33 = 0;corr44=0 corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24,

corr34)

write.table(cor, file="corGOus.csv",sep=";") write.table(cor, file="corGObr.csv",sep=";") show(go.fit@mfit$ufit@fit)

nisurface(go.fit, type="cor", pair=c(1,2), plot=TRUE) cat ("Press [enter] to continue")

line <- readline()

nisurface(go.fit, type="cor", pair=c(1,3), plot=TRUE) cat ("Press [enter] to continue")

line <- readline()

nisurface(go.fit, type="cor", pair=c(1,4), plot=TRUE)

Copula_GARCH.R

require(rmgarch) require(copula)

######################### #Carrega a base de dados# #########################

e <- diff(log(as.numeric(base$e)))*100 #us_r rbr <- diff(log(as.numeric(base$rbr)))*100 #br3m bbr <- diff(log(as.numeric(base$bbr)))*100 #br10a sbr <- diff(log(as.numeric(base$sbr)))*100 #ibov

rus <- diff(log(as.numeric(base$rus)))*100 #us3m bus <- diff(log(as.numeric(base$bus)))*100 #us10a sus <- diff(log(as.numeric(base$sus)))*100 #sp500 y <- cbind(e, rbr,bbr, sbr, sus, rus, bus)

index = seq(from = 1, to = 922, by = 1) ###################################

#Copula para os ativos brasileiros#

###################################

uspec<-multispec(c(e.spec, rbr.spec, bbr.spec,sbr.spec))#, rus.spec, bus.spec, sus.spec, e.spec))

data <- cbind(e, rbr, bbr, sbr) spec <- cgarchspec(uspec, lag = 1, lag.criterion = c("AIC"), dccOrder = c(1, 1), distribution.model = list(copula = c("mvt"), method = c("ML"), time.varying = TRUE, transformation = c("parametric")), start.pars = list(), fixed.pars = list())

fit.copula <- cgarchfit(spec, data,

spd.control = list(lower = 0.1, upper = 0.9, type = "pwm", kernel = "epanech"), fit.control = list(eval.se = TRUE, stationarity = TRUE, scale = FALSE), solver = "solnp", solver.control = list(), out.sample = 0)

fit.copula

corCond <-rcor(fit.copula) covCond <-rcov(fit.copula)

#Captura a covariancia condicional covc11<-covCond[1,1,]

covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44) write.table(cov, file="covCopbr.csv",sep=";") #Captura a correlacao corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24,

corr34)

write.table(cor, file="corCopbr.csv",sep=";") cat ("Press [enter] to continue")

line <- readline()

################################## #Copula para os ativos americanos# ##################################

uspec<-multispec(c(e.spec, rus.spec, bus.spec, sus.spec)) data <- cbind(e, rus, bus, sus)

spec <- cgarchspec(uspec, lag = 1, lag.criterion = c("AIC"), dccOrder = c(1, 1), distribution.model = list(copula = c("mvt"), method = c("ML"), time.varying = TRUE, transformation = c("parametric")), start.pars = list(), fixed.pars = list())

fit.copula <- cgarchfit(spec, data,

spd.control = list(lower = 0.1, upper = 0.9, type = "pwm", kernel = "epanech"), fit.control = list(eval.se = TRUE, stationarity = TRUE, scale = FALSE), solver = "solnp", solver.control = list(), out.sample = 0)

corCond <-rcor(fit.copula) covCond <-rcov(fit.copula)

#Captura a covariancia condicional covc11<-covCond[1,1,]

covc22<-covCond[2,2,] covc33<-covCond[3,3,] covc44<-covCond[4,4,]

cov<-cbind(covc11, covc22, covc33, covc44) write.table(cov, file="covCopus.csv",sep=";") #Captura a correlacao corr12<-round(corCond[1,2,],2) corr13<-round(corCond[1,3,],2) corr14<-round(corCond[1,4,],2) corr23<-round(corCond[2,3,],2) corr24<-round(corCond[2,4,],2) corr34<-round(corCond[3,4,],2) cor<-cbind(corr12, corr13, corr14, corr23, corr24,

corr34)

write.table(cor, file="corCopus.csv",sep=";") fit.copula

Documentos relacionados