суббота, 26 мая 2018 г.

Estratégia de negociação baseada em eventos


3 Estratégias para Negociação de Notícias (NFP)


Ação de preço e macro.


Notícias de negociação são perigosas, já que movimentos de preços selvagens e erráticos podem se estender contra o trader. Traders precisam estar vigilantes com o gerenciamento de risco, procurando capitalizar quando estão no lado direito do movimento. Compartilhamos três tipos diferentes de estratégias para negociação durante as notícias.


O grande dia está aqui, e o relatório Non-Farm Payrolls que a maior parte do mundo esteve esperando finalmente será revelado amanhã às 8h30 da manhã em Nova York.


Anúncios de notícias dessa natureza podem ganhar vida própria com a quantidade de interesse que recebem. Mas é importante observar o perigo e os riscos de negociar esses eventos. Ninguém no mundo tem alguma ideia do modo como o NFP imprime & hellip; e mesmo se o fizessem, não há como saber exatamente como o mercado irá avaliar esses dados.


O que segue são três maneiras pelas quais os operadores podem procurar negociar em torno de anúncios de notícias de alta importância, como o NFP.


Mas, antes de entrarmos nas estratégias, gostaria de enfatizar o perigo de negociar em tais ambientes. Muitos profissionais optam por evitar negociar em anúncios de alto impacto apenas por serem perigosos ou erráticos.


Se você nunca negociou durante um desses eventos, ou se você não se sente à vontade assumindo o risco irrelevante que é inevitável com um anúncio de alto impacto, negocie na conta demo ou fique à margem. Não há absolutamente nenhuma vergonha em ter medo de um mercado; isso é o que ajuda a manter os comerciantes vivos. Bravado ou machismo é absolutamente inútil se você drenar todo o seu patrimônio. Você pode obter uma conta de demonstração totalmente gratuita.


O & lsquo; Slingshot & rsquo; Estratégia.


Esta estratégia visa capitalizar o caos que pode ocorrer durante uma impressão especialmente forte. Nessa estratégia, o trader quer olhar para a NFP com sua (s) posição (ões) completa (s), de modo que se a volatilidade criada em torno do anúncio for capaz de empurrar seu comércio para um território lucrativo, eles podem tirar proveito disso .


O estilingue parece sair de posições vencedoras à medida que a negociação se move a favor do comerciante, e uma variedade de entradas ou estratégias de entrada podem ser usadas para acionar a posição inicial.


A identificação de suporte e resistência é uma necessidade antes de abrir qualquer posição. Os comerciantes também podem levar isso um passo adiante, olhando para o gráfico horário ou de quatro horas para determinar quaisquer tendências que possam existir levando ao anúncio. Dessa forma, se os vieses que entram no NFP ocorrem depois que os dados são liberados, o comerciante pode estar no lado direito do movimento.


Suporte e Resistência é tão importante porque é o ponto de corte "& rsquo; com o qual o comerciante pode fechar a posição se os preços estiverem indo muito longe contra eles. As paradas para posições longas podem ficar abaixo do suporte e as paradas para posições curtas podem ficar acima da resistência, de modo que, se um desses níveis for quebrado, a perda poderá ser minimizada.


O Slingshot parece aproveitar os movimentos estendidos na direção do profissional.


Preparado por James Stanley.


Os traders podem até mesmo incorporar um trigger técnico na negociação com um indicador como o MACD, como explicamos no artigo, o MACD como um Entry Trigger.


Uma nota chave aqui: os comerciantes são aconselhados a investigar a distância de parada em suas posições antes de um anúncio de dados tão pesado quanto o NFP. Os spreads podem aumentar muito rapidamente, pois os criadores de mercado não querem ter perdas na impressão, tanto quanto os varejistas. Quando os spreads se ampliam, as paradas podem ser acionadas antes que os preços comecem a tendência e isso pode ser desastroso para o negociador.


Imagine o cenário em que você entrou no NFP com uma longa posição EURUSD carregando uma parada de 20 pip & hellip; Se os spreads aumentarem para 40 pips, isso acionaria sua parada e executaria a ordem de parada "na melhor das hipóteses". & Rsquo; Isso poderia implicar um desvio adicional além de sua parada de 20 pip.


Mas, se os preços, em seguida, subirem 150 pips no EURUSD, você não terá mais nenhuma posição, mesmo estando na posição comprada.


Infelizmente, é impossível saber até que ponto os spreads podem aumentar durante um determinado comunicado à imprensa, principalmente o NFP. Os comerciantes geralmente querem investigar uma distância mínima de parada de 40 pips ou mais, e mesmo assim a volatilidade rápida pode tornar a posição vulnerável.


Esta é apenas outra razão pela qual a negociação em ambientes de notícias é tão perigosa; mas as recompensas potenciais podem ser enormes se o operador puder se encontrar do lado direito da posição, e é disso que se trata o estilingue.


Se o comerciante é capaz de navegar neste terreno sem ter um batente, é aí que o estilingue vem como os comerciantes podem escalar fora de posições lucrativas como os preços podem aumentar a seu favor.


A reversão de notícias.


Negociações reversas são inerentemente perigosas em um ambiente normal; mas ao adicionar o risco adicional em torno dos anúncios de notícias, isso pode tornar esse tipo de estratégia muito perigosa.


O gerenciamento de risco e dinheiro forte é um requisito para o sucesso nesses ambientes, porque você nunca terá certeza de quais reversões podem ser seguidas.


Como a estratégia do Slingshot, os comerciantes querem entrar no lançamento com os níveis de suporte e resistência identificados. Então eles esperam pelas notícias.


No período imediato após o anúncio das notícias, o trader pode observar os preços para ver se esses níveis de suporte ou resistência de longo prazo entram em ação. E se o fizerem, o comerciante observa para tentar ter uma ideia se esses níveis vão ou não se manter.


A reversão de notícias.


Preparado por James Stanley.


A ação do preço pode ser de grande ajuda aqui. Os comerciantes querem ver o suporte chegando ao mercado nesses níveis de longo prazo antes de acionar uma posição comprada com uma parada abaixo do suporte. A chave aqui é encaixar bem, de modo que, se a reversão não for executada, a posição é retirada rapidamente. Mas se esse nível de suporte se mantiver, o trader pode começar a escalar uma vez que a posição começar a se mover a seu favor em um esforço para capturar o máximo possível.


O & lsquo; Use as Notícias & rsquo; Estratégia de longo prazo.


As folhas de pagamento não agrícolas podem ser uma mudança de jogo. Uma grande batida ou falta pode parar uma tendência morta e criar grandes reversões.


Mas isso não acontece todo mês. Em muitos casos, uma enorme volatilidade é criada em torno do anúncio, talvez com um ligeiro acompanhamento posterior; apenas para ver as tendências retomando sua trajetória anterior.


Isso pode potencialmente ser uma grande oportunidade para os operadores de longo prazo comprarem ou adicionarem posições a um preço muito mais favorável do que teriam conseguido. Vamos olhar um exemplo para mais clareza.


Vamos dizer que Joe é de baixa no EURUSD por qualquer motivo. Talvez ele seja apenas um touro realmente grande em dólares, ou talvez ele não acredite na Recuperação Européia. Seja qual for o motivo, Joe sabe que ele quer ficar com EURUSD curto.


Mas depois de passar um mês confinado a uma faixa magra perto de apoio de longo prazo, Joe não teve uma oportunidade de entrada convincente no par.


Joe pode entrar no NFP procurando fazer algumas barganhas. Ele pode olhar para o seu gráfico de longo prazo para estabelecer alguns níveis de resistência em que ele gostaria de vender se os preços puderem subir até lá.


O próximo passo no processo é esperar que as notícias saiam para ver se os preços podem subir nessa zona de resistência para que Joe possa aprovar um pedido.


O & lsquo; Use as Notícias & rsquo; Abordagem de Longo Prazo.


Preparado por James Stanley.


Uma vez que o preço se move em resistência, Joe pode começar a procurar vender com uma parada acima da zona de resistência. Os comerciantes podem olhar para um gráfico de curto prazo para procurar indicações de preços de padrões de reversão de alta ou baixa para aumentar a eficácia potencial da estratégia.


--- Escrito por James Stanley.


James está disponível no Twitter @JStanleyFX.


Para se juntar à lista de distribuição de James Stanley, por favor clique aqui.


Você gostaria de melhorar sua educação FX? A DailyFX lançou recentemente a DailyFX University; que é totalmente gratuito para qualquer e todos os comerciantes!


O DailyFX fornece notícias e análises técnicas sobre as tendências que influenciam os mercados monetários globais.


Backtesting baseado em eventos com Python - Parte I.


Backtesting baseado em eventos com Python - Parte I.


