SAUDAÇÕES!

Seja bem vindo à página do professor Pedro Albuquerque. Para saber mais sobre meu currículo, disciplinas ministradas e interesses de pesquisa, navegue no menu disponível no topo da página.
Mostrando postagens com marcador Estudo de Eventos.. Mostrar todas as postagens
Mostrando postagens com marcador Estudo de Eventos.. Mostrar todas as postagens

quarta-feira, 5 de setembro de 2012

Testes de eventos usando o pacote quantmod.


O objetivo principal do Estudo de Eventos é mensurar o efeito de um determinado evento sobre o valor da firma.

Abaixo seguem os passos para a análise e inferência em Estudo de Eventos ( Campbell et. al., 1996 pág. 151):

  1. Defina o evento de interesse e identifique o período nos quais o preço do ativo poderia ser afetado, esse intervalo é denominado Janela do Evento.
  2. Após identificar o evento de interesse é necessário determinar quais são os critérios de seleção para incluir ativos de empresas. O critério pode envolver restrições impostas pelos dados (ex:. Empresas listadas na Bovespa) ou podem envolver restrições associadas ao setor econômico da empesa (ex:. Indústrias)
  3. Calcule os retornos anormais, esses retornos anormais são os retornos do ativo de interesse após o evento focal menos o retorno normal (predito) para a firma na janela de estimação. Matematicamente, $\epsilon_{t}=r_{it}-\mathbb{E}(r_{it}|\mathcal{F}_{t})$ onde $\epsilon_{t},r_{it}$ e $\mathbb{E}(r_{it}|\mathcal{F}_{t})$ são os retornos anormais, atuais e normais respectivamente para o período de tempo $t$ e $\mathcal{F}_{t}$ é o conjunto informacional disponível no tempo $t$. Usualmente, os modelos mais utilizados para o preditor $\mathbb{E}(r_{it}|\mathcal{F}_{t})$ são: Constant Mean Return Model ($\mathbb{E}(r_{it}|\mathcal{F}_{t})=\mu$) e Market Model ($\mathbb{E}(r_{it}|\mathcal{F}_{t})=\alpha+\beta r_{mt}$ onde $r_{mt}$ é o retorno do mercado.)
  4. Usando uma janela de estimação (antes do fato) os parâmetros do modelo são estimados. Usualmente, o período do evento focal não é incluído na janela de estimação para evitar que o evento influencie o nível normal dos retornos.
  5. Com base nas estimativas dos parâmetros o retorno anormal é calculado. A hipótese nula e as estratégias de agregação dos retornos são definidas.
  6. Resultados empíricos, interpretação e conclusão são então apresentados.

Visualmente, as janelas são descritas pelo seguinte gráfico:

Como exemplo, vamos considerar como evento a influência do Steve Jobs sobre o ativo da Apple.

Uma pergunta que surge é: O afastamento do Steve Jobs da Apple até o seu falecimento afetaram o preço das ações da Apple ?

Será que uma pessoa pode incorporar valor à organização ? E se pode, quanto é esse valor ?

Vamos testar esse evento utilizando a abordagem clássica de Campbell et. al., 1996 que apesar de amplamente muito utilizada apresenta alguns pressupostos inautênticos (Corrado, 2011).

Definiremos a janela do evento a saída do Steve Jobs da presidência da Apple (17/01/2011) até a data do seu falecimento (05/10/2011).

Como janela de estimação utilizaremos a mesma quantidade de dias compreendidos entre 17/01/2011 a 05/10/2011, dessa forma o primeiro passo é obter a série temporal dos preços da Apple:

#Habilita o pacote quantmod
library(quantmod)

#Cria um novo ambiente para armazenar os dados
stockData <- new.env() 

#Steve Jobs deixa a presidência da Apple
startEvent = as.Date("2011-01-17") 

#Steve Jobs falece
endEvent = as.Date("2011-10-05") 
#Quantidade de dias entre a saida e o falecimento.
tamanhoJanela<-endEvent-startEvent

#Início da série
startDate<-startEvent-tamanhoJanela

#Obtêm os dados da Apple
getSymbols("AAPL", src="yahoo",from=startDate,to=endEvent)
Podemos plotar a série temporal completa (03/05/2010 até 05/10/2011):
#Plota a série temporal dos preços de fechamento
plot.xts(Cl(AAPL),major.format="%b/%d/%Y",
+main="Apple",ylab="Close price.",xlab="Time")
Usualmente, trabalhamos o log-retorno do ativo $r_{t}=log(R_{t})-log(R_{t-1})$:
#Calcula o log-retorno.
diffAAPL<-diff(log(AAPL))

#Plota a série temporal dos preços de fechamento
plot.xts(Cl(diffAAPL),major.format="%b/%d/%Y",
+main="Apple",ylab="Log-return Close price.",xlab="Time")
Agora precisamos estimar os retornos normais, utilizando o NASDAQ-100 como retorno do mercado, podemos estimar os parâmetros utilizando o modelo de mercado:
#Janela de estimação
AAPLSubset<-  window(diffAAPL, start = startDate, end = startEvent-1)

#Nasdaq-100
getSymbols("^NDX", src="yahoo",from=startDate,to=endEvent)
diffNDX<-diff(log(NDX))
NDXSubset<-window(diffNDX, start = startDate, end = startEvent-1)

#Estima o modelo de mercado
MarketModel<-lm(Cl(AAPLSubset)~Cl(NDXSubset))
summary(MarketModel)
As estimativas obtidas são $\hat{\alpha}=0.0007294$ e $\hat{\beta}=1.0297346$ aplicando a equação para toda a série, temos:
#Aplica o Market Model
epsilon<-diffAAPL-coef(MarketModel)[1]-coef(MarketModel)[2]*diffNDX

#Encontra a variância do epsilon
NDXSubset1<-na.omit(window(diffNDX, start = startDate+1,
+ end = startEvent-1))

X<-as.matrix(cbind(rep(1,length(Cl(NDXSubset1))),Cl(NDXSubset1)))
NDXSubset2<-window(diffNDX, start = startEvent, end = endEvent)

Xstar<-as.matrix(cbind(rep(1,length(Cl(NDXSubset2))),Cl(NDXSubset2)))

V<-(diag(nrow(X))*var(residuals(MarketModel)))+
+((X%*%solve(t(Xstar)%*%Xstar)%*%t(X))*var(residuals(MarketModel)))
Acumulamos agora o retorno na Janela do Evento usando o CAR (Cumulative Abnormal Return) e o SCAR (Standardized Cumulative Abnormal Return):
epsilonStar<-window(epsilon, start = startEvent, end = endEvent)
CAR<-sum(Cl(epsilonStar))
SCAR<-CAR/sqrt(sum(V))
Usando a abordagem clássica, a estatística SCAR possui distribuição t de Student com $L_{1}-2$ graus de liberdade onde $L_{1}=T_{1}-T_{0}$ nesse caso:
#Valor crítico da distribuição T
alpha<-0.05
df<-length(Cl(AAPLSubset))-2
qt(alpha/2,df)
qt(1-(alpha/2),df)

Como a estatística não recai sobre a região crítica a um nível de significância de 5%, então não rejeitamos a hipótese nula, qual seja: Nulidade do efeito Steve Jobs sobre as ações da Apple.