Friday 23 March 2018

Cointegração trading forex


Cointegração na Negociação de Pares Forex.
A cointegração na negociação de pares forex é uma ferramenta valiosa. Para mim, a cointegração é a base para uma excelente estratégia de negociação mecânica neutra de mercado que me permite lucrar em qualquer ambiente econômico. Se um mercado está em tendência de alta, tendência de baixa ou simplesmente movendo-se para os lados, a negociação de pares de moedas permite-me colher ganhos durante todo o ano.
Uma estratégia de negociação de pares forex que utiliza cointegração é classificada como uma forma de negociação de convergência baseada em arbitragem estatística e reversão em média. Esse tipo de estratégia foi popularizado pela primeira vez por uma equipe de negociação quantitativa no Morgan Stanley nos anos 80, usando pares de ações, embora eu e outros traders descobrimos que também funciona muito bem para a negociação de pares forex também.
Pares de Forex negociados com base na cointegração.
A negociação de pares Forex baseada na cointegração é essencialmente uma estratégia de reversão à média. Simplesmente, quando dois ou mais pares de moedas são cointegrados, isso significa que o preço spread entre os diferentes pares de moedas tende a reverter ao seu valor médio de forma consistente ao longo do tempo.
É importante entender que a cointegração não é correlação. Correlação é uma relação de curto prazo em relação a co-movimentos de preços. Correlação significa que os preços individuais se movem juntos. Embora a correlação seja invocada por alguns traders, por si só é uma ferramenta indigna de confiança.
Por outro lado, a cointegração é uma relação de longo prazo com co-movimentos de preços, na qual os preços se movem juntos ainda dentro de certas faixas ou spreads, como se estivessem unidos. Eu acho que a cointegração é uma ferramenta muito útil na negociação de pares forex.
Durante minha negociação de pares forex, quando o spread aumenta para um valor de limite calculado pelos meus algoritmos de negociação mecânicos, “curto” o spread entre os preços dos pares. Em outras palavras, estou apostando que o spread voltará a zero devido à sua cointegração.
Estratégias básicas de negociação de pares de forex são muito simples, especialmente quando se utiliza sistemas de negociação mecânicos: Eu escolho dois pares de moedas diferentes que tendem a se mover de forma semelhante. Eu compro o par de moedas com baixo desempenho e vendo o par de desempenho superior. Quando o spread entre os dois pares converge, fecho minha posição para obter lucro.
A negociação de pares de Forex baseada na cointegração é uma estratégia bastante neutra de mercado. Por exemplo, se um par de moedas cair, então a negociação provavelmente resultará em uma perda no lado longo e um ganho de compensação no lado mais curto. Assim, a menos que todas as moedas e instrumentos subjacentes subitamente percam valor, o comércio líquido deve ser próximo de zero no pior cenário possível.
Da mesma forma, a negociação de pares em muitos mercados é uma estratégia de negociação de autofinanciamento, uma vez que as receitas de vendas a descoberto podem às vezes ser usadas para abrir a posição comprada. Mesmo sem esse benefício, a negociação de pares forex alimentada pela cointegração ainda funciona muito bem.
Compreender a cointegração para negociação de pares forex.
A cointegração é útil para mim na negociação de pares forex porque me permite programar meu sistema de negociação mecânico com base tanto em desvios de curto prazo dos preços de equilíbrio quanto nas expectativas de preço de longo prazo, pelo que quero dizer correções e retorno ao equilíbrio.
Para entender como funciona a negociação de pares forex orientada pela cointegração, é importante primeiro definir a cointegração e descrever como ela funciona nos sistemas de negociação mecânicos.
Como eu disse acima, a cointegração refere-se à relação de equilíbrio entre conjuntos de séries temporais, como preços de pares separados de forex que por si só não estão em equilíbrio. Declarada em jargão matemático, a cointegração é uma técnica para medir a relação entre variáveis ​​não estacionárias em uma série temporal.
Se duas ou mais séries temporais tiverem, cada uma, um valor de raiz igual a 1, mas sua combinação linear é estacionária, então elas são cointegradas.
Como um exemplo simples, considere os preços de um índice de bolsa e seu contrato futuro relacionado: Embora os preços de cada um desses instrumentos possam vagar aleatoriamente durante breves períodos de tempo, eles retornarão ao equilíbrio e seus desvios serão estacionário.
Aqui está outra ilustração, declarada em termos do exemplo clássico de "passeio aleatório": digamos que há dois bêbados individuais caminhando para casa depois de uma noite de festejos. Vamos supor ainda que esses dois bêbados não se conhecem, então não há relação previsível entre seus caminhos individuais. Portanto, não há cointegração entre seus movimentos.
Em contraste, considere a idéia de que um indivíduo bêbado está vagando para casa, acompanhado de seu cão na coleira. Neste caso, há uma conexão definitiva entre os caminhos dessas duas pobres criaturas.
Embora cada um dos dois ainda esteja em um caminho individual durante um curto período de tempo, e mesmo que um dos pares possa conduzir ou atrasar aleatoriamente o outro a qualquer momento, eles sempre serão encontrados juntos. A distância entre eles é bastante previsível, portanto, o par é dito ser cointegrado.
Retornando agora a termos técnicos, se houver duas séries temporais não estacionárias, como um conjunto hipotético de pares de moedas AB e XY, que se tornam estacionárias quando a diferença entre elas é calculada, esses pares são chamados de uma série integrada de primeira ordem - também chame uma série I (1).
Mesmo que nenhuma dessas séries permaneça em um valor constante, se houver uma combinação linear de AB e XY que é estacionária (descrita como I (0)), então AB e XY são cointegrados.
O exemplo simples acima consiste em apenas duas séries temporais de pares de forex hipotéticos. No entanto, o conceito de cointegração também se aplica a várias séries temporais, usando ordens de integração superiores ... Pense em termos de um bêbado errante acompanhado por vários cães, cada um com uma coleira de comprimento diferente.
Na economia do mundo real, é fácil encontrar exemplos mostrando a cointegração de pares: renda e gastos, ou rigor das leis criminais e tamanho da população carcerária. Na negociação de pares forex, meu foco é capitalizar a relação quantitativa e previsível entre pares de moedas cointegradas.
Por exemplo, suponhamos que estamos assistindo a esses dois pares de moedas hipotéticos cointegrados, AB e XY, e o relacionamento cointegrado entre eles é AB & # 8211; XY = Z, onde Z é igual a uma série estacionária com uma média de zero, ou seja, I (0).
Isso parece sugerir uma estratégia de negociação simples: quando AB - XY & gt; V, e V é meu preço de gatilho de limiar, então o sistema de negociação de pares de forex venderia AB e compraria XY, desde que a expectativa seria para AB diminuir de preço e XY para aumentar. Ou, quando AB - XY & lt; - V, eu esperaria comprar AB e vender XY.
Evite a regressão falsa na negociação de pares forex.
No entanto, não é tão simples quanto o exemplo acima sugeriria. Na prática, um sistema de negociação mecânico para negociação de pares forex precisa calcular a cointegração em vez de confiar apenas no valor de R-quadrado entre AB e XY.
Isso porque a análise de regressão ordinária fica aquém quando se lida com variáveis ​​não estacionárias. Isso causa a chamada regressão espúria, que sugere relações entre variáveis ​​mesmo quando não há nenhuma.
Suponha, por exemplo, que eu regride 2 séries temporais separadas de "caminhada aleatória" uma contra a outra. Quando eu testo para ver se há um relacionamento linear, muitas vezes eu vou encontrar valores altos para o R-quadrado, bem como valores de p baixos. Ainda assim, não há relação entre esses dois passeios aleatórios.
Fórmulas e testes para cointegração em negociação de pares forex.
O teste mais simples de cointegração é o teste Engle-Granger, que funciona assim:
Verifique se AB t e XY t são ambos I (1) Calcule a relação de cointegração [XY t = aAB t + et] usando o método de mínimos quadrados Verifique se os resíduos de cointegração et são estacionários usando um teste de raiz unitária como o Teste aumentado de Dickey-Fuller (ADF).
Uma equação detalhada de Granger:
Eu (0) descreve a relação de cointegração.
XY t-1 - βAB t-1 descreve a extensão do desequilíbrio a partir do longo prazo, enquanto αi é a velocidade e a direção em que a série temporal do par de moedas se corrige do desequilíbrio.
Ao usar o método Engle-Granger na negociação de pares forex, os valores beta da regressão são usados ​​para calcular os tamanhos de negociação para os pares.
Ao usar o método Engle-Granger na negociação de pares forex, os valores beta da regressão são usados ​​para calcular os tamanhos de negociação para os pares.
Correção de erros para cointegração em negociação de pares forex:
Ao usar a cointegração para negociação de pares forex, também é útil explicar como as variáveis ​​cointegradas se ajustam e retornam ao equilíbrio de longo prazo. Então, por exemplo, aqui estão as duas séries temporais de pares de forex mostrados autorregressivamente:
Pares de Forex negociados com base na cointegração.
Quando eu uso meu sistema de negociação mecânica para negociação de pares forex, a configuração e execução são bastante simples. Primeiro, encontro dois pares de moedas que parecem estar cointegrados, como EUR / USD e GBP / USD.
Então, eu calculo os spreads estimados entre os dois pares. Em seguida, verifico a estacionariedade usando um teste de raiz unitária ou outro método comum.
Garanto que meu feed de dados de entrada está funcionando adequadamente e deixo meus algoritmos de negociação mecânicos criarem os sinais de negociação. Supondo que eu executei back-tests adequados para confirmar os parâmetros, estou finalmente pronto para usar a cointegração na minha negociação de pares forex.
Eu encontrei um indicador MetaTrader que oferece um excelente ponto de partida para construir um sistema de negociação de pares de forex de cointegração. Parece um indicador de Bollinger Band, mas na verdade o oscilador mostra o diferencial de preço entre os dois pares de moedas diferentes.
Quando este oscilador se move em direção ao extremo alto ou baixo, indica que os pares estão se desacoplando, o que sinaliza os negócios.
Ainda assim, para ter certeza do sucesso, confio no meu bem construído sistema de negociação mecânica para filtrar os sinais com o teste Augmented Dickey-Fuller antes de executar os negócios apropriados.
É claro que qualquer pessoa que queira usar a cointegração para sua negociação de pares forex, ainda que não tenha as habilidades necessárias de programação de algoritmos, pode confiar em um programador experiente para criar um conselheiro especialista vencedor.
Através da mágica da negociação algorítmica, eu programo meu sistema de negociação mecânica para definir os spreads de preço com base na análise de dados. Meu algoritmo monitora os desvios de preço e, em seguida, compra e vende automaticamente pares de moedas para poder inutilizar as ineficiências do mercado.
Riscos a ter em conta ao usar a cointegração com a negociação de pares forex.
A negociação de pares de Forex não é totalmente isenta de risco. Acima de tudo, lembro-me de que a negociação de pares forex usando cointegração é uma estratégia de reversão à média, que se baseia no pressuposto de que os valores médios serão os mesmos no futuro, como eram no passado.
Embora o teste Augmented Dickey-Fuller mencionado anteriormente seja útil na validação dos relacionamentos cointegrados para a negociação de pares forex, isso não significa que os spreads continuarão a ser cointegrados no futuro.
Confio em regras de gerenciamento de risco fortes, o que significa que meu sistema de negociação mecânica sai de negociações não lucrativas se ou quando a reversão à média calculada for invalidada.
Quando os valores médios mudam, é chamado de desvio. Eu tento detectar o desvio o mais rápido possível. Em outras palavras, se os preços dos pares de moeda coexegidos anteriormente começarem a se mover em uma tendência em vez de reverter para a média calculada anteriormente, é hora de os algoritmos do meu sistema de negociação mecânico recalcularem os valores.
Quando uso meu sistema de negociação mecânica para negociação de pares forex, uso a fórmula autoregressiva mencionada anteriormente neste artigo para calcular uma média móvel para prever o spread. Então, eu saio do comércio em meus limites de erro calculados.
A cointegração é uma ferramenta valiosa para minha negociação de pares forex.
Usar a cointegração na negociação de pares forex é uma estratégia de negociação mecânica neutra de mercado que me permite negociar em qualquer ambiente de mercado. É uma estratégia inteligente baseada na reversão, mas ajuda-me a evitar as armadilhas de algumas das outras estratégias de negociação forex de reversão à média.
Devido ao seu uso potencial em sistemas de negociação mecânicos lucrativos, a cointegração para negociação de pares forex tem atraído o interesse tanto de traders profissionais quanto de pesquisadores acadêmicos.
Há uma abundância de artigos publicados recentemente, como este artigo de blog com foco em quant, ou essa discussão acadêmica sobre o assunto, bem como muita discussão entre os traders.
A cointegração é uma ferramenta valiosa na minha negociação de pares forex, e eu recomendo fortemente que você analise por si mesmo.