Nós passamos o último par de meses no QuantStart fazendo backtesting de várias estratégias de negociação utilizando Python e pandas. A natureza vetorizada dos pandas garante que certas operações em grandes conjuntos de dados sejam extremamente rápidas. No entanto, as formas de backtester vetorizado que estudamos até agora sofrem de algumas desvantagens na maneira como a execução da negociação é simulada. Nesta série de artigos, vamos discutir uma abordagem mais realista da simulação de estratégia histórica, construindo um ambiente de backtesting baseado em eventos usando o Python.


Software orientado a eventos.


Antes de nos aprofundarmos no desenvolvimento de um backtester, precisamos entender o conceito de sistemas baseados em eventos. Os videogames fornecem um caso de uso natural para software orientado a eventos e fornecem um exemplo direto para explorar. Um videogame tem vários componentes que interagem entre si em uma configuração em tempo real em altas taxas de quadros. Isso é feito executando todo o conjunto de cálculos dentro de um loop "infinito" conhecido como loop de evento ou loop de jogo.


A cada tick do loop de jogo, uma função é chamada para receber o último evento, que terá sido gerado por alguma ação prévia correspondente dentro do jogo. Dependendo da natureza do evento, que pode incluir um pressionamento de tecla ou um clique do mouse, alguma ação subsequente é executada, o que terminará o loop ou gerará alguns eventos adicionais. O processo continuará então. Aqui está um exemplo de pseudo-código:


O código está continuamente verificando novos eventos e, em seguida, realizando ações com base nesses eventos. Em particular, ele permite a ilusão de manipulação de resposta em tempo real, porque o código está continuamente em loop e os eventos são verificados. Como ficará claro, é precisamente disso que precisamos para realizar a simulação de negociação de alta frequência.


Por que um backtester baseado em eventos?


Os sistemas orientados a eventos fornecem muitas vantagens sobre uma abordagem vetorizada:


Reutilização de código - um backtester baseado em eventos, por design, pode ser usado tanto para backtesting histórico quanto para negociação ao vivo com o mínimo de troca de componentes. Isso não é verdade para os backtesters vetorizados, onde todos os dados devem estar disponíveis ao mesmo tempo para realizar a análise estatística. Lookahead Bias - Com um backtester baseado em eventos, não há viés de antecipação, pois o recebimento de dados de mercado é tratado como um "evento" que deve ser considerado. Assim, é possível "drenar" um backtester orientado a eventos com dados de mercado, replicando como um sistema de gerenciamento de pedidos e portfólio se comportaria. Realismo - backtesters orientados a eventos permitem personalização significativa sobre como os pedidos são executados e os custos de transação são incorridos. É fácil lidar com ordens básicas de mercado e de limite, assim como com o mercado aberto (MOO) e com o mercado no fechamento (MOC), já que um manipulador de troca personalizado pode ser construído.


Embora os sistemas baseados em eventos tenham muitos benefícios, eles sofrem de duas grandes desvantagens em relação a sistemas vetoriais mais simples. Em primeiro lugar, eles são significativamente mais complexos para implementar e testar. Existem mais "partes móveis" que levam a uma maior chance de introduzir bugs. Para mitigar esta metodologia adequada de teste de software, como o desenvolvimento orientado a testes, pode ser empregado.


Em segundo lugar, eles são mais lentos para executar em comparação com um sistema vetorizado. Operações otimizadas vetorizadas não podem ser utilizadas ao realizar cálculos matemáticos. Vamos discutir maneiras de superar essas limitações em artigos posteriores.


Visão geral do backtester orientado a eventos.


Para aplicar uma abordagem orientada a eventos em um sistema de backtesting, é necessário definir nossos componentes (ou objetos) que manipularão tarefas específicas:


Evento - O Evento é a unidade de classe fundamental do sistema baseado em eventos. Ele contém um tipo (como "MARKET", "SIGNAL", "ORDER" ou "FILL") que determina como ele será tratado no loop de eventos. Fila de Eventos - A Fila de Eventos é um objeto Fila Python na memória que armazena todos os objetos de subclasse Event que são gerados pelo restante do software. DataHandler - O DataHandler é uma classe base abstrata (ABC) que apresenta uma interface para lidar com dados históricos ou ao vivo no mercado. Isso proporciona uma flexibilidade significativa, já que os módulos de Estratégia e Portfólio podem ser reutilizados entre as duas abordagens. O DataHandler gera um novo MarketEvent a cada pulsação do sistema (veja abaixo). Estratégia - A Estratégia também é um ABC que apresenta uma interface para obter dados de mercado e gerar SignalEvents correspondentes, que são utilizados pelo objeto Portfolio. Um SignalEvent contém um símbolo, uma direção (LONG ou SHORT) e um timestamp. Portfólio - Este é um ABC que lida com o gerenciamento de pedidos associado às posições atuais e subsequentes de uma estratégia. Ele também executa o gerenciamento de riscos em todo o portfólio, incluindo a exposição do setor e o dimensionamento de posições. Em uma implementação mais sofisticada, isso poderia ser delegado a uma classe RiskManagement. O Portfólio pega SignalEvents da Fila e gera OrderEvents que são adicionados à Fila. ExecutionHandler - O ExecutionHandler simula uma conexão com uma corretora. O trabalho do manipulador é pegar OrderEvents da Fila e executá-los, seja por meio de uma abordagem simulada ou uma conexão real com uma corretora de fígado. Quando as ordens são executadas, o manipulador cria FillEvents, que descreve o que foi realmente transacionado, incluindo taxas, comissão e derrapagem (se modelado). O Loop - Todos esses componentes são agrupados em um loop de eventos que manipula corretamente todos os tipos de eventos, roteando-os para o componente apropriado.


Este é um modelo básico de um mecanismo de negociação. Existe um espaço significativo para expansão, particularmente no que diz respeito à forma como a Carteira é utilizada. Além disso, os diferentes modelos de custo de transação também podem ser abstraídos em sua própria hierarquia de classes. Nesta fase, introduz desnecessária complexidade dentro desta série de artigos, por isso não vamos discutir mais sobre isso. Em tutoriais posteriores, provavelmente expandiremos o sistema para incluir realismo adicional.


Aqui está um trecho de código Python que demonstra como o backtester funciona na prática. Existem dois loops ocorrendo no código. O loop externo é usado para dar ao backtester um heartbeat. Para negociação ao vivo, esta é a frequência com que os novos dados de mercado são pesquisados. Para estratégias de backtesting, isso não é estritamente necessário, já que o backtester usa os dados de mercado fornecidos na forma de alimentação por gotejamento (veja a linha bars. update_bars ()).


O loop interno realmente manipula os eventos do objeto Fila de eventos. Eventos específicos são delegados ao respectivo componente e, subsequentemente, novos eventos são adicionados à fila. Quando os eventos Queue estão vazios, o loop de pulsação continua:


Este é o esboço básico de como um backtester baseado em eventos é projetado. No próximo artigo, discutiremos a hierarquia de classes de eventos.


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.


Como trocar as notícias.


Dois mercados agressivos na primeira década deste milênio fizeram com que muitos investidores questionassem a sensatez de aderir a uma estratégia de “comprar e manter” para ações. Embora os mercados acionários possam apresentar uma tendência de alta sustentada ao longo de longos períodos de tempo, são as pontas de onda intermitentes - como os 50% de queda sofridos pela maioria dos principais mercados durante a crise de crédito global de 2008-09 - que testam a força de qualquer investidor.


Negociar as notícias, então, deve ser um componente integral de sua estratégia de investimento. Embora os operadores possam negociar as notícias várias vezes em uma sessão de negociação, os investidores de prazo mais longo podem fazê-lo apenas ocasionalmente. Independentemente do seu horizonte de investimento, aprender a trocar as notícias é uma habilidade essencial para um gerenciamento inteligente de portfólio e desempenho de longo prazo.


Classificando Notícias.


As notícias podem ser classificadas em duas categorias:


Periódico ou recorrente - Notícias emitidas em intervalos regulares. Por exemplo, anúncios da taxa de juros pelo Federal Reserve e outros bancos centrais, divulgações de dados econômicos e relatórios de ganhos trimestrais de empresas, todos se enquadram nessa categoria. Inesperado ou de uma só vez - Esta categoria inclui “sinais do nada”, como ataques terroristas ou súbitos surtos geopolíticos, bem como desenvolvimentos abruptos do mercado na frente econômica ou financeira, como a ameaça de inadimplência de dívidas por parte de uma nação endividada. Notícias inesperadas são mais propensas a serem adversas do que favoráveis.


As notícias podem ser específicas de uma determinada ação ou algo que afeta o amplo mercado.


Negociando as notícias.


Vamos usar alguns exemplos para demonstrar esses conceitos:


