Long-Short através de Cointegração – Parte 2

No primeiro post desta série, introduzi de maneira intuitiva o conceito de cointegração, que permite encontrar pares de ativos que “andam juntos”. Estes pares são bons candidatos para se construir um modelo de operação com pares.

Neste post, explicarei como realizar um teste simples, mas amplamente utilizado, de cointegração*. Aviso: usarei alguns conceitos de Estatística como regressão linear e teste de hipótese. No próximo post, o teste será demonstrado com exemplos reais no Excel e também comentarei como realizá-lo em programas como R e Matlab.

Teste de Estacionariedade (teste de Dickey-Fuller)

Como podemos testar a estacionariedade de uma série? Podemos começar considerando  um modelo simples de séries temporais, o modelo autoregressivo de ordem 1, ou AR(1). Este modelo tem a seguinte forma:

y_t = a + b y_{t-1} + e_t

onde y_t é o valor da série temporal no instante t, e e_t é um choque aleatório. A equação acima mostra que no modelo AR(1), o valor presente da série depende do valor anterior, multiplicado por uma constante b, mais um choque aleatório.

O modelo AR(1) é importante porque ele pode ser estacionário ou não, dependendo do valor de b. Se b<1, o modelo é estacionário, enquanto se b=1 o modelo é não-estacionário (dizemos que possui uma raiz unitária). Se subtrairmos y_{t-1} dos dois lados da equação acima, temos:

y_t -t_{t-1}= a + (b-1) y_{t-1} + e_t

\Delta y_t = a + b^* y_{t-1} + e_t

onde \Delta y_t = y_t -y_{t-1} e b^*=b-1. Agora podemos realizar um teste de estacionariedade com as seguintes hipóteses:

