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

Após uma longa pausa, aqui está o quarto e último post desta série sobre operações de long-short/pares utilizando cointegração.

Recapitulando: no primeiro post da série, introduzi intuitivamente o conceito de cointegração, que permite encontrar pares (ou outras combinações) de ativos que “andam juntos”. No segundo post, expliquei conceitualmente um teste simples de estacionariedade, conhecido como teste de Dickey-Fuller (DF), apresentei sua versão “aumentada”, e introduzi o Método de Engle-Granger, que permite testar se duas séries não-estacionárias são cointegradas. No terceiro post, mostrei um exemplo prático da aplicação deste teste utilizando o Excel e dei uma ideia de como seria uma possível estratégia de operação de pares usando cointegração.

O objetivo deste post é apresentar uma aplicação completa dos conceitos de cointegração para criar um modelo de operações com pares. Para isto, construirei um modelo de pares muito similar aos modelos utilizados na literatura (e na prática), e farei uma simulação (backtest) dos resultados do modelo. Uma ressalva importante é que este post não é exaustivo, no sentido de que muitas variações e refinamentos podem e devem ser feitos à uma estratégia destas antes da produção. O objetivo é simplesmente ilustrar os conceitos. O modelo apresentado aqui é bastante similar ao utilizado no artigo de Caldeira e Moura (2013). Recomendo fortemente ao leitor interessado em se aprofundar no assunto a leitura do artigo e das referências nele citadas.

Em um post anterior, apresentei o conceito de um modelo básico de pares de ações. Naquele post, utilizei o seguinte diagrama:

ModeloPairsTrading

Criação de uma estratégia de operação com pares

Este diagrama será interessante para explicar a estratégia de pares através de cointegração utilizada, pois ele utiliza-se de simulação para escolher os melhores pares dentro da janela de treinamento (período in-sample ou dentro da amostra) para posteriormente operar na janela de operação (fora da amostra), ou seja, existe uma interação entre o modelo de operação e o de seleção de pares, conforme mostrado do diagrama. Vamos à descrição do modelo:

Modelo de Pares via Cointegração

Partimos de um universo com N ativos observados ao longo de T períodos. Os parâmetros do modelo são os seguintes:
1. Janela de treinamento: período no qual serão determinados os pares cointegrados
2. Janela de operação: período no qual os pares são operados com sinais de entrada e saída
3. Número de pares: o modelo utiliza os n melhores pares de acordo com o índice de Sharpe dentro do período de treinamento.
4. Sinal de entrada: valor do z-spread para iniciar um trade, ou seja, o valor no qual assumimos que o spread do par divergiu do seu comportamento histórico.
5. Sinal de saída: valor do z-spread para encerrar um trade, ou seja, o valor no qual assumimos que o spread do par reverteu à sua média.
6. Duração máxima: maior período em que um trade pode ficar aberto.
7. Stop Loss: perda máxima que um trade pode ter. Se um trade apresentar uma perda maior do que o stop loss, ele é encerrado.

Os pares são selecionados na janela de treinamento através de dois critérios. Primeiramente são selecionados os pares que estão cointegrados através da aplicação da metodologia de Engle-Granger. Em seguida, os pares cointegrados são “operados” nesta janela (dentro da amostra) e os pares com melhor índice de Sharpe são selecionados para operação na janela de operação. Os parâmetros do spread (parâmetros da regressão e a média e desvio padrão do spread) na janela de treinamento (dentro da amostra) são utilizados para calcular os z-scores dos pares na janela de operação (fora da amostra). Este procedimento garante que na nossa simulação, estaremos utilizando apenas valores conhecidos em cada momento (ou seja, não estamos incorrendo no look-ahead bias).

Por exemplo, se a janela de treinamento é de 12 meses e de operação é de 1 mês, então os melhores pares nos primeiros 12 meses são operados no mês seguinte. As janelas são então roladas um mês para frente e o processo reinicia, até o final da amostra. A figura abaixo ilustra este procedimento de janelas móveis:

Esquema treinamento operacao.png

A dinâmica de operação é baseada no valor do z-score, que é o spread do par (resultado da cointegração) normalizado, isto é, subtraído da sua média e dividido pelo desvio padrão. Quando o z-score é muito alto e positivo, o par é vendido (abre-se simultaneamente uma posição vendida na primeira ação e comprada na segunda ação). Quando o z-score é muito negativo, a operação oposta é realizada, isto é, o par é comprado. Uma operação é encerrada se pelo menos uma das condições a seguir ocorre: (i) o z-score do par retorna ao patamar pré-definido; (ii) o P&L da operação cai abaixo do valor de stop-loss; (iii) a operação excede a duração máxima definida pelo modelo; (iv) a janela de operação é encerrada.

No final da simulação, temos o resultado simulado de todas operações realizadas, o que permite calcular estatísticas de rentabilidade e risco do modelo no período.

Detalhes da Simulação

Parâmetros do modelo – Os seguintes valores foram utilizados:

Janela de treinamento: 12 meses
Janela de operação: 1 mês
Número de pares: 20
Sinal de entrada: |z-spread| > 1.7
Sinal de saída: |z-spread| < 1.2
Duração máxima: 1 mês (20 dias)
Stop Loss: 7%

Custos operacionais – Foram considerados custos de bid-ask spread de 0.1% para cada operação, de 2% ao ano para o aluguel de ações, e de 0.05% de corretagem. Os trades foram abertos com o mesmo financeiro em cada ação, ou seja, o modelo é financeiro-neutro (a outra possibilidade é operar beta-neutro). Um comentário sobre os valores de entrada e saída do z-score: eu testei os valores considerados por Caldeira e Moura (2013) (abrir trade em 2 e fechar em 0.5/0.75), porém os resultados foram piores.

Universo de ativos – Para realizar a simulação, é preciso primeiramente definir um universo de ativos. Os trabalhos acadêmicos (como por exemplo o artigo mencionado acima) geralmente utilizam as ações que pertencem a um certo índice como o IBOVESPA no Brasil. Na prática, esta restrição não é necessária. Nesta simulação, eu utilizei os dados diários de preço de fechamento e volume de todas as ações, ETFs e FIIs disponíveis no mercado brasileiro de janeiro de 2001 até maio de 2016, incluindo ações que deixaram de existir, o que elimina o viés de sobrevivência. Para evitar ações ilíquidas, em cada janela de treinamento eu utilizei os 70 ativos com maior volume. Isto significa que o número total de ativos considerados será maior do que 70.

Teste de Cointegração – foi utilizada a metodologia de Engle-Granger com teste ADF, descrita nos posts anteriores.

Cálculo de Retornos – calcular o retorno de operações com pares não é algo trivial. Teoricamente, os retornos de operações long-short não são definidos, uma vez que o investimento inicial pode ser igual a zero. Há duas medidas diferentes de reportar o “retorno” de uma operação de pares. A primeira consiste  em adotar a convenção de que o retorno é dado pelo lucro ou prejuízo da operação (P&L) dividido pelo valor inicial investido em cada ponta. Chamaremos isto de retorno líquido. Se usarmos o valor de R$1, o próprio P&L tem a interpretação de retorno. A segunda consiste em considerar como denominador o capital alocado para manter a operação. Por exemplo, se uma operação consiste em comprar R$10,000 da ação A e vender R$10,000 da ação B, o valor necessário para montar esta operação é igual a R$0. Na prática, as corretoras requerem uma quantia em margem que limita a alavancagem. Esta quantia pode ser usada como denominador para definir um retorno sobre o capital. É importante ressaltar que este capital pode ficar investido em outros ativos que geram retornos (por exemplo, títulos do governo), o que tornará a estratégia mais rentável. Como o número máximo de pares em qualquer período de operação é de 20 pares, eu calculo e reporto os retornos considerando 1/20 do capital investido em cada par, ou seja, a alavancagem máxima da carteira é 1 (esta restrição não é necessária). Reportarei tanto os retornos líquidos (ou seja os retornos apenas das operações com pares) como os retornos sobre o capital, considerando que o capital excedente renderia 100% do CDI. Caldeira e Moura (2013) consideram um esquema “fully invested” no qual um certo capital é 100% investido nos pares que estão abertos, e a carteira é rebalanceada para manter 100% do capital investido.

Resultados da Simulação (01/2002 – 05/2016)

O modelo foi simulado de janeiro de 2001 até maio de 2016. Isto significa que o primeiro período de operação foi janeiro de 2002. A tabela abaixo resume os resultados considerando os retornos líquidos das operações. Observação: o P&L abaixo não está normalizado para a duração de cada operação.