1. Anúncio da taxa da Reserva Federal: Os anúncios da taxa de juros do Comitê Federal do Mercado Aberto (FOMC) sempre estiveram entre os maiores eventos de movimentação de mercado. Mas em 2013, os movimentos do Fed assumiram uma importância incomparável, pois os investidores esperavam ansiosamente para ver se o banco central continuaria a injetar US $ 85 bilhões mensais na economia dos EUA por meio de compras de títulos (a terceira rodada de flexibilização quantitativa ou QE3) ou se isso diminuiria o ritmo dessas compras. Como os índices de ações dos EUA estavam em patamar recorde em outubro de 2013, um investidor com uma posição longa substancial em ações dos EUA que buscava cobrir potencial risco de queda poderia ter feito o seguinte logo após o anúncio do Fed em 30 de outubro:


Posições aparadas em posições de lucro altamente lucrativas para tirar algum dinheiro da mesa. Com a volatilidade do mercado perto de mínimos de vários anos naquela época, o investidor poderia ter comprado opções de compra em ações específicas da carteira ou em um amplo índice de mercado como o S & P 500 ou o Nasdaq 100. Pós de compra dá ao investidor o direito de vender uma ação por um preço acordado em algum momento futuro. Se o preço de mercado do título cair abaixo do preço acordado, o investidor ganha com a venda pelo preço contratual mais alto. Comprou uma certa quantidade de fundos negociados em bolsa (ETFs) - que se movem na direção oposta do mercado amplo ou de um setor específico - para proteger os ganhos da carteira.


Embora esses movimentos reativos sejam normalmente realizados após o anúncio do Fed, um investidor proativo poderia implementar essas mesmas etapas antes da declaração do Fed. Essa abordagem reativa ou pró-ativa de um evento importante ou notícia, obviamente, depende de vários fatores, como se o investidor tem um alto grau de convicção sobre a direção de curto prazo do mercado, tolerância ao risco, abordagem de negociação ou ativo) e assim por diante.


2. Resumo da situação do emprego nos EUA (o “relatório de trabalhos”): Em termos de divulgação de dados econômicos, poucos são mais importantes do que o relatório de trabalhos nos EUA. Traders e investidores acompanham de perto o nível de emprego, já que tem uma influência substancial na confiança e nos gastos do consumidor, que representam 70% da economia dos EUA. Os números de cargos que não cumprem as previsões dos economistas são geralmente interpretados como sinais de fraqueza econômica incipiente, enquanto os números da folha de pagamento que aumentam as previsões anteriores são vistos como pontos fortes. No verão de 2013, os investidores não se incomodaram com os números de folha de pagamento que ficaram abaixo das expectativas, na crença de que qualquer sinal de fraqueza econômica faria com que o Fed mantivesse o QE3 em andamento. O manual do investidor para dados de cargos comerciais em 2013 poderia ser facilmente baseado na reação previsível do mercado, que era a seguinte:


Números da folha de pagamento abaixo das expectativas: Implica que o Fed seria forçado a manter as taxas de juros baixas por um período de tempo prolongado. O impacto em classes de ativos específicas foi tipicamente mostrado na tabela:


Números da folha de pagamento acima das expectativas: Implica que o Fed pode reduzir o ritmo de compras de ativos, o que poderia elevar os rendimentos dos títulos e as taxas de juros de mercado.


Um investidor poderia usar essas reações do mercado para formular uma estratégia de negociação apropriada para implementar antes do relatório de empregos ou após o seu lançamento.


3. Relatórios de resultados: geralmente, é aconselhável ter uma estratégia de negociação antes de um relatório de lucros, porque uma ação pode saltar em uma faixa muito mais ampla pós-ganhos, em comparação com as oscilações em um índice após um lançamento de dados. Imagine ter uma enorme posição vendida em uma ação e vê-la subir 40% no mercado de reposição porque seus ganhos foram muito melhores do que o esperado.


Os relatórios de ganhos de negociação podem não ser necessários para todas as ações de um portfólio, mas podem ser necessários para uma ação em que o investidor tenha uma posição bastante grande, seja ela longa ou curta. Nesse caso, o investidor precisa ponderar os méritos de deixar a posição inalterada sobre o relatório de lucros ou fazer alterações antes dela. Fatores que devem desempenhar um papel nesta decisão incluem:


O estado atual do mercado global (alta ou baixa); Sentimento do investidor para o setor ao qual a ação pertence; Nível atual de juros a descoberto no estoque; Expectativas de ganhos (muito altas ou confortavelmente baixas); Avaliações para o estoque; Seu desempenho de preço recente e de médio prazo; Ganhos e perspectivas reportados pela competição, etc.


Por exemplo, um investidor com uma posição de 15% em uma ação de tecnologia de grande capitalização que está sendo negociada em patamares de vários anos pode decidir reduzir suas posições antes do relatório de lucros, de modo que agora constitua 10% da carteira. Isso pode ser preferível a correr o risco de um declínio acentuado pós-ganhos se a ação não conseguir atender às altas expectativas dos investidores. Uma opção alternativa poderia ser comprar opções de compra para cobrir o risco de queda. Enquanto isso permitiria ao investidor deixar a posição inalterada em 15% da carteira, essa atividade de hedge incorreria em um custo significativo.


Também pode fazer sentido negociar um relatório de lucros para uma ação em que o investidor não tenha uma posição, mas (com ou sem razão) tenha um alto grau de condenação. Os pontos-chave a serem observados são - evite assumir uma posição excessivamente grande e tenha uma estratégia de mitigação de risco em vigor para limitar as perdas se o negócio não funcionar.


4. Parafusos do azul: O que você deve fazer se as telas de repente reluzirem notícias de um ataque terrorista em algum lugar dos Estados Unidos, ou a guerra parecer iminente entre duas nações no volátil Oriente Médio? Embora esta seja uma ocasião em que você pode precisar ser proativo para proteger seu capital de investimento, uma reação imediata para vender tudo e levar para as montanhas pode não ser o melhor curso de ação. Ao longo dos anos, os mercados financeiros demonstraram uma grande capacidade de resistência, atendendo ao ocasional ataque terrorista, como as explosões na Maratona de Boston, em 15 de abril de 2013.


Em tempos de incerteza geopolítica, pode ser prudente mudar de instrumentos mais especulativos para investimentos de maior qualidade, e considerar a cobertura de risco descendente através de opções e ETFs inversos. Embora você deva reduzir sua exposição ao patrimônio se for desconfortavelmente alto, tenha em mente que, na maioria dos casos, as correções de curto prazo causadas por eventos geopolíticos ou macroeconômicos inesperados provaram ser oportunidades de compra de longo prazo por excelência.


Dicas para novos comerciantes de notícias.


Conheça as datas e horários de eventos importantes: Informações sobre as datas e horários dos principais eventos do mercado, como anúncios do FOMC, lançamentos de dados econômicos e relatórios de ganhos de empresas-chave, estão prontamente disponíveis on-line. Conheça este “calendário de eventos” antecipadamente. Tenha uma estratégia em prática de antemão: você deve planejar sua estratégia de negociação com antecedência, para que você não seja forçado a tomar decisões precipitadas no calor do momento. Conheça sua entrada comercial e pontos de saída exatos antes que a ação comece. Evite as reações ao joelho: em vez de reações rápidas, tome decisões de investimento racional com base na sua tolerância ao risco e objetivos de investimento. Isso pode exigir que você seja contrario na ocasião, mas, como os investidores de longo prazo bem-sucedidos atestarão, essa é a melhor abordagem para investimentos de capital bem-sucedidos. Limite seus níveis de risco: Evite a tentação de tentar ganhar dinheiro rápido, tomando uma posição longa ou curta concentrada. E se o negócio for contra você? Ter a coragem de suas convicções: supondo que você tenha feito sua lição de casa, considere adicionar a uma posição existente se a ação cai para um nível abaixo de seu valor intrínseco, ou inversamente, vendendo para ter lucros em uma ação que é muito popular na momento. Veja o quadro geral: Muitas vezes, a reação dos investidores a um desenvolvimento pode não ser a esperada. Por exemplo, a empresa canadense de gás natural EnCana (ECA) reduziu seus dividendos em 65% em 5 de novembro de 2013. Embora um corte de dividendos desta magnitude normalmente provocasse uma baixa de ações, a EnCana na verdade subiu 3% no dia. Isso porque os investidores consideraram o corte de dividendos como uma medida de economia de caixa e também aprovaram os planos da empresa de vender ações em uma nova empresa de royalties. Não se deixe influenciar pelo sentimento do mercado: isso é um corolário de algumas das dicas anteriores, e é importante o suficiente por si só. Ser excessivamente influenciado pelo sentimento do mercado pode resultar em muitos casos de compra de alta - quando a euforia cresce desenfreada - e vendendo baixo, quando a melancolia e a desgraça prevalecem. Considere a situação de muitos investidores desafortunados que estavam tão assustados com a maré implacável de más notícias em 2008 que eles saíram de suas posições de ações próximas às mínimas, incorrendo em enormes perdas no processo. Numerosos investidores não conseguiram voltar às ações após essa experiência horrenda e, no processo, perderam um ganho impressionante de 166% no S & P 500 de março de 2009 a outubro de 2013. Saiba quando "desvanecer" as notícias: Muitos Às vezes é tão importante ignorar as notícias ou “desvanecer” como é negociá-las. A Best Buy (NYSE: BBY) é um ótimo exemplo de uma ação em que ignorar a constante batida de más notícias, e se concentrar em suas avaliações e perspectivas de recuperação, teria valido a pena. A ação estava sendo negociada em uma baixa de US $ 11,20 em dezembro de 2012, uma vez que estava perdendo participação de mercado para rivais on-line como a Amazon (Nasdaq: AMZN) e varejistas agressivos como a Wal-Mart (NYSE: W). Mas a partir de 6 de novembro de 2013, foi o terceiro melhor desempenho no S & P 500 para o ano, tendo quase quadruplicado em preço, com os lucros subindo graças a medidas de redução de custos e preços competitivos de produtos.