Gekko Quant - Negociação Quantitativa.
Negociação Quantitativa, Arbitragem Estatística, Aprendizagem de Máquina e Opções Binárias.
Pós-navegação.
Arbitragem Estatística & # 8211; Negociando um par cointegrado.
No meu último post gekkoquant / 2012/12/17 / estatística-arbitragem-testing-for-cointegration-augmented-dicky-fuller / demonstrei a cointegração, um teste matemático para identificar pares estacionários onde o spread por definição deve ser revertido à média.
Neste post, pretendo mostrar como negociar um par cointegrado e continuar analisando as ações Royal Dutch Shell A vs B (sabemos que elas estão cointegradas em meu último post). Negociar um par cointegrado é direto, sabemos a média e a variância do spread, sabemos que esses valores são constantes. O ponto de entrada para um stat arb é simplesmente procurar por um grande desvio fora da média.
Uma estratégia básica é:
Se spread (t) & gt; = Spread Médio + 2 * Desvio Padrão, então, Curto Se spread (t) & lt; = Spread Médio & # 8211; 2 * Desvio Padrão e depois Longo.
Se spread (t) & gt; = nDia Média Móvel + 2 * nDay Rolling Desvio padrão, em seguida, será Short If spread (t) & lt; = nDay Moving Average & # 8211; 2 * nDay Rolling O desvio padrão, em seguida, é longo.
Se espalhado (t) & lt; = Spread Médio + 2 * Degradado E espalhado (t-1) & gt; Spread Médio + 2 * Std Se spread (t) & gt; = Spread Médio & # 8211; 2 * Std AND spread (t-1) & lt; Spread Médio & # 8211; 2 * Std Advantage é que apenas trocamos quando vemos a reversão à média, enquanto os outros modelos esperam uma reversão à média em um grande desvio da média (o spread está explodindo?)
Este post vai olhar para a média móvel e modelo de desvio padrão para as ações Royal Dutch Shell A vs B, ele vai usar a taxa de hedge encontrada no último post.
Sharpe Ratio Shell A & amp; B Stat Arb Shell A.
Índice de Sharpe Anualizado (Rf = 0%):
Shell A e B Stat Arb 0,8224211.
Shell A 0,166307.
O stat arb tem um índice Sharpe Superior ao invés de simplesmente investir na Shell A. À primeira vista, o índice de sharpe de 0,8 parece decepcionante, mas como a estratégia passa a maior parte do tempo fora do mercado, ele terá uma taxa anualizada baixa. proporção de sharpe. Para aumentar o índice de sharpe, pode-se procurar negociar em freqüências mais altas ou ter um portfólio de pares para que mais tempo seja gasto no mercado.
22 pensamentos sobre & ldquo; Arbitragem Estatística & # 8211; Negociando um par cointegrado & rdquo;
isso também significa que quando identificada a divergência máxima eu posso tomar posição em derivativos como opções?
- Opção de compra de multibanco no primeiro estoque.
-Compre opção de compra no segundo.
ou com um BacKSpreadCall no primeiro e um BackSpreadPut no segundo para que eu possa definir as proteções e eu posso rolá-las se elas saírem do controle & # 8230;
As posições curtas devem ser moneyness ATM ou levemente OTM na minha opinião.
O que você pensa sobre?
Você tentou usar a abordagem de teste de Johansen para realizar testes mais rigorosos de cointegração? O que você acha de combinar o Engle-Granger com o Johansen?
O spread acima não oscila em torno dele significa, idealmente, que um par cointegrado não deve ser negociado de forma lateral, como mostrado acima, e seu artigo foi perfeito para a cointegração adequada que você demonstrou. mas esse spread não é um spread perfeito.
Eu 100% concordo com você.
No entanto, para fins práticos, desde que a reversão da média aconteça mais rapidamente do que a média, então você se sairá bem.
Eu acho que algo que eu perdi, como quantificar a meia vida / velocidade de reversão.
Por favor, note que na demonstração acima, o período de retorno é de 90 dias. Isso é razoavelmente curto. A escolha de 200 dias resultará em uma média menos responsiva / muda de direção. Isso provavelmente aumentará o tamanho das bandas de desvio padrão e resultará em menos negócios por ano. Isso geralmente resulta em um menor índice de Sharpe.
Postagem muito interessante. Adoraria ver a implementação em uma cesta de pares.
Eu faço algumas alterações no seu programa para calcular as bandas de bollinger e eu quero saber por que você colocou o desvio padrão para a direita? (movingStd = rollapply (spread, lookback, sd, alinhamento = & # 8221; direita & # 8221 ;, na. pad = TRUE))
OK obrigado por responder!
Seu blog me dá a chance de implementar e construir mais rapidamente a minha estratégia stat arb.
Vou testar modelos diferentes para arbitragem estatística. Eu mantenho todos os visitantes no circuito!
Em seu programa, o efeito martingale não está aqui. Como posso adicionar esse efeito?
Estou executando meus próprios backtests com programas diferentes (Excel, R e ProRealTime (uma plataforma francesa)) e para fazer alguma comparação, eu preciso adicionar o efeito martingale.
Obrigado pelo esclarecimento. Pelo mesmo argumento, rollmean tem que ter o mesmo: rollmean (spread, lookback, na. pad = TRUE, align = ’right’)
Com esta nova modificação, a taxa de Sharpe cai drasticamente.
Coisas boas!! Eu acho que existem dois erros no seu código, no entanto. A primeira é no cálculo da média móvel. Você esqueceu de definir o parâmetro align para & # 8220; right & # 8221; (como você faz para o desvio padrão). Função usa default & # 8220; center & # 8221; e seus dados & # 8211; spread e média móvel não estão alinhados. Você pode ver isso da trama também. A média móvel termina 45 dias antes do spread. Segundo bug está no cálculo dos retornos de negociação. Eu acho que você deve ter o retorno do dia seguinte quando entramos na posição no preço de fechamento.
Obrigado pelo seu código elegante. Eu notei que sua linha de código:
destina-se a aplicar a função shortPositionFunc para (-1 * aboveUpperBand + belowMAvg).
No entanto, a função shortPositionFunc aceita dois argumentos x e y.
Existe algum erro no código?
Obrigado pelo seu esclarecimento!
Obrigado Gekko pelo código de backtesting. É muito útil. Alguns comentários abaixo:
1) Outro leitor já comentou sobre isso acima. O movingAvg precisa ser corrigido adicionando-se align = "right" para se ter o primeiro número médio móvel no dia 90:
movingAvg = rollmean (spread, lookback, align = ”right”, na. pad = TRUE)
2) como entramos no final do dia, o retorno da data de negociação não deve ser contabilizado. podemos simplesmente deslocar cada elemento no vetor de “posições” usando a função “shift” na biblioteca taRifx.
Além disso, não acredito que o retorno diário seja (aRet - stockPair $ hedgeRatio * bRet). Imagine se você tivesse uma grande taxa de hedge, ou seja, se a ação A precificasse US $ 100 e a ação B tivesse US $ 10, então a hedgeRatio estaria na casa dos 10. Como aet e bRet estão em%, a fórmula não trabalhos. O retorno diário deve ser aRet-bRet * (razão entre o índice neutro do dólar versus o índice de hedge).
#Calculate spread diário ret.
dailyRet & lt; - aRet - bRet * hedgeRatioOVERdollarNeutralRatio.
tradingRet & lt; - dailyRet * shift (posições, -1)
Eu estou procurando novas estratégias na negociação de pares de ações que melhorem a abordagem de cointegração padrão (por exemplo, comecei a investigar o par de negociação com copulas, que ainda parece uma alternativa instável à cointegração). Você tem algum papel novo para me sugerir? Muito obrigado e parabéns pelo ótimo blog.
A segunda metade do livro passa por várias técnicas mais avançadas para proteger um portfólio / encontrar pares estacionários.
Estou um pouco confuso nesta etapa.
Quando eu plotei o longoPositions e ShortPositions junto com o spread, bandas e linhas médias móveis encontrados, então há sinais longos consecutivos e sinais curtos. De acordo com o meu entendimento
longPostions & lt; - se o spread estiver abaixo da banda inferior.
longExit & lt; - se o spread estiver acima de movAvg durante o tempo.
shortPostions & lt; - se o spread estiver acima da banda superior.
shortExit & lt; - se o spread estiver abaixo de movAvg enquanto curto.
é a mesma coisa que seu código está fazendo. Por favor me ajude a entender essa parte.
Oi Gekko, eu li os livros do EP Chan que fala sobre esse assunto e eu estou um pouco confuso sobre a reserva média. Quando dois ativos são cointegrados, estamos supondo que eles retornarão à sua média, mas sua média móvel ou sua média total em um período fixo? Eu estou dando melhores resultados usando parâmetros estáticos do que usando bandas de bollinger. Eu vou te mostrar uma imagem com a minha dúvida. prntscr / 51jofw Poderia escrever outro artigo de reversão à média! Obrigado por todos.
Oi Gekko Ótimo Código. Você poderia explicar mais de perto uma ideia por trás dessa função cappedCumSum? Eu não entendo o momento em que você está especificando duas variáveis ​​de entrada, mas na função Reduce () é apenas um parâmetro, & # 8211; é por causa de 0?
Há um erro. Seu algoritmo parece, no futuro, o problema na função rollmean. Algoritmo usando a média móvel dos dias futuros para fechar a posição.

Forex Trading de Cointegração
Estratégias de negociação baseadas na cointegração:
Uma nova abordagem para rastreamento avançado de índices e arbitragem estatística.
A busca de técnicas quantitativas apropriadas para a construção de estratégias de eqüidade de curto prazo não é um último momento de desenvolvimento nos mercados financeiros. Os novatos neste jogo estão constantemente se juntando aos jogadores tradicionais e, atualmente, os pesquisadores mais fervorosos em estratégias quantitativas são os fundos de hedge envolvidos na negociação de ações. Sua flexibilidade operacional e falta de restrições são ideais para permitir que eles se beneficiem da aplicação desses tipos de estratégias de negociação.
Nesta linha de pesquisa, estamos propondo várias estratégias de negociação de 'cointegração', como rastreamento de índice e arbitragem estatística. A primeira estratégia visa replicar uma referência em termos de retornos e volatilidade, enquanto a outra busca gerar retornos estáveis ​​sob todas as circunstâncias do mercado. Ao contrário de outras estratégias tradicionais de negociação, a otimização do portfólio é baseada na cointegração e não na correlação. Quando aplicadas às ações da DJIA, essas estratégias de negociação produziram resultados muito estáveis. Por exemplo, entre janeiro de 1995 e dezembro de 2001, as estratégias de arbitragem estatística de autofinanciamento mais bem-sucedidas retornaram (líquidas de transação e custos de recompra) aproximadamente 10% com aproximadamente 2% de volatilidade anual e correlação insignificante com o mercado (Alexander e Dimitriu, 2002). As estratégias financiadas discutidas nesse documento retornam muito mais, é claro, mas têm uma volatilidade ligeiramente maior. Na maioria dos anos, nossas estratégias tinham índices de Sharpe próximos de um.
A aplicabilidade da técnica de cointegração à alocação de ativos foi pioneira por Lucas (1997) e Alexander (1999). Suas principais características, ou seja, erro médio de rastreamento, maior estabilidade de pesos e melhor uso das informações contidas nos preços das ações, permitem um design flexível de várias estratégias de negociação financiadas e autofinanciadas, desde o índice e rastreamento aprimorado de índices até mercado neutro e técnicas de transferência alfa.
Por que usar a cointegração no gerenciamento de portfólio?
O conceito de cointegração tem sido amplamente aplicado na econometria financeira em conexão com análise de séries temporais e macroeconomia. Evoluiu como uma técnica estatística extremamente poderosa, pois permite a aplicação de métodos de estimação simples (como mínimos quadrados ordinários e máxima verossimilhança) a variáveis ​​não-estacionárias. Ainda assim, sua relevância para a análise de investimentos tem sido bastante limitada até o momento, principalmente devido ao fato de que o padrão em gerenciamento de portfólio e mensuração de risco é a análise de correlação dos retornos dos ativos.
No entanto, a análise de correlação é válida apenas para variáveis ​​estacionárias. Isso requer a redução de tendência dos preços e de outras variáveis ​​financeiras de nível, que geralmente são consideradas integradas de ordem um ou mais. Tomando a primeira diferença nos preços do log é o procedimento padrão para garantir a estacionariedade e leva toda a inferência adicional a ser baseada nos retornos. Este procedimento tem, no entanto, a desvantagem de perder informações valiosas. Em particular, a redução de tendência das variáveis ​​antes da análise elimina qualquer possibilidade de detectar tendências comuns nos preços. Por outro lado, o objetivo da análise de cointegração é detectar qualquer tendência estocástica nos dados de preços e usar essas tendências comuns para uma análise dinâmica de correlação nos retornos (Alexander, 2001).
A observação fundamental que justifica a aplicação do conceito de cointegração para, por exemplo, a análise de preços de ações, é que um sistema de preços de ações não estacionários em nível pode compartilhar tendências estocásticas comuns (Stock e Watson, 1991). Segundo Beveridge e Nelson (1981), uma variável tem uma tendência estocástica se sua diferença tiver uma representação ARMA (p, q) estacionária e invertível mais um componente determinístico. Como os modelos ARIMA (p, 1, q) parecem caracterizar muitas variáveis ​​financeiras, conclui-se que o crescimento dessas variáveis ​​pode ser descrito por tendências estocásticas.
Quando aplicada a preços de ações em um índice do mercado de ações, existe cointegração quando existe pelo menos uma carteira de ações que tem um erro de rastreamento estacionário (usamos o termo erro de rastreamento como os estatísticos fazem para denotar a diferença entre o índice e a carteira) . Em outras palavras, a cointegração existe quando há reversão da média no spread de preços entre a carteira e o índice. Essa constatação não fornece nenhuma informação para prever os preços individuais no sistema ou a posição do sistema em algum momento no futuro, mas fornece informações valiosas que, independentemente de sua posição, os preços da carteira e do índice vão ficar juntos a longo prazo.
Esboço das estratégias de negociação.
Considerando o acima, encontrar uma relação de cointegração, ou seja, uma combinação linear estacionária do índice de mercado e um número de ações de seus componentes (geralmente especificados como preços de log), é equivalente a ter um spread médio de reversão entre o índice de mercado e uma carteira de rastreamento . Sob tais circunstâncias, por meio de construção, os retornos da carteira de rastreamento serão iguais aos retornos do índice, em uma base de longo prazo.
Além disso, sendo construído sobre uma longa história de preços, os pesos da carteira tendem a ignorar movimentos de curto prazo nos preços das ações, como bolhas ou apenas ruído, e se concentrar no comportamento de longo prazo dos preços. Como já foi mostrado, o fato de o erro de rastreamento ser, por construção, reverter significa garantir que o portfólio de rastreamento permaneça “vinculado” ao índice no longo prazo, independentemente dos movimentos de curto prazo nos preços das ações individuais. Pode haver, no entanto, descorrelações de curto prazo entre a carteira de rastreamento e o índice. De fato, essa é uma fonte potencial de 'alfa', ou seja, excesso de retorno, nos portfólios de rastreamento.
Várias estratégias de negociação podem ser construídas com base em relações de cointegração:
A. Acompanhamento de índice.
A primeira estratégia de negociação baseada em cointegração investigada é um rastreamento de índice clássico com o objetivo de replicar um benchmark em termos de retornos e volatilidade. Um processo de rastreamento de índice envolve dois estágios igualmente importantes: primeiro, selecionar os estoques a serem incluídos no portfólio de rastreamento e, em seguida, determinar as posições do portfólio em cada ação com base em uma técnica de otimização de cointegração.
A primeira etapa, a seleção de ações, pode ser o resultado de modelos de seleção proprietários, análise técnica ou apenas habilidades de escolha de ações de um gerente de portfólio. O grau de cointegração e consequentemente o desempenho de rastreamento dependerá muito do processo de seleção. Por mais crítico que seja, o processo de seleção não possui características especiais em uma técnica de rastreamento baseada em cointegração. Constitui uma variável de controle na identificação da estratégia de rastreamento mais apropriada.
A segunda etapa do acompanhamento de índices diz respeito à determinação das participações de carteira em cada uma das ações selecionadas na etapa anterior. Os pesos das ações em cada carteira são estimados com base nos coeficientes de mínimos quadrados ordinários (OLS) da equação de cointegração que regride o preço logístico do índice nos preços log das ações da carteira durante um determinado período de calibração antes do momento de construção da carteira. Observamos que a aplicação do OLS a variáveis ​​dependentes não estacionárias, como log (index), é válida apenas no caso especial de uma relação de cointegração. A menos que os resíduos da regressão de cointegração sejam considerados estacionários, os coeficientes de OLS serão inconsistentes e a inferência adicional baseada neles será inválida. Portanto, o teste de cointegração é uma etapa essencial na construção de portfólios de rastreamento baseados em cointegração.
Além da estimativa, os coeficientes de OLS são normalizados para somar um, fornecendo assim os pesos de cada ação no portfólio de rastreamento.
Como mostrado em Alexander e Dimitriu (2002), mesmo usando regras simples de seleção de ações, como classificar os estoques pelo seu peso no índice, os portfólios de rastreamento construídos com base nessa metodologia podem replicar com precisão o índice de mercado.
B. Acompanhamento de índice aprimorado e arbitragem estatística.
Tendo construído a estratégia de rastreamento simples, uma extensão natural para explorar o potencial de rastreamento dos portfólios cointegrados seria replicar os índices artificiais, 'mais' ou 'menos', construídos de forma a superarem ou superarem linearmente o índice de mercado por um quantidade dada por ano. Então, as estratégias de autofinanciamento longas-curtas podem ser configuradas por ser curto em um portfólio que rastreie o benchmark 'menos' e por muito tempo em um portfólio que rastreie o benchmark 'mais'.
Este tipo de estratégia de arbitragem estatística deve gerar retornos de acordo com o spread 'mais' / 'menos' (ou seja, alfa duplo) com volatilidade bastante baixa e sem correlação significativa com os retornos do mercado. Esperamos ficar cada vez mais difíceis de encontrar portfólios cointegrados, pois a magnitude do spread entre os benchmarks rastreados aumenta. A relação de cointegração entre o índice de mercado e seus estoques componentes tem uma base sólida, mas isso não é necessariamente o caso de carteiras que rastreiam benchmarks artificiais, que podem ser escolhidos para executar o índice de mercado em 50%, por exemplo. A dificuldade em encontrar uma relação de cointegração apropriada leva a uma maior instabilidade dos pesos das ações, maiores custos de transação e maior volatilidade dos retornos. Para evitar isso, é essencial garantir que todas as carteiras que acompanham os benchmarks 'plus' ou 'menos' passem no teste de cointegração.
C. Combinação de rastreamento de índice com arbitragem estatística.
Caso a neutralidade do mercado não seja um requisito e uma exposição a um índice de mercado seja desejada, outra possibilidade seria transportar o alfa ganho na estrutura de mercado neutro para um índice, através do uso de derivativos (por exemplo, futuros sobre índices). Or, instead of derivatives, an enhanced cointegration-based index tracking procedure can be implemented.
This type of strategy, combining enhanced index tracking with statistical arbitrage, should have a high correlation with the market index, while gaining alpha from two sources: first, the excess return from enhanced index tracking and then, double alpha from the statistical arbitrage. When applying alpha transfer strategies to the stocks in DJIA, Alexander and Dimitriu (2002) have obtained significantly better Sharpe ratios then the market, even after accounting for transaction and repo costs.
As already pointed out, the cointegration concept has a number of attractive features in modelling asset prices, which recommend it as a significantly better alternative to the classic correlation analysis in portfolio management. Its key characteristics, i. e. mean reverting tracking error, enhanced weights stability and better use of the information comprised in stock prices, allow a flexible design of trading strategies, from enhanced index tracking to statistical arbitrage. Moreover, its application in constructing trading strategies within the DJIA stocks has produced encouraging results, which can be further refined.
Alexander, C. O. (1999) "Optimal hedging using cointegration" Philosophical Transactions of the Royal Society A 357, pp. 2039-2058.
Alexander, C. O. (2001) Market Models: A Guide to Financial Data Analysis, John Wiley, pp. 347-388.
Alexander, C. O. and A. Dimitriu (2002) "The Cointegration Alpha: Enhanced Index Tracking and Long-Short Equity Market Neutral Strategies", Discussion Paper 2002-08, ISMA Centre Discussion Papers in Finance Series.
Beveridge, S. and C. R. Nelson (1981) "A New Approach to Decomposition of Economic Time Series into Permanent and Transitory Components with Particular Attention to Measurement of the Business Cycle", Journal of Monetary Economics 7, pp. 151-74.
Lucas, A. (1997) "Strategic and Tactical Asset Allocation and the Effect of Long - Run Equilibrium Relations", Research Memorandum 1997-42, Vrije Universiteit Amsterdam.

Forex Mecânico
Negociação no mercado FX usando estratégias mecânicas de negociação.
Cointegration in the Forex market.
From the many different types of statistical arbitrage available, pairs trading is perhaps one of the most popular. In pairs trading a trader will attempt to exploit the linear relationship between the values of two instruments, attempting to buy/sell them when the relationship between their values increases/decreases to values that offer enough profit potential. However pairs trading does not only require a linear correlation to exist but it also requires the instruments to be cointegrated, a fundamental property that ensures a fundamental connection between the instruments that diminishes the probability of the spread between both instruments “blowing up” (widening far beyond what is statistically expected). Although pairs trading is usually described in stocks/commodities, we rarely see any study of cointegration in the FX market. Today we’re going to look at some potential cointegrations in the FX market, why they exist and how they might be exploited.
Let us begin by defining what we mean by cointegration. Two series are cointegrated when they share a common stochastic drift. The typical example to explain cointegration talks about a man who goes to a bar with his dog. After getting drunk and leaving the bar both the man and the dog walk the same path home, although their stochastic drift – which is the random way in which the man walks and the dog wonders along the way – são diferentes. When this happens their paths are in fact correlated but they are not cointegrated. If the man instead decides to put a leash on the dog their paths become cointegrated because they now share a common stochastic drift that is determined by the length of the leash. The man and the dog cannot be separated further than their leash allows, which makes any random movements they make beyond a certain length common to both (as they would pull on each other). In statistics we can evaluate for cointegration using several different tests from which theВ Augmented Dickey-Fuller (ADF) test is most popularly used. Note that this test evaluates only stationarity – not exactly cointegration – so another test such as a Johansen test is necessary to confirm cointegration.
When looking at classic examples of cointegration in financial time series you’ll notice that instruments that are cointegrated generally have some strong fundamental reasons to be cointegrated. The “leash” is a fundamental relationship between both instruments, their common stochastic drift. This relationship is usually very strong, for example two oil producing companies that share refineries in broadly the same countries and have the same clients, they are so tightly put together that it is very improbable for any random event to affect one without affecting the other. This is what makes deviations so tantalizing to exploit. В In Forex however, the story is a bit different because countries have a very hard time being so fundamentally similar.
You can actually see this easily when you look at the last year of data for several FX pairs that we usually view as correlated. For example the EUR/USD and GBP/USD traditionally have a large correlation. A normalized plot showing the last year of data shows you that both pairs indeed tend to move in the same direction but it is clear that this relationship does not follow the same stochastic drift. An ADF test using the last year of data for these two pairs will give you a value of 0.28 which is simply far too large to reject the null hypothesis. Looking at other similar pairs reveals very similar results, pairs like AUDUSD|NZDUSD – which are even more correlated than the EURUSD|GBPUSD turn out to also not be cointegrated.
So are there any cointegrations in the FX market? Actually the answer is yes. The Swiss National Bank’s decision to create a floor on the EURCHF at 1.20 generated a “leash” that made several pairs share a stochastic drift. For example the EURUSD and the CHFUSD are now cointegrated due to this fact. An ADF test will give you a value less than 0.01 for this pair, suggesting that they are indeed cointegrated (confirmed by the Johansen test as well). All similar CHF containing pairs also show cointegrations, such as the EURJPY|CHFJPY and the EURAUD|AUDCHF. This cointegrations all arise from the EURCHF peg, something which is evident when you look at the spread value as a function of time between any of these pairs. The third image shows you the spread of the EURUSD|CHFUSD pair as a function of time, it is no surprise that this is the exact same graph as the EURCHF for the past year. As the length of the “leash” varies, so does the value of the spread on the cointegrated pairs.
Could we take advantage of these cointegrations? Well, you certainly can. There are several ways in which cointegration can be traded but with a varying “leash” a good way is probably to trade the bollinger bands around the spread. You can trade on any timeframes but even when trading the daily timeframe you can make some money. The fourth image shows a very simple simulation in R where I traded the 3 pairs mentioned above, using 1:10 leverage, on a 10 period moving average using 1 standard deviation for band distances. The simulations show a 25% profit with a 10% drawdown within the past year, not too great but not too bad either. It is possible that further refinements and entries/exits on lower timeframes can indeed increase these margins.

Cointegrated Time Series Analysis for Mean Reversion Trading with R.
Cointegrated Time Series Analysis for Mean Reversion Trading with R.
A while back we considered a trading model based on the application of the ARIMA and GARCH time series models to daily S&P500 data. We mentioned in that article as well as other previous time series analysis articles that we would eventually be considering mean reverting trading strategies and how to construct them.
In this article I want to discuss a topic called cointegration, which is a time series concept that allows us to determine if we are able to form a mean reverting pair of assets. We will cover the time series theory related to cointegration here and in the next article we will show how to apply that to real trading strategies using the new open source backtesting framework: QSTrader.
We will proceed by discussing mean reversion in the traditional "pairs trading" framework. This will lead us to the concept of stationarity of a linear combination of assets, ultimately leading us to cointegration and unit root tests . Once we have outlined these tests we will simulate various time series in the R statistical environment and apply the tests in order to assess cointegration.
Mean Reversion Trading Strategies.
The traditional idea of a mean reverting "pairs trade" is to simultaneously long and short two separate assets sharing underlying factors that affect their movements. An example from the equities world might be to long McDonald's (NYSE:MCD) and short Burger King (NYSE:BKW - prior to the merger with Tim Horton's).
The rationale for this is that their long term share prices are likely to be in equilibrium due to the broad market factors affecting hamburger production and consumption. A short-term disruption to an individual in the pair, such as a supply chain disruption solely affecting McDonald's, would lead to a temporary dislocation in their relative prices. This means that a long-short trade carried out at this disruption point should become profitable as the two stocks return to their equilibrium value once the disruption is resolved. This is the essence of the classic "pairs trade".
As quants we are interested in carrying out mean reversion trading not solely on a pair of assets, but also baskets of assets that are separately interrelated.
To achieve this we need a robust mathematical framework for identifying pairs or baskets of assets that mean revert in the manner described above. This is where the concept of cointegrated time series arises.
The idea is to consider a pair of non-stationary time series, such as the random-walk like assets of MCD and BKW, and form a linear combination of each series to produce a stationary series, which has a fixed mean and variance.
This stationary series may have short term disruptions where the value wanders far from the mean, but due to its stationarity this value will eventually return to the mean. Trading strategies can make use of this by longing/shorting the pair at the appropriate disruption point and betting on a longer-term reversion of the series to its mean.
Mean reverting strategies such as this permit a wide range of instruments to create the "synthetic" stationary time series. We are certainly not restricted to "vanilla" equities. For instance, we can make use of Exchange Traded Funds (ETF) that track commodity prices, such as crude oil, and baskets of oil producing companies. Hence there is plenty of scope for identifying such mean reverting systems.
Before we delve into the mechanics of the actual trading strategies, which will be the subject of the next article, we must first understand how to statistically identify such cointegrated series. For this we will utilise techniques from time series analysis, continuing the usage of the R statistical language as in previous articles on the topic.
Cointegration.
Now that we've motivated the necessity for a quantitative framework to carry out mean reversion trading we can define the concept of cointegration. Consider a pair of time series, both of which are non-stationary. If we take a particular linear combination of theses series it can sometimes lead to a stationary series. Such a pair of series would then be termed cointegrated .
The mathematical definition is given by:
Cointegration.
Let $\ $ and $\ $ be two non-stationary time series, with $a, b \in \mathbb $, constants. If the combined series $a x_t + b y_t$ is stationary then we say that $\ $ and $\ $ are cointegrated .
While the definition is useful it does not directly provide us with a mechanism for either determining the values of $a$ and $b$, nor whether such a combination is in fact statistically stationary. For the latter we need to utilise tests for unit roots .
Unit Root Tests.
In our previous discussion of autoregressive AR(p) models we explained the role of the characteristic equation . We noted that it was simply an autoregressive model, written in backward shift form, set to equal zero. Solving this equation gave us a set of roots .
In order for the model to be considered stationary all of the roots of the equation had to exceed unity. An AR(p) model with a root equal to unity - a unit root - is non-stationary. Random walks are AR(1) processes with unit roots and hence they are also non-stationary.
Thus in order to detect whether a time series is stationary or not we can construct a statistical hypothesis test for the presence of a unit root in a time series sample.
We are going to consider three separate tests for unit roots: Augmented Dickey-Fuller (AFD), Phillips-Perron and Phillips-Ouliaris. We will see that they are based on differing assumptions but are all ultimately testing for the same issue, namely stationarity of the tested time series sample.
Let's now take a brief look at all three tests in turn.
Augmented Dickey-Fuller Test.
Dickey and Fuller [2] were responsible for introducing the following test for the presence of a unit root. The original test considers a time series $z_t = \alpha z_ + w_t$, in which $w_t$ is discrete white noise. The null hypothesis is that $\alpha = 1$, while the alternative hypothesis is that $\alpha < 1$.
Said and Dickey [6] improved the original Dickey-Fuller test leading to the Augmented Dickey-Fuller (ADF) test, in which the series $z_t$ is modified to an AR(p) model from an AR(1) model. I've discussed the test in a previous article where we've used Python to calculate it. In this article we will carry out the same test using R.
Phillips-Perron Test.
The ADF test assumes an AR(p) model as an approximation for the time series sample and uses this to account for higher order autocorrelations. The Phillips-Perron test [5] does not assume an AR(p) model approximation. Instead a non-parametric kernel smoothing method is utilised on the stationary process $w_t$, which allows it to account for unspecified autocorrelation and heteroscedasticity.
Phillips-Ouliaris Test.
The Phillips-Ouliaris test [4] is different from the previous two tests in that it is testing for evidence of cointegration among the residuals between two time series. The main idea here is that tests such as ADF, when applied to the estimated cointegrating residuals, do not have the Dickey-Fuller distributions under the null hypothesis where cointegration isn't present. Instead, these distributions are known as Phillips-Ouliaris distributions and hence this test is more appropriate.
Difficulties with Unit Root Tests.
While the ADF and Phillips-Perron test are equivalent asymptotically they can produce very different answers in finite samples [7] . This is because they handle autocorrelation and heteroscedasticity differently. It is necessary to be very clear which hypotheses are being tested for when applying these tests and not to simply apply them blindly to arbitrary series.
In addition unit root tests are not great at distinguishing highly persistent stationary processes from non-stationary processes. One must be very careful when using these on certain forms of financial time series. This can be especially problematic when the underlying relationship being modelled (i. e. mean reversion of two similar pairs) naturally breaks down due to regime change or other structural changes in the financial markets.
Simulated Cointegrated Time Series with R.
Let's now apply the previous unit root tests to some simulated data that we know to be cointegrated. We can make use of the defiition of cointegration to artificially create two non-stationary time series that share an underlying stochastic trend, but with a linear combination that is stationary.
Our first task is to define a random walk $z_t = z_ + w_t$, where $w_t$ is discrete white noise. Take a look at the previous article on white noise and random walks if you need to brush up on these concepts .
With the random walk $z_t$ let's create two new time series $x_t$ and $y_t$ that both share the underlying stochastic trend from $z_t$, albeit by different amounts:
\begin x_t &=& p z_t + w_ \\ y_t &=& q z_t + w_ \end.
If we then take a linear combination $a x_t + b y_t$:
\begin a x_t + b y_t &=& a (p z_t + w_ ) + b (q z_t + w_ ) \\ &=& (ap + bq) z_t + a w_ + b w_ \end.
We see that we only achieve a stationary series (that is a combination of white noise terms) if $ap + bq = 0$. We can put some numbers to this to make it more concrete. Suppose $p=0.3$ and $q=0.6$. After some simple algebra we see that if $a=2$ and $b=-1$ we have that $ap +bq = 0$, leading to a stationary series combination. Hence $x_t$ and $y_t$ are cointegrated when $a=2$ and $b=-1$.
Let's simulate this in R in order to visualise the stationary combination. Firstly, we wish to create and plot the underlying random walk series, $z_t$:
Realisation of a random walk, $z_t$
If we plot both the correlogram of the series and its differences we can see little evidence of autocorrelation:
Correlograms of $z_t$ and the differenced series of $z_t$
Hence this realisation of $z_t$ clearly looks like a random walk. The next step is to create $x_t$ and $y_t$ from $z_t$, using $p=0.3$ and $q=0.6$, and then plot both:
Plot of $x_t$ and $y_t$ series, each based on underlying random walk $z_t$
As you can see they both look similar. Of course they will be by definition - they share the same underlying random walk structure from $z_t$. Let's now form the linear combination, comb , using $p=2$ and $q=-1$ and examine the autocorrelation structure:
Plot of comb - the linear combination series - and its correlogram.
It is clear that the combination series comb looks very much like a stationary series. This is to be expected given its definition.
Let's try applying the three unit root tests to the linear combination series. Firstly, the Augmented Dickey-Fuller test:
The output is as follows:
The p-value is small and hence we have evidence to reject the null hypothesis that the series possesses a unit root. Now we try the Phillips-Perron test:
The output is as follows:
Once again we have a small p-value and hence we have evidence to reject the null hypothesis of a unit root. Finally, we try the Phillips-Ouliaris test (notice that it requires matrix input of the underlying series constituents):
The output is as follows:
Yet again we see a small p-value indicating evidence to reject the null hypothesis. Hence it is clear we are dealing with a pair of series that are cointegrated.
What happens if we instead create a separate combination with, say $p=-1$ and $q=2$?
The output is as follows:
Plot of badcomb - the "incorrect" linear combination series - and its correlogram.
In this case we do not have sufficient evidence to reject the null hypothesis of the presence of a unit root, as determined by p-value of the Augmented Dickey-Fuller test. This makes sense as we arbitrarily chose the linear combination of $a$ and $b$ rather than setting them to the correct values of $p=2$ and $b=-1$ to form a stationary series.
Próximos passos.
In this article we examined multiple unit root tests for assessing whether a linear combination of time series was stationary, that is, whether the two series were cointegrated.
In future articles we are going to consider full implementations of mean reverting trading strategies for daily equities and ETFs data using QSTrader based on these cointegration tests.
In addition we will extend our analysis to cointegration across more than two assets leading to trading strategies that take advantage of cointegrated portfolios.
Referências.
A Quantcademy.
Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.
Negociação Algorítmica Bem Sucedida.
Como encontrar novas ideias de estratégia de negociação e avaliá-las objetivamente para o seu portfólio usando um mecanismo de backtesting personalizado no Python.
Comércio Algorítmico Avançado.
Como implementar estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas Bayesianas com R e Python.

Robot Wealth.
Posted on January 2, 2016 by Kris Longmore.
In the first post in this series, I explored mean reversion of individual financial time series using techniques such as the Augmented Dickey-Fuller test, the Hurst exponent and the Ornstein-Uhlenbeck equation for a mean reverting stochastic process. I also presented a simple linear mean reversion strategy as a proof of concept. In this post, I’ll explore artificial stationary time series and will present a more practical trading strategy for exploiting mean reversion. Again this work is based on Ernie Chan’s Algorithmic Trading , which I highly recommend and have used as inspiration for a great deal of my own research.
In presenting my results, I have purposefully shown equity curves from mean reversion strategies that go through periods of stellar performance as well as periods so bad that they would send most traders broke. Rather than cherry pick the good performance, I want to demonstrate what I think is of utmost importance in this type of trading, namely that the nature of mean reversion for any financial time series is constantly changing. At times this dynamism can be accounted for by updating the hedge ratios or other strategy parameters. At other times, the only solution is to abandon the mean reversion approach altogether, perhaps in favour of a trend following approach. As this post will demonstrate, finding or constructing mean reverting price series is a relatively simple matter. The real key to profitably exploiting such series is the much more difficult matter of understanding, in real time, whether to continue a strategy as is, update its parameters or put it on ice temporarily or permanently.
Cointegration.
A collection of non-stationary time series variables are said to be cointegrated if there exists a linear combination of those variables that creates a stationary time series. This implies that we can artificially construct a mean reverting time series through the appropriate combination of non-stationary time series. For example, we can construct a portfolio of assets whose market value is a stationary time series and thus amenable to profitable exploitation through mean-reversion techniques, even through the price series of the constituent assets are not themselves mean reverting. A pairs trading strategy, where we buy one asset and short another with an appropriate allocation of capital to each, is an example of this method for exploiting the concept of cointegration, but we can also create more complex portfolios of three or more assets.
We can test whether a given combination of assets forms a stationary process using the stationarity tests described in the previous post. However, it is impossible to know a priori the coefficients (or hedge ratios) that form a stationary portfolio. How then does one test for cointegration? I’ll explore two approaches: the Cointegrated Augmented Dickey-Fuller test and the Johansen test.
Cointegrated Augmented Dickey-Fuller Test.
The Cointegrated Augmented Dickey-Fuller Test (CADF test) involves firstly performing a linear regression between two price series to determine the portfolio’s optimal hedge ratio and then conducting a stationarity test on the portfolio’s price series. The example below illustrates this concept using the currencies of Australia and New Zealand since they seem likely to cointegrate given that the economies of both countries are commodity-based and are affected by similar geopolitical forces. This extends the example in the first post, which explored the mean reverting tendencies of the foreign exchange pair AUD/NZD. In that example, the hedge ratio is always one since equal amounts of AUD and NZD are always being bought and sold. In this example, we allow for a flexible hedge ratio and attempt its optimization. In order to achieve this, we need to introduce a common quote currency, the more liquid the better. It makes sense to choose the US dollar. Therefore, the example below seeks to exploit a stationary portfolio of AUD/USD and NZD/USD.
Firstly, the price series of both exchange rates for the period 2009 to mid-2015, which look like they may cointegrate:
A scatter plot further suggests that the price series may cointegrate as the price pairs fall on a roughly straight line:
We can use least squares regression to find the optimal hedge ratio and plot the residual of AUD/USD-beta*NZD/USD, which admittedly does not look overly stationary:

No comments:

Post a Comment