Monday 9 April 2018

Negociação de cointegração em 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 o negócio 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 de moedas 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 de moedas separados 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 o outro aleatoriamente em um dado 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 espúria 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 esta 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.
21 respostas.
Artigo muito bom. É inspirador. Obrigado por escrevê-lo!
Correlação também é aplicada em ações (ações). Qual é a diferença? O processo acima pode ser aplicado às ações?
Sim, o mesmo processo pode ser aplicado a ações, assim como a derivativos. Como existe um universo tão grande de ações quando comparado com pares de moedas, deve haver um número maior de oportunidades potenciais para negociação. Com o poder de processamento de números dos sistemas de negociação de hoje, muitos conjuntos de relacionamentos podem ser examinados rapidamente, em tempo real. A cointegração também pode ser usada por operadores de opções; pode-se esperar que ele produza resultados como os populares spreads da Coca-Cola-Pepsi, nos quais as relações de preço entre certas ações / opções permitem que os investidores se envolvam em jogadas de baixo risco com uma boa chance de ganhar.
Você negocia entre dia ou semanas usando essa estratégia? Além disso, qual linguagem de programação você recomendaria. R leva tempo para executar cálculos e, se for intra-day trade, a latência entra em jogo.
A linguagem de programação não importa para o final do dia de negociação. Qualquer linguagem principal como Perl, Python, C / C ++ e C # está bem. R pode ser extremamente rápido, mas fica mais lento se for forçado a alocar memória dinamicamente.
Negocio usando gráficos diários e fico na maioria dos negócios por alguns dias a algumas semanas. Shaun é um programador especialista, e eu sempre confio em seu julgamento para usar a melhor linguagem de programação para obter os melhores resultados para uma determinada estratégia de negociação. Na verdade, Shaun pode criar um programa bem equilibrado e vencedor para alavancar a cointegração e outros fatores também. Se você quiser uma cotação, entre em contato diretamente com ele em info @ onestepremoved.
Há algum interesse em uma implementação disso para o MT4. Se você puder fornecer alguns detalhes sobre a implementação desta estratégia no código, envie para czimmer @ onestepremoved.
Eu estou fazendo um pequeno projeto sobre estratégias de cointegração em FX para o meu mestrado. Eu acredito que você fez testes de cointegração em vários pares de moedas. Quais você achou estatisticamente significativamente cointegradas?
Eu não acho que Eddie realmente tenha rodado os números. O artigo pretende ser um guia geral do conceito, mas não chega ao ponto de ser uma estratégia genuína.
1) USD / JPY e EUR / CHF.
2) EUR / PLN e EUR / HUF.
3) USD / TRY e USD / ZAR.
4) AUD / USD e NZD / USD.
5) EUR / NOK e EUR / SEK.
Eu sei que esses são altamente correlacionados, mas isso não implica cointegração.
Existem bons pares forex cointegrados:
Eu não acho que USDJPY / EURCHF seria um par cointegrado porque não haverá uma estratégia neutra de mercado.
Obrigado por compartilhar.
Alguém implementou um código de backtest usando a estratégia de reversão à média?
Devo ajustar valores de pip entre dois pares de forex?
Alguém adicionou custo de comissão ao código de backtest e obteve resultados lucrativos?
Tenho certeza de que alguém tem, mas não é algo em que você encontrará uma resposta óbvia em gráficos de curto prazo. Você pode encontrar cointegrações de longo prazo, mas isso não é pesquisa que eu fiz.
A única cointegração é entre EUR e CHF e entre AUD e NZD, uma vez que são o único comércio e economia íntima entre esses países e os bancos centrais que estão criando essa cointegração.
Não EUR e GBP?
Olá Eddie. Excelente artigo. Eu tenho voltado a testar 10 anos de gráficos pensando & # 8221; Eu não posso ser a primeira pessoa a ter pensado nisso! & # 8221; quando encontrei este site. Muito obrigado por escrever isso. Eu não me sinto mais tão sozinha. 🙂 Basta saber qual o corretor que você usa ou você usa vários corretores. Obrigado pelo seu tempo.
Atenciosamente Robert J. Armagost.
O principal corretor que eu uso é Pepperstone e STO (via TopTradr).
Olá Shaun Eu tenho negociado essa estratégia manualmente. Tem software para automatizar isso? (Então eu não tenho que me levantar no meio da noite mais) Obrigado pelo seu tempo.
Não é da prateleira, mas é algo que podemos construir. Envie-me um e-mail com suas regras de entrada e saída para obter uma estimativa. info @ onestepremoved.
Robert & # 8212; Obrigado pelo seu bom feedback. Shaun tem as ferramentas certas para implementar este tipo de estratégia de negociação, e eu concordo inteiramente com as recomendações do seu corretor, obrigado novamente por comentar! EF

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 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 só 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 irá olhar para o modelo de média móvel e desvios padrão rolantes para as ações Royal Dutch Shell A vs B, ele 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 gasta 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 à média aconteça mais rapidamente do que a média, então você vai 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.
Post 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 tipográfico 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 em 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 Mecânico
Negociação no mercado FX usando estratégias mecânicas de negociação.
Cointegração no mercado Forex.
Dos muitos tipos diferentes de arbitragem estatística disponíveis, a negociação por pares é talvez uma das mais populares. Em pares negociando um comerciante tentará explorar a relação linear entre os valores de dois instrumentos, tentando comprá-los / vendê-los quando a relação entre seus valores aumenta / diminui para valores que oferecem potencial de lucro suficiente. No entanto, a negociação de pares não requer apenas uma correlação linear, mas também exige que os instrumentos sejam cointegrados, uma propriedade fundamental que garante uma conexão fundamental entre os instrumentos que diminui a probabilidade de propagação entre os dois instrumentos. 8221; (ampliando muito além do que é estatisticamente esperado). Embora a negociação de pares geralmente seja descrita em ações / commodities, raramente vemos qualquer estudo de cointegração no mercado de câmbio. Hoje nós vamos olhar para algumas cointegrações potenciais no mercado de FX, porque elas existem e como elas podem ser exploradas.
Vamos começar definindo o que entendemos por cointegração. Duas séries são cointegradas quando compartilham um desvio estocástico comum. O exemplo típico para explicar a cointegração fala sobre um homem que vai a um bar com seu cachorro. Depois de ficar bêbado e sair do bar, tanto o homem quanto o cachorro caminham pelo mesmo caminho de volta para casa, apesar de sua tendência estocástica & # 8211; que é a maneira aleatória em que o homem anda e o cão se pergunta ao longo do caminho & # 8211; são diferentes. Quando isso acontece, seus caminhos são de fato correlacionados, mas não são cointegrados. Se o homem, em vez disso, decidir colocar uma coleira no cão, seus caminhos se tornam cointegrados, porque eles agora compartilham um desvio estocástico comum que é determinado pelo comprimento da trela. O homem e o cão não podem ser separados mais longe do que a trela permite, o que faz qualquer movimento aleatório que eles façam além de um certo comprimento comum a ambos (como eles puxariam um ao outro). Nas estatísticas, podemos avaliar a cointegração usando vários testes diferentes, dos quais o teste Augmented Dickey-Fuller (ADF) é mais popularmente usado. Note que este teste avalia apenas a estacionariedade & # 8211; não exatamente cointegração & # 8211; então, outro teste, como o teste de Johansen, é necessário para confirmar a cointegração.
Ao olhar para exemplos clássicos de cointegração em séries temporais financeiras, você notará que os instrumentos que são cointegrados geralmente têm algumas fortes razões fundamentais para serem cointegrados. O & # 8220; leash & # 8221; é uma relação fundamental entre os dois instrumentos, o seu desvio estocástico comum. Esse relacionamento é geralmente muito forte, por exemplo, duas empresas produtoras de petróleo que compartilham refinarias em geral nos mesmos países e têm os mesmos clientes, são tão unidas que é muito improvável que qualquer evento aleatório afete um sem afetar o outro. É isso que torna os desvios tão tentadores de explorar. No Forex, no entanto, a história é um pouco diferente, porque os países têm muita dificuldade em ser tão fundamentalmente semelhante.
Você pode realmente ver isso facilmente quando você olha para o último ano de dados para vários pares FX que costumamos ver como correlacionados. Por exemplo, o EUR / USD e o GBP / USD tradicionalmente têm uma grande correlação. Um gráfico normalizado mostrando o último ano de dados mostra que ambos os pares tendem a se mover na mesma direção, mas é claro que essa relação não segue o mesmo desvio estocástico. Um teste do ADF usando o último ano de dados para esses dois pares fornecerá um valor de 0,28, que é simplesmente muito grande para rejeitar a hipótese nula. Observar outros pares semelhantes revela resultados muito semelhantes, como pares AUDUSD | NZDUSD & # 8211; que são ainda mais correlacionados do que o EURUSD | GBPUSD acaba por não ser cointegrado.
Então, existem cointegrações no mercado de câmbio? Na verdade, a resposta é sim. A decisão do Banco Nacional Suíço de criar um piso no EURCHF a 1.20 gerou uma cláusula & # 8220; leash & # 8221; que fez vários pares compartilharem um desvio estocástico. Por exemplo, o EURUSD e o CHFUSD estão agora cointegrados devido a este fato. Um teste ADF dará a você um valor menor que 0,01 para este par, sugerindo que eles são de fato cointegrados (confirmado também pelo teste de Johansen). Todos os pares similares contendo CHF também apresentam cointegrações, como o EURJPY | CHFJPY e o EURAUD | AUDCHF. Essas cointegrações todas surgem da pegada do EURCHF, algo que é evidente quando se olha para o valor do spread como uma função do tempo entre qualquer um desses pares. A terceira imagem mostra o spread do par EURUSD | CHFUSD em função do tempo, não é surpresa que este seja exatamente o mesmo gráfico que o EURCHF do ano passado. Como o comprimento do & # 8220; leash & # 8221; varia, o mesmo acontece com o valor do spread nos pares cointegrados.
Podemos aproveitar essas cointegrações? Bem, você certamente pode. Existem várias maneiras em que a cointegração pode ser negociada, mas com uma variação de leash & # 8221; uma boa maneira é provavelmente trocar as bandas de bollinger pelo spread. Você pode negociar em qualquer período de tempo, mas mesmo quando estiver negociando o período diário, você pode ganhar algum dinheiro. A quarta imagem mostra uma simulação muito simples em R onde eu troquei os 3 pares mencionados acima, usando alavancagem de 1:10, em uma média móvel de 10 períodos usando 1 desvio padrão para distâncias de banda. As simulações mostram um lucro de 25% com um rebaixamento de 10% no ano passado, não muito grande, mas não tão ruim também. É possível que refinamentos adicionais e entradas / saídas em prazos mais baixos possam de fato aumentar essas margens.
Uma coisa importante a lembrar aqui é que a trela é uma cavilha de um banco central. Se esta cavilha, por algum motivo, parar de existir, é possível que essa cointegração simplesmente desapareça. Portanto, é aconselhável manter-se atento aos desenvolvimentos fundamentais e interromper a negociação da cointegração, caso isso ocorra. It is also important to constantly repeat the statistical tests for cointegration as new data comes in so that you can stop trading any of these pairs as soon as the cointegration does show to break. If you would like to learn more about FX trading and how you too can design your own trading strategiesВ please consider joiningВ Asirikuy, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading in general . Espero que tenha gostado deste artigo ! : o)
6 Responses to “Cointegration in the Forex market”
& # 8221; In statistics we can evaluate for cointegration using three different tests from which the Augmented Dickey-Fuller (ADF) test is the most popular.”
Yo, this is a stationarity check. it does not imply cointegration.
This is true, however when the result of this test is positive for financial series they are always cointegrated, this is why it is so popularly used for this purpose I believe. You can however perform a Johansen test as well or a Engle–Granger two step test. In the examples used on this article all series that pass the ADF test also pass the Johansen test, showing they are cointegrated.
i will be more than happy if you could share your r code in order to learn how to do this process.
Spread trading on EURUSD|CHFUSD sounds equivalent to trading EURCHF itself, which, as is actually directly possible at most brokers, should be preferred (pay only half the spread/commission costs). An EURUSD|CHFUSD spread is in fact a synthetic instrument for EURCHF.
So how is this spread trading any different (for the better)?
Thanks for commenting :o) You’re clearly right, it’s the same as trading a bollinger band strategy on the EUR/CHF. As mentioned on the article the spread is actually the same chart as the EUR/CHF. The cointegration of the EURUSD|CHFUSD is actually reflected as a tendency to return to the mean on the EUR/CHF. If you were going to trade this in practice you would indeed use the EUR/CHF to save trading costs instead of buying/selling EURUSD and USDCHF.
Great article overall but confusing in some places. As one comment’or has pointed out, ADF test is a unit root test. It is a formal test used to establish whether a price series is stationary or not. If you get a P value of more than 1%, 5% or 10% you can only fail to reject the null of unit root based on the significance level you are comfortable with. This does not infer the presence of co-integration.
The power of the ADF is also documented to be low so most researchers now go ahead to cross check with a complementary test such as KPSS.
It will be interesting to see the R code so we can also run it and see the results. You do mention that the Johansen test confirms the presence of co-integration, so all in all I believe your findings are on solid ground.
Some interesting questions that come up is how stable is the co-integration relationship? How frequently does the long run relationship estimate change and how big are these changes when they do occur.
Overall great article, keep them coming and do share some R code.

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.
Cointegração
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:
Cointegração
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.
Next Steps.
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.