The Bottom Line.


Negociar as notícias é crucial para posicionar o seu portfólio para aproveitar os movimentos do mercado e aumentar os retornos gerais.


Metodologia de Quantificação de Notícias para Negociação Automatizada.


A notícia é o principal fator que afeta os preços dos ativos financeiros, todo o resto é secundário. No entanto, devido ao enorme volume de informações noticiosas continuamente divulgadas pela comunicação eletrônica moderna, torna-se cada vez mais difícil processar todas as informações de maneira oportuna.


Para rastrear eventos de notícias, um sistema de computador faria um trabalho melhor do que um par de olhos humanos, dada sua capacidade de (i) responder imediatamente em microssegundos, (ii) processar grande quantidade de informações e (iii) fazê-lo sem tempo de inatividade.


O desafio é, portanto, construir ferramentas analíticas lingüísticas inteligentes que possam converter um texto noticioso em números quantificados - números que uma estratégia de negociação pode usar para tomar decisões objetivas de negociação quantitativa.


Esta apresentação analisa as metodologias pelas quais os textos de notícias são convertidos em um conjunto de números. Os vários fatores quantificados são então explorados em detalhes amplos - as maneiras pelas quais são calculados, as prováveis ​​armadilhas em seu uso e como evitá-los.


Fatores-chave na negociação baseada em notícias.


Relevância do sentimento Capacidade de impacto de mercado da novidade (tipo de notícia) Fatores secundários, como volume de notícias, tendências de mecanismos de pesquisa, mídia social.


Além das metodologias envolvidas na quantificação de notícias individuais, metodologias de quantificação de um grande conjunto de notícias (digamos, durante todo um período de tempo, para todo um conjunto de empresas / geografias) também são discutidas. Especificamente, o conceito de Market Psyche Index é discutido.


Na próxima seção da apresentação, a lucratividade das estratégias de negociação baseadas em análises de notícias quantificadas é discutida. A lucratividade é estudada w. r.t. vários períodos de participação, diferentes categorias de eventos de notícias (soft / hard, programados / não programados), a sensibilidade em relação aos setores de ações, beta de ações, mercado VIX, a capitalização de mercado do estoque, etc.


No último segmento da apresentação, analisamos as armadilhas e estudos de caso de falhas. O impacto no mercado de alguns desses fracassos também destaca o quanto a análise de notícias se tornou predominante em algumas das geografias de negociação desenvolvidas.


Se você é um profissional de varejo ou um profissional da área de tecnologia que deseja iniciar sua própria agência de negociação automatizada, comece a aprender o comércio de algoritmos hoje mesmo! Comece com conceitos básicos como arquitetura de negociação automatizada, microestrutura de mercado, sistema de backtesting de estratégia e sistema de gerenciamento de pedidos. Você também pode se inscrever em nosso curso de negociação da Algo, o EPAT, que é um dos mais extensos programas de certificação disponíveis na indústria.


Como construir uma estratégia de negociação


Ação de preço e macro.


Ao negociar em mercados, muitas vezes é benéfico ter uma abordagem estratégica. Enquanto o conceito de negociação em palpites e caprichos & ndash; e ser lucrativo fazendo isso pode soar atraente; na prática, é muito mais difícil e muito menos provável do que se houvesse uma abordagem estereotipada com a qual eles especulassem nos mercados.


Existem muitas maneiras de fazer isso. Este artigo irá percorrer as principais áreas que os comerciantes querem olhar ao construir suas estratégias.


Antes que a estratégia seja criada, o negociador precisa primeiro decidir de qual condição de mercado está procurando. Na primeira parte da nossa série Como construir uma estratégia, analisamos esse tópico em detalhes. E, como vimos, os mercados exibirão três condições principais: tendência, intervalo e interrupção (conforme mostrado na ilustração abaixo).


Criado com Marketscope / Trading Station.


Cada uma dessas condições de mercado pode exibir tons marcadamente diferentes. Os intervalos geralmente podem ocorrer durante mercados tranquilos. O suporte e / ou resistência que definem os intervalos se quebram quando o preço se rompe, geralmente de alguma forma de notícia ou estímulo.


Os breakouts podem ser rápidos e furiosos, correndo rapidamente para os operadores ou para os limites. Os breakouts podem ser extremamente voláteis e, como tal, essas estratégias precisam ser construídas de forma diferente das estratégias de alcance ou de tendência em relação ao dinheiro e à gestão de risco.


Uma vez que um viés começou a se estabelecer no mercado, tendências de longo prazo podem se desenvolver. Mais uma vez, essa é uma condição indevida que exige uma abordagem diferente dos mercados de gama ou tendências.


Uma vez que um trader tenha decidido qual condição de mercado deseja construir sua estratégia, então precisa decidir em que prazos deseja analisar e executar suas operações. Em The Time Frames of Trading, exploramos os intervalos mais comuns que os comerciantes podem querer investigar com base nos tempos de espera desejados.


Fomos mais longe para explorar o conceito de Análise de Múltiplos Quadros Temporais, em que os traders podem usar um gráfico de longo prazo para avaliar as tendências gerais ou o sentimento que pode existir em um par de moedas; e, em seguida, usando um gráfico de prazo mais curto para obter uma aparência mais granular ao entrar no negócio.


Vários Intervalos de Análise de Intervalo de Tempo; preparado por James Stanley.


Entrando no comércio.


O próximo passo na construção de uma estratégia é começar a projetar como o trader estará entrando nos negócios. Conforme observamos nas condições de mercado de classificação, o suporte e a resistência podem definir intervalos, definindo, dessa forma, as fugas e, ao mesmo tempo, oferecendo um pouco de assistência com o gerenciamento de riscos em estratégias baseadas em tendências.


Como tal, muitas vezes pode beneficiar o comerciante por ter múltiplos mecanismos para apontar quais desses níveis podem ou não ser pertinentes. Em Como Construir uma Estratégia, Parte 3: Suporte e Resistência, examinamos Price Action, Psychological Whole Numbers, Fibonacci e Pivot Points.


EURUSD interagindo com o nível 1.30 / Created with Marketscope / Trading Station.


Depois que um trader decide que os maneirismos de suporte e resistência devem ser utilizados na estratégia, eles precisam encontrar uma maneira de avaliar a força dos movimentos de preço. Em Como Construir uma Estratégia, Parte 4: Tendências de Classificação, reunimos alguns dos conceitos anteriores de ação de preço, análise de múltiplos períodos de tempo e condições de mercado para ajudar os traders a verem que eles podem avaliar como o rating é forte. uma tendência tem sido.


(Criado com o Trading Station 2.0 / Marketscope)


Em Como Construir uma Estratégia, Parte 5: Gerenciamento de Riscos, analisamos o que muitos traders consideram a parte mais importante da criação, negociação e manutenção de uma abordagem de negociação; e essa é a maneira pela qual os comerciantes estão administrando o risco.


Grande parte desta parte da série foi baseada em torno da pesquisa realizada pelo DailyFX no estudo de pesquisa Traits of Successful Traders.


Na série DailyFX Traits of Successful Traders, os resultados reais de traders reais em mais de 12 milhões de negociações foram analisados ​​em um esforço para descobrir o que funcionou melhor e como os traders poderiam trabalhar em direção a esses resultados.


Analisamos o fato de que, embora muitos operadores possam ganhar com mais frequência do que perdem (com uma porcentagem vencedora maior que 50%), foi o valor de seus ganhos e / ou perdas que muitas vezes predicariam seu sucesso ou fracasso nos mercados. Depois, falamos sobre o uso de índices de risco para recompensa, nos quais o negociador pode ganhar mais se estiver certo do que poderia perder se estiver errado. A figura abaixo mostrará uma relação de risco para recompensa de 1 para 2:


Relação de risco para recompensa de 1 para 2, conforme ilustrado na FXCM Trading Station II.


Em seguida, passamos a investigar o conceito de alavancagem, conforme descrito em "Quanto eu deveria negociar no mercado de câmbio", de Jeremy Wagner. Esta foi a quarta e última parcela da série Traits of Successful Traders, e fornece algumas informações muito perspicazes.