H_0: b^*=0\quad\textrm{(a s\'erie \'e n\~ao-estacion\'aria) VS}\quad H_1: b^*<0\quad\textrm{(a s\'erie \'e estacion\'aria)}

Caso o leitor ainda esteja acordado, este teste pode ser feito de maneira muito simples, fazendo uma regressão linear de \Delta y_t em y_{t-1}. Este teste é conhecido como teste de Dickey-Fuller**. A estatística do teste é simplesmente a estatística-t para o coeficiente b^* acima, porém os valores críticos não são os mesmos de um teste t normal (ver tabela no final do post).

Como este teste nos ajudará a encontrar pares de ações cointegradas? Simples. Em primeiro lugar, para que o par seja cointegrado, ambas as séries de preços precisam ser não-estacionárias, pois lembre-se que a cointegração é uma relação entre duas séries integradas. Após utilizarmos o teste acima para verificar que os preços das duas ações são não-estacionários, aplicaremos um segundo teste para verificar se o spread entre as duas séries é estacionário. Este segundo passo é conhecido como metodologia de Engle-Granger.

Teste de Cointegração (metodologia de Engle-Granger)

No post anterior, definimos cointegração da seguinte maneira: dizemos que duas séries temporais (não-estacionárias) X e Y são cointegradas se existe um número \alpha tal que a série Z=X-\alpha Y  é estacionária. Ou seja, dadas duas séries não-estacionárias, se uma combinação linear delas for estacionária, elas são cointegradas.

A metodologia de Engle-Granger consiste em dois passos: primeiro fazemos uma regressão linear de uma série temporal contra a outra. Em seguida, aplicamos um teste de estacionariedade (como por exemplo o teste de Dickey-Fuller) nos resíduos desta regressão. Se os resíduos forem estacionários, isto significa que encontramos a combinação linear tal que as duas séries são cointegradas

O processo completo para fazer um teste de cointegração entre duas séries de preços (vamos chamá-las de X_t e Y_t) segue portanto os seguintes passos:

1. Usar um teste de estacionariedade para verificar se X_t e Y_t são não-estacionárias. Para haver cointegração, ambas devem ser não-estacionárias.

2. Usando dados das duas séries temporais, rodar uma regressão com a forma abaixo:

Y_t=\alpha X_t+u_t

e calcular os resíduos \hat{u} = Y_t - \hat{\alpha} X_t

3. Testar a estacionariedade dos resíduos \hat{u_t} desta regressão. Caso eles sejam estacionários, as séries são cointegradas.

No próximo post veremos alguns exemplos de aplicação destes testes a pares de ações brasileiras. É importante ressaltar que esta é apenas uma das metodologias de cointegração existentes. Existem outros tipos de testes, como por exemplo a metodologia de Johansen.

———————————————————————————-

Tabela de valores críticos do teste Dickey-Fuller:

Níve de significância
Tamanho amostral 1% 5% 10%
25 -3,75 -3,00 -2,62
50 -3,58 -2,93 -2,60
100 -3,51 -2,89 -2,58
250 -3,46 -2,88 -2,57
500 -3,44 -2,87 -2,57
∞∞ -3,43 -2,86 -2,57
Fonte: Market Risk Analysis, Vol II, Carol Alexander.

* O objetivo deste post é introduzir o leitor aos conceitos básicos de cointegração.Há inúmeros detalhes técnicos que devem ser considerados para aplicar os testes corretamente. Algumas referências técnicas com mais detalhes: o segundo volume da série Market Risk Analysis daCarol Alexander ou o livro Analysis of Financial Time Series deTsay.

** Uma versão mais sofisticada do teste possui o infeliz nome de Teste de Dickey-Fuller Aumentado. A diferença entre este teste e o teste de Dickey-Fuller normal é que ele inclui mais lags da série temporal na regressão.

14 comentários sobre “Long-Short através de Cointegração – Parte 2

  1. Olá Dr. Nickel, parabéns por mais uma excelente “aula” sobre estratégias quantitativas.

    A literatura sempre diz que uma premissa para termos um par cointegrado é necessário que as sérias sejam não estacionárias. Conhece alguma teoria que suporte essa afirmação? Não encontrei nada formal a respeito e em alguns testes encontrei pares cointegrados formados por uma série estacionária e uma séria não estacionária. Acho esta afirmação um pouco frágil até porque, além de estarmos falando de estatística, o horizonte da série ou mesmo o modelo auto-regressivo utilizado pode influenciar no resultado do teste.

    Um comentário importante para os praticantes na parte 1 do seu post é a distância média do spread. Um par as vezes bastante atrativo em termos de cointegração pode não ser operável se a distância do spread não for suficiente para cobrir custos de operação e os requisitos de risco/retorno do operador.
    Gostaria de somar a este comentário a importância da frequência com que o spread cruza a média. As vezes um par cointegrado pode demorar para retornar à média (quando retorna rsrs) e tornar o par desinteressante. Quanto maior é frequência e maior o spread maiores as chances de sucesso no trade.

    Novamente, parabéns pelo excelente conteúdo do blog!

    • Olá r_almeida, obrigado pelos comentários. Com relação a questão da estacionariedade, o fato de duas séries I(1) serem cointegradas significa que possuem uma tendência comum. Se uma delas for estacionåria, então não tem como possuir esta tendência comum. Você está correto ao afirmar que a conclusão de cointegração pode depender da amostra usada, portanto um resultado positivo no teste, por si só, não é suficiente.

      Com relação a distância ao spread, seu comentário é perfeito e pretendo falar sobre isto no próximo post. Com relação ao cruzamento frequente da média, eu mencionei isto no post: “Reversão frequente do spread à média”.

      Resumindo, queremos pares que sejam cointegrados, cujo spread possua variação grande o suficiente para ser lucrativo, e que cruze frequentemente a média. Na minha experiência a primeira condição é a mais fácil de encontrar. A segunda pode ser inferida por backtest, e a terceira pode ser identificada ou calculando medidas como meia-vida, ou avaliando a distribuição da duração dos trades. Falarei mais sobre isto nos próximos posts.

      Abs

  2. Boa noite
    Gostaria de saber se nao deveriamos aplicar o a primeira regressao para encontrar o beta no retorno dos ativos?

    Devo aplicar essa regressao no preco bruto do ativo ou no retorno ?

    Obrigado

    • No post, X_t e Y_t são séries de preços. Primeiro vc faz a regressão de Y em X (assumindo que ambas são não-estacionárias, caso contrário não faz sentido falar de cointegração). Depois vc testa a estacionariedade dos resíduos desta regressão. Se forem estacionários, as séries são cointegradas, e o coeficiente da regressão (que chamei de alfa no post) é a constante de cointegração.

  3. De novo, parabéns pela didática e clareza na exposição das ideias. Não entendi por que o teste de hipóteses é b=0 contra b<1. Por que não b0?

  4. De novo, parabéns pela didática e clareza na exposição das ideias. Não entendi por que o teste de hipóteses é b=0 contra b<1. Por que não b diferente de 0?

Deixe um comentário