Existem muitos textos que sugerem através de evidências empíricas que o retorno de ações contém componentes que podem ser preditos.
Por exemplo,
Keim e Stambaugh (1986) encontraram um modelo estatisticamente significante para prever o preço de ações usando um modelo de previsão com variáveis pré-determinadas.
Fama e French (1987) mostraram que um longo período de retenção de retornos é negativamente correlacionado serialmente, implicando assim que 25% a 40% da variação de um longo período de retornos é previsível com base nos retornos passados.
Esse
post, no entanto, tem como objetivo principal apresentar o Teste de Razão de Variâncias proposto por
Lo e MacKinlay (1988). Os autores indicam que o modelo de
passeio aleatório (ou passeio do bebâdo) é, em geral, inconsistente (para os ativos estudados) com o comportamento estocástico dos retornos semanais, especialmente para as ações com menor capitalização (
Small Caps).
Lo e MacKinlay (1988) alertam que estes resultados não implicam necessariamente que o mercado de ações é ineficiente ou que os preços das ações não são avaliações racionais dos seus
valores "fundamentais". O teste proposto pelos autores pode ser interpretado como um teste para a rejeição de "algum" modelo econômico de formação eficiente de preços.
Teste de razão de variâncias.
A
eficiência do mercado de ações tem sido debatida por pesquisadores e profissionais do mercado financeiro. Uma forma particular de eficiência do mercado de ações é a
eficiência informacional.
A
eficiência informacional se baseia na premissa de que os preços dos ativos refletem as informações relevantes disponíveis instantaneamente aos investidores e ao público em geral. Como a chegada de informações é imprevisível, os preços dos ativos também se tornam imprevisíveis. A hipótese de que a chegada de informações fundamentais ao mercado é aleatória e, portanto, os movimentos dos preços dos ativos também serão aleatórios, é englobada pela teoria do passeio aleatório dos preços dos ativos.
De maneira simplista, a teoria do passeio aleatório indica que uma vez que a chegada de informações é imprevisível, o melhor preditor do preço de um ativo é seu valor atual. Esta ideia simples pode ser facilmente incorporada no modelo de passeio aleatório bem conhecido dos preços dos ativos, que pode ser expresso da seguinte forma: $P_{t}=P_{t-1}+\epsilon$.
$P_{t}$ é o preço atual do ativo em estudo, $P_{t-1}$ é o preço do período anterior, e $\epsilon$ é um termo de erro aleatório. Cada termo de erro aleatório representa a chegada de uma nova informação, o qual se assumido ser imprevisível deve ser independentes uns dos outros. Admitindo sobre a hipótese nula o termo de erro aleatório é independente e identicamente distribuído segundo uma distribuição normal, então a variância do termo de erro aleatório é linear no intervalo de tempo durante o qual os preços são observados. Simplesmente, a variância da variação de preços quinzenais deve ser o dobro da variação de preços semanais. Além do mais, a variância das alterações de preços mensais deve ser quatro vezes superior ao de alterações de preços semanais, e assim por diante.
A relação linear entre o intervalo de tempo observado para os preços do ativo de interesse e a sua variação é a essência da especificação do teste desenvolvido por
Lo e MacKinlay (1988).
Lo e MacKinlay (1988) desenvolveram distribuições limitantes para os estimadores de razão de variância, com e sem a existência de heterocedasticidade, e mostraram que os preços dos ativos não necessariamente seguem um passeio aleatório. Seus estimadores são definidos como se segue:
A equação (01) representa a média das alterações dos preços em T períodos de tempo:
Já a equação (02) representa um estimador de variância para as alterações dos preços no period de tempo especificado, isso é $t=1,\dots,T$:
Por fim, a equação (03) representa um estimador de variância para as mudanças
q-temporais de preços:
e $m=q(T-q+1)(1-\frac{q}{T})$ é um ajuste executado no denominador da variância do estimador q-temporal para acomodar as observações que se sobrepõem, além de ajudar a aumentar a potência do teste de razão de variância.
Especificação do teste.
Assim, o teste da razão de variâncias é definido por:
Para acomodar a possível heterocedasticidade, utiliza-se a estatística do teste padronizado $z$ o qual é assintoticamente distribuído segundo uma normal padrão:
onde
e
Aplicação usando os dados da Bovespa
Utilizando o
R, vamos calcular o teste de razão de variâncias de Lo e MacKinlay para as ações PETR4 em um período $q=1$ diário, isso é, com defasagem de um dia.
#Limpa o console
rm(list=ls(all=TRUE))
#Habilita o pacote quantmod
library(quantmod)
#Início do período de interesse
start = as.Date("2011-01-01")
#Fim do período de interesse
end = as.Date("2011-12-31")
#Obtêm os dados da PETR4
getSymbols("PETR4.SA", src="yahoo",from=start,to=end)
A seguir é necessário calcular os log-retornos de duas séries: a série original e a série defasada (nesse caso em um dia):
#Aplica o log-retorno nos preços
ret <- as.matrix(c(rep(NA, 0), diff(log(Cl(PETR4.SA)), lag=1)))
#Aplica o log-retorno nos preços (Defasagem diária)
ret2 <- as.matrix(c(rep(NA, 0), diff(log(Cl(PETR4.SA)), lag=2)))
#Plota a série temporal dos preços de fechamento
plot(ret, main="Petr4",type="l",
+ylab="Log-return Close price. (Lag 1)",xlab="Time")
plot(ret2,main="Petr4",type="l",
+ylab="Log-return Close price. (Lag 2)",xlab="Time")
Em seguida os parâmetros exigidos para o teste são calculados:
#Calcula muhat
muhat <- mean(ret, na.rm=TRUE)
nq <- nrow(ret)
#Parâmetros Sigma e Delta
sigatop <- (ret - muhat)^2
sigatop1 <- c(NA, sigatop[-length(sigatop)])
deltop <- sigatop * sigatop1
delbot <- sigatop
sigctop <- (ret2 - 2*muhat)^2
#Guarda os resultados
dados <- data.frame(ret, sigatop, sigatop1, deltop, delbot, sigctop)
Fazendo a soma, obtemos os valores desejados:
#Calcula a soma dos valores
sigatop <- sum(sigatop, na.rm=TRUE)
sigctop <- sum(sigctop, na.rm=TRUE)
deltop <- sum(deltop, na.rm=TRUE)
delbot <- sum(delbot, na.rm=TRUE)
Em seguida o cálculo dos testes é realizado:
nq<-nrow(ret)
q<-2
qm1<-q-1
theta<-0
j<-1
m <- q*(nq-q+1)*(1-q/nq)
siga <- sigatop/(nq-1)
sigc <- sigctop/m
varrat2 <- sigc/siga
delta <- nq*deltop/(delbot**2)
while(j <= qm1)
{
theta <- theta + ((2*(q-j)/q)**2)*delta
j<-j+1
}
z <- sqrt(nq)*(varrat2-1)/sqrt(theta)
print(nq, cat("Número de retornos:"))
print(varrat2, cat("Razão de variâncias para retronos com Lag=2:"))
print(z, cat("Teste Robusto a Heterocedasticidade de Lo-MacKinlay:"))
Após realizar a análise obtêm-se:
- Número de retornos:[1] 249
- Razão de variâncias para retronos com Lag=2:[1] 1.081269
- Teste Robusto a Heterocedasticidade de Lo-MacKinlay:[1] 1.052326
Os resultados indicam que a hipótese nula de presença de um comportamento como um
passeio aleatório para a série PETR4 diária entre 01-01-2011 até 31-12-2011 não pode ser rejeitada, uma vez que o valor do teste não é maior do que o valor crítico sobre a hipótese nula, qual seja, aproximadamente 1.96 a um nível de confiança de 95%. Uma maneira direta de se atingir o mesmo resultado é por meio da biblioteca
vrtest. A função que realiza o teste de Lo-MacKinlay é a função
Lo.Mac(y=, kvec=) onde o parâmetro
y= recebe o vetor de ativos e
kvec= a defasagem utilizada no teste.