A partir do gráfico, podemos ver que os operadores com saldos maiores (entre US $ 5.000 e US $ 9.999) usaram níveis mais baixos de alavancagem (mostrados na parte inferior do gráfico); e esses níveis mais baixos de alavancagem permitiram maior lucratividade.


Os comerciantes que usam alavancagem de 5: 1 foram lucrativos 37,37% do tempo, enquanto os comerciantes com saldos abaixo de US $ 1.000 estavam usando, em média, alavancagem de 26: 1 & ndash; e só foram rentáveis ​​20,91% do tempo. Este é um desvio massivo, já que os traders que usam uma taxa de alavancagem moderada de 5: 1 foram lucrativos 78% mais frequentemente do que os traders que usam alavancagem de 26: 1.


sugere que & lsquo; os comerciantes devem procurar usar uma alavancagem efetiva de 10-para-1 ou menos.


Quando executar sua estratégia.


Até este ponto, cobrimos muitas das áreas pelas quais os investidores gostariam de procurar ao criar suas estratégias. Talvez tão importante, se não mais, & ndash; é quando realmente estaremos negociando a estratégia que estamos criando.


Um dos principais diferenciais do mercado de câmbio é o fato de que ele não fecha. Discutimos este tópico em detalhes no artigo & lsquo; Negociando o mundo. & Rsquo;


Mapeamento da natureza de 24 horas do mercado de câmbio; de Trading the World, de James Stanley.


Embora o mercado esteja aberto 24 horas por dia, a ação do preço pode assumir diferenças marcadamente diferentes. com base em que hora do dia e onde a luidez está sendo oferecida.


Por exemplo, a sessão asiática é geralmente considerada como oferecendo uma ação de preço mais lenta, com maior adesão ao apoio e resistência e menor potencial para grandes movimentos. Por causa disso, os operadores que procuram executar estratégias baseadas em intervalos podem ser mais bem servidos concentrando suas entradas na sessão asiática.


Às 03:00 ET, a luidez começa a chegar de Londres, que muitos comerciantes consideram ser o coração. do mercado de câmbio. Londres é o maior centro de mercado, traz a maior parte, e logo após os grandes movimentos abertos podem ser testemunhados nos principais pares de moedas. Os comerciantes que anteriormente estavam executando estratégias de alcance na sessão asiática gostariam de ser cautelosos aqui, pois o apoio e a resistência podem ser quebrados com muito mais facilidade com o ataque da luidez vinda de Londres. Comerciantes que executam estratégias de breakout podem frequentemente encontrar os mercados rápidos e voláteis que estão procurando após o London Open.


Às 8h, quando os Estados Unidos abrem para os negócios, ainda mais fluidez flui para o mercado de câmbio. Este período é considerado a sobreposição, & rsquo; quando ambos os centros de mercado de Londres e Nova York estão negociando; e esse é frequentemente o período mais volumoso do dia no mercado de câmbio. Movimentos rápidos podem ser abundantes, volatilidade extremamente alta, já que o potencial para reversões pode denegrir até mesmo as estratégias de alcance mais fortes.


Depois de Londres fechar o dia, o sabor da sessão dos EUA pode mudar um pouco. Os movimentos médios por hora podem diminuir e a ação do preço pode começar a diminuir. A Sessão dos EUA pode assumir tons do que é geralmente exibido na sessão asiática: movimentos lentos de preços acentuados por um maior grau de respeito por níveis de suporte e resistência previamente definidos.


Indicador personalizado de Tradesessions para a Trading Station.


--- Escrito por James B. Stanley.


Você pode seguir James no Twitter @JStanleyFX.


Para se juntar à lista de distribuição de James Stanley, por favor clique aqui.


Expert Advisor Universal: o Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)


Introdução.


O artigo contém uma descrição adicional do mecanismo de negociação universal CStrategy. No primeiro artigo Conselheiro Especialista Universal: Modos de Negociação de Estratégias (Parte 1), discutimos em detalhes os modos e funções de negociação que permitem implementá-los. Analisamos um esquema de Expert Advisor universal que consiste em quatro métodos, dois dos quais abrem novas posições e os outros dois métodos os fecham. Diferentes combinações de chamadas de método definem um modo de negociação específico. Por exemplo, um Expert Advisor pode ser permitido somente para Sell ou Buy, pode gerenciar posições abertas anteriormente ou esperar. Usando esses modos, uma operação do Expert Advisor pode ser configurada de maneira flexível, dependendo do horário de negociação ou do dia da semana.


No entanto, os modos de negociação não são a única coisa que um Expert Advisor pode precisar. Na segunda parte, discutiremos o modelo de evento do modo de negociação CStrategy baseado no tratamento de eventos centralizado. O esquema de manipulação de eventos proposto difere dos eventos do sistema em que todos os eventos são reunidos em um único local. As vantagens de tal implementação serão consideradas mais tarde.


Além disso, este artigo descreve duas classes importantes do mecanismo de negociação - CStrategy e CPosition. O primeiro é o núcleo de toda a lógica de negociação do EA, ele une eventos e modos em um único framework flexível que o EA personalizado herda diretamente. A segunda classe é a base das operações comerciais universais. Ele contém ações aplicadas a uma posição aberta (como fechamento de uma posição ou modificação de seu Stop Loss ou Take Profit). Isso permite formalizar todas as ações de negociação e torná-las independentes de plataforma.


Por favor, note que todas as características específicas de trabalhar com o motor, que você terá que cumprir, são criadas para o seu benefício. Por exemplo, a pesquisa usual por posições e acesso a eventos do sistema não está disponível para a estratégia. Portanto, não há necessidade de se preocupar com a sequência de ações e sobre qual manipulador usar para manipular o evento. Em vez disso, a CStrategy oferece um EA customizado para se concentrar em sua lógica de negociação, realizando a implementação dessas e de muitas outras operações.


Mecanismos de negociação semelhantes aos descritos são projetados para usuários comuns, permitindo que eles usem facilmente a funcionalidade desejada. Você não precisa analisar os detalhes dos algoritmos descritos. Você deve entender apenas os princípios gerais e a funcionalidade do CStrategy. Portanto, se você achar algumas partes do artigo difíceis de entender, fique à vontade para ignorá-las.


Modelo de evento baseado no processamento centralizado, ENUM_MARKET_EVENT_TYPE.


5 fornece muitos eventos. Esses eventos incluem notificações de alterações nos preços de mercado (NewTick, BookEvent) e eventos do sistema, como Timer ou TradeTransaction. Uma função do sistema com o mesmo nome e o prefixo On * está disponível para cada evento. Esta função é o manipulador deste evento. Por exemplo, se você quiser lidar com a chegada de um novo tick, adicione um conjunto apropriado de procedimentos à função OnTick:


Quando OnBookEvent ocorre, outra unidade do código que manipula as alterações nos preços do livro de ofertas (Profundidade de mercado) deve ser chamada:


Com essa abordagem, quanto mais eventos forem tratados pelo nosso Expert Advisor, mais fragmentada será a sua lógica. As condições para abertura e fechamento de posição podem ser separadas em diferentes unidades. Do ponto de vista da programação eficiente, a separação em diferentes unidades pode ser uma boa solução, mas essa abordagem é indesejável no nosso caso. Pelo contrário, uma solução melhor é reunir a lógica de negociação em um local especialmente alocado.


Além disso, alguns eventos não são suportados em 5. Neste caso, o Expert Advisor deve detectar a ocorrência de condições por conta própria. Por exemplo, 5 não tem evento que lide com a abertura de uma nova barra. Enquanto isso, é a verificação mais usada pelos Expert Advisors. Portanto, o modelo de evento do mecanismo de negociação descrito suporta não apenas eventos do sistema, mas também eventos personalizados (não confundir com os eventos do usuário no gráfico), o que facilita muito o desenvolvimento de Expert Advisors. Por exemplo, um desses eventos é a criação de uma nova barra no gráfico.


Para entender o modelo de evento proposto, vamos descrever os eventos relacionados às alterações de preço ou horário usando a enumeração especial ENUM_MARKET_EVENT_TYPE:


Como você pode ver, a enumeração inclui a descrição de ambos os eventos do sistema e o evento que não é suportado diretamente em 5 (MARKET_EVENT_BAR_OPEN - abertura de uma nova barra do símbolo de trabalho do EA).


Suponha que nosso Expert Advisor universal tenha quatro métodos de lógica de negociação: InitBuy, InitSell, SupportBuy, SupportSell. Descrevemos esses métodos na primeira parte do artigo "Expert Advisor Universal". Se um dos valores de enumeração for usado como um parâmetro nesses métodos, a lógica de processamento do EA poderá, a qualquer momento, descobrir o evento, com base na qual o método foi chamado. Vamos descrever um esquema simplificado do Expert Advisor:


