Cointegrated forex pares história


Sugestão 1: a volatilidade tende a ser já significante reverter. Dica 2: uma parte em que você pode trocar o produto Vega puro (swap de volatilidade de variância) você precisa lembrar que você precisará proteger todo o risco de base para ter uma pura Volatilidade Relativa. O que não é fácil e talvez inviável para oferecer e pergunte a dica de propagação 3: as opções de curto prazo, geralmente mais líquidas, têm Vega baixo (você precisará fazer muito trabalho para proteger o risco de base para ter uma exposição limitada ao vol e você precisa fazê-lo Para ambos subjacentes) sugestão 4: há muita pesquisa de qualidade disponível disponível. Mas eu aconselharia a tentar entender o primeiro volume primeiro 1.2k Views middot View Upvotes middot Não para reprodução Mais Respostas abaixo. Questões relacionadas Quais são algumas boas ideias de comércio de pares Como faço para negociar opções de índice usando a idéia de negociação de pares de volatilidade O que é uma relação de volatilidade de valor relativo Como você troca a volatilidade usando a arbitragem de volatilidade Como funciona o bombeamento de volatilidade como estratégia de negociação O que é O significado da volatilidade da negociação Como a volatilidade é negociada e como é avaliado como um contrato Como você comercializa a volatilidade Como você sabe se o mercado é volátil ou não para negociação binária O que deve ser selecionado entre a negociação direcional e a negociação de volatilidade O que é concorrência HFT e outros Considerações. Como comerciante de forex, devo focar apenas um par, uma dúzia de pares ou trocar todos os pares quando eu encontrar um bom sinal de entrada OK, negociação de pares. Em termos mais simples é a negociação de duas ações na mesma indústria, sendo longa e curta a outra. Mas vamos dar um passo adiante e colocá-lo em um esquema de comércio de volatilidade. Digamos que minha análise mostra uma opção de ações (ATM straddle) para negociação com uma volatilidade implícita muito baixa, enquanto outras ações nos mesmos setores optoins (ATM Straddle) estão negociando com uma volatilidade implícita muito alta. O Pairs Trading compraria o ATM straddle no estoque com as opções baratas e vendendo o ATM straddle no estoque com as opções ricas. Resumo: O comércio de Paris é um comércio de VOLATILITY, onde o comerciante compra opções baratas e vende opções de rish em ações no mesmo setor ou indústria. 677 Visualizações middot View Upvotes middot Não para reprodução Pratik Jain. Editor Chefe: Tradingtuings Pair Trading é uma estratégia de mercado neutro em que dois instrumentos altamente co-relacionados são comprados e vendidos juntos quando existe um certo desvio em sua co-relação. Normalmente, os estoques ou commodities selecionados para o Par Trading são do mesmo setor e se movem juntos durante a maioria dos eventos do mercado. Faça o download de uma folha de Excel para identificar as oportunidades de negociação de pares a partir do link abaixo: 336 Visualizações middot View Upvotes middot Não para reproduçãoForex Trading Diary 5 - Trocando vários pares de moedas Ontem eu publiquei algumas mudanças importantes para o software QSForex. Essas mudanças aumentaram a utilidade do sistema significativamente até o ponto em que está quase pronto para o backtesting de dados de tiques de vários dias em uma variedade de pares de moedas. As seguintes alterações foram postadas no Github: modificação adicional tanto para os objetos de Posição quanto para Portfolio, a fim de permitir que vários pares de moedas sejam negociados, bem como moedas que não sejam denominadas na moeda da conta. Por isso, uma conta de decomposição de GBP agora pode negociar EURUSD, por exemplo. Revisão completa da forma como a Posição e o Portfolio calculam abre, fecha, adições e remoções de unidades. O objeto Posição agora executa o levantamento pesado deixando um objeto do Portfolio relativamente magra. Adição da primeira estratégia não trivial, a saber, a bem conhecida estratégia de Crossover de média móvel com um par de médias móveis simples (SMA). Modificação para backtest. py para torná-lo de um único thread e determinista. Apesar do meu otimismo de que uma abordagem multi-threaded não seja muito prejudicial para a precisão da simulação, achei difícil obter resultados de backtesting satisfatórios com uma abordagem multi-threaded. Introduziu um script de saída baseado em Matplotlib muito básico para visualizar a curva de equidade do portfólio. A geração da curva de equidade está em estágio inicial e ainda requer muito trabalho. Como mencionei na entrada anterior. Para aqueles que não estão familiarizados com o QSForex e estão chegando a esta série de diários forex pela primeira vez, eu sugiro fortemente ter uma leitura das seguintes entradas do diário para acelerar o software: assim como a página Github para QSForex : Suporte de Moedas Múltiplas Um recurso que eu continuamente estava discutindo nessas entradas do diário é a capacidade de suportar múltiplos pares de moedas. Nesta fase, agora modifiquei o software para permitir diferentes denominações de contas, já que anteriormente a GBP era a moeda codificada. Também é possível negociar outros pares de moedas, exceto aqueles que consistem em uma base ou uma cotação no iene japonês (JPY). O último é devido à forma como os tamanhos de carrapatos são caclulados em moedas do JPY. Para conseguir isso, modifiquei o modo como o lucro é calculado quando as unidades são removidas ou a posição está fechada. Aqui está o trecho atual para calcular pips, no arquivo de posição. py: Se fecharmos a posição para realizar um ganho ou perda, precisamos usar o seguinte trecho para a fechamento. Também no arquivo de posição. py: primeiro obtemos os preços de oferta e oferta para o par de moedas, bem como o par de moedas da moeda. Por exemplo, para uma conta denominada em GBP, onde estamos negociando EURUSD, devemos obter preços para o USDGBP, pois EUR é a moeda base e USD é a cotação. Nesta fase, verificamos se a posição em si é uma posição longa ou curta e, em seguida, calcula o preço de remoção apropriado e o preço de remoção de cotações, que são dados por removeprice e qhclose, respectivamente. Em seguida, atualizamos os preços atuais e médios dentro da posição e, finalmente, calculamos o PampL, multiplicando os pips, o preço de remoção de cotações e o número de unidades fechando. Eliminamos completamente a necessidade de discutir a exposição, que era uma variável redundante. Esta fórmula fornece corretamente o PampL contra qualquer troca de par de moedas (não-JPY). Revisão da Posição e Manejo da Carteira Além da capacidade de trocar vários pares de moedas, também aperfeiçoei como a Posição e a Carteira compartilham a responsabilidade de abrir e fechar posições, bem como adicionar e subtrair unidades. Em particular, eu mudei muito do código de tratamento de posição que estava em portfolio. py em position. py. Isso é mais natural, uma vez que a posição deve ser cuidar de si mesma e não delegá-la ao portfólio. Em particular, as unidades adicionais. Removeunits e métodos de fechamento foram criados ou aprimorados: nos últimos dois, você pode ver como a nova fórmula para o cálculo do lucro é implementada. Muitas das funcionalidades da classe Portfolio foram assim reduzidas. Em particular, os métodos são complementados. Unidades de agregação. As unidades de reposição e a posição de fechamento foram modificadas para ter em conta o fato de que o trabalho de cálculo está sendo feito no objeto Posição: Essencialmente, todos eles (além da nova integração) simplesmente verificam se a posição existe para esse par de moedas e depois chama o método de Posição correspondente , Tendo em conta o lucro, se necessário. Estratégia de Crossover média móvel Nós discutimos a estratégia de Crossover de média móvel antes no QuantStart. No contexto da negociação de ações. É uma estratégia de indicador de cama de teste muito útil porque é fácil replicar os cálculos manualmente (pelo menos em freqüências mais baixas), para verificar se o backtester se comporta como deveria. A idéia básica da estratégia é a seguinte: são criados dois filtros de média móvel simples separados, com diferentes períodos de lookback, de uma série temporal específica. Os sinais para comprar o recurso ocorrem quando a média móvel de lookback mais curta excede a média móvel de lookback mais longa. Se a média mais longa exceder a média mais curta, o ativo é vendido de volta. A estratégia funciona bem quando uma série temporal entra em um período de forte tendência e, em seguida, inverte lentamente a tendência. A implementação é direta. Em primeiro lugar, fornecemos um método calcrollingsma que nos permite utilizar de forma mais eficiente o cálculo de SMA do período anterior para gerar o novo, sem precisar recalcular completamente o SMA em cada etapa. Em segundo lugar, geramos sinais em dois casos. No primeiro caso, geramos um sinal se o SMA curto exceder o SMA longo e não era longo o par de moedas. No segundo caso, geramos um sinal se o SMA longo exceder o SMA curto e já estamos longos. Eu configurei a janela padrão para ser 500 carrapatos para os SMA curtos e 2.000 tiques para o SMA longo. Obviamente, em uma configuração de produção, esses parâmetros seriam otimizados, mas eles funcionam bem para nossos fins de teste. Single-Threaded Backtester Outra alteração importante foi modificar o componente backtesting para ser um único thread, em vez de multi-threaded. Eu fiz essa mudança porque estava tendo dificuldade em sincronizar os segmentos para executar de uma maneira que ocorreria em um ambiente ao vivo. Isso significava basicamente que os preços de entrada e saída eram muito pouco realistas, muitas vezes (virtuais) horas após o recibo real ter sido recebido. Por isso, eu incorporei a transmissão de objetos do TickEvent para o loop backtesting, como você pode ver no seguinte fragmento de backtest. py: observe a linha ticker. streamnexttick (). Isso é chamado antes de uma pesquisa da fila de eventos e, como tal, sempre garantirá que um novo evento de marcação tenha chegado antes que a fila seja consultada novamente. Em particular, isso significa que um sinal é executado à medida que novos dados de mercado chegam, mesmo que haja algum atraso no processo de pedidos devido à derrapagem. Eu também estabeleci um valor de maxiters que controla quanto tempo o loop de backtesting continua. Na prática, isso precisará ser bastante grande ao lidar com várias moedas em vários dias, mas eu configurei-o para um valor padrão que permite dados de um único dia de um par de moedas. O método streamnexttick da classe do manipulador de preços é semelhante ao streamtoqueue, exceto que ele chama o método iterator next () manualmente, em vez de executar o tick streaming em um loop for: Observe que ele pára após o recebimento de uma exceção StopIteration. Isso permite que o código seja retomado em vez de falhar na exceção. Matplotlib Output Ive também criou um script de saída Matplotlib muito básico para exibir a curva de equidade. Output. py atualmente vive no diretório backtest do QSForex e é fornecido abaixo: Observe que há uma nova variável settings. py agora chamada OUTPUTRESULTSDIR. Que deve ser configurado em suas configurações. Eu o tenho apontando para um diretório temporário em outro lugar no meu sistema de arquivos, como eu não quero adicionar acidentalmente qualquer resultado de backback de patrimônio para a base de código. A curva de equidade funciona por ter um valor de saldo adicionado a uma lista de dicionários, com um dicionário correspondente a um Horário. Uma vez que o back-test esteja completo, a lista de dicionários é convertida em um Pandas DataFrame e o método tocsv é usado para produzir equity. csv. Este script de saída, em seguida, lê no arquivo e traça a coluna de saldo do subsequente DataFrame. Você pode ver o fragmento para o appendequityrow e os métodos de resultados de resultados da classe Portfolio abaixo: Cada vez que o sinal de execução é chamado, o método anterior é chamado e acrescenta o valor timestampbalance ao membro de equidade. No final dos resultados de saída do backtest, é chamado que simplesmente converte a lista de dicionários em um DataFrame e, em seguida, as saídas para o diretório especificado OUTPUTRESULTSDIR. Infelizmente, esta não é uma maneira particularmente apropriada de criar uma curva de equidade, pois isso ocorre apenas quando um sinal é gerado. Isso significa que não leva em consideração o PampL não realizado. Embora seja assim que ocorre a negociação real (você realmente não ganhou dinheiro até fechar uma posição), isso significa que a curva de equidade permanecerá completamente plana entre as atualizações do saldo. Pior ainda, o Matplotlib irá padronizar a interpolação linear entre esses pontos, proporcionando assim a falsa impressão do PampL não realizado. A solução para este problema é criar um rastreador PampL não realizado para a classe Posição que atualiza corretamente em cada marca. Este é um pouco mais computacionalmente caro, mas permite uma curva de capital mais útil. Este recurso está planejado para uma data posterior Próximas etapas A próxima tarefa importante para o QSForex é permitir backtesting de vários dias. Atualmente, o objeto HistoricCSVPriceHandler apenas carrega um valor de dias de DukasCopy para todos os pares de moedas especificados. Para permitir testes de vários dias, será necessário carregar e transmitir cada dia de forma sequencial para evitar o preenchimento de RAM com todo o histórico de dados de marca. Isso exigirá uma modificação de como funciona o método streamnexttick. Uma vez que isso seja concluído, isso permitirá um backtesting de estratégia de longo prazo em múltiplos pares. Outra tarefa é melhorar o resultado da curva de equidade. Para calcular qualquer das métricas de desempenho usuais (como a Relação Sharpe), precisaremos calcular os retornos percentuais em um determinado período de tempo. No entanto, isso requer que nós armazenemos os dados do tick em barras para calcular um retorno para um período de tempo específico. Esse binning deve ocorrer em uma freqüência de amostragem que é semelhante à freqüência de negociação ou o Ratio de Sharpe não refletirá o verdadeiro risco para a estratégia. Este binning não é um exercício trivial, pois existem muitos pressupostos que geram um preço para cada caixa. Uma vez que essas duas tarefas estão completas, e dados suficientes foram adquiridos, estaremos em condições de testar uma ampla variedade de estratégias de Forex baseadas em dados de marca e produzir curvas de patrimônio líquido da maioria dos custos de transação. Além disso, será extremamente direto testar essas estratégias na conta de negociação de papel de prática fornecida pela OANDA. Isso deve permitir que você tome decisões muito melhores sobre se deve executar uma estratégia em comparação com um sistema de backtesting mais orientado a pesquisa.

Comments

Popular posts from this blog

Forex comerciante perfis

Troca de opções binárias pdf

Swing trading with options