我正在尝试进行事件研究,以计算累积的异常CDS变化。但是,我的R代码不起作用。我有3家不同银行的3 CDS点差,每家银行都有一个特定的时间事件,而我的基准指数是itraxx指数。
当我运行eventstudy函数时,我收到一条错误消息:
“错误:没有成功的事件
警告信息:
1:在merge.zoo(firm.returns = c("-0.043267980", "-0.017153079", "-0.035214906",
中:
索引向量属于不同的类别:整数
2:在merge.zoo(firm.returns = c("-0.0311983708558614", "-0.0358461317731358",
中:
索引向量属于不同的类别:整数
3:在merge.zoo(firm.returns = c("0.00421053253634351", "-0.00421053253634351",
中:
索引向量属于不同的类别:整数“
预先感谢您的帮助。
setwd("/Users/mahfoudhammoud/Desktop")
library(urca)
library(tseries)
library(tsDyn)
library(vars)
library(ggplot2)
library(xts)
library(EventStudy)
library(zoo)
StockPriceReturns <- read.table("testdata.csv", header = TRUE , sep = ";")
itrax <- read.table("itraxx.csv", header = TRUE , sep = ";")
date = StockPriceReturns[,1] <- as.Date(StockPriceReturns[,1],"%d/%m/%y")
SG = ts(StockPriceReturns[, 2])
logSG = log(SG)
DSG = diff(logSG)
BNP = ts(StockPriceReturns[, 3])
logBNP = log(BNP)
DBNP= diff(logBNP)
UBS = ts(StockPriceReturns[, 4])
logUBS = log(UBS)
DUBS = diff(logUBS)
date <-StockPriceReturns[-c(1),1]
itraxx = ts(itrax[,2])
logitrax = log(itraxx)
ditrax = diff(logitrax)
Myindexreturn = data.frame("date"= date, "Myindex" = ditrax)
Myindexreturn$date <- as.Date(Myindexreturn$date, "%d/%m/%y")
zoo(Myindexreturn)
CDSchange = data.frame("date" =date ,"SG" = DSG ,"BNP" = DBNP ,"UBS" = DUBS)
CDSchange$SG <- as.character(CDSchange$SG)
CDSchange$BNP <- as.character(CDSchange$BNP)
CDSchange$UBS <- as.character(CDSchange$UBS)
matrix(data = CDSchange, ncol = 4)
CDS111 =matrix(data = CDSchange, ncol = 4)
CDSchange$date<-as.Date(CDSchange$date, "%d/%m/%y")
zoo(CDSchange)
zooCDS = zoo(CDSchange)
eventsDates <- data.frame("name"=c("SG","BNP","UBS"), "when"=c("05/04/2018","16/08/2018","28/11/2018"))
eventsDates$name<-as.character(eventsDates$name)
eventsDates$when<-as.Date(eventsDates$when, "%d/%m/%y")
es <- eventstudy(
firm.returns = zooCDS,
event.list = eventsDates,
event.window = 21,
type = "marketModel",
to.remap = TRUE,
remap = "cumsum",
inference = TRUE,
inference.strategy = "bootstrap",
model.args = list(market.returns = Myindexreturn$Myindex)
)