Os eventos que indicam mudanças nos preços de mercado chamam a mesma função CallExpertMagic, para a qual o evento atual é passado como um parâmetro. Essa função, por sua vez, chama os quatro métodos do CExpert. Quando chamado, cada um desses métodos imprime seu nome e o identificador do evento que causou sua chamada. Se você executar este Expert Advisor em um gráfico, os registros apropriados indicando que os IDs do evento foram processados ​​serão exibidos após algum tempo:


Acesso a Eventos Ocorridos em Outros Instrumentos, a Estrutura MarketEvent.


Ao projetar um sistema de negociação que analise vários símbolos, você precisa criar um mecanismo que possa rastrear as alterações nos preços de vários instrumentos. No entanto, a função OnTick padrão é chamada apenas para um novo tick do instrumento em que o Expert Advisor está sendo executado. Por outro lado, os desenvolvedores de sistemas de negociação podem usar a função OnBookEvent que responde a alterações no livro de ofertas (Profundidade do mercado). Ao contrário do OnTick, OnBookEvent é chamado para qualquer alteração na carteira de pedidos do instrumento, para o qual você se inscreveu usando a função MarketBookAdd.


As alterações no livro de pedidos acontecem com muita frequência, por isso o monitoramento desse evento é um procedimento intensivo de recursos. Como regra geral, monitorar as alterações no fluxo de escala do símbolo requerido é suficiente para Expert Advisors. Por outro lado, o evento da mudança do livro de ofertas também inclui a chegada de um novo tick. Além de OnBookEvent, você pode configurar chamadas de OnTimer em intervalos especificados e analisar as alterações de preço de vários símbolos nesta função.


Assim, nas funções do sistema que reagem aos eventos NewTick, BookEvent e Timer, você pode adicionar uma chamada de algum módulo intermediário (vamos chamá-lo EventProcessor), que analisaria simultaneamente as alterações nos preços de vários instrumentos e geraria um evento apropriado. Cada evento teria uma descrição unificada na forma de uma estrutura e seria enviada pelos métodos de controle da estratégia. Tendo recebido um evento apropriado como estrutura, a estratégia reagiria ou ignoraria. Nesse caso, a função do sistema que realmente iniciou o evento para o Expert Advisor final seria desconhecida.


De fato, se um Expert Advisor receber uma notificação de um novo tick recebido, não importa se a informação é recebida através do OnTick, OnTimer ou OnBookEvent. A única coisa que importa é que há um novo tick para o símbolo especificado. Um manipulador de eventos pode ser usado para muitas estratégias. Por exemplo, se cada estratégia é representada como uma classe personalizada, várias instâncias dessas classes podem ser armazenadas na lista especial de estratégias. Nesse caso, qualquer estratégia da lista poderá receber um novo evento gerado pelo EventProcessor. O diagrama a seguir mostra como os eventos são gerados e enviados:


Fig. 1. Diagrama da geração e envio de eventos.


Agora vamos considerar a estrutura real que será passada para Expert Advisors como um evento. A estrutura é chamada MarketEvent, sua definição é a seguinte:


Depois de receber uma instância da estrutura por referência, o método que faz uma decisão comercial será capaz de analisá-la e tomar a decisão correta com base nas seguintes informações:


o tipo do evento o cronograma do gráfico, no qual o evento ocorreu o nome do instrumento, no qual o evento ocorreu.


Se a análise do cronograma do gráfico for inútil para um evento (por exemplo, NewTick ou Timer), o campo de período da estrutura MarketEvent sempre será preenchido com o valor PERIOD_CURRENT.


O evento "New Bar". Novos Algoritmos de Detecção de Barras e Barras.


A fim de rastrear novos ticks e formação de novas barras em múltiplos instrumentos, precisaremos escrever classes de módulos apropriadas implementando esta tarefa. Esses módulos são partes internas da classe CStrategy e o usuário não interage diretamente com eles. O primeiro módulo a considerar é a classe CTickDetector. O código fonte da classe está disponível abaixo:


Seu principal método usado é o IsNewTick. Retorna true se um novo tick do símbolo monitorado foi recebido. O instrumento financeiro a monitorar é definido usando o método Symbol. A classe CTickDetector é derivada do CObject. Portanto, ele pode ser adicionado como um elemento da coleção CArrayObj. É disso que precisamos. Por exemplo, podemos criar dez cópias do CTickDetect, cada uma delas monitorará seu próprio símbolo. Referindo-se consistentemente à coleção de classes do tipo CArrayObj, você pode descobrir rapidamente o símbolo no qual o novo tick foi formado e, em seguida, gerar o evento correspondente que passaria essas informações para a coleção de Expert Advisors.


Como já mencionado, além dos novos carrapatos, muitas vezes é necessário determinar o surgimento de novas barras. É melhor entregar essa tarefa para a classe especial CBarDetector. Ele funciona de maneira semelhante ao CTickDetector. O método principal do CBarDetector é IsNewBar - o método retorna true, se houver uma nova barra do instrumento, cujo nome foi especificado anteriormente usando o método Symbol. Seu código-fonte é o seguinte:


A Classe CPosition5 - a Base do Algoritmo Independente de Plataforma.


Agora é hora de analisar uma das classes mais importantes que fornecem a operação dos Expert Advisors universais. Esta classe inclui métodos para trabalhar com posições em 5. De um ponto de vista técnico, é muito simples. É uma classe de invólucro que atua como um intermediário entre um Expert Advisors e funções do sistema relacionadas a operações com posições em 5 - PositionSelect e PositionGet. No entanto, implementa uma importante função das classes oferecidas - independência de plataforma.


Analisando cuidadosamente todos os módulos descritos acima, podemos concluir que eles não usam funções que são específicas apenas para uma plataforma de negociação (4 ou 5). Isto é verdade porque as versões modernas de 4 e 5 são, na verdade, uma e a mesma linguagem de programação com diferentes conjuntos de funções. Conjuntos específicos de funções para as duas plataformas estão principalmente relacionados com a gestão de posições de negociação.


Naturalmente, todos os Expert Advisors usam funções de gerenciamento de posição. No entanto, se em vez dessas funções, um Expert Advisor usasse uma única interface abstrata na forma de uma classe de posição, seria possível (pelo menos teoricamente) desenvolver um robô de negociação que pudesse ser compilado para 4 e 5 sem nenhuma alteração. em seu código-fonte. Tudo o que precisamos fazer é desenvolver algumas classes alternativas que implementem o trabalho com posições. Uma classe usará 4 funções, a outra usará funções de 5. No entanto, ambas as classes fornecerão o mesmo conjunto de métodos para o Expert Advisor final, fornecendo assim "independência de plataforma".


Na prática, no entanto, o problema da criação de um Expert Advisor independente de plataforma é um pouco mais complicado e requer um artigo separado. Este seria um material bastante extenso, por isso não iremos discuti-lo neste artigo, pois será considerado em outras partes.


O segundo argumento em favor da classe especial que representa uma posição aberta da estratégia é que cada posição é gerenciada individualmente. O mecanismo de negociação percorre a lista de posições e passa cada uma delas para a lógica do Expert Advisor. Assim, alcançamos máxima flexibilidade: o Expert Advisor gerencia cada posição individualmente e, assim, torna-se possível descrever regras para estratégias que gerenciam mais de uma posição de negociação. Claro, você pode ter apenas uma posição em 5. Mas se nós portarmos o mecanismo de negociação para a plataforma 4, esses recursos se tornam muito importantes.


Aqui está o código fonte desta classe. É simples e direto:


Como você pode ver, a tarefa principal da classe é retornar uma propriedade particular das posições abertas no momento. Além disso, a classe fornece vários métodos para gerenciar a posição atual: fechamento, alteração de Take Profit e Stop Loss.


Protótipo de estratégia de negociação - a classe CStrategy.


Nós consideramos vários módulos que executam tarefas comuns. Também analisamos o modelo de evento, o modelo de tomada de decisão e o algoritmo de ação de um Expert Advisor típico. Agora precisamos combinar as informações em um único módulo de Expert Advisors - a classe CStrategy. É para executar várias tarefas. Aqui estão alguns deles:


Organizando uma única sequência de ações de negociação para todas as estratégias baseadas no CStrategy. Identificar os eventos Timer, NewTick, BookEvent, NewBar e passá-los para uma estratégia personalizada. Implementando fácil acesso a citações de símbolos com base no modelo 4. Gerenciando modos de negociação. Acessando informações sobre posições abertas e recebendo estatísticas sobre elas.


O CStrategy é bem de classe grande, então não vamos publicar o código fonte completo aqui. Em vez disso, nos concentraremos nos algoritmos mais importantes da classe. A primeira coisa que vamos considerar é o seu modelo de evento. Nós já sabemos sobre esse modelo. Agora só precisamos considerar um processo de recebimento de eventos e entregá-los a uma determinada estratégia. O CStrategy é uma classe pai da nossa estratégia futura. Conseqüentemente, estamos familiarizados com seus métodos que notificam o recebimento de eventos apropriados:


Por favor, note que todos os manipuladores de eventos, exceto OnTradeTransaction, não são virtuais. Isso significa que Tick, Timer ou BookEvent não podem ser manipulados diretamente no nível da estratégia. Em vez disso, eles são manipulados pelo CStrategy. O evento TradeTransaction não é usado nesta classe, portanto, é virtual.


Abaixo estão os conteúdos do OnTick, OnTimer e OnBookEvent:


Como mencionado acima, o evento do sistema NewTick aplica-se apenas ao instrumento, no qual o Expert Advisor atual está sendo executado. Se quisermos que o NewTick seja um evento com vários símbolos, devemos usar um manipulador especial de novos ticks e rastrear o surgimento de novas barras. Esta tarefa é delegada a métodos fechados apropriados: NewBarDetect e NewTickDetect. Abaixo está o código fonte:


Os métodos realmente verificam detectores de novos ticks e barras (as classes CTickDetector e CBarDetector descritas acima). Cada um desses detectores é configurado pela primeira vez para o instrumento financeiro que o Expert Advisor efetivamente negocia. Se uma nova marca ou barra aparecer, os métodos especiais CallSupport e CallInit são chamados, que então chamam os métodos de negociação da estratégia específica.


O algoritmo geral dos manipuladores de eventos, incluindo NewBarsDetect e NewTickDetect, é o seguinte:


detectar a ocorrência de um novo evento; preenchendo a estrutura MarketEvent com uma especificação do ID de evento apropriado e seus atributos; chamando o método CallSupport, que chama o SupportBuy virtual e SupportSell com o evento passado para o método; Da mesma forma, chamar o método CallInit, que chama o InitBuy virtual e InitSell com o evento passado para o método.


Para entender como o controle é passado para uma determinada estratégia, precisamos considerar os métodos CallInit e CallSupport. Aqui está o código fonte do CallInit:


O método recebe o estado de negociação do módulo m_state (da classe CTradeState descrita no primeiro artigo) e decide se é possível chamar novos métodos de inicialização de posição para o estado comercial fornecido. Se o estado comercial proibir a negociação, esses métodos não serão chamados. Caso contrário, eles são chamados com uma indicação do evento, o que causou a chamada de CallInit o método.


O CallSupport funciona de forma semelhante, mas sua lógica é um pouco diferente. Aqui está o código fonte:


De maneira semelhante, o método recebe o estado comercial atual do Expert Advisor. Se permitir a mudança para o gerenciamento de posição, o método começará a procurar por todas as posições abertas no momento. Essas posições são representadas pela classe especial CPosition. Tendo recebido acesso a cada posição, o método compara seu número mágico com o número mágico do Expert Advisor atual. Uma vez encontrada uma correspondência, os métodos apropriados de gerenciamento de posição são chamados: SupportBuy para uma posição longa e SupportSell para uma curta.


Conclusão.


Examinamos todos os principais módulos da classe CStrategy, através dos quais ela fornece ampla funcionalidade para uma estratégia customizada. Uma estratégia derivada dessa classe pode operar com cotações de preços e eventos comerciais. Além disso, a estratégia obtém uma sequência unificada de ação de negociação herdada da classe CStrategy. Nesse caso, a estratégia pode ser desenvolvida como um módulo separado, que descreve apenas operações e regras de negociação. Esta solução ajuda a reduzir significativamente o esforço investido no desenvolvimento do algoritmo de negociação.


No próximo artigo "Conselheiro Especialista Universal: Estratégias Customizadas e Classes Auxiliares de Comércio (Parte 3)", discutiremos o processo de desenvolvimento de estratégias com base nos algoritmos descritos.


Traduzido do russo por MetaQuotes Software Corp.


Uma estratégia simples, mas eficaz para negociar as notícias.


Negociar as notícias pode ser muito lucrativo se você puder adivinhar corretamente para onde o preço vai se mover. O preço pode movimentar 30 ou 40 pips muito rapidamente em grandes comunicados de imprensa, mas saber para que lado vai mudar é uma aposta, então a maioria dos traders não troca as notícias, já que é muito arriscado, e você geralmente fica parado. , como o preço se move para um lado e depois para o outro. A maioria dos traders experimentou esse efeito de whipsaw, quando o preço sobe e desce muito rapidamente, ou cai para cima. Então, parece que não importa de que maneira você negocie, você sempre parece ser interrompido.


Agora eu olho para os mercados de uma maneira muito diferente para 95% dos traders por aí, e sempre posso ver uma oportunidade em qualquer que seja o mercado que me ofereça. Quando você entende por que o mercado se move como ele, você pode lucrar com quase qualquer cenário de negociação, e negociar a notícia é provavelmente uma das coisas mais difíceis de ganhar dinheiro, se você não entender o que está acontecendo com o preço. Agora eu não vou entrar nos prós e contras da ação de preço, e como eu uso isto, mas eu gostaria de lhe dar uma estratégia simples mas efetiva para trocar as notícias.


Agora, o problema de negociar a notícia é parar as perdas. Quando a maioria dos comerciantes entra em negociações, eles definem um stop loss. Esse stop loss pode ser de 10 pips a 30 pips ou mais se você estiver trocando prazos mais altos. Agora, se você está negociando as notícias no período de 15 minutos, e você definir um stop loss quão grande deve ser? 10 pips, 20 pips, 30 pips, mais? Quem sabe? Eu certamente não, como eu não sei o quão grande o movimento vai ser? Então, se você não sabe o quão grande o movimento vai ser, como você pode definir um stop loss? Você pode definir um stop loss acima de uma alta recente, ou abaixo de uma baixa recente, mas um grande whipsaw como o da captura de tela ainda vai acabar com você. Então, o que você faz? Como você pode lucrar com um movimento como esse? Bem, eu vou lhe dizer agora.


Se você pensar sobre o que acontece em um whipsaw, o preço sobe, pára para fora os comerciantes curtos, o preço desce, pára os comerciantes longos. Agora você sabe que o preço está subindo, para parar de bermudas, e você sabe que ele está indo parar com os longos, então é isso que você pode fazer. Você pode entrar em 2 negociações, uma longa, uma curta, o mais próximo possível do preço médio do movimento que leva até o whipsaw. Se você olhar a imagem, esta seria a linha preta do meio. Você define um take profit em ambos os negócios de 10 a 15 pips para ser seguro. Você pode ir para mais se a notícia for grande, e você vai obter uma maior whipsaw, uma decisão de taxa de juros por exemplo.


Agora, a parte importante é não definir um stop loss. Seu lucro se torna o stop loss. A maioria dos comerciantes vai negociar isso com um stop loss, você pode trocá-lo com um take profit em vez de um stop loss. O preço sobe, atinge seu lucro, o preço cai, seu lucro. À medida que o preço está atingindo outros comerciantes, acabam com as perdas, atingindo seus lucros. Mas porque você está negociando sem um stop loss, não importa o preço que o caminho vai primeiro, você não vai ficar parado, você só vai ter o seu lucro de take hit.


Agora, há algumas coisas importantes que você precisa conhecer antes de considerar se deve usar esse tipo de estratégia. O comunicado de imprensa deve ser um lançamento de alto impacto, NFP, decisão de taxa de juros, FOMC etc. Então você sabe que o whipsaw é um movimento de alta probabilidade. O mercado também tem que estar se movendo em um intervalo apertado antes que a notícia seja divulgada. Isto é muito importante. Dessa forma, as paradas são de fácil alcance do whipsaw. Se o preço subiu ou diminuiu antes do lançamento, então é menos provável que ocorra o efeito de serragem. Se você tem o range apertado que precisa, você deve inserir o mais próximo do preço médio possível, para que você não fique exposto no final do intervalo. Se você é, seu lucro de 10 ou 15 pip pode não ser atingido em ambas as direções.


Outra coisa que você também pode considerar para maximizar seu lucro é negociar essa estratégia em vários pares. Se a notícia estiver relacionada ao dólar, você pode negociar todos os pares de dólares, se o euro estiver relacionado, você pode negociar todos os pares de euro, etc. Negociar vários pares também irá espalhar o seu risco um pouco, apenas no caso de você não obter o whipsaw em todos os pares. Contanto que você obtenha na maioria, você ainda pode fazer muitos pips, e seu lucro deve ser atingido de uma forma ou de outra. Se você não conseguir o whipsaw em cada par, apenas tire o outro trade o mais próximo possível do breakeven. Se você está entrando no preço médio que não deve ser muito difícil de obter.


Muito da minha negociação é baseada na lógica do mercado, e essa estratégia é uma maneira lógica de negociar esse tipo de comunicado à imprensa. Espero que tenha sido uma leitura agradável, e fez você pensar sobre o mercado de forma um pouco diferente. Ganhar dinheiro com negociações é entender o que está acontecendo no gráfico e pensar fora da caixa.


Este artigo foi escrito apenas para entretenimento, e eu não faço nenhuma recomendação para negociar essa estratégia ou qualquer outra estratégia. Não conheço a sua experiência de negociação ou a sua situação financeira e não estou qualificado para dar conselhos de investimento. Atenciosamente, Rob Taylor.


