четверг, 26 апреля 2018 г.

Estratégia de negociação de pares e arbitragem estatística


Arbitragem e negociação de pares.


Em um nível básico, a arbitragem é o processo de comprar e vender simultaneamente os mesmos títulos (ou equivalentes) em diferentes mercados para aproveitar as diferenças de preço e obter lucro. As diferenças de preço podem ser o resultado de ineficiências de mercado, descasamentos de preços e até mesmo taxas de câmbio. Um arbitrador, por exemplo, poderia comprar ações da ABC por US $ 50 na Bolsa de Valores de Nova York (NYSE), enquanto, ao mesmo tempo, vendê-las por US $ 51 na London Stock Exchange (LSE), lucrando US $ 1 por ação. Como os arbitradores tentam se beneficiar de movimentos de preços muito pequenos, eles normalmente precisam entrar em grandes posições para obter lucros substanciais. (Veja também: Negociando as probabilidades com arbitragem.)


Arbitragem de valor relativo.


Arbitragem de valor relativo refere-se à compra e venda simultânea de instrumentos relacionados, onde o seu lucro depende de uma mudança favorável na relação entre os preços dos instrumentos. Este tipo de arbitragem envolve a tomada de posições de compensação (longo / curto) em títulos que são histórica ou matematicamente inter-relacionados, mas onde o relacionamento está temporariamente desalinhado. Os investidores podem obter lucro quando a relação entre os títulos reverte a sua norma. (Para leitura relacionada, consulte Estratégias de arbitragem.)


Arbitragem da estrutura de capital. Arbitragem conversível. Equidade. Arbitragem estatística. Arbitragem de rendimento fixo. Arbitragem de fusão. Opções e warrants. Negociação de pares.


Gekko Quant - Negociação Quantitativa.


Negociação Quantitativa, Arbitragem Estatística, Aprendizado de Máquina e Opções Binárias.


Pós-navegação.


Arbitragem Estatística & # 8211; Correlação vs Cointegração.


O que é arbitragem estatística (stat arb)?


A premissa da arbitragem estatística, abreviada como stat, é que há um erro de cálculo estatístico entre um conjunto de valores mobiliários que procuramos explorar. Normalmente, uma estratégia requer um conjunto de ações e outro curto. O StatArb evoluiu a partir da negociação de pares, onde uma pessoa compraria uma ação e uma concorrente curta como hedge. Em pares, o objetivo é selecionar uma ação que supere a de seus pares. O StatArb tem tudo a ver com reversão de média, em essência você está dizendo que o spread entre quaisquer dois estoques deve ser constante (ou evoluir lentamente ao longo do tempo), quaisquer desvios do spread representam uma oportunidade de negociação, pois no StatArb acreditamos que o spread é revertido. Ao contrário do nome, a arbitragem estatística não é sobre fazer dinheiro livre de risco (a arbitragem determinista é isenta de risco).


Que tipo de ações fazem bons pares?


As melhores ações para usar no StatArb são aquelas em que há uma razão fundamental para acreditar que o spread é reversível / estacionário. Normalmente, isso significa que as ações estão no mesmo setor de mercado ou, melhor ainda, na mesma empresa (algumas empresas têm ações A e B com direitos de voto diferentes ou negociam em diferentes bolsas)! Alguns exemplos de pares fundamentalmente semelhantes seriam as ações Royal Dutch Shell A vs Royal Dutch Shell B, Goldman Sachs vs JP Morgan, Apple vs ARM (fornecedor de chips), ARM vs ARM ADR, alguns grupos setoriais também podem funcionar como a Gold Mining. vs preço de ouro.


Um mau exemplo seria o Royal Bank of Scotland vs Tesco, uma vez que seus negócios são completamente diferentes / não afetam uns aos outros.


Qual é a definição matemática de um bom par?


Ao chegar a um bom pareamento de estoque fundamental, você precisa ter um teste matemático para determinar se é um bom par. O teste mais comum é procurar cointegração (en. wikipedia/wiki/Cointegration), pois isso implicaria que o par é um par estacionário (o spread é fixo) e, portanto, estatisticamente, é a reversão da média. Ao testar a cointegração, é realizado um teste de hipótese Pvalue (en. wikipedia / wiki / P-value), para que possamos expressar um nível de confiança no par sendo a reversão da média.


Qual é a diferença entre correlação e cointegração?


Quando se fala em arbitragem estatísitica, muitas pessoas se confundem entre correlação e cointegração.


Correlação & # 8211; Se duas ações estiverem correlacionadas, se o estoque A tiver um upday, então o estoque B terá um Cointegration de atualização & # 8211; Se duas ações são cointegradas, então é possível formar um par estacionário a partir de uma combinação linear de ações A e B.


Uma das melhores explicações da cointegração é a seguinte: “Um homem sai de um bar para ir para casa com seu cachorro, o homem está bêbado e caminha aleatoriamente; o cachorro também faz um passeio aleatório. Eles se aproximam de uma estrada movimentada e o homem coloca seu cachorro na frente, o homem e o cachorro estão agora cointegrados. Ambos podem fazer caminhadas aleatórias, mas a distância máxima que podem se afastar é fixa, isto é, o comprimento da derivação ”. Assim, em essência, a distância / propagação entre o homem e seu cão é fixa, observe também a história de que o homem e o cão ainda estão caminhando aleatoriamente, não há nada a dizer se seus movimentos estão correlacionados ou não correlacionados. vai se mover na mesma direção na maioria das vezes, no entanto, a magnitude dos movimentos é desconhecida, isso significa que se você está negociando o spread entre dois estoques, então o spread pode continuar crescendo e crescendo sem mostrar sinais de reversão à média. Isso está em contrato para a cointegração, onde dizemos que o spread é "fixo" e que, se o spread se desvia do "conserto", isso significará reverter.