Número de ações 162
Número de pares operados 1212
Número de operações 3817
P&L médio por operação (financeiro de R$1,00) 1.12%
Desvio padrão P&L 9.34%
Razão de informação 0.12
% operações ganhadoras 57.20%
% operações perdedoras 42.80%
Pior P&L -58.90%
Melhor P&L 84%
Mediana P&L 1.33%
Duração média (dias) 5.35
Duração mediana (dias) 4

Vemos que a estratégia parece capaz de gerar ganhos financeiros razoáveis, com uma convergência rápida da maioria das operações. O gráfico abaixo mostra o histograma da duração em dias das operações. Mais de 85% das operações encerra em menos de 10 dias. duracao

Resultados com Retornos Líquidos

Os resultados abaixo são baseados nos retornos líquidos da carteira que investe 1/20 do capital em cada par, sem considerar a remuneração do capital. Como mencionei antes, esta estratégia não ficará com 100% do capital alocado nos pares, a não ser que todos os 20 pares estejam abertos simultaneamente. Vemos que a estratégia apresentou um retorno médio de 11.4% com volatilidade de 11.21%, o que não é ruim considerando que a estratégia não toma risco direcional. O drawdown máximo foi de -14.5%. Vemos que, apesar de a estratégia ser financeiro-neutra, o que é confirmado pela exposição média da carteira de 0.35%, ela teve períodos em que chegou as estar quase 10% comprada e quase 16% vendida. O maior valor short foi de -68.66% e o maior long foi de 74.92%, confirmando que não tivemos nenhum período em que todos os 20 pares estavam abertos simultaneamente. Estes resultados são conservadores, pois assumem que o capital fica parado, ou seja, poderia estar sendo investido nos pares que estão abertos. Apesar de a estratégia diferir da de Caldeira e Moura (2013) em vários aspectos, os resultados para o período do artigo (2002 a 2006) são muito similares (não reportados).

Retorno médio 11.40%
Volatilidade 11.21%
Retorno total 327.89%
Índice de Sharpe 1.02
Drawdown máximo -14.50%
Pior mês -7.58%
Melhor mês 19.89%
% dias positivos 45.96%
% meses positivos 61.27%
Exposição média carteira 0.35%
Exposição máxima carteira 9.67%
Exposição mínima carteira -15.98%
Máximo short carteira -68.66%
Máximo long carteira 74.92%

A tabela abaixo mostra os retornos por ano. Notamos que a estratégia foi positiva em todos os anos, com retornos muito altos entre 2008 e 2010. Isto não é surpreendente, já que estratégias long-short tendem a ser muito boas em períodos de volatilidade alta.

Ano Retorno líquido (%)
2002 3.37
2003 6.96
2004 10.25
2005 8.68
2006 10.5
2007 9.22
2008 16.74
2009 37.85
2010 18.9
2011 8.49
2012 5.45
2013 0.43
2014 9.48
2015 4.38
2016 6.53

Finalmente, a figura abaixo mostra a evolução do P&L acumulado.

pnlacumulado.png

Resultados com Remuneração do Capital (2002-2016)

Na prática, uma estratégia de pares requer pouco capital, o que significa que quase 100% do capital poderia ficar investido em títulos (ou qualquer ativo que seja aceito como margem) a maior parte do tempo. Os fundos em geral definem um target  de alavancagem ou volatilidade para a estratégia. Os resultados abaixo consideram que o capital livre é remunerado a 100% do CDI. O investimento nos pares segue a mesma regra de 1/20 do capital, ou seja, a alavancagem nunca é superior a 1.

Os resultados abaixo mostram a grande contribuição de investir o capital livre. Vemos que o retorno médio, muito mais alto, é uma combinação do retorno da estratégia pura (mostrado anteriormente) com a rentabilidade do CDI. Obviamente, os resultados são bastante aumentados pelo alto valor do CDI, principalmente no início do período. Os resultados por ano (tabela seguinte) corroboram isto. O retorno total é muito alto devido à natureza dos juros compostos, uma vez que a estratégia reinveste os lucros a cada período.

Retorno médio 26.38%
Volatilidade 11.36%
Retorno total 2497.02%
Índice de Sharpe 2.32
Drawdown máximo -14.74%
Pior mês -6.66%
Melhor mês 20.97%
% dias positivos 59.89%
% meses positivos 85.55%
Exposição média carteira 0.35%
Exposição máxima carteira 9.71%
Exposição mínima carteira -16.46%
Máximo short carteira -70.54%
Máximo long carteira 75.21%
Ano Retorno líquido (%)
2002 22.64
2003 31.6
2004 27.88
2005 29.04
2006 27.46
2007 22.65
2008 31.59
2009 51.41
2010 30.62
2011 21.14
2012 14.31
2013 8.53
2014 21.34
2015 18.17
2016 11.21

O gráfico abaixo mostra o retorno acumulado da carteira e do CDI. pnlacumulado-com-capital

Resultados com Remuneração do Capital (2010-2016)

Os resultados acima mostram que a estratégia funciona em um período longo (15 anos), durante a qual houve períodos atípicos (juros muito altos, crise de 2007-2008 etc). Por este motivo, é interessante avaliar o resultado da estratégia em um período mais recente. Para isto rodamos a simulação de 2010 a 2016. Os resultados (tabela e gráfico abaixo) mostram um resultado muito consistente. Tanto a volatilidade como o retorno são mais baixos, reflexo da exclusão do período de alta volatilidade da crise de 2007-2008 e do período de CDI muito alto. O drawdown máximo é cerca de metade do observado no período anterior.

Retorno médio 20.07%
Volatilidade 9.44%
Retorno total 208.97%
Índice de Sharpe 2.13
Drawdown máximo -7.25%
Pior mês -4.10%
Melhor mês 7.79%
% dias positivos 59.13%
% meses positivos 85.71%
Exposição média carteira 0.35%
Exposição máxima carteira 9.06%
Exposição mínima carteira -5.68%
Máximo short carteira -67.73%
Máximo long carteira 74.48%

pnlacumulado-com-capital-2010-2016

Considerações Finais

Este post encerra a série de Long-Short através de cointegração e teve o objetivo de apresentar um exemplo de um modelo completo usando este conceito. O modelo apresentado teve desempenho muito forte ao longo de um período de 15 anos, com uma consistência impressionante. Alguns comentários são importantes:

  • Refinamentos – o modelo apresentado é bastante simplista. Uma implementação deste modelo na vida real requer um estudo mais aprofundado em termos dos parâmetros. Em especial, destacaria os seguintes pontos: a estabilidade da relação de cointegração e testes alternativos de cointegração (como o teste de Johansen); estudo das regras de abertura e fechamento das operações); modelagem do spread através de modelos de séries temporais (ver Tsay 2010) e estimação do z-score.
  • Caveats da simulação – a simulação usando os dados de fechamento é simplista demais. Mesmo que o horizonte do modelo seja dados diários, o ideal seria utilizar os preços da ações em um determinado horário do dia, e capturar o bid-ask observado das ações, que reflete melhor o custo de compra e venda dos ativos de maneira. Além disto, usando dados de alta frequência é possível simular se um par daria sinais de entrada ou saída durante o dia.
  • Operacionalização – fazer a simulação é o primeiro passo, mas implementar uma estratégia destas requer sofisticação no controle da carteira de pares e principalmente habilidade de executar ordens de maneira automática e rápida.
  • Controle de riscos – uma estratégia destas requer controles de riscos ativo, principalmente no que toca à concentração em ativos e setores.

Update – comparação β-neutro vs $-neutro

Os resultados mostrados acima foram obtidos com a abordagem $-neutra, ou seja, as operações são abertas com o mesmo valor financeiro comprado e vendido. Do ponto de vista teórico, existe um argumento a favor de utilizar a abordagem β-neutra, na qual opera-se uma quantidade β de um dos ativos para cada uma quantidade do outro (onde o β é obtido da regressão de cointegração), já que desta maneira, a posição operada (desde que o par seja cointegrado) é estacionária. Na abordagem β-neutra, a exposição líquida da carteira pode variar mais e a carteira pode ficar net comprada ou net vendida, pois o valor financeiro nas pontas não é necessariamente igual. Uma vantagem de manter a carteira $-neutra é que o valor líquido da carteira é mais previsível e não está sujeito ao erro de estimação do beta.

Para comparar as duas abordagens, rodei o modelo β-neutro e o modelo $-neutro para o período 2010-2016, ajustando as exposições dos dois modelos para obter a mesma volatilidade de 12% (um valor arbitrário, mas que garante comparabilidade e alavancagem relativamente baixa). Os resultados obtidos com o modelo β-neutro foram piores do que os do modelo $-neutro. O retorno médio do modelo β-neutro foi de 17.31%, enquanto o do modelo $-neutro foi de 23.70%. Os índices de Sharpe e Sortino também foram piores, apesar de o modelo $-neutro apresentar um drawdown máximo maior.