Os prós e contras de sistemas de negociação automatizados.


Investidores e investidores podem transformar regras precisas de entrada, saída e gerenciamento de dinheiro em sistemas de negociação automatizados que permitem que os computadores executem e monitorem os negócios. Uma das maiores atrações da automação estratégica é que ela pode tirar um pouco da emoção do comércio, já que as negociações são feitas automaticamente quando certos critérios são atendidos. Este artigo irá apresentar aos leitores e explicar algumas das vantagens e desvantagens, bem como as realidades, dos sistemas de negociação automatizados. (Para leitura relacionada, consulte O poder das operações do programa.)


O que é um sistema de negociação automatizado?


[Sistemas de negociação automatizados podem usar diversos indicadores técnicos para definir pontos de entrada e saída. O Curso de Análise Técnica da Investopedia fornece uma visão geral detalhada desses indicadores técnicos e padrões gráficos que os traders podem usar ao criar sistemas de negociação automatizados.]


Algumas plataformas de negociação têm "wizards" de construção de estratégias que permitem aos usuários fazerem seleções de uma lista de indicadores técnicos comumente disponíveis para construir um conjunto de regras que podem ser automaticamente negociadas. O usuário pode estabelecer, por exemplo, que uma negociação longa será registrada quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias em um gráfico de cinco minutos de um determinado instrumento de negociação. Os usuários também podem inserir o tipo de pedido (mercado ou limite, por exemplo) e quando a negociação será acionada (por exemplo, no fechamento da barra ou abertura da próxima barra) ou usar as entradas padrão da plataforma. Muitos comerciantes, no entanto, optam por programar seus próprios indicadores e estratégias personalizados, ou trabalhar em estreita colaboração com um programador para desenvolver o sistema. Embora isso normalmente exija mais esforço do que usar o assistente da plataforma, ele permite um grau muito maior de flexibilidade e os resultados podem ser mais recompensadores. (Infelizmente, não existe uma estratégia de investimento perfeita que garanta o sucesso. Para mais, consulte Uso de indicadores técnicos para desenvolver estratégias comerciais.)


Uma vez que as regras tenham sido estabelecidas, o computador pode monitorar os mercados para encontrar oportunidades de compra ou venda com base nas especificações da estratégia de negociação. Dependendo das regras específicas, assim que uma transação for efetuada, quaisquer ordens para perdas de parada de proteção, paradas finais e metas de lucro serão automaticamente geradas. Em mercados de rápido movimento, essa entrada instantânea de pedidos pode significar a diferença entre uma pequena perda e uma perda catastrófica no caso de a negociação se mover contra o comerciante.


Vantagens dos Sistemas de Negociação Automatizada.


Há uma longa lista de vantagens em ter um computador monitorando os mercados para oportunidades de negociação e executando as negociações, incluindo:


Minimize Emoções. Sistemas automatizados de negociação minimizam as emoções durante todo o processo de negociação. Ao manter as emoções sob controle, os operadores normalmente têm mais facilidade em aderir ao plano. Uma vez que as ordens de negociação são executadas automaticamente uma vez cumpridas as regras de negociação, os comerciantes não poderão hesitar ou questionar o negócio. Além de ajudar os operadores que têm medo de "puxar o gatilho", a negociação automatizada pode refrear aqueles que estão aptos a fazer overtrade - comprar e vender em todas as oportunidades percebidas.


Capacidade de backtest. O backtesting aplica regras de negociação a dados históricos do mercado para determinar a viabilidade da ideia. Ao projetar um sistema para negociação automatizada, todas as regras precisam ser absolutas, sem espaço para interpretação (o computador não pode fazer suposições - deve ser dito exatamente o que fazer). Os comerciantes podem tomar esses conjuntos de regras e testá-los em dados históricos antes de arriscar dinheiro em negociações ao vivo. Um backtesting cuidadoso permite que os traders avaliem e ajustem uma ideia de negociação e determinem a expectativa do sistema - a quantia média que um trader pode esperar ganhar (ou perder) por unidade de risco. (Oferecemos algumas dicas sobre esse processo que podem ajudar a refazer suas estratégias de negociação atuais. Para mais, consulte Backtesting: Interpreting the Past.)


Preserve a disciplina. Como as regras comerciais são estabelecidas e a execução comercial é realizada automaticamente, a disciplina é preservada mesmo em mercados voláteis. Frequentemente, a disciplina é perdida devido a fatores emocionais, como o medo de sofrer uma perda ou o desejo de lucrar um pouco mais com o comércio. A negociação automatizada ajuda a garantir que a disciplina seja mantida porque o plano de negociação será seguido exatamente. Além disso, o erro do piloto é minimizado e uma ordem para comprar 100 ações não será inserida incorretamente como uma ordem para vender 1.000 ações.


Conseguir consistência. Um dos maiores desafios na negociação é planejar o comércio e negociar o plano. Mesmo que um plano de negociação tenha o potencial de ser lucrativo, os operadores que ignoram as regras estão alterando qualquer expectativa que o sistema teria. Não existe um plano de negociação que ganhe 100% do tempo - as perdas fazem parte do jogo. Mas as perdas podem ser psicologicamente traumatizantes, de modo que um operador que tenha dois ou três negócios perdedores seguidos pode decidir pular a próxima negociação. Se esta próxima negociação tiver sido um vencedor, o trader já destruiu qualquer expectativa que o sistema tivesse. Os sistemas de negociação automatizados permitem que os negociadores alcancem consistência negociando o plano. (É impossível evitar um desastre sem regras de negociação. Para mais, veja 10 passos para construir um plano de negociação vencedor).


Velocidade de entrada de pedido aprimorada. Como os computadores respondem imediatamente às mudanças nas condições de mercado, os sistemas automatizados são capazes de gerar pedidos assim que os critérios de negociação são atendidos. Entrar ou sair de uma negociação alguns segundos antes pode fazer uma grande diferença no resultado da negociação. Assim que uma posição é inserida, todos os outros pedidos são gerados automaticamente, incluindo perdas de parada de proteção e metas de lucro. Os mercados podem se mover rapidamente, e é desmoralizante ter uma negociação atingindo a meta de lucro ou ultrapassar um nível de stop loss - antes que os pedidos possam ser inseridos. Um sistema de negociação automatizado impede que isso aconteça.


Desvantagens e Realidades dos Sistemas de Negociação Automatizada.


Os sistemas de negociação automatizados possuem muitas vantagens, mas existem algumas quedas e realidades às quais os investidores devem estar cientes.


Falhas mecânicas. A teoria por trás da negociação automatizada faz com que pareça simples: configurar o software, programar as regras e assisti-lo ao comércio. Na realidade, porém, a negociação automatizada é um método sofisticado de negociação, mas não infalível. Dependendo da plataforma de negociação, uma ordem de negociação pode residir em um computador - e não em um servidor. O que isso significa é que, se uma conexão com a Internet for perdida, um pedido pode não ser enviado ao mercado. Também pode haver uma discrepância entre os "negócios teóricos" gerados pela estratégia e o componente da plataforma de entrada de pedidos que os transforma em transações reais. A maioria dos traders deve esperar uma curva de aprendizado ao usar sistemas de negociação automatizados, e geralmente é uma boa ideia começar com pequenos tamanhos de negociação enquanto o processo é refinado.


Monitorização Embora seja ótimo ligar o computador e sair para o dia, os sistemas de negociação automatizados exigem monitoramento. Isso ocorre devido ao potencial de falhas mecânicas, como problemas de conectividade, perdas de energia ou falhas no computador, além de peculiaridades do sistema. É possível que um sistema de negociação automatizado enfrente anomalias que possam resultar em pedidos incorretos, pedidos ausentes ou pedidos duplicados. Se o sistema for monitorado, esses eventos podem ser identificados e resolvidos rapidamente.


Os comerciantes têm a opção de executar seus sistemas de negociação automatizados através de uma plataforma de negociação baseada em servidor, como o Strategy Runner. Essas plataformas frequentemente oferecem estratégias comerciais para venda, um assistente para que os operadores possam projetar seus próprios sistemas ou a capacidade de hospedar sistemas existentes na plataforma baseada em servidor. Por uma taxa, o sistema de negociação automatizado pode procurar, executar e monitorar negociações - com todos os pedidos residindo em seu servidor, resultando em entradas de pedidos potencialmente mais rápidas e confiáveis.


Embora apelando para uma variedade de fatores, os sistemas de negociação automatizados não devem ser considerados substitutos para negociações executadas com cuidado. Falhas mecânicas podem acontecer e, como tal, esses sistemas exigem monitoramento. As plataformas baseadas em servidor podem fornecer uma solução para os comerciantes que desejam minimizar os riscos de falhas mecânicas. (Para leitura relacionada, consulte Estratégias de negociação diurna para iniciantes.)

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

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