Vamos explorar mais a cointegração:


Equação para movimento browniano geométrico.


onde A representa o preço do estoque A.


Queremos encontrar um par cointegrado / estacionário.


Equação para ir estoque longo A e short n lotes de Stock B.


Exemplo de estoques correlacionados: observe o spread explodindo.


Exemplo de estoques cointegrados: Observe que o spread parece oscilatório.


Estratégias de Arbitragem: Entendendo o Trabalho de Arbitragem Estatística.


O que é negociação quantitativa?


A negociação quantitativa é usada para identificar oportunidades de negociação usando técnicas estatísticas e análises quantitativas dos dados históricos. A negociação quantitativa é aplicável a informações que são quantificáveis, como eventos macroeconômicos e dados de preços de valores mobiliários. Os modelos de Negociação Quantitativa são usados ​​pelos negociadores da Algo quando a negociação de títulos é baseada estritamente na decisão de compra / venda de algoritmos de computador. Um exemplo de tal estratégia que explora técnicas quantitativas e é aplicada em mesas de operações algorítmicas é a estratégia de arbitragem estatística.


Arbitragem Estatística.


Arbitragem Estatística ou Stat Arb tem uma história de ser uma estratégia de negociação quantitativa altamente rentável para muitos grandes bancos de investimento e fundos de hedge. Arbitragem estatística originada por volta de 1980, liderada pelo Morgan Stanley e outros bancos, a estratégia testemunhou ampla aplicação nos mercados financeiros. A popularidade da estratégia continuou por mais de duas décadas e diferentes modelos foram criados em torno dela para capturar grandes lucros.


Para defini-lo em termos simples, a arbitragem estatística compreende um conjunto de estratégias de negociação orientadas quantitativamente. Estas estratégias procuram explorar os movimentos de preços relativos em milhares de instrumentos financeiros, analisando os padrões de preços e as diferenças de preços entre os instrumentos financeiros. O objetivo final de tais estratégias é gerar alfa (lucros acima do normal) para as firmas comerciais. Um ponto a ser observado aqui é que a arbitragem estatística não é uma estratégia de negociação de alta frequência (HFT). Pode ser categorizado como uma estratégia de média frequência, em que o período de negociação ocorre ao longo de algumas horas a alguns dias.


Conceitos utilizados pelas estratégias de arbitragem estatística.


Para analisar os padrões de preços e as diferenças de preços, as estratégias fazem uso de modelos estatísticos e matemáticos. Estratégias de arbitragem estatística também podem ser projetadas usando fatores como efeitos de lead / lag, atividade corporativa, momentum de curto prazo etc., além de usar apenas os dados de preço. Esta última abordagem é referida como um modelo de Arbitragem Estatística com múltiplos fatores. Os vários conceitos utilizados pelas estratégias de arbitragem estatística incluem:


Análise de Séries Temporais AutoRegressão e Co-integração Modelagem de Volatilidade Análise de Componentes Principais Técnicas de localização de padrões Técnicas de aprendizado de máquina Análise de fronteira eficiente etc.


Tipos de Estratégias de Arbitragem Estatística.


As diferentes estratégias de arbitragem estatística incluem:


Arbitragem Neutra de Mercado Arbitragem Cruzada de Ativos Arbitragem Cruzada Arbitragem de ETFs.


Arbitragem Neutra de Mercado.


Envolve assumir uma posição longa em um ativo subvalorizado e encurtar um ativo sobrevalorizado simultaneamente. Supõe-se que o ativo tenha volatilidades semelhantes e, portanto, um aumento no mercado fará com que a posição comprada se valorize e a posição vendida a depreciar aproximadamente o mesmo valor. As posições são quadradas quando os ativos retornam ao seu valor normalizado.


Arbitragem do Mercado Cruzado.


Ele procura explorar a discrepância de preços do mesmo ativo nos mercados. A estratégia compra o ativo no mercado de menor valor e o vende no mercado de maior valorização.


Arbitragem de Ativos Cruzados.


Este modelo aposta na discrepância de preços entre um ativo financeiro e o subjacente. Por exemplo, entre um índice de ações futuro e as ações que formam o índice.


Arbitragem ETF.


A arbitragem de ETF pode ser denominada como uma forma de arbitragem de ativos cruzados que identifica discrepâncias entre o valor de um ETF e seus ativos subjacentes.


Negociação de pares.


StatArb é uma versão evoluída de estratégias de negociação em pares, em que as ações são colocadas em pares por semelhanças fundamentais ou baseadas no mercado. Quando uma ação em um par supera a outra, o estoque com pior desempenho é comprado junto com a expectativa de que ele sobe para o parceiro com melhor desempenho. A posição é protegida de variações / movimentos de mercado por meio do shorting out offorming stock. Devido ao grande número de ações envolvidas na estratégia de arbitragem estatística, a alta rotatividade da carteira e o pequeno tamanho do spread que a empresa está tentando capturar, a estratégia é frequentemente implementada de forma automatizada e grande atenção é dada à redução dos custos de negociação. . A estratégia de arbitragem estatística tornou-se uma força importante tanto nos fundos de hedge quanto nos bancos de investimento.


Figura 1: Etapas de implementação de uma estratégia de arbitragem estatística.


Como funciona a estratégia de arbitragem estatística?


Títulos como ações tendem a negociar em ciclos ascendentes e descendentes, e um método quantitativo busca capitalizar essas tendências. Comportamento de tendências de negociação quantitativa usa programas de software para rastrear padrões ou tendências. As tendências descobertas baseiam-se no volume, frequência e preço de um título em que são negociados.


Figura 2: Arbitragem Estatística entre dois estoques da indústria “Cimento”: ACC e Ambuja listados na National Stock Exchange of India.


Na imagem acima, os preços das ações da ACC e da Ambuja estão representados ao longo de um período de seis anos. Você pode ver ambos os estoques ficarem muito próximos um do outro durante todo o período de tempo, com apenas alguns casos de separação. É nesses períodos de separação que surge uma oportunidade de arbitragem com base na suposição de que os preços das ações se aproximem novamente.


O ponto crucial na identificação de tais oportunidades reside em dois fatores principais:


Identificar os pares que requerem análise avançada de séries temporais e testes estatísticos Especificando os pontos de entrada-saída para a estratégia alavancar a posição de mercado.


Há muitos indicadores de negociação de pares embutidos em plataformas populares para identificar e negociar em pares. No entanto, muitas vezes, o custo da transação, que é um fator crucial para obter lucros de uma estratégia, geralmente não é levado em conta no cálculo dos retornos projetados. Portanto, recomenda-se que os comerciantes façam suas próprias estratégias de arbitragem estatística, levando em consideração todos os fatores no momento do backtesting que afetarão a lucratividade final do negócio.


Riscos em Arbitragem Estatística.


Embora as estratégias de arbitragem estatística tenham ganho muitos lucros para as empresas de negociação quantitativa, essas estratégias vêm com seu próprio conjunto de riscos. A seguir, alguns dos riscos enfrentados:


A estratégia depende fortemente da reversão média dos preços para a normalidade histórica ou prevista. Isso pode não acontecer em certos casos e os preços podem continuar a se afastar do normal histórico. Os mercados financeiros estão em constante fluxo e evoluem com base em eventos que ocorrem em todo o mundo. Assim, o lucro de modelos de arbitragem estatística não pode ser garantido o tempo todo.


Projetos de Arbitragem Estatística por Alunos EPAT ™.


As estratégias de arbitragem estatística podem ser aplicadas a diferentes instrumentos financeiros e mercados. O Programa Executivo em Comércio Algorítmico (EPAT ™) inclui uma sessão sobre “Arbitragem Estatística e Negociação de Pares” como parte do módulo “Estratégias”. Muitos de nossos participantes do EPAT ™ construíram com sucesso estratégias de negociação de pares durante o trabalho do curso. Listados abaixo estão alguns dos blogs do projeto para sua referência.


Se você quiser aprender vários aspectos do comércio algorítmico, confira nosso Programa Executivo em Algorithmic Trading (EPAT ™). O curso abrange módulos de treinamento como o Statistics & amp; Econometria, Computação Financeira & amp; Tecnologia e Algoritmica & amp; Negociação Quantitativa. O EPAT ™ foi projetado para equipar você com os conjuntos de habilidades certas para ser um profissional bem-sucedido. Inscreva-se agora!


Gekko Quant - Negociação Quantitativa.


Negociação Quantitativa, Arbitragem Estatística, Aprendizado 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 versus 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ó negociamos 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 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 a média móvel ou a média total deles 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.


Keith Selover.


Este post é parte de uma série:


Uma visão geral de negociação de pares.


Este post abordará o que é a troca de pares, como você pode testar uma oportunidade de negociação de pares e como implementar uma estratégia de negociação de pares.


Para obter informações sobre as bibliotecas que eu usei e como estruturei meus métodos de negociação, recomendo começar com meu post anterior sobre o assunto.


A negociação de pares é uma estratégia de arbitragem estatística. Na estratégia, um comerciante troca duas ações que tendem a "mover-se juntas". Mais formalmente, eles são estacionários. Isso significa que uma combinação linear dos dois títulos gira em torno de uma média fixa com um erro relativamente pequeno. Aqui está um exemplo do que isso pode parecer:


Quando a distância entre esses títulos se expande, a expectativa é de que eles irão convergir para seu relacionamento típico. Se a distância entre eles diminuir, a expectativa é que eles voltem ao relacionamento típico. Quando um trader espera uma convergência, ele encurta o estoque mais alto e compra o menor. Esta posição é invertida quando uma divergência é esperada.


Esta estratégia é descrita como "neutra do mercado". Se o par de títulos se move para cima ou para baixo na mesma taxa, enquanto uma posição de convergência ou divergência é aberta, não há mudança líquida no valor da carteira. Em vez disso, um comerciante só está lucrando com o spread.


Um par pode ser descrito como estacionário se seu spread tende a ser fixo, ou se a relação de um título sobre o outro gira em torno de uma média. Os pares que satisfazem este critério são chamados de "pares cointegrados".


Teste para pares cointegrados.


Como muitas coisas relacionadas a quant, uma explicação detalhada da cointegração é melhor fornecida por este post no QuantStart. Nesse post, Halls-Moore descreve a diferença entre cointegração e correlação, e dá algum contexto teórico aos testes que são apresentados neste post.


Conforme mencionado acima, a dupla que escolhi para testar é a Verizon Communications Inc. (VZ) e a Chesapeake Utilities Corporation (CPK). Aqui está um gráfico de dispersão dos títulos de 2009 a 2013.


Para implementar o expoente de Hurst, copiei uma função do QuantStart. Valores de Hurst maiores que 0,5 indicam que a série é tendência. Valores de Hurst iguais a 0,5 indicam que segue uma caminhada aleatória. Valores de Hurst menores que 0,5 indicam que está revertendo em média. Testando VZ e CPK entre 2009 e 2013, podemos ver um expoente de Hurst de 0,226:


Como aviso, o teste de cointegração no mesmo período de tempo que a estratégia é executada o expõe ao viés de antecipação. Os resultados são positivamente distorcidos pelo conhecimento prévio de que uma relação cointegrada é mantida ao longo do período. Mas, por exemplo, isso será esquecido.


Para aqueles curiosos, o artigo QuartStart também fornece um teste mais direto para a cointegração, usando o & # 8220; statsmodel & # 8221; biblioteca. Ele fornece uma estatística de teste e um conjunto de valores de confiança, medindo com precisão o quão estacionária é uma série temporal. O exemplo de séries temporais mostrado acima está abaixo do limiar de 1% fornecido pelo teste, dando fortes evidências de que a série é estacionária.


Implementando a estratégia de negociação.


Agora que testamos o par para cointegração, podemos implementar uma Estratégia de negociação de pares. Vai parecer estruturalmente semelhante ao meu post anterior sobre RSI Strategies. Para aqueles que simplesmente querem ver o código em um só lugar, eu o incluo na parte inferior do post.


Aqui está o painel usado para executar o algoritmo. Note que passei os dados do meu Yahoo para o algoritmo com a função run_algorithm (). Caso contrário, a tirolesa usará os dados internos para executar o algoritmo:


A função de inicialização fornece uma oportunidade para definir variáveis ​​de sinalizadores importantes fora do & # 8220; handle_data & # 8221; função:


O & # 8220; handle_data & # 8221; função é onde o algoritmo real é armazenado. A lógica do algoritmo é muito semelhante à anterior Estratégia RSI. Em vez do RSI, a estratégia usa Bollinger Bands. Em vez de um único título, essa estratégia usa a proporção de VZ / CPK.


Bollinger Bands cria três linhas: uma na média da série no período de lookback, um dois desvios padrão acima da média e um dois desvios padrão abaixo da média. Esta estratégia toma uma posição de convergência (VZ curta e CPK longa) quando a relação VZ / CPK cruza acima da faixa superior, voltando para a média. É necessária uma posição de divergência (VZ longo e CPK curto) quando a relação VZ / CPK cruza abaixo da banda inferior, voltando para a média. Um exemplo ampliado deve ajudar a tornar isso mais claro:


Há um segmento do algoritmo que determina dinamicamente qual ação está sendo negociada mais alta que a outra. Em um cenário onde o VZ tem negociado acima do CPK para a maior parte do backtest, mas eles cruzam (criando uma relação VZ / CPK de & lt; 1), a lógica do algoritmo é preservada. Por fim, o & # 8220; handle_data & # 8221; A função registra as variáveis ​​relevantes a serem exibidas em um gráfico como o da parte superior desta postagem:


Desenhando os resultados.


A função "analisar" é usada para criar o painel gráfico mostrado na parte superior da postagem. A maioria das sutilezas da função vem na forma de ajustes de formatação:


Desempenho e ajustes.


A saída da classe de análise é mostrada na parte superior do post. Inclui algumas métricas de desempenho padrão.


As vantagens dessa estratégia são seus valores beta essencialmente inexistentes e valores de redução máximos relativamente baixos. Como é neutra em relação ao mercado, a estratégia supera o S & amp; P em mercados de baixa, como o período de exemplo escolhido. Nos mercados em alta, no entanto, a estratégia apresenta um desempenho abaixo do esperado:


O desempenho da estratégia pode ser ajustado através das Bollinger Bands. A seguinte linha pode ser alterada, para que as linhas sejam desenhadas mais próximas do que dois desvios padrão acima / abaixo da média. Valores mais baixos significam que o algoritmo é negociado com mais frequência, geralmente com maior volatilidade:


Para este par, a redução dos valores nbdevup e nvdevdn geralmente resultava em maior volatilidade sem maiores retornos. Se você considerar isso graficamente, aguardar até que a taxa fique a 2 desvios padrão da média permite coletar um spread maior quando você vender na linha média, em comparação com uma faixa de desvio padrão de 1,5.


Ainda assim, acredito que vale a pena experimentar esses valores se você estiver tentando otimizar o comércio de seus pares.


Arbitragem Estatística Usando o Filtro de Kalman.


Um dos desafios da abordagem de cointegração à arbitragem estatística, que discuti em meu post anterior, é que as relações de cointegração raramente são estáticas: elas mudam com bastante frequência e geralmente se desfazem completamente. Em 2009, comecei a experimentar uma abordagem mais dinâmica para a troca de pares, baseada no Filtro de Kalman.


Em sua forma mais simples, modelamos a relação entre um par de títulos da seguinte maneira:


beta (t) = beta (t-1) + w beta (t), a variável de estado não observada, que segue uma caminhada aleatória.


Y (t) = beta (t) X (t) + v Os processos observados dos preços das ações Y (t) e X (t)


N (0, Q) significa w é ruído gaussiano com média zero e variância Q.


N (0, R) significando v é ruído gaussiano com variância R.


Então, é como o relacionamento de pares usual Y = beta * X + v, onde a abordagem típica é estimar o beta usando a regressão de mínimos quadrados, ou algum tipo de regressão rolante (para tentar levar em conta o fato de que o beta pode mudar Tempo). Nesse framework tradicional, o beta é estático ou está mudando lentamente.


No framework de Kalman, o beta é um processo aleatório que evolui continuamente ao longo do tempo, como um passeio aleatório. Como é aleatório e contaminado pelo ruído, não podemos observar o beta diretamente, mas devemos inferir seu valor (variável) a partir dos preços observáveis ​​das ações X e Y. (Nota: a seguir, usarei X e Y para referir-me aos preços das ações. você também pode usar os preços de log, ou retorna).


Desconhecido para mim naquela época, vários outros pesquisadores estavam pensando na mesma linha e depois publicaram suas pesquisas. Um exemplo é Arbitragem Estatística e Dados de Alta Frequência com uma Aplicação ao Eurostoxx 50 Equities, Rudy, Dunis, Giorgioni e Laws, 2010. Outro estudo estreitamente relacionado é a Análise de Desempenho de Estratégia de Negociação de Pares Utilizando Dados de Alta Frequência com uma Aplicação ao KOSPI 100 Equities, Kim, 2011. Ambas as pesquisas seguem um caminho muito similar, rejeitando a estimativa de beta usando regressão ou suavização exponencial em favor da abordagem de Kalman e aplicando um modelo de Ornstein-Uhlenbeck para estimar a meia-vida de reversão média das carteiras de pares . Os estudos relatam taxas de informação muito fora da amostra que, em alguns casos, excedem 3.


Já argumentei que esse desempenho anormalmente alto é tipicamente o resultado de ignorar o fato de que o PnL líquido por ação pode estar dentro da região do spread médio de oferta e oferta, tornando a implementação altamente problemática. Neste post, quero me debruçar sobre outra questão crítica que é particular à abordagem de Kalman: a relação sinal / ruído, Q / R, que expressa a razão entre a variância do processo beta e a do processo de preço. (Curiosamente, ambos os documentos cometem o mesmo erro de rotular Q e R como desvios padrão. Na verdade, são variações).


Beta, sendo um processo aleatório, obviamente contém algum ruído: mas a esperança é que seja menos barulhento do que o processo de preço. A ideia é que a relação entre duas ações seja mais estável & # 8211; menos volátil & # 8211; do que o estoque se processa. Por sua vez, essa suposição parece razoável, do ponto de vista empírico. A questão é: quão estável é o processo beta, relativo ao processo de preço? Se a variação no processo beta for baixa em relação ao processo de preço, podemos determinar o beta com bastante precisão ao longo do tempo e, assim, obter estimativas precisas do preço real Y (t), com base em X (t). Então, se observarmos uma partida suficientemente grande no preço cotado Y (t) do preço real no tempo t, teremos uma negociação potencial.


Em outras palavras, estamos interessados ​​em:


onde Y (t) e X (t) são os preços de estoque observados e beta (t) é o valor estimado de beta no tempo t.


Como de costume, padronizamos o alfa usando uma estimativa do desvio padrão alfa, que é sqrt (R). (Alternativamente, você pode estimar o desvio padrão do alfa diretamente, usando um período de retrospectiva baseado na meia-vida alfa).


Se o alpha padronizado for grande o suficiente, o modelo sugere que o preço Y (t) é cotado significativamente acima do valor real. Assim, teríamos estoque a descoberto Y e compraria ações X. (Nesse contexto, onde X e Y representam preços brutos, você teria um número igual e oposto de ações em Y e X. Se X e Y representassem devoluções, você teria o mesmo e valor de mercado oposto em cada ação).


O sucesso de tal estratégia depende criticamente da qualidade de nossas estimativas de alfa, que por sua vez dependem da precisão de nossas estimativas de beta. Isso depende do ruído do processo beta, ou seja, sua variação, P. Se o processo beta for muito ruidoso, ou seja, se Q for grande, nossas estimativas de alfa serão muito ruidosas para serem úteis como base para uma estratégia de reversão .


Assim, a questão chave que quero abordar neste post é: para que a abordagem de Kalman seja eficaz na modelagem de um relacionamento de pares, qual seria um intervalo aceitável para a variação de processo beta Q? (Costuma-se dizer que o que importa na estrutura de Kalman não é a variância Q, em si, mas sim a relação sinal / ruído Q / R. Acontece que isso não é estritamente verdadeiro, como veremos).


Para entender o problema, tomei a seguinte abordagem:


(i) Simular um processo de estoque X (t) como um processo de movimentação browniano geométrico com desvio e volatilidade especificados (eu usei 0%, 5% e 10% para o desvio anual e 10%, 30% e 60% para o correspondente volatilidade anual).


(ii) simular um processo beta (t) como um passeio aleatório com variância Q na faixa de 1E-10 a 1E-1.


(iii) Gerar o processo de preço real Y (t) = beta (t) * X (t)


(iv) Simular um processo de preço observado Yobs (t), adicionando ruído aleatório com variância R a Y (t), com R no intervalo de 1E-6 a 1,0.


(v) Calcule o verdadeiro, conhecido alfa (t) = Y (t) & # 8211; Yobs (t)


(vi) Ajustar o modelo do Filtro de Kalman aos processos simulados e estimar beta (t) e Yest (t). Daí produzir estimativas kfalpha (t) = Yobs (t) & # 8211; Yest (t) e compare com o conhecido, verdadeiro alpha (t).


Os gráficos na Fig. 1 abaixo ilustram o procedimento para um processo de estoque X (t) com desvio anual de 10%, volatilidade anual de 40%, variância do processo beta Q de 8.65E-9 e variância do processo de preço R de 5.62E-2 ( Relação Q / R de 1.54E-7).


Fig. 1 Verdadeiro e Estimado Beta e Alpha Usando o Filtro de Kalman.


Como você pode ver, o Filtro de Kalman faz um ótimo trabalho ao atualizar sua estimativa beta para rastrear o beta subjacente e verdadeiro (que, neste experimento, é conhecido). Como a relação de ruído Q / R é pequena, as estimativas do Filtro de Kalman do processo alfa, kfalpha (t), correspondem intimamente ao verdadeiro alfa (t), que novamente nos são conhecidas neste cenário experimental. Você pode examinar a relação entre o alfa verdadeiro (t) e as estimativas do Filtro de Kalman. Kfalpha (t) é o gráfico no quadrante mais à esquerda da figura. A correlação entre os dois é de cerca de 89%. Com um nível de precisão tão bom para nossas estimativas alfa, o par de ações simuladas seria um candidato ideal para uma estratégia de negociação de pares.


Naturalmente, o resultado é altamente dependente dos valores que assumimos para Q e R (e também em algum grau nas suposições feitas sobre a deriva e a volatilidade do processo de preço X (t)).


A próxima etapa da análise é, portanto, gerar um grande número de observações simuladas de preço e beta e examinar o impacto de diferentes níveis de Q e R, as variações do processo beta e de preço. Os resultados estão resumidos na tabela na Fig. 2 abaixo.


Figura 2. Correlação entre alfa verdadeiro (t) e kfalpha (t) para valores de Q e R.


Como antecipado, a correlação entre o alfa verdadeiro (t) e as estimativas produzidas pelo Filtro de Kalman é muito alta quando a relação sinal: ruído é pequena, isto é, da ordem de 1E-6, ou menos. As correlações médias começam a diminuir muito rapidamente quando Q / R excede esse nível, caindo para tão baixo quanto 30% quando a taxa de ruído excede 1E-3. Com uma razão Q / R de 1E-2 ou superior, as estimativas alfa tornam-se muito barulhentas para serem úteis.


Eu acho bastante fortuita, até mesmo implausível, que em seu estudo Rudy, et al, se sintam capazes de assumir uma taxa de ruído de 3E-7 para todos os pares de estoque em seu estudo, que por acaso está no ponto ideal para alfa estimativa. De minha própria pesquisa, um valor muito maior na região de 1E-3 a 1E-5 é mais típico. Além disso, a taxa de ruído varia significativamente de par para par e ao longo do tempo. De fato, eu iria tão longe a ponto de recomendar a aplicação de um filtro de taxa de ruído à estratégia, o que significa que os sinais de negociação são ignorados quando a taxa de ruído excede algum nível especificado.


O take-away é o seguinte: a abordagem do Filtro de Kalman pode ser aplicada com muito sucesso no desenvolvimento de estratégias de arbitragem estatística, mas apenas para processos em que a taxa de ruído não é muito grande. Uma sugestão é usar uma regra de filtro para suprimir sinais de negociação gerados em momentos em que a taxa de ruído é muito grande e / ou aumentar alocações para pares nos quais a taxa de ruído é relativamente baixa.


Estratégias de Arbitragem: Entendendo o Trabalho de Arbitragem Estatística.


O que é negociação quantitativa?


A negociação quantitativa é usada para identificar oportunidades de negociação usando técnicas estatísticas e análises quantitativas dos dados históricos. A negociação quantitativa é aplicável a informações que são quantificáveis, como eventos macroeconômicos e dados de preços de valores mobiliários. Os modelos de Negociação Quantitativa são usados ​​pelos negociadores da Algo quando a negociação de títulos é baseada estritamente na decisão de compra / venda de algoritmos de computador. Um exemplo de tal estratégia que explora técnicas quantitativas e é aplicada em mesas de operações algorítmicas é a estratégia de arbitragem estatística.


Arbitragem Estatística.


Arbitragem Estatística ou Stat Arb tem uma história de ser uma estratégia de negociação quantitativa altamente rentável para muitos grandes bancos de investimento e fundos de hedge. Arbitragem estatística originada por volta de 1980, liderada pelo Morgan Stanley e outros bancos, a estratégia testemunhou ampla aplicação nos mercados financeiros. A popularidade da estratégia continuou por mais de duas décadas e diferentes modelos foram criados em torno dela para capturar grandes lucros.


Para defini-lo em termos simples, a arbitragem estatística compreende um conjunto de estratégias de negociação orientadas quantitativamente. Estas estratégias procuram explorar os movimentos de preços relativos em milhares de instrumentos financeiros, analisando os padrões de preços e as diferenças de preços entre os instrumentos financeiros. O objetivo final de tais estratégias é gerar alfa (lucros acima do normal) para as firmas comerciais. Um ponto a ser observado aqui é que a arbitragem estatística não é uma estratégia de negociação de alta frequência (HFT). Pode ser categorizado como uma estratégia de média frequência, em que o período de negociação ocorre ao longo de algumas horas a alguns dias.


Conceitos utilizados pelas estratégias de arbitragem estatística.


Para analisar os padrões de preços e as diferenças de preços, as estratégias fazem uso de modelos estatísticos e matemáticos. Estratégias de arbitragem estatística também podem ser projetadas usando fatores como efeitos de lead / lag, atividade corporativa, momentum de curto prazo etc., além de usar apenas os dados de preço. Esta última abordagem é referida como um modelo de Arbitragem Estatística com múltiplos fatores. Os vários conceitos utilizados pelas estratégias de arbitragem estatística incluem:


Análise de Séries Temporais AutoRegressão e Co-integração Modelagem de Volatilidade Análise de Componentes Principais Técnicas de localização de padrões Técnicas de aprendizado de máquina Análise de fronteira eficiente etc.


Tipos de Estratégias de Arbitragem Estatística.


As diferentes estratégias de arbitragem estatística incluem:


Arbitragem Neutra de Mercado Arbitragem Cruzada de Ativos Arbitragem Cruzada Arbitragem de ETFs.


Arbitragem Neutra de Mercado.


Envolve assumir uma posição longa em um ativo subvalorizado e encurtar um ativo sobrevalorizado simultaneamente. Supõe-se que o ativo tenha volatilidades semelhantes e, portanto, um aumento no mercado fará com que a posição comprada se valorize e a posição vendida a depreciar aproximadamente o mesmo valor. As posições são quadradas quando os ativos retornam ao seu valor normalizado.


Arbitragem do Mercado Cruzado.


Ele procura explorar a discrepância de preços do mesmo ativo nos mercados. A estratégia compra o ativo no mercado de menor valor e o vende no mercado de maior valorização.


Arbitragem de Ativos Cruzados.


Este modelo aposta na discrepância de preços entre um ativo financeiro e o subjacente. Por exemplo, entre um índice de ações futuro e as ações que formam o índice.


Arbitragem ETF.


A arbitragem de ETF pode ser denominada como uma forma de arbitragem de ativos cruzados que identifica discrepâncias entre o valor de um ETF e seus ativos subjacentes.


Negociação de pares.


StatArb é uma versão evoluída de estratégias de negociação em pares, em que as ações são colocadas em pares por semelhanças fundamentais ou baseadas no mercado. Quando uma ação em um par supera a outra, o estoque com pior desempenho é comprado junto com a expectativa de que ele sobe para o parceiro com melhor desempenho. A posição é protegida de variações / movimentos de mercado por meio do shorting out offorming stock. Devido ao grande número de ações envolvidas na estratégia de arbitragem estatística, a alta rotatividade da carteira e o pequeno tamanho do spread que a empresa está tentando capturar, a estratégia é frequentemente implementada de forma automatizada e grande atenção é dada à redução dos custos de negociação. . A estratégia de arbitragem estatística tornou-se uma força importante tanto nos fundos de hedge quanto nos bancos de investimento.


Figura 1: Etapas de implementação de uma estratégia de arbitragem estatística.


Como funciona a estratégia de arbitragem estatística?


Títulos como ações tendem a negociar em ciclos ascendentes e descendentes, e um método quantitativo busca capitalizar essas tendências. Comportamento de tendências de negociação quantitativa usa programas de software para rastrear padrões ou tendências. As tendências descobertas baseiam-se no volume, frequência e preço de um título em que são negociados.


Figura 2: Arbitragem Estatística entre dois estoques da indústria “Cimento”: ACC e Ambuja listados na National Stock Exchange of India.


Na imagem acima, os preços das ações da ACC e da Ambuja estão representados ao longo de um período de seis anos. Você pode ver ambos os estoques ficarem muito próximos um do outro durante todo o período de tempo, com apenas alguns casos de separação. É nesses períodos de separação que surge uma oportunidade de arbitragem com base na suposição de que os preços das ações se aproximem novamente.


O ponto crucial na identificação de tais oportunidades reside em dois fatores principais:


Identificar os pares que requerem análise avançada de séries temporais e testes estatísticos Especificando os pontos de entrada-saída para a estratégia alavancar a posição de mercado.


Há muitos indicadores de negociação de pares embutidos em plataformas populares para identificar e negociar em pares. No entanto, muitas vezes, o custo da transação, que é um fator crucial para obter lucros de uma estratégia, geralmente não é levado em conta no cálculo dos retornos projetados. Portanto, recomenda-se que os comerciantes façam suas próprias estratégias de arbitragem estatística, levando em consideração todos os fatores no momento do backtesting que afetarão a lucratividade final do negócio.


Riscos em Arbitragem Estatística.


Embora as estratégias de arbitragem estatística tenham ganho muitos lucros para as empresas de negociação quantitativa, essas estratégias vêm com seu próprio conjunto de riscos. A seguir, alguns dos riscos enfrentados:


A estratégia depende fortemente da reversão média dos preços para a normalidade histórica ou prevista. Isso pode não acontecer em certos casos e os preços podem continuar a se afastar do normal histórico. Os mercados financeiros estão em constante fluxo e evoluem com base em eventos que ocorrem em todo o mundo. Assim, o lucro de modelos de arbitragem estatística não pode ser garantido o tempo todo.


Projetos de Arbitragem Estatística por Alunos EPAT ™.


As estratégias de arbitragem estatística podem ser aplicadas a diferentes instrumentos financeiros e mercados. O Programa Executivo em Comércio Algorítmico (EPAT ™) inclui uma sessão sobre “Arbitragem Estatística e Negociação de Pares” como parte do módulo “Estratégias”. Muitos de nossos participantes do EPAT ™ construíram com sucesso estratégias de negociação de pares durante o trabalho do curso. Listados abaixo estão alguns dos blogs do projeto para sua referência.


Se você quiser aprender vários aspectos do comércio algorítmico, confira nosso Programa Executivo em Algorithmic Trading (EPAT ™). O curso abrange módulos de treinamento como o Statistics & amp; Econometria, Computação Financeira & amp; Tecnologia e Algoritmica & amp; Negociação Quantitativa. O EPAT ™ foi projetado para equipar você com os conjuntos de habilidades certas para ser um profissional bem-sucedido. Inscreva-se agora!


Negociação de pares (arbitragem estatística)


Isso é feito por mergulho eurusd por usdchf (a proporção).


Como eu iria fazer um novo gráfico no metatrader que vai me dar uma relação entre o eurusd e usdchf (eurusd / usdchf).


0,8 pips no EURUSD. Um dos métodos que estou tentando agora, é baseado nos gráficos de fxstreet / rates-charts / currency-charts / eu coloquei os pares um sobre o outro (GBPUSD e EURUSD, pelo menos eles têm o mesmo pipsize) e eu vi onde está cruzando. Meu e escolhe um par de pares (como este), um período de tempo, e olha por último (100) barras, colocando o gráfico GBPUSD sobre EURUSD. Calcula a diferença média entre esses dois e depois os negocia. Tamanhos de lotes são correlacionados. Por exemplo, no período dado EURUSD move-se 850 pips, enquanto GBPUSD move 630, e agora EURUSD está acima de GBPUSD no gráfico, com uma diferença entre eles maior que a média. O EA entraria SHORT EURUSD 0.06, LONG GBPUSD 0.09 (850 pips rodadas para 900). Enquanto esses negócios estiverem abertos, o sistema lembrará como o gráfico olhou para o início e recalcula sua posição com base nos valores atuais e no gráfico naquele momento. Quando o valor GBPUSD equivalente no gráfico EURUSD atinge EURUSD, as negociações são fechadas com lucro. A EA não está pronta agora, eu acabei de lhe dizer o que está em minha mente. P. S. Esta é uma arbitragem estatística. Arbitragem é simples. Veja a diferença, compre isso, veja o outro. Se você não pode tomar decisões com base em dados atuais na frente de seus olhos e precisa de um indicador sofisticado, não é mais arbitragem, é a velha especulação.


Mesmo se eles tiverem a maior correlação, pense em 1 pip no USDCHF.


0,8 pips no EURUSD. Um dos métodos que estou tentando agora, é baseado nos gráficos de fxstreet / rates-charts / currency-charts / eu coloquei os pares um sobre o outro (GBPUSD e EURUSD, pelo menos eles têm o mesmo pipsize) e eu vi onde está cruzando. Meu e escolhe um par de pares (como este), um período de tempo, e olha por último (100) barras, colocando o gráfico GBPUSD sobre EURUSD. Calcula a diferença média entre esses dois e depois os negocia. Tamanhos de lotes são correlacionados. Por exemplo, no período dado EURUSD move-se 850 pips, enquanto GBPUSD move 630, e agora EURUSD está acima de GBPUSD no gráfico, com uma diferença entre eles maior que a média. O EA entraria SHORT EURUSD 0.06, LONG GBPUSD 0.09 (850 pips rodadas para 900). Enquanto esses negócios estiverem abertos, o sistema lembrará como o gráfico olhou para o início e recalcula sua posição com base nos valores atuais e no gráfico naquele momento. Quando o valor GBPUSD equivalente no gráfico EURUSD atinge EURUSD, as negociações são fechadas com lucro. A EA não está pronta agora, eu acabei de lhe dizer o que está em minha mente. P. S. Esta é uma arbitragem estatística. Arbitragem é simples. Veja a diferença, compre isso, veja o outro. Se você não pode tomar decisões com base em dados atuais na frente de seus olhos e precisa de um indicador sofisticado, não é mais arbitragem, é a velha especulação.


No metatrader, como sobreponho dois pares juntos?

Комментариев нет:

Отправить комментарий