Outro ponto interessante é a exposição líquida da carteira. Conforme esperado, a carteira $-neutra, por construção, mantém uma alocação líquida próxima de zero, com uma exposição média de 0.46% do capital, máxima de 12.32% e mínima de -5.44%. Ela não fica completamente zerada devido às movimentações dos ativos nas operações abertas, já que uma vez que uma operação é aberta, ela não é rebalanceada. Já a carteira β-neutra fica net vendida 7% do capital, na média, com uma exposição net máxima de 0.62% e mínima net de -56.12%. Isto significa que o custo de aluguel desta operação é maior, pois é preciso carregar uma posição short maior do que a posição long.

β-neutro $-neutro
Retorno médio 17.31% 23.7%
Volatilidade 12% 12%
Retorno total 162.06% 266.58%
Índice de Sharpe 0.57% 1.1%
Drawdown máximo -8.38% -9.83%
Pior mês -5.18% -6.56%
Melhor mês 8.94% 12.88%
% dias positivos 56.94% 58.32%
% meses positivos 72.73% 77.92%
Exposição média carteira -7.00% 0.46%
Exposição máxima carteira 0.62% 12.32%
Exposição mínima carteira -56.12% -5.44%
Máximo short carteira -116.14% -89.01%
Máximo long carteira 79.21% 100.19%

O gráfico abaixo apresenta a comparação do P&L acumulado das duas versões. beta-neutro

Referências

Os artigos abaixo são úteis para aprofundar o estudo deste tipo de modelo. Este post possui links para o download destes artigos.

Caldeira, J. F. e Moura, G.V. (2013), Rev. Bras. Finanças, Vol. 11, No. 1, March 2013, pp. 49–80.

Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006). Pairs Trading: Performance of a Relative Value Arbitrage Rule. The Review of Financial Studies, 19, 797–827.

Avellaneda, M., & Lee, J. (2010). Statistical arbitrage in the US equities market. Quantitative Finance, 10, 1–22.

Tsay, R. (2010). Analysis of Financial Time Series. Wiley.

 

 

 

 

Anúncios

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

Este post é parte de uma série sobre como fazer operações de arbitragem estatística (long-short) através da técnica de cointegração. No primeiro post da série, introduzi intuitivamente o conceito de cointegração, que permite encontrar pares (ou outras combinações) de ativos que “andam juntos”. No segundo post, expliquei conceitualmente um teste simples de estacionariedade, conhecido como teste de Dickey-Fuller (DF), apresentei sua versão “aumentada”, e introduzi o Método de Engle-Granger, que permite testar se duas séries não-estacionárias são cointegradas.

Neste post, darei um exemplo prático da aplicação deste teste utilizando o Excel. É necessário ter o pacote de Análise de Dados instalado.

Relembrando, o processo para testar se duas séries são cointegradas consiste em primeiro testar se elas são não-estacionárias. Caso ambas sejam, é feita uma regressão entre as séries de preços, e utiliza-se o teste DF (ou o teste DF Aumentado) para testar a estacionariedade dos resíduos. Se os resíduos forem estacionários, a série é cointegrada.

Escolhi as ações QUAL3 (QualiCorp SA, uma empresa do ramo de seguro-saúde) e RENT3 (Localiza Rent a Car SA, uma locadora de automóveis) para o exercício. Os dados compreendem o período entre outubro de 2012 e outubro de 2014. Estas duas ações são cointegradas ao nível de 1% de significância neste período, o que é um tanto contra-intuitivo, considerando que são de setores totalmente diferentes. Todos os cálculos mencionados estão demonstrados e explicados na planilha que acompanha o post, disponível no link abaixo:

Download-Button_1700x1000_zpsce011000

 

 

Ressalto que esta escolha foi arbitrária e ilustrativa, e não quer dizer que seja possível operar este par de maneira lucrativa.

Comecemos por analisar as séries de preços das duas ações. Conforme podemos ver no gráfico abaixo, os preços das duas ações parecem se comportar, à primeira vista, de maneira similar:

Precos QUAL3 RENT3

 

Passo 1 – Testar se cada série é não-estacionária

Vamos começar. O primeiro passo é testar se cada uma das séries é não-estacionária, aplicando o teste DF em cada série de preços. A hipótese nula do teste DF é que a série é não-estacionária, portanto neste primeiro teste queremos que a hipótese nula não seja rejeitada.

Para aplicar o teste DF, precisamos primeiro calcular os valores defasados (lags) de cada série e o delta (diferença entre o preço do dia e o preço do dia anterior), e após isto fazer regressão do delta no lag. Por exemplo, para QUAL3 esta regressão seria:

\Delta P_t^{QUAL3}= a + b P_{t-1}^{QUAL3} + e_t^{QUAL3}

onde P_t^{QUAL3} representa o preço de QUAL3 no dia t e \Delta P_t^{QUAL3} = P_t^{QUAL3} - P_{t-1}^{QUAL3} é o delta do preço de QUAL3.

Ao estimar esta regressão (aba “Teste Estac. QUAL3”), obtemos a seguinte equação:

\Delta P_t^{QUAL3}= 21.37 -0.45 \times P_{t-1}^{QUAL3}

e o valor da estatística t para o coeficiente b é -1.29. O valor crítico do teste DF (ver tabela no segundo post da série) é de -2.87. Portanto concluímos com base no teste DF que a série é não-estacionária (não rejeitamos a hipótese nula pois a estatística do teste é menor do que o valor crítico).

O teste para RENT3 chega à mesma conclusão (ver aba “Teste Estac. RENT3”). Podemos então seguir para o próximo passo.

Passo 2 – Aplicar Metodologia de Engle-Granger

No segundo passo temos duas etapas: primeiro estimaremos uma regressão dos preços de QUAL3 em RENT3 e salvaremos os resíduos desta regressão. A seguir, aplicaremos o teste DF nestes resíduos. Neste teste queremos que a hipótese nula de não-estacionariedade seja rejeitada, o que implicará que uma combinação linear dos preços das ações é estacionária e portanto elas são cointegradas.

Estes passos estão detalhados na aba “Regressão Engle-Granger”. Primeiramente é feita a regressão dos preços de QUAL3 em RENT3:

P_t^{QUAL3}=\alpha P_t^{RENT3}+u_t

Os resíduos \hat{u}_t (também chamados de spread do par) são salvos para a segunda etapa, que consiste em estimar a regressão:

\Delta u_t=a +b u_{t-1}+v_t

A estimação desta segunda regressão resulta em uma estatística t de -4.60 para o coeficiente b. Como o valor crítico é -2.87 a 5% de significância, e -3.44 a 1% de significância, podemos rejeitar a hipótese nula de não-estacionariedade ao nível de 1% de significância, concluindo portanto que as duas séries são cointegradas.

O teste de cointegração em si está concluído, porém isto não implica que o par possa ser operado com sucesso. Para isto é necessário avaliar se o comportamento do spread é adequado e realizar algum tipo de simulação (backtest). Idealmente queremos que o spread apresente o seguinte comportamento:

  • Relação de cointegração estável ao longo do tempo
  • Reversão frequente do spread à média
  • Variabilidade razoavelmente grande nas divergências

Com relação ao primeiro ponto, podemos nos questionar se a relação de cointegração entre duas ações de setores tão diferentes será estável ao longo do tempo; pode ser que seja um resultado espúrio, afinal estamos falando de um teste estatístico que possui uma probabilidade de erro. É importante ressaltar que relações de cointegração podem “quebrar” a qualquer momento. Um resultado positivo em um teste de cointegração é um indício de que o par pode ser operável, mas não garante resultado futuro. É preciso reavaliar periodicamente a relação de cointegração para detectar possíveis mudanças no comportamento das séries.

O gráfico abaixo apresenta a evolução do spread ao longo do tempo, com duas bandas representando -2 e 2 vezes o desvio padrão dos resíduos. Vemos que, apesar de os resíduos apresentarem certa persistência, comportam-se de maneira aparentemente desejável: flutuam razoavelmente ao redor da média, visitando-a com certa frequência. Uma regra possível de operação consistiria em vender o par quando o resíduo estiver acima da banda, e comprar o par quando estiver abaixo da banda. O trade pode ser encerrado quando o par voltar a média ou a um percentual qualquer da média. A simulação do resultado deste tipo de estratégia pode ser feita de maneira muito similar à que introduzi neste post.

spread

 

Automatização

Conforme o leitor deve ter percebido, o processo de teste de cointegração de 1 par utilizando o Excel é complicado e possui vários passos. Na prática, um modelo para operar pares precisa avaliar milhares de combinações possíveis e torna-se inviável ou pouco prático fazer isto no Excel. O número de pares possíveis com N ações é N(N-1)/2, ou seja, com 100 ações (uma estimativa razoável do número de ações líquidas no mercado brasileiro) temos 4950 pares possíveis. Neste caso é recomendável utilizar alguma plataforma matemática como o R ou o Matlab. No R pode-se utilizar por exemplo o pacote tseries, que possui a função adf.test para fazer o teste DF. No Matlab há o toolbox de Econometria, que possui a função similar adftest.

No próximo post, falarei em linhas gerais sobre como montar um modelo geral para operar pares cointegrados, e potencialmente dar alguns exemplos em Matlab.

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.

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

Em alguns posts anteriores, falei em linhas gerais sobre arbitragem estatística (aqui e aqui) e descrevi um modelo genérico para operar pares de ações, com uma aplicação usando o modelo de bandas de Bollinger. Nesta sequência de posts, explicarei um modelo mais sofisticado de arbitragem estatística, através do conceito de cointegração.

Estratégias de arbitragem estatística são baseadas em encontrar uma série temporal que possua a característica de estacionariedade ou reversão à média. Isto significa que é possível identificar situações em que a série divergiu de seu comportamento histórico, e prever com alguma segurança que a série convergirá ou reverterá para um comportamento “médio”. O conceito de cointegração formaliza matematicamente este comportamento e permite a realização de testes estatísticos para detectar séries com este comportamento. No contexto de operações com pares de ativos (pairs trading), a existência de uma relação de cointegração entre as séries de preços de dois ativos significa que pode ser possível realizar operações lucrativas de arbitragem. Por outro lado, se o par não for cointegrado, será impossível encontrar uma relação consistente para operar o par.

A Metáfora do Bêbado e seu Cachorro

Antes de definirmos matematicamente a cointegração, convém explicarmos com uma metáfora. Imagine que um bêbado está passeando pelo parque, andando a esmo. Sua direção é imprevisível: às vezes ele vira para a direita, às vezes ele vira para a esquerda. A trajetória do bêbado é chamada, na Estatística, de passeio aleatório: é um processo imprevisível*. Supondo que o bêbado continuará andando indefinidamente, é impossível prever onde ele estará após um certo tempo, e a melhor previsão da sua posição é o último lugar em que ele foi visto.

Se representarmos graficamente a posição do bêbado ao longo do tempo (distância entre o bêbado e um ponto qualquer de referência), o resultado será algo parecido com isto:

Este gráfico mostra a posição de um bêbado andando aleatoriamente (passeio aleatório Gaussiano)

Este gráfico mostra a posição de um bêbado andando aleatoriamente (passeio aleatório Gaussiano)

Agora imaginemos que o bêbado possui um cachorro, que o acompanha onde quer que ele vá. O cachorro não possui coleira e tende a se afastar do dono, atraído pelos diferentes cheiros e estímulos que sente ao andar pelo parque. Porém o bêbado, sempre que percebe que o cachorro não está por perto, o chama, e o cachorro retorna. O gráfico com a posição do bêbado e do cachorro será algo assim:

Este gráfico mostra as posições de um bêbado e seu cachorro (passeio aleatório Gaussiano e processo cointegrado)

Este gráfico mostra as posições de um bêbado e seu cachorro (passeio aleatório Gaussiano e processo cointegrado)

Podemos ver que, apesar de a posição do bêbado no parque ser imprevisível, a posição do cachorro em relação ao bêbado é relativamente previsível: o cachorro nunca está muito longe do dono. Podemos ir um passo adiante e quantificar isto, medindo a distância entre os dois, ou seja, a diferença entre as duas séries temporais do gráfico acima. O gráfico abaixo apresenta esta diferença e duas “bandas”, que representam pontos extremos na distribuição desta distância.

Distância entre o bêbado e o cachorro e bandas de confiança

Distância entre o bêbado e o cachorro e bandas de confiança

Podemos ver que, na média, o cachorro está sempre próximo do bêbado. Além disto, quando a distância se aproxima de +1 ou -1, há uma probabilidade muito grande de que no próximo instante a distância reverterá para sua média próxima de zero. Isto sugere que é possível apostar, com alta chance de ganhar, que o cachorro estará junto ao dono logo após se distanciar acima das bandas  mostradas. As bandas podem ser estimadas, por exemplo, através de uma medida de dispersão como o desvio padrão. No gráfico acima, as bandas representam um intervalo de +2 ou -2 desvios-padrão da média da distância. Este conceito é o mesmo utilizado no modelo de bandas de Bollinger.

Voltando ao mundo financeiro…

Talvez você esteja se perguntando porque estou falando de bêbados e cachorros em um blog sobre mercado financeiro. Transferindo a analogia acima para o mercado de ações, suponha que seja possível encontrar um par de ações que possui um comportamento similar, ou seja, que “andam juntas”. Se as séries de preços das ações forem cointegradas, ou seja, se uma das empresas for o bêbado e a outra, o cachorro, então será possível quantificar quanto a distância entre os preços das ações, que chamamos de spread, varia ao longo do tempo, e explorar situações nas quais esta distância divergiu de seu comportamento histórico.

É importante lembrar que o número de pares possíveis de ações aumenta rapidamente com o tamanho do mercado. Por exemplo, com um universo de 50 ações, existem 1125 pares possíveis. Com 100 ações, o número de pares sobre para 4950. Podemos ver como simular estratégias de operação com todos os pares possíveis pode se tornar um processo oneroso ou mesmo inviável. Sabemos também que, se um par não for cointegrado, é inútil tentar encontrar uma estratégia de reversão a média. Portanto é necessário termos um teste para identificar quais pares de ações são cointegrados. Mesmo dentro do universos dos pares que são cointegrados, não há garantia de sucesso. É preciso que o par possua algumas características específicas para que uma estratégia de arbitragem seja consistentemente lucrativa:

  • Relação de cointegração estável ao longo do tempo
  • Reversão frequente do spread à média
  • Variabilidade razoavelmente grande nas divergências

Definindo Cointegração

Para definir cointegração, definiremos primeiro alguns conceitos básicos:

Série temporal: uma série temporal é uma coleção de valores ordenados no tempo. Por exemplo, os preços diários de uma ação constituem uma série temporal. Se denotarmos por P^A_{t} o preço da ação A no instante t, então a coleção de valores {P^A_{1}, P^A_{2}, P^A_{3},... } etc é uma série temporal.

Estacionariedade: uma série temporal é estacionária** se (i) a sua média é constante, (ii) a sua variância é constante e (iii) a covariância entre dois instantes da série temporal t e s depende apenas da diferença entre t e s.

Uma série estacionária é chamada em Estatística de I(0) ou “integrada de ordem zero”. Uma série não-estacionária, mas cuja primeira diferença é estacionária, é chamada de integrada de ordem 1, ou I(1).

Por exemplo, a série temporal da distância entre o bêbado e o cachorro, mostrada acima, é estacionária: sua média é constante (de fato é igual a zero), sua variância é constante, e é possível mostrar que a covariância entre dois pontos quaisquer da série depende apenas da distância entre estes pontos. Já a posição do bêbado ou do cachorro são exemplos de séries não estacionárias. Não existe uma posição média na qual espera-se encontrá-los.

Em geral, séries de preços de ativos são não-estacionárias, ou seja, não é possível, definir um preço médio em torno do qual uma ação oscila consistentemente. O preço da ação pode subir indefinidamente ou pode chegar a zero, caso a empresa vá à falência.

Podemos agora definir cointegração para o caso de duas séries temporais não-estacionárias X e Y.  Dizemos que 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.

Cointegração vs Correlação

Muitas vezes o conceito de correlação é utilizado para construir estratégias com pares de ações. Isto não é indicado, pois o fato de duas séries terem alta correlação não garante que o seu spread seja estacionário. Cointegração e correlação são conceitos relacionados, porém diferentes. Em particular, alta correlação não implica em cointegração, nem tampouco um alto nível de cointegração implica em correlação alta. Por exemplo, o gráfico abaixo mostra duas séries temporais cointegradas, mas cuja correlação é apenas 0.30. As séries estarão, no longo prazo, andando juntas, porém, no curto prazo, seus movimentos tem pouca relação entre si. Note que a diferença entre as duas séries é estacionária.

Séries cointegradas mas com baixa correlação

Séries cointegradas mas com baixa correlação

O oposto também é possível. O gráfico abaixo mostra duas séries altamente correlacionadas (correlação = 0.78) mas que não são cointegradas. Note que as séries estão se distanciando uma da outra e a sua diferença não é estacionária.

Séries altamente correlacionadas, mas não cointegradas.

Séries altamente correlacionadas, mas não cointegradas.

No próximo post, explicarei como fazer um teste de cointegração.

Uma boa referência para estes conceitos é o segundo volume da série Market Risk Analysis daCarol Alexander.

 

* Porém é possível demonstrar matematicamente que o bêbado sempre encontra o caminho para casa!

** Esta é a definição de estacionariedade fraca. Ver as referências para maior formalismo.

 

Pares com TBLE3

Um leitor perguntou sobre possíveis pares com a ação TBLE3 (TRACTEBEL ON). Com o intuito de auxiliá-lo, fiz algumas simulações para tentar identificar pares que possam ser rentáveis.

Detalhes das simulações:

  • Utilizei o modelo de Bandas de Bollinger, o modelo mais simples para operar pares de ações (veja aqui os detalhes básicos deste modelo e aqui detalhes sobre uma planilha que implementa o modelo).
  • Os parâmetros do modelo são:
    • Cálculo da média e desvio padrão com janela móvel de 20 dias
    • Abrir o trade quando a razão do par estiver acima de 2 desvios-padrão da média
    • Fechar o trade quando a razão convergir para a média
    • Fechar o trade se a razão não convergir em até 20 dias
    • Cada trade tem um valor nocional de R$10.000 em cada ponta
  • Utilizei dados diários de fechamento entre jan/2010 e fev/14. 
  • Inclui custos simulados de bid-ask, aluguel e corretagem.

Sempre bom lembrar do velho e bom Disclaimer. As informações apresentadas aqui são de caráter meramente informativo e educacional.

Fiz dois conjuntos de testes: um considerando apenas pares dentro do mesmo setor (Utilidades Públicas), e um possibilitando pares com ações de outros setores.

Apenas Pares Intrasetoriais

Foram testados 18 pares intrasetoriais com TBLE3. Destes, 14 apresentaram resultados positivos, baseado no critério de uma razão de informação¹positiva. Entretanto, os valores da razão de informação são relativamente baixos, indicando variabilidade no P&L.

Simulação de pares intrasetoriais com TBLE3

Simulação de pares intrasetoriais com TBLE3

O melhor par do backtest é o par de EQTL3 (Equatorial ON) com TBLE3. O gráfico abaixo mostra a evolução da razão do par, com as bandas de Bollinger.

Razão do par EQTL3_TBLE3 com bandas de Bollinger

Razão do par EQTL3_TBLE3 com bandas de Bollinger

Notamos que o par oscila entre períodos de comportamento mais estável com diversos momentos de tendência forte, os quais são ruins para um trade de convergência como o de pares. Em particular, o período mais recente em 2014 apresenta uma tendência forte de alta do par. Isto impactou negativamente o P&L do par nos trades mais recentes, conforme o gráfico de P&L acumulado por trade abaixo (a performance no passado, no entanto, foi muito forte, o que o que sugere investigar se há motivos fundamentalistas para entender a mudança no comportamento do par).

P&L por trade e acumulado da estratégia de bandas de Bollinger do par EQTL3_TBLE3

P&L por trade e acumulado da estratégia de bandas de Bollinger do par EQTL3_TBLE3

O segundo melhor par, com SBSP3 (SABESP ON), combina uma ação do mesmo setor, porém de uma indústria diferente. O gráfico de P&L acumulado mostra que o par tende a funcionar, porém possui alguns períodos de drawdowns severos.

P&L por trade e acumulado da estratégia de bandas de Bollinger do par SBSP3_TBLE3

P&L por trade e acumulado da estratégia de bandas de Bollinger do par SBSP3_TBLE3

O par GETI4_TBLE3 parece ser um pouco mais estável, com poucos trades negativos. Um destes trades, porém, é bastante severo.

P&L por trade e acumulado da estratégia de bandas de Bollinger do par GETI4_TBLE3

P&L por trade e acumulado da estratégia de bandas de Bollinger do par GETI4_TBLE3

 

Pares Sem Restrição de Setor

Em geral, é muito mais difícil encontrar pares intersetoriais estáveis. Neste caso, é preciso analisar as empresas com muito cuidado, pois a chance de se ter uma relação espúria é maior. Do ponto de vista matemático, é esperado que sejam encontrados pares intersetoriais com desempenho (dentro da amostra) melhor do que o dos pares intrasetoriais, visto que os pares intrasetoriais representam uma restrição dentro do conjunto de todos os pares. Na simulação sem restrição de setor, foram considerados todos os pares (inter e intrasetoriais). O total de pares testado foi de 144. Destes, 102 apresentaram razão de informação positiva, porém apenas 20 apresentaram valores relativamente bons (acima de 0.4).

O melhor par da lista for o par com CCRO4 (CCR SA ON, uma empresa do setor de Construção e Transporte). O gráfico abaixo mostra que os preços das duas empresas tendem a andar juntos, o que é uma indicação de que o par pode ser operável.

Histórico dos preços de CCRO3 e TBLE3

Histórico dos preços de CCRO3 e TBLE3

A razão deste par apresenta um comportamento relativamente estável; mesmo nos períodos de tendência, há correções frequentes que levam a crer que a convergência dos trades é possível:

Razão do par EQTL3_TBLE3 com bandas de Bollinger

Razão do par EQTL3_TBLE3 com bandas de Bollinger

O P&L acumulado possui um comportamento muito bom, com apenas 3 trades negativos entre os 33 trades do período:

P&L por trade e acumulado da estratégia de bandas de Bollinger do par CCRO3_TBLE3

P&L por trade e acumulado da estratégia de bandas de Bollinger do par CCRO3_TBLE3

Um outro par interessante é com UGPA3 (Ultrapar Participacoes S.A. PN, uma empresa que atua em diversos setores):

P&L por trade e acumulado da estratégia de bandas de Bollinger do par TBLE3_UGPA3

P&L por trade e acumulado da estratégia de bandas de Bollinger do par TBLE3_UGPA3

Conclusão

Apresentei algumas possibilidade de operações com pares com a ação TBLE3. Os pares de TBLE3 dentro do setor de Utilidades Públicas não pareceram muito consistentes. Pares de TBLE3 com empresas de outros setores parecem promissores, porém é importante ressaltar novamente que pares intersetoriais são muito mais arriscados, pois corre-se o risco de se detectar relações espúrias.

Ressalto também que os resultados acima são baseados em um modelo com parâmetros fixos, em um período de tempo escolhido de maneira arbitrária. Para obter resultados mais robustos, é recomendável a variação dos parâmetros e a realização de testes fora da amostra, que permitem avaliar a consistência dos pares com dados que não foram utilizados na construção do modelo.

Finalmente, é necessário comentar que o modelo de Bandas de Bollinger é um modelo bastante simplista, sem embasamento teórico. Há outros modelos mais robustos, utilizando por exemplo o conceito de cointegração.

¹ A razão de informação é definida como o P&L médio de todos os trades, dividido pelo desvio padrão dos P&Ls.

Ranking: 100 melhores pares long-short

Segue um ranking com os 100 melhores pares intrasetoriais para operações long-short, de acordo com o modelo de Bandas de Bollinger com janela de 20 dias. Os pares foram ordenados de acordo com o critério de razão de informação (P&L médio dividido pelo desvio-padrão do P&L), utilizando um backtest com um período de 2 anos (de 22/07/2011 a 22/07/2013).

100BestBollinger

Modelo básico para operar pares de ações

Escrevi anteriormente sobre arbitragem estatística e a importância da estacionariedade no sucesso de uma estratégia para operar pares de ativos. Em um outro post, comentei sobre alguns artigos descrevendo estratégias de pares. Finalmente, disponibilizei uma planilha para acompanhar pares de ações e fazer backtest de uma estratégia utilizando bandas de Bollinger para operar pares.

Pairs trading ou operação com pares é uma forma de operação na qual o trader acompanha a relação entre dois ativos, geralmente com comportamentos históricos parecidos, e abre um trade (comprando um dos ativos e simultaneamente vendendo o outro) quando esta relação foge dos padrões observados no passado. Em geral, o trader aposta na convergência da relação entre os ativos para a “normalidade” observada no passado, ou seja, é um trade que aposta na reversão à média.

Da descrição acima, podemos dividir o problema de operações com pares em 3 etapas: a seleção de pares de ativos, a definição de um modelo relacional entre os preços dos ativos, e a definição de um critério para detectar desvios com relação ao comportamento histórico dos pares. Podemos pensar nas duas última etapas como o modelo de operação (trading model), o qual define os sinais de entrada e saída de cada operação, enquanto as três etapas conjuntamente definem a estratégia de operação como um todo ou o modelo de operação com pares.

As três etapas acima podem ou não estar relacionados. Por exemplo, no modelo de pairs trading  utilizando o conceito de cointegração, as primeiras duas etapas estão geralmente relacionadas, pois a técnica econométrica utilizada para testar a cointegração sugere um modelo relacional linear entre os preços dos ativos.  Este tipo de modelo para pairs trading é mais complexo e será explicado em um futuro post. O objetivo deste post é dar uma visão geral do que está envolvido na construção de uma estratégia de pares, e exemplificar através de um dos modelos mais simples, que utiliza o conceito de bandas de Bollinger para definir os pontos de entrada e saída dos trades.

Seleção de Pares

As principais características que um par de ativos deve apresentar para que seja possível operá-lo com sucesso são:

  • Os dois ativos devem ter um comportamento similar e a relação entre os preços dos ativos deve ser relativamente estável ao longo do tempo – geralmente (mas nem sempre) isto ocorre com ativos que estão expostos aos mesmos fatores de riscos, o que tende a acontecer com ações de empresas que operam no mesmo setor, por exemplo;
  • A variação existente entre os preços dos dois ativos deve ser grande o suficiente para que os trades sejam lucrativos
  • A relação entre os ativos deve flutuar de um extremo ao outro com frequência, gerando um número grande de oportunidades de trade.

Pensando especificamente em pares de ações, existem várias abordagens possíveis para realizar a seleção dos pares:

  1. Pares Intrasetoriais: selecionar pares de ações de empresas que operam na mesma indústria – esta abordagem é intuitiva, uma vez que as empresas tenderão a estar expostas aos mesmos fatores de risco, fazendo com que os preços das ações possuam comportamentos similares;
  2. Pares estatisticamente similares: Selecionar pares de ações baseado em alguma medida estatística do comportamento dos preços das ações. Algumas possibilidades que foram sugeridas na literatura ou utilizadas no mercado são a correlação entre os retornos das ações (escolher os pares com maior correlação) ou alguma medida de distância entre os preços (escolher os pares com a menor distância, como por exemplo neste artigo).
  3. Pares cointegrados: Selecionar pares de ações que apresentam uma relação de cointegração. Esta é uma das abordagens mais robustas do ponto de vista estatístico, pois se os pares são cointegrados, espera-se um comportamento estacionário – portanto até certo ponto previsível – para o spread entre os preços das ações. Este conceito foi utilizado para testar estratégias com pares no mercado brasileiro aqui e aqui.

Uma possibilidade comumente utilizada envolve um feedback entre o modelo de operação, que determina os sinais de entrada e saída de cada tradee o processo de seleção de pares. Isto envolve a simulação ou backtest de vários pares em um período histórico, e alguma regra para escolher os pares com melhor desempenho no período testado. A figura abaixo esquematiza o processo.

Criação de uma estratégia de operação com pares

Criação de uma estratégia de operação com pares

Modelo Relacional Entre os Ativos

A próxima etapa, após a seleção dos pares, é a definição do modelo relacional entre cada par de ativos. Este modelo consiste em uma relação entre os preços dos dois ativos. Uma medida comumente utilizada consiste na razão entre os dois preços. Por exemplo, consideremos dois ativos A e B. Vamos denotar por P_{A,t} o preço do ativo A no instante t, e por P_{B,t} o preço do ativo B no instante t. Então a razão entre os preços dos dois ativos é dada por

R_{AB,t} = \frac{P_{A,t}}{P_{B,t}}.

Outra possibilidade é utilizar a diferença entre os preços (o chamado spread do par), definido por:

S_{AB,t} = P_{A,t}-\alpha P_{B,t},

onde \alpha é uma constante obtida, por exemplo, através de uma regressão linear. 

Uma vez definido o modelo relacional, pode-se construir o histórico da relação entre os dois ativos ao longo do tempo, com o qual é possível analisar o comportamento do par. O modelo de bandas de Bollinger, em geral, é baseado na razão entre os preços dos dois ativos.

Critérios de Divergência e Convergência

A última etapa para completar a estratégia é definir os critérios de divergência e convergência, os quais definirão os sinais de entrada e saída das operações. Um dos modelos mais simples comumente utilizado no mercado é o modelo de bandas de Bollinger. Este modelo utiliza a média e o desvio padrão da razão entre os preços dos ativos para determinar divergências e convergências. Geralmente essas quantidades são calculadas através de uma janela móvel, onde os últimos n pontos são utilizados. O modelo possui duas bandas, uma inferior e uma superior, que são calculadas subtraindo ou adicionando um múltiplo do desvio padrão à média da razão do par. Uma escolha comum consiste em utilizar 2 vezes o desvio padrão. Neste caso, as bandas de Bollinger em um instante t são dadas por:

Banda Superior_t = \mu_t + 2 \times \sigma_t

Banda Inferior_t = \mu_t - 2 \times \sigma_t,

onde \mu_t e \sigma_t são, respectivamente, a razão média e o desvio padrão da razão do par no instante t.

Quando a razão do par está acima da banda superior, isto denota um sinal de venda, e quando a razão encontra-se abaixo da banda inferior, isto denota um sinal de compra do par (explicaremos o que significa comprar ou vender o par em breve). O fechamento da operação ocorre quando a razão retorna para seu valor médio, por exemplo. Ou seja, as regras de entrada e saída dos trades podem ser as seguintes:

Vender o par (vender ação A e comprar ação B) quando R_{AB,t}>Banda Superior_t.

    • Fechar a venda (comprar ação A e vender ação B) quando a razão convergir para a média de cima para baixo, ou seja, R_{AB,t}<\mu_t

Comprar o par (comprar a a ação A e vender a ação B) quando R_{AB,t}<Banda Inferior_t

  • Fechar a compra (vender ação A e comprar ação B) quando a razão convergir para a média de baixo para cima, ou seja,  R_{AB,t}>\mu_t

Para ficar mais claro, vamos exemplificar. Suponha que após analisarmos as ações de empresas do setor financeiro, optamos por escolher o par de ações BBDC4 (Bradesco PN) e ITSA4 (Itausa PN).  A figura abaixo apresenta os preços das duas ações desde 2012:

Preços de BBDC4 e ITSA4

Preços de BBDC4 e ITSA4

Utilizando estes preços, calculamos a razão entre os preços de BBDC4 e ITSA4 para este período, ou seja,  para cada dia, calculamos:

R_{BBDC4/ITSA4,t} = \frac{P_{BBDC4,t}}{P_{ITSA4,t}}.

Suponha que vamos usar uma janela móvel com n=20 dias. Para calcular as Bandas de Bollinger é necessário calcular, para cada dia, a média e o desvio-padrão dos últimos 20 valores da razão do par. A banda superior é calculada como a razão média, adicionada de 2 vezes o desvio-padrão, e a banda inferior é dada pela razão média, subtraída de 2 vezes o desvio padrão. O cálculo para este par resulta no seguinte gráfico:

Bandas de Bollinger - BBDC4 vs ITASA4

Bandas de Bollinger – BBDC4 vs ITASA4

No gráfico acima, as linhas rosas indicam as bandas de Bollinger, a linha verde indica a razão média, e a linha azul indica a evolução da razão do par BBDC4_ITSA4. As setas de cima para baixo indicam sinais de venda do par, e as setas de baixo para cima indicam sinais de compra do par.

Dinâmica de Compra e Venda do Par

Quando passamos a trabalhar com a razão de um par, podemos pensar nela como o “preço” de um novo ativo, que é o par de ações. O trade de pares é um trade de reversão, onde iremos apostar na queda do “preço” ou razão do par, quando ele encontra-se alto em relação ao comportamento histórico, ou no aumento da razão, quando esta encontra-se baixa em relação ao seu padrão histórico. Mas o que significa comprar ou vender um par de ações?

Na definição da razão, definimos uma das ações com o numerador e a outra como denominador. No nosso exemplo, BBDC4 era o numerador e ITSA4 o denominador. Ou seja, quando o valor da razão aumenta, a interpretação é de que BBDC4 está ficando cara com relação a ITSA4 (ou, conversamente, ITSA4 está ficando barata com relação a BBDC4). Um aumento da razão do par pode ser devido à algumas situações diferentes (analogamente, invertendo as situações abaixo teríamos uma queda da razão do par):

  • os preços das duas ações aumentaram, mas o preço de BBDC4 aumentou mais do que o de ITSA4
  • os preços das duas ações caíram, mas o preço de BBDC4 caiu menos do que o preço de ITSA4
  • o preço de BBDC4 aumentou e o de ITSA4 diminuiu, ou
  • o preço de uma delas ficou parado e o da outra movimentou-se.

Outra maneira de pensar na razão é como um indicador do preço relativo de BBDC4 em relação a ITSA4, ou seja, se a razão for igual a 3, significa que é preciso 3 ações da ITSA4 para comprar uma BBDC4.

Quando a razão indica que BBDC4 está muito cara em relação a ITSA4 (ou seja, acima da banda superior), o modelo indica uma venda do par, apostando que a situação irá se reverter em breve. A operação de venda do par BBDC4_ITSA4 é uma operação de venda de BBDC4 e compra simultânea de ITSA4. Esta operação é caixa-neutra: o valor arrecadado com a venda de BBDC4 é utilizado para a compra de ITSA4. Este tipo de operação é chamado de long-short. O operador fica short (vendido) em uma ação e long (comprado) em outra.

É importante notar que, para realizar a venda de uma ação que o operador não possui, ele precisa primeiro realizar o empréstimo da ação, pelo qual paga uma taxa ao doador do papel. Como a operação está em pontas opostas de papéis com características similares, o risco de mercado é reduzido em comparação a uma situação de compra ou venda seca de um dos papéis. Se a operação der certo, a razão convergirá para sua média, momento no qual o operador desfaz o trade (comprando BBDC4 e vendendo as ITSA4 compradas). No caso de divergência na banda inferior, a dinâmica é invertida: o operador compraria BBDC4 e venderia ITSA4.

Como calculamos o lucro ou prejuízo (P&L) de uma operação com pares? Vamos analisar o último trade mostrado no gráfico acima. No dia 5/7/2013, o modelo indicou uma compra do par. Os preços de BBDC4 e ITSA4 neste dia eram, respectivamente, R$26,13 e R$7,75. Supondo um financeiro de aproximadamente R$10.000,00 para o trade e arredondando as quantidades, iríamos comprar 400 ações de BBDC4 e simultaneamente vender 1300 ações de ITSA4 . No dia 11/7/2013,   a razão convergiu para a média e os preços eram, respectivamente, R$27,36 e R$7,92. Notamos que as duas ações subiram, porém em termos percentuais, BBDC4 subiu mais do que ITSA4. Como compramos 400 ações de BDDC4, obtivemos lucro de R$492. A venda de ITSA4 gerou um prejuízo de R$221, pois o preço aumentou. No geral, a operação deu portanto um lucro bruto de R$271. O quadro abaixo resume os cálculos.

Exemplo de cálculo de P&L de uma operação com pares

Exemplo de cálculo de P&L de uma operação com pares

É importante ressaltar que o exemplo acima não considerou os custos de corretagem e do aluguel de  ITSA4.

Riscos de Operações com Pares

Apesar de estratégias com pares serem comumente  chamadas de “neutras” ao risco de mercado, esta afirmação é incorreta. Apesar de ser verdade que a exposição vendida mitiga grande parte da volatilidade, em comparação com  uma posição comprada seca, ainda existe risco nas operações com pares. Ao abrir o trade, o operador está apostando que a razão irá se movimentar em uma certa direção; caso a razão não se comporte da maneira esperada, o operador pode ter perdas significativas. A razão do par pode não apresentar uma convergência rápida o suficiente, ou mesmo divergir mais ainda, o que acarreta alguns agravantes. O primeiro é que, quanto maior a duração da operação, maior será o custo com o aluguel da ponta vendida. Segundo, quanto mais a razão divergir após a abertura do trade, maior será a correção necessária para recuperar o valor já perdido. Além disso, vale lembrar que os custos operacionais de um operação com par são altos, pois a operação completa envolve a execução de 4 ordens, além do custo de aluguel da ponta vendida pelo período da operação.

É possível tornar a estratégia um pouco mais elaborada, definindo por exemplo um stop-loss para evitar ficar em uma operação que não está convergindo, ou tentando acertar com mais eficácia o ponto em que ocorrerá a reversão. É importante lembrar também que as relações históricas às vezes se alteram devido à mudanças nas estruturas ou operações das empresas. Por este motivo, é importante ficar atento ao que está acontecendo com as duas empresas, para evitar apostar em uma convergência que não ocorrerá.

Fico por aqui e da próxima vez escreverei sobre modelos que utilizam o conceito de cointegração.

Arbitragem estatística – alguns artigos

Continuando a séries de posts sobre arbitragem estatística, estou postando links para alguns artigos sobre o assunto. Há muitos livros sobre o assunto, mas para ser sincero a maioria é superficial demais, ou gasta tempo demais explicando casos idealizados que nunca serão encontrados na prática. Os artigos acadêmicos ainda são, na minha opinião, uma das melhores fontes.

O primeiro da lista chama-se Pairs Trading: Performance of a Relative Value Arbitrage Rule, de Gatev et al. Os autores analisam uma regra simples de trade de pares, baseada na distância normalizada entre os preços, no mercado norte-americano. Marcelo Perlin replica a estratégia no mercado de ações brasileiro em seu artigo Evaluation of Pairs Trading Strategy at the Brazilian Financial Market. Aliás, o site onde estes artigos se encontram, http://www.ssrn.com, é um ótimo repositório de papers de finanças.

Avellaneda et al estudam a arbitragem estatística com uma abordagem um pouco mais complexa no artigo Statistical Arbitrage in the U.S. Equities Market. Eles usam dois métodos para determinar se uma ação está sobre/sob-valorizada. O primeiro consiste em fazer a regressão dos retornos das ações nos retornos de ETFs setorias. O segundo consiste em fazer a regressão dos retornos das ações em fatores extraídos usando análise de componentes principais (PCA) na matriz de covariância dos retornos. Após isso o modelo vende as ações que estão sobrevalorizadas e compra as que estão subvalorizadas.

Finalmente, Alexander et al estudam a ideia de replicar um índice de ações e construir estratégias de arbitragem estatística através de cointegração no artigo The Cointegration Alpha: Enhanced Index Tracking and Long-Short Equity Market Neutral Strategies.

Essa é uma lista curta, mas os artigos contém muitas outras referências interessantes.

Arbitragem Estatística – preliminares

O nome arbitragem estatística remete a algo complexo, mas veremos que o conceito é bastante simples. Primeiro, precisamos entender o que é uma arbitragem. Uma arbitragem pura significa uma oportunidade de comprar um ativo e conseguir vendê-lo (ou um ativo “equivalente”) de maneira a obter um lucro sem risco. Como qualquer agente racional iria querer explorar tal oportunidade, não é surpreendente que elas não existam (ou existam por pouquíssimo tempo) no mercado. Afinal, se não há risco, o agente investiria na arbitragem tantos recursos quanto conseguisse obter, e este fato faz com que os preços sejam corrigidos e a arbitragem deixe de existir. Esta ideia está formulada na “Lei do Preço Único“: bens idênticos devem ter o mesmo preço.

O conceito de arbitragem estatística difere do de arbitragem pura porque o lucro não é auferido sem risco.  A arbitragem estatística pode ser descrita com uma estratégia de alocar recursos em ativos “equivalentes” de maneira a obter um lucro esperado positivo. A diferença está no termo esperado, que denota que a oportunidade é lucrativa na média. Ou seja, o agente que explora essa oportunidade está tomando risco, e por ele recebe um certo retorno esperado.

O conceito de ativos “equivalentes” é vago e muitas vezes é relaxado ou ignorado na prática. O tipo mais comum de arbitragem estatística é o chamado trade de pares (pairs trading). Esse tipo de estratégia baseia-se na noção de  encontrar dois ativos (ações, índices, ETFs) que, na média, comportem-se de maneira similar, e explorar situações em que essa relação esteja distorcida. Quando ocorre uma divergência do comportamento usual, é possível formar uma posição que será favorecida no futuro, quando (ou melhor, se) a relação entre os ativos voltar ao normal (quando houver uma convergência). No momento da divergência, o investidor irá comprar um dos ativos e simultaneamente vender o outro (se for uma ação, é necessário alugá-la primeiro para poder vendê-la). Qual ativo ele comprará, e qual venderá, irá depender de que tipo de distorção ocorreu entre os ativos, mas em geral, vende-se o ativo que se valorizou mais, e compra-se o que se desvalorizou. Idealmente, ocorrerá a convergência e o investidor fechará a posição, executando a operação contrária a que fez anteriormente, e realizando lucro. Como o investidor compra (posição long) e vende (posição short) os ativos simultaneamente, esse tipo de estratégia também é conhecido como Long/Short.

Um exemplo: PETR3 e PETR4 são ambas ações da Petrobrás, sendo que a PETR3 é a ação ON (ordinária) e a PETR4 é a ação PN (preferencial). Como são ações da mesma empresa, estão expostas aos mesmos riscos, e, como esperado, seus preços andam juntos (clique no gráfico para aumentar).



Uma estratégia de arbitragem estatística quantitativa consistiria em critérios que definem quando ocorreu a divergência entre as ações, ou seja, quando entrar no trade, com que quantidades, e quando sair. O critério de divergência é portanto uma parte crucial da estratégia. Para entendê-lo melhor, vamos definir alguns conceitos.

Estacionariedade, Reversão à Média

As séries de preços de ativos financeiros são, em geral, não-estacionárias. Isso basicamente quer dizer que características das séries temporais, como média e variância, variam no tempo. Outra característics dos preços de ativos é que eles em geral são integrados de ordem 1 (I(1)). Isso significa que os preços das ações podem subir indefinidamente (mas, obviamente, não podem cair abaixo de 0).  Por outro lado, uma variável estacionária, integrada de ordem 0 (I(0)), apresenta uma característica interessante de sempre retornar à um valor central, ou médio. Dizemos que ela “reverte à média”. Os retornos diários de ações seguem, em geral, esse tipo de comportamento, apesar de não serem estritamente estacionários, já que suas médias (e principalmente suas volatilidades) variam no tempo. Para obter uma estratégia de arbitragem estatística bem-sucedida, é preciso trabalhar com uma variável que seja o mais próxima da estacionariedade possível. Afinal, queremos que haja convergência. Há muitos detalhes técnicos sobre esses conceitos que são relevantes na prática, mas para um primeiro exemplo seguiremos com essas definições intuitivas.

O critério de divergência será uma transformação dos preços das ações, que deverá ser estacionária ou pelo menos próxima de ser estacionária. Ou seja, para que a estratégia funcione é preciso um comportamento de reversão à média. Isso irá depender do par de ações em questão. Para escolher os pares, existem várias possibilidades. Uma é considerar pares de ações dentro do mesmo setor ou indústria; afinal, os fatores de risco tendem a ser os mesmos e as ações tenderão a “andar juntas”. Outras maneiras comuns envolvem medidas como correlação (grau de associação entre os retornos das ações) ou o conceito de cointegração, que é um pouco mais complexo e sobre o qual escreverei em um post mais a frente.

Um Exemplo Prático

Duas medidas comuns da relação entre um par de ativos são o spread (preço da ação B menos o preço da ação B) e a razão (preço da ação A dividido pelo preço da ação B). O gráfico abaixo mostra o spread entre o preço de PETR3 e PETR4, padronizado com uma média e um desvio padrão calculados numa janela móvel. Um spread ideal para um trade long/short variaria bastante, e cruzaria a média com mais frequência do que o mostrado acima, sem ficar por períodos longos acima ou abaixo de zero.

Como a séries está padronizada, seus valores flutuam dentro de uma certa faixa (aparentemente entre -3 e 3).  Quando o valor está próximo de um desses extremos pode ser um bom ponto de entrada em um trade. Por exemplo, a seta vermelha indica o dia 23/03/2009. Neste dia, o valor do spread padronizado era de 2.94. Como esse valor é alto, o investidor decide que vai apostar na convergência e vende o par, ou seja, vende PETR3 e compra PETR4 (note que se tivéssemos definido o para como PETR4-PETR3, os valores seriam invertidos e compraríamos o par, mas os trades nas ações seriam os mesmos). Ele decide sair no dia 27/04/2009 (seta azul), quando o spread padronizado cruza o zero. Supondo que o investidor operou 1000 de cada ação, temos:

23/03/2009: Vendeu 1000 PETR3 a R$37.68 / Comprou 1000 PETR4 a R$29.65

27/04/2009: Comprou 1000 PETR3 a R$34.85 / Vendeu 1000 PETR4 a R$27.88

A exposição líquida neste caso é próxima de zero, ou seja, a ponta vendida financia a compra da ponta comprada. Isso faz com que a posição tenha uma correlação próxima de zero com o mercado (também é possível operar quantidades que tornem a posição exatamente caixa-neutra ou beta-neutra). Na prática, como o investidor não tinha PETR3, ele precisou alugar a ação para vender.Vamos ver como ficou o trade após o fechamento: a PETR3 caiu e o investidor ganhou -1000x(34.85-37.68) = R$2837 na ponta vendida. Na posição comprada de PETR4 ele perdeu 1000x(27.88-29.65) = -R$1767. Então no total, o investidor saiu com um lucro de aprox. R$1069, para um investimento de aproximadamente R$40,000 em 24 dias úteis (mas que na realidade tem exposição líquida zerada). Claro que é preciso ainda retirar os custos de operação (aluguel de PETR3, corretagem, emolumentos e ainda a diferença entre o preço assumido acima e o que teria sido conseguido na execução da ordem), que podem muito bem fazer com que, no final das contas, a operação não seja lucrativa.

Um outro ponto de entrada possível ocorre no dia 6/7/2009, quando o spread padronizado era igual a -2.61. Neste caso o investidor poderia comprar o par (ou seja, comprar PETR3 e vender PETR4, fechando o trade por exemplo no dia 23/07/2009, também com lucro.

Esse primeiro post teve a intenção de apenas introduzir o assunto e dar um exemplo simples. Na prática há muitos outros aspectos a se considerar, tanto em relação aos parâmetros da estratégia (os valores exatos dos pontos de entrada e saída, janela das estimativas de média e desvio padrão do spread) quanto ao seu risco. Felizmente, é possível aprender bastante sobre o comportamento da estratégia fazendo-se uma simulação ao longo do tempo, ou seja, fazendo-se o backtest. Esse será o assunto de um futuro post.

Novos rumos para este blog

Este blog começou como um lugar para eu expor algumas idéias e comentários sobre Economia e Finanças. Nos meses iniciais, tive uma boa produtividade neste espaço e recebi vários comentários interessantes dos meus leitores. No entanto, logo comecei a trabalhar em um hedge fund e, desde então, não tenho encontrado muito tempo para escrever. No entanto, meu trabalho me deu uma outra inspiração para escrever e decidi mudar um pouco o rumo do blog.

Passarei a escrever neste espaço principalmente sobre investimento baseado em modelos quantitativos. Tenho trabalhado com isso há quase um ano e acredito que há muito futuro para esta área. O mercado brasileiro está se desenvolvendo a passos largos e a tendência é que cada vez mais pessoas se interessem por gerenciar seus próprios portfólios. E as estratégias quantitativas (usarei o termo abreviado “quant”) são uma ótima opção para quem não quer ficar só no feijão-com-arroz de comprar e vender ações.  As estratégias “quant” tem fama de serem complicadas, mas não é preciso ter um doutorado em matemática para entendê-las, desenvolvê-las ou aplicá-las. O approach quant é viável mesmo para pessoas físicas, mas é necessário uma certa familiaridade com ferramentas analíticas e, principalmente, um gosto por pesquisar e trabalhar para refinar as estratégias e obter bons resultados.

Com o tempo, espero que este espaço se torne um lugar para explorar e trocar idéias sobre este tema. Pretendo expor alguns tipos de estratégias quantitativas simples, principalmente relacionadas a arbitragem estatística, que é a área na qual tenho mais experiência. Não acho que exista muito material bom (principalmente em Português) sobre este assunto, e acho que posso contribuir para tornar mais claros alguns conceitos. Muitas corretoras já fornecem indicações de Long/Short em ações, um tipo de trade no qual o investidor tenta explorar distorções na relação entre pares de ações (pairs trading). Em geral, o investidor compra uma ação e simultaneamente vende outra (na verdade, aluga para vender), apostando na convergência do par. Mas não estamos necessariamente restritos às indicações de corretoras; o tipo de análise necessária para este trade é relativamente simples, e sua execução está ao alcance de muitos investidores.

Uma outra lenda das estratégias quant é que são uma galinha dos ovos de ouro, com as quais é possível ficar rico da noite para o dia. Como qualquer outro tipo de investimento, o investimento quantitativo é sujeito a períodos bons e ruins. O interessante do enfoque quant é que é possível mensurar com relativa precisão os riscos envolvidos, e simular o rendimento das estratégias ao longo do tempo usando dados passados (i.e. fazer o backtest das estratégias). Além disso, algumas estratégias (e.g. arbitragem estatística) se saem muito bem em períodos de alta volatilidade, que costumam ser períodos de queda no mercado. A possibilidade de ganhar retorno positivo, estando relativamente imunizado contra movimentos no mercado, é bastante atraente. No geral, o que posso dizer é que o trader quant dedicado, paciente e diligente conseguirá obter bons retornos. O importante na frase anterior são os adjetivos. Executar trades (quantitativos ou não) é fácil; difícil é desenvolver um método e seguí-lo.

Fico então por aqui, e deixo alguns temas sobre os quais pretendo escrever no futuro. Não esperem revelações de estratégias ou segredos, tampouco um método para enriquecer repentinamente. A maioria das estratégias quant bem sucedidas é baseada em idéias simples, com refinamentos e sutilezas que fazem a diferença. São estes refinamentos que dão a graça de trabalhar e pesquisar nesta área. Aí entram a capacidade e a criatividade do pesquisador ou trader.

Idéias para posts futuros:

  • O que é necessário para operar estratégias quant?
  • Idéias de trades quant
  • Backtesting de estratégias quant
  • Arbitragem estatística (pairs trading, cointegração/estacionariedade, correlação)
  • Execução
  • Métricas de desempenho de trading
  • Gerenciamento de risco