Forex cointegration trading


Última atualização da página.
16 de fevereiro de 2003.
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. The first strategy aims to replicate a benchmark in terms of returns and volatility, while the other seeks to generate steady returns under all market circumstances. 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 iniciada por Lucas (1997) e Alexander (1999). Suas principais características, ou seja, erro médio de rastreamento, estabilidade de pesos aprimorada e melhor uso das informações incluídas 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 de índice aprimorado, até long-short 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 no gerenciamento de portfólio e na 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 em 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. Since ARIMA(p,1,q) models seem to characterise many financial variables, it follows that the growth in these variables can be described by stochastic trends.
Quando aplicada aos preços de ações em um índice do mercado de ações, a cointegração existe quando existe pelo menos uma carteira de ações com 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 o portfólio) . 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 uma 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 controlados 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). Ou, em vez de derivativos, um procedimento de rastreamento de índice baseado em cointegração aprimorado pode ser implementado.
Esse tipo de estratégia, combinando rastreamento de índice aprimorado com arbitragem estatística, deve ter uma alta correlação com o índice de mercado, enquanto ganha alfa de duas fontes: primeiro, o excesso de retorno do rastreamento aprimorado de índice e, em seguida, duplo alfa da arbitragem estatística. Ao aplicar estratégias de transferência alfa para as ações da DJIA, Alexander e Dimitriu (2002) obtiveram taxas de Sharpe significativamente melhores do que o mercado, mesmo depois de contabilizar os custos da transação e do repo.
Como já foi apontado, o conceito de cointegração possui uma série de características atraentes na modelagem de preços de ativos, que o recomendam como uma alternativa significativamente melhor à clássica análise de correlação no gerenciamento de portfólio. Suas principais características, ou seja, reverter o erro de rastreamento, aumentar a estabilidade de pesos e utilizar melhor as informações contidas nos preços das ações, permitem um desenho flexível das estratégias de negociação, desde o aprimoramento do rastreamento de índices até a arbitragem estatística. Além disso, sua aplicação na construção de estratégias de negociação dentro das ações da DJIA produziu resultados encorajadores, que podem ser aperfeiçoados.
Alexander, C. O. (1999) "Optimal hedging using cointegration" Transações Filosóficas da Royal Society A 357, pp. 2039-2058.
Alexander, C. O. (2001) Modelos de Mercado: Um Guia para Análise de Dados Financeiros, John Wiley, pp. 347-388.
Alexander, C. O. e A. Dimitriu (2002) & quot; O Alfa da Cointegração: Rastreamento de Índices Aprimorado e Estratégias Neutras de Mercado de Capital de Curto-Futuro & quot ;, Documento de Discussão 2002-08, Documentos de Discussão do ISMA Center in Finance Series.
Beveridge, S. e C. R. Nelson (1981) "Uma Nova Abordagem para a Decomposição da Série do Tempo Econômico em Componentes Permanentes e Transitórios com Atenção Especial à Medição do Ciclo de Negócios", Journal of Monetary Economics 7, pp. 151-74.
Lucas, A. (1997) "Alocação Estratégica e Tática de Ativos e o Efeito das Relações de Equilíbrio de Longo Rodo", Memorando de Pesquisa 1997-42, Vrije Universiteit Amsterdam.

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.
Cointegração
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:
NZDUSD . Close , data = closes )
Next we apply the ADF test to the spread (see the previous post for a brief description of the urca package, and why its implementation of the ADF test is suitable for this application):
z . lag . 1 + 1 + z . diff . lag )
In this case, the test statistic we are interested in is -0.94, which is greater than the 10% critical value of -2.57. Therefore, we unfortunately can’t reject the null hypothesis that the portfolio is not mean reverting. However, the negative value of the test statistic indicates that the portfolio is not trending.
One shortcoming of the ordinary least squares approach is that it is assymetrc: switching the dependent and independent variables in the regression results in a different hedge ratio. Good practice would dictate that both options be tested and the arrangement that results in the more negative test statistic be selected. Another approach is to use total least squares regression, which can be used to derive a symmetric hedge ratio. In a geometrical sense, total least squares minimizes the orthogonal distance to the regression line (as opposed to the vertical distance in the case of ordinary least squares) and thus takes into account variance of both the dependent and independent variables. The total least squares solution is easily computed in R using principal component analysis and is not limited to a two-asset portfolio:
AUDUSD . Close + NZDUSD . Close , data = closes )
z . lag . 1 + 1 + z . diff . lag )
This results in a more negative test statistic and a visually more stationary spread (at least for the period 2009 – 2012, see the figure below), but we are still unable to reject the null hypothesis that the spread obtained through total least squares regression is mean reverting.
Johansen test.
The Johansen test allows us to test for cointegration of more than two variables. Recall from the previous post, using a linear model of price changes:
Δy(t) = λy(t − 1) + β t + μ + α1Δy(t − 1) + … + αkΔy(t − k) + εt.
that if λ ≠ 0 , then Δy(t) depends on the current level y(t − 1) and therefore is not a random walk. We can generalize this equation for the multivariate case by using vectors of prices y(t) and coefficients λ and α, denoted Y(t), Λ and Α respectively. The Johansen test calculates the number of independent, stationary portfolios that can be formed by various linear combinations of the price series based on the eignevector decomposition of Λ. The urca package contains an implementation of the Johansen test that provides critical values that we can use to test whether we can reject the null hypothesis that there exist 0, 1, 2, …, n-1 cointegrating relationships, where n is the number of constituent time series. Conveniently, the eigenvectors can be used as the hedge ratios of individual price series to form a stationary portfolio. This process is illustrated below for the AUD/USD-NZD/USD portfolio. A third currency pair – USD / CAD & # 8211; is added in the next section to attempt to create a stationary portfolio of three currencies.
In this case, we can’t reject either null hypothesis that r (the number of cointegrating portfolios) is zero or one, since the test statistic in both cases is less than even the 10% critical value. That is, it is unlikely that we can form a stationary portfolio from the price history used in this example. However, it may still be worth pursuing a mean reverting strategy if the half-life of mean reversion is sufficiently low (see the previous post for more details).
As stated above, the eignevectors form the optimal hedge ratio. They are conveniently ordered by maximum likelihood, so in this case we would select a portfolio of 1 lot of AUD/USD long or short and 3.41 lots of NZD/USD in the opposite direction. In this case, unfortunately, the resulting portfolio does not look any more stationary than that constructed using the ordinary least squares and total least squares regression approaches:
Mean reversion of a portfolio of more than two instruments.
We can add a third asset and use the Johansen test to determine the probability that there exists a mean reverting portfolio along with the hedge ratios of such a portfolio. In this case, I will add USD/CAD and take the reciprocal of price so that the quote currencies are consistent (note that when building a trading strategy from this triplet, that the directions signalled for USD/CAD would need to be reversed):
Again, we unfortunately find no significant cointegrating relationship. However, as discussed in the first post, we sometimes don’t need to hold our results to scientifically stringent statistical significance in order to make money, particularly if the half life of mean reversion is sufficiently short. Therefore, we will retain the first eigenvector to form a portfolio of the three instruments for further investigation. First, lets take a look at a time series plot of the portfolio’s value:
The half life of mean reversion of the portfolio is 53.2 days. This is calculated in the same manner as for a single mean reverting time series in the previous post, namely by regressing the value of the portfolio against its value lagged by one time period:
y . lag , data = df )
Recall that in the previous post, we were able to construct a theoretically profitable linear mean reverting strategy from a single time series with a half life of mean reversion of over 300 days, so at first glance, this results holds some promise.
Linear mean reversion on a cointegrated time series.
Below is the equity curve of the linear mean reversion strategy from the previous post on the three-instrument portfolio with the value of the portfolio overlaid on the equity curve:
The strategy suffers significant drawdown and only returns a profit factor of 1.04 and a Sharpe ratio of 0.29.
Obviously, the linear mean reversion strategy presented above and detailed in the previous post would not be suitable for live trading even if the example shown here had generated an impressive backtest. Applied to equities, it would require buying and selling an infinitesimal number of shares when price moves an infinitesimal amount. This is less of a problem when applied to currencies since we can buy and sell in units as small as one-hundredth of a lot. However, the real killer for such a strategy is the trading costs associated with bar-by-bar portfolio rebalancing, as well as the fact that we can’t know the capital required at the outset. Having said that, there is still much value in testing a mean reversion idea with this linear strategy as it shows whether we can extract profits without any data snooping bias as there are no parameters to optimize. Also, a consequence of the bar-by-bar portfolio rebalancing is that the results of the linear strategy backtest are likely to have more statistical significance than other backtests that incorporate more complex entry and exit rules. Essentially, the simple linear strategy presented here can be used as a proof of concept to quickly determine whether a portfolio is able to be exploited using mean reversion techniques.
Practical approach to linear mean reversion.
If the simple linear strategy is not practical for trading, how can we exploit mean reverting portfolios? In Algorithmic Trading , Ernie Chan suggests a Bollinger band approach where trades are entered when price deviates by more than x standard deviations from the mean, where x is a parameter to be optimized. The lookback period for the rolling mean and standard deviation can be optimized or set to the half life of mean reversion. The trade would be exited when price reverts to y standard deviations from the mean where again y is an optimization parameter. For y = 0 the trade is exited when price reverts to the mean. For y = - x the trade is reversed at x standard deviations from the mean. The obvious advantage of this approach is that we can easily control capital allocation and risk. We can also control the holding period and trade frequency. For example, setting x and y to smaller values will result in shorter holding periods and more round-trip trades.
Exploiting the AUD-NZD-CAD portfolio using this simple implementation with x = 2 and y = 1 returns the following equity curve, with transaction costs included:
The equity curve of the Bollinger strategy is of similar shape to the linear mean reversion strategy, but it trades much less and allows for simpler control of risk and exposure.
Concluding thoughts.
This post extended the previous article on the exploitation of individual mean reverting time series by exploring the construction of portfolios whose market value is mean reverting. In addition to the simple linear mean reversion strategy I also presented a more practical approach that could form the basis of an actual trading strategy.
As stated in the introductory paragraphs, I wanted to show the good and the bad of mean reversion trading. The equity curves presented show periods of outstanding performance as well as periods of the polar opposite. Clearly, there are times when mean reversion is highly profitable, and other times when it just doesn’t work (perhaps trend following is more suitable at these times). But how does one determine, in real time, which regime to follow? How does one determine when to switch? I’ve explored several options, including a simple filter based on a trend indicator and a filter based on the actual performance of the strategy in real time. However, due to the lag associated with the filter values, these approaches are of little if any value. Diversification is another option, that is, continuously trade both mean reversion and trend following strategies at the same time in the belief that the profit from the dominant regime will more than make up for the losses of the other.
If you have an idea about how to address this issue, please let me know in the comments. I’d love to hear from you.
Download files and data used in this analysis.
Here you can download the price data and scripts (Zorro and R) used in this post: Mean reversion 2.
Ilya Kipnis.
Knowing when to revert and when to trend follow without the signal lagging is the gazillion dollar question. From my conversations with my mentor, you want a regime changing model for that.
After all, if you have a rangebound instrument, pick your favorite mean reversion indicator and go nuts. If you have a trending market, just buy and hold the trend. But to know which is which? I’d love to see some ideas posted elsewhere. I’ve tried depmix’s default settings and it just gave me garbage.
Kris Longmore.
Regime switching models are a whole new area of research for me. Something I’ve been meaning to tackle for a while now, but haven’t yet gotten around to. This is good motivation to bump it up the to do list. I’ll spend some time learning the first principles and then take a look at the depmix package you mentioned. Although from your experience it sounds like the solution is not a simple one.
Your last suggestion should work fine. Trade a basket of uncorrelated systems with a range of parameters. You’ll get the sum of returns with reduced drawdowns. Some Zorro code is here: financial-hacker/build-better-strategies-part-2-model-based-systems/
Kris Longmore.
Thanks for the suggestion Kevin. I think the key term in your comment is ‘uncorrelated’. I’ve had mixed success with strategy diversification in the past thanks mainly to the correlation between strategies changing over time. But that’s not really a failure of diversification, rather a failure of the trader to properly manage it.
great analysis. I did a lot of stuff there and traded (my website is down) so here are some things I found out.
No need to diversify mean reverting and trading, just find 5-10 cointegrating relationship and your Sharpe ratio will be 2+ as residuals are all uncorrelated. You’ll also need to do a WFO or IS/OOS test as no one will take seriously if you have a look-ahead bias. (there is a 50% performance degradation in out of sample testing from my own experience after doing in sample optimization) I strongly suggest WFO for every parameter as it will adapt to changing market modes. Also try other loading from PCA as the first one has the most variance but also the most likely to contain trends.
As for regime switching some filter to filter out trends is an option if you can find one. No need to waste time as regime switching field is huge.
Additional an execution algo that uses EMA vs SMA was better option for me (probably due to large funds using it also and size moves markets), plus you can use 2 st dev to enter but exit after n days could be a better one as a rule.
Anyhow hope it helps. If you want to talk more feel free to contact me.
Kris Longmore.
Hi D, thanks for sharing your findings! Some great stuff there that hadn’t occurred to me. I’ll definitely be pursuing them. Totally agree regarding walk forward testing; it is an essential part of the evaluation phase of strategy development in my opinion.
I hadn’t considered using the other loadings from the principal components analysis, but I will look into that too. I also like the n-day exit idea. It is appealing in its simplicity and I have found it useful in the past.
Eduardo Gonzatti.
Have you tried to use some kind of dominantPhase analysis from Zorro in the cointegrated spread and then trading it (spread) when the phase indicated so?
Ps: I’ve traded cointegrated equity pairs for some 4 yrs, and have no clue about cointegrated fx pairs =) but they do look way better and more robust for doing such.
Kris Longmore.
Hi Eduardo, no I hadn’t considered extracting phase information from the cointegrated spread. My first reaction to the idea is that this approach would be applicable if some sort of cyclical behaviour was present in the spread. I don’t presently know if that is the case or not, but I will certainly look into it. In your experience, have you found exploitable cycles in the spreads you have traded?
Eduardo Gonzatti.
Actually, I had this idea when fiddling with the Zorro manual a couple days ago.. I was studying about spectral analysis of financial time series returns and stumble upon Zorro’s cycle/phase indicators based in Hilbert Transforms, so it just occurred to me that, IF you assume that a spread (say, a cointegrated ols residue of two equities) is mean reverting (cointegrated and low enough half life with OU equation), you could probably use the same kind of transformation / cycle analysis that Zorro does (i thinks it’s based in John Ehlers books) in those spreads, in order to get “optimized” entry points, assuming those would predict turning points in the spread itself.
Don’t know if my assumption is mathematically sound, but it’s a hunch..
Personally, I never tried something aside from N*sigmas deviations for trading cointegrated spreads, because of the assumption that they are stochastic.
Sorry for any misspellings,
Hi Robot Master,
Obrigado pela análise. One question, is keeping the quote currency constant also necessary for CADF and OU, or it is only for required for Johansen?
Kris Longmore.
If you think about what the tests are doing, the answer to this becomes fairly obvious. The tests mentioned look for a unit root and/or stationarity of the time series in question. In this case, the time series is a spread created by the linear combination of the constituent currency pairs. Would it make much sense to test a spread that consists of, for example:
What would the units of the spread be?
Thank you for answering.
With two pairs with same quote currency, one unit moves have the same dollar values. So what you say is, unless we have this, the tests will not make any sense. Then for example for sgdchf vs zarjpy the pairs to test are sgdusd and zarusd, inverting the quotes or trading signals when necessary.
Am i correct with my interpretation.
Kris Longmore.
Assuming you want to trade a mean reverting spread that consists of SGD and ZAR, yes what you described is how I would approach it.
What about using 10 assets and combining them in groups of 3 with a loop and then calculate the eigenvalues of all those combinantions to get as an output the best cointegration portfolio?
Just a heads up:
You’re missing a negative here:
It should be, '-log(2) / lambda'
And caution to the lag function; I'm unsure which package was used, but you might be erroneously shifting the lag forward to y(t+1) by using '-1' if you're using the base. lag function. I like quantmod. Lag(y, k = 1).
Kris Longmore.
Thanks for pointing that out – you are absolutely correct on both counts. I’ve updated the code accordingly and found that the actual half life should be roughly 53 days, an increase over the 40 days calculated erroneously. I will some day get around to updating the affected results (ie the equity curves of the trading strategies that used the erroneous half life)!
Can you enlighten me as to the meaning, when both eigenvalues for a pair are the same sign? They are normally opposite… so I’m selling one and buying the other. The same sign seems to imply go long (or short) on both… which seems at odds with the pair trading methodology.
Riskmaverick.
Just came across your blog post while searching for the concept around half-life in mean reversion. I would be keen to know your thoughts around using Kalman filter to estimate hedge ratio. Would be even better if you have an example implementation in R.
Kris Longmore.
I think Kalman filtering is a great way to estimate hedge ratios. The optimal hedge ratio is rarely static, and Kalman filtering provides a sensible way to update it in real time taking into account the inherent uncertainty in its calculation.
Is there a easy way to ensure that the cointegration relationship is about to expire?
Kris Longmore.
I’m not sure of any easy way, but one reason these relationships break down is a structural change in the underlying relationship, for example following an earnings announcement that causes a sudden revaluation in one security. In that case, a different cointegrating relationship would probably emerge, once the jump or decline in price settled down to its new level. Another example that relates to the cointegration of ETFs that track the economies of two countries: a relationship could break down when one country’s economy shifts in some fundamental way, for example from a manufacturing to a service base. The two ETFs end up being exposed to different factors and so the cointegration relationship breaks down. In this case, it would happen more slowly.

No comments:

Post a Comment