воскресенье, 17 июня 2018 г.

Estratégia de execução de negociação


Negociação algorítmica: estratégias para otimizar a execução comercial.


Robert Kissell, Kissell Research Group.


Robert Kissell fornece uma visão geral de como o MATLAB pode ser usado pelo profissional da indústria para melhorar a qualidade do comércio e os retornos de portfólio em todas as fases do ciclo de investimento. Ele fornece exemplos práticos e um estudo de caso utilizando as funções de análise de custo de transações (TCA) lançadas recentemente pela MATLAB para ajudar os gerentes de portfólio, comerciantes e analistas a desenvolver estratégias para reduzir os custos de negociação e gerenciar melhor o risco de negociação. Sua apresentação mostrará como o MATLAB está atualmente sendo usado para calcular:


Impacto do mercado (por tempo de comércio, taxa de POV e cronograma de comércio) Cronograma de risco para um cronograma de comércio Análise de estoque (Tamanho, Volatilidade, Tempo, Otimização) Curvas de custo de estoque de construção Análise de custo de liquidação e Análise de sensibilidade.


Sobre o apresentador.


Robert é o presidente e fundador do Kissell Research Group. Possui mais de 20 anos de experiência profissional especializada em economia, modelagem quantitativa, análise estatística e gerenciamento de riscos. Ele aconselha e consulta gestores de carteiras em todo os Estados Unidos e a Europa em gerenciamento adequado de riscos, análise de negociação e técnicas de construção de portfólio. Ele é o autor dos principais livros da indústria Optimal Trading Strategies, The Science of Algorithmic Trading & amp; Gestão de Carteira e Gerenciamento de Riscos Multi-ativos. Robert publicou numerosos trabalhos de pesquisa sobre estratégias de negociação, negociação algorítmica, gerenciamento de riscos e melhor execução. Seu artigo "Modelos Dinâmicos Pré-Comerciais: além da Caixa Negra" ganhou o Prêmio de Prestígio Institucional do Prestigio do Ano.


Foco no produto.


Outros recursos.


Produtos relacionados.


Vídeos e Webinars relacionados.


Escolha o seu país.


Escolha o seu país para obter conteúdo traduzido, quando disponível, e veja eventos e ofertas locais. Com base na sua localização, recomendamos que você selecione:.


Você também pode selecionar um local da seguinte lista:


América Latina (Español) Canadá (Inglês) Estados Unidos (Inglês)


Bélgica (Inglês) Dinamarca (Inglês) Deutschland (Deutsch) España (Español) Finlândia (Inglês) França (Français) Irlanda (Inglês) Italia (Italiano) Luxemburgo (Inglês)


Holanda (Inglês) Noruega (Inglês) Österreich (Deutsch) Portugal (Inglês) Suécia (English) Suíça Deutsch English Français Reino Unido (Inglês)


Ásia-Pacífico.


Austrália (Inglês) Índia (Inglês) Nova Zelândia (Inglês) 中国 (简体 中文) 日本 (日本語) 한국 (한국어)


Explore produtos.


Experimente ou compre.


Aprenda a usar.


Obter Suporte.


Sobre o MathWorks.


Acelerando o ritmo da engenharia e da ciência.


MathWorks é o principal desenvolvedor de software de computação matemática para engenheiros e cientistas.


Negociação algorítmica: estratégias para otimizar a execução comercial.


Robert Kissell, Kissell Research Group.


Robert Kissell fornece uma visão geral de como o MATLAB pode ser usado pelo profissional da indústria para melhorar a qualidade do comércio e os retornos de portfólio em todas as fases do ciclo de investimento. Ele fornece exemplos práticos e um estudo de caso utilizando as funções de análise de custo de transações (TCA) lançadas recentemente pela MATLAB para ajudar os gerentes de portfólio, comerciantes e analistas a desenvolver estratégias para reduzir os custos de negociação e gerenciar melhor o risco de negociação. Sua apresentação mostrará como o MATLAB está atualmente sendo usado para calcular:


Impacto do mercado (por tempo de comércio, taxa de POV e cronograma de comércio) Cronograma de risco para um cronograma de comércio Análise de estoque (Tamanho, Volatilidade, Tempo, Otimização) Curvas de custo de estoque de construção Análise de custo de liquidação e Análise de sensibilidade.


Sobre o apresentador.


Robert é o presidente e fundador do Kissell Research Group. Possui mais de 20 anos de experiência profissional especializada em economia, modelagem quantitativa, análise estatística e gerenciamento de riscos. Ele aconselha e consulta gestores de carteiras em todo os Estados Unidos e a Europa em gerenciamento adequado de riscos, análise de negociação e técnicas de construção de portfólio. Ele é o autor dos principais livros da indústria Optimal Trading Strategies, The Science of Algorithmic Trading & amp; Gestão de Carteira e Gerenciamento de Riscos Multi-ativos. Robert publicou numerosos trabalhos de pesquisa sobre estratégias de negociação, negociação algorítmica, gerenciamento de riscos e melhor execução. Seu artigo "Modelos Dinâmicos Pré-Comerciais: além da Caixa Negra" ganhou o Prêmio de Prestígio Institucional do Prestigio do Ano.


Foco no produto.


Outros recursos.


Produtos relacionados.


Vídeos e Webinars relacionados.


Escolha o seu país.


Escolha o seu país para obter conteúdo traduzido, quando disponível, e veja eventos e ofertas locais. Com base na sua localização, recomendamos que você selecione:.


Você também pode selecionar um local da seguinte lista:


América Latina (Español) Canadá (Inglês) Estados Unidos (Inglês)


Bélgica (Inglês) Dinamarca (Inglês) Deutschland (Deutsch) España (Español) Finlândia (Inglês) França (Français) Irlanda (Inglês) Italia (Italiano) Luxemburgo (Inglês)


Holanda (Inglês) Noruega (Inglês) Österreich (Deutsch) Portugal (Inglês) Suécia (English) Suíça Deutsch English Français Reino Unido (Inglês)


Ásia-Pacífico.


Austrália (Inglês) Índia (Inglês) Nova Zelândia (Inglês) 中国 (简体 中文) 日本 (日本語) 한국 (한국어)


Explore produtos.


Experimente ou compre.


Aprenda a usar.


Obter Suporte.


Sobre o MathWorks.


Acelerando o ritmo da engenharia e da ciência.


MathWorks é o principal desenvolvedor de software de computação matemática para engenheiros e cientistas.


Escolhendo o software de negociação algorítmica correto.


Ao usar o comércio algorítmico, os comerciantes confiam no seu dinheiro suado para o software comercial que eles usam. O software certo é muito importante para assegurar a execução efetiva e precisa dos pedidos comerciais. O software defeituoso, ou um sem os recursos necessários, pode levar a grandes perdas. Este artigo analisa as principais coisas a considerar para escolher o software certo para negociação algorítmica. (Para mais, veja: Noções básicas de negociação algorítmica: conceitos e exemplos.)


[O software de negociação algorítmica depende de uma compreensão profunda da análise técnica. Afinal, os indicadores técnicos são frequentemente utilizados como insumos para esses sistemas de negociação. O Curso de Análise Técnica da Investopedia fornece uma visão geral aprofundada sobre como identificar padrões, tendências, sinais e indicadores técnicos que impulsionam o comportamento dos preços. Com mais de cinco horas de vídeo sob demanda, exercícios e conteúdo interativo, você aprenderá todas as principais formas de análise técnica e estudos de caso de acesso mostrando como eles são usados.]


Um Quick Primer para Algorithmic Trading.


Um algoritmo é definido como um conjunto específico de instruções passo a passo para completar uma tarefa específica. Seja o jogo de computador simples, ainda viciante, como o Pac-Man ou uma planilha que oferece grande número de funções, cada programa segue um conjunto específico de instruções com base em um algoritmo subjacente.


O comércio algorítmico é o processo de usar um programa de computador que segue um conjunto definido de instruções para colocar uma ordem comercial. O objetivo do programa de negociação algorítmica é identificar dinamicamente oportunidades rentáveis ​​e colocar os negócios para gerar lucros a uma velocidade e freqüência que é impossível combinar por um comerciante humano. Dadas as vantagens de uma maior precisão e velocidade de execução relâmpago, as atividades comerciais baseadas em algoritmos de computador ganharam enorme popularidade. (Para mais, veja: Os prós e os contras dos sistemas de negociação automatizados.)


Quem usa software de negociação algorítmica?


A negociação algorítmica é dominada por grandes empresas comerciais, como hedge funds, bancos de investimento e empresas comerciais proprietárias. Dada a abundante disponibilidade de recursos devido ao seu grande tamanho, essas empresas costumam construir seu próprio software de negociação proprietário, incluindo grandes sistemas de negociação com centros de dados dedicados e equipe de suporte.


Em um nível individual, comerciantes proprietários experientes e quants usam negociação algorítmica. Os comerciantes proprietários, que são menos conhecedores de tecnologia, podem comprar software de negociação readymade para suas necessidades de negociação algorítmica. O software é oferecido por seus corretores ou comprado de provedores de terceiros. Quants tem um bom conhecimento de negociação e programação de computadores, e eles desenvolvem software comercial por conta própria. (Para mais informações, consulte: Quants: o que eles fazem e como evoluíram.)


Algorithmic Trading Software - Construir ou comprar?


Existem duas maneiras de acessar o software de negociação algorítmica: construir ou comprar.


A compra de software pronto oferece acesso rápido e atempado, ao construir o seu próprio, permite flexibilidade total para personalizar as suas necessidades. O software de negociação automatizado é muitas vezes caro para comprar e pode estar cheio de lacunas, o que, se ignorado, pode levá-lo a perdas. Os custos elevados podem tirar o potencial de lucro realista do seu empreendimento de negociação algorítmica. Por outro lado, criar software de negociação algorítmica por conta própria leva tempo, esforço e um profundo conhecimento, e ainda pode não ser infalível.


O risco envolvido na negociação automática é muito alto, o que pode levar a grandes perdas. Independentemente de se decidir comprar ou construir, torna-se importante conhecer os recursos básicos necessários.


As principais características do software de negociação algorítmica.


Disponibilidade de dados do mercado e da empresa: todos os algoritmos de negociação são projetados para atuar em dados de mercado em tempo real e cotações de preços. Alguns programas também são personalizados para dar conta dos dados fundamentais da empresa, como os índices EPS e PE. Qualquer software de negociação algorítmica deve ter feed de dados de mercado em tempo real, bem como um feed de dados da empresa. Ele deve estar disponível como um build-in no sistema ou deve ter uma disposição para integrar facilmente de fontes alternativas. Conectividade a vários mercados: os comerciantes que procuram trabalhar em vários mercados devem ter em atenção que cada troca pode fornecer seu feed de dados em um formato diferente, como TCP / IP, Multicast ou um FIX. Seu software deve ser capaz de aceitar feeds de diferentes formatos. Outra opção é ir com fornecedores de dados de terceiros como a Bloomberg e a Reuters, que agregam dados de mercado de diferentes trocas e fornecem-no em um formato uniforme para clientes finais. O software de negociação algorítmica deve ser capaz de processar esses feeds agregados conforme necessário. Latência: A menor palavra desta lista é o fator mais importante para o algo-trading. Latência é o tempo de atraso introduzido no movimento de pontos de dados de um aplicativo para o outro. Considere a seguinte sequência de eventos. Demora 0,2 segundos para uma cotação de preço proveniente da troca para o centro de dados do seu fornecedor de software (DC), 0,3 segundos do data center para alcançar sua tela de negociação, 0,1 segundo para o seu software de negociação para processar essa cotação recebida, 0,3 segundos para para analisar e colocar um comércio, 0,2 segundos para a sua ordem comercial para chegar ao seu corretor, 0,3 segundos para o seu corretor rotear sua ordem para a troca.


Tempo total decorrido = 0.2 + 0.3 + 0.1 + 0.3 + 0.2 + 0.3 = Total 1.4 segundos.


No mundo comercial dinâmico de hoje, a cotação do preço original teria mudado várias vezes dentro desse período de 1,4 segundo. Esse atraso poderia fazer ou quebrar seu empreendimento de negociação algorítmica. É preciso manter essa latência ao nível mais baixo possível para garantir que você obtenha as informações mais atualizadas e precisas sem intervalo de tempo.


A latência foi reduzida para microssegundos, e todas as tentativas devem ser feitas para mantê-lo o mais baixo possível no sistema comercial. Algumas medidas incluem ter conectividade direta com a troca para obter dados mais rápidos, eliminando o fornecedor no meio; melhorando seu algoritmo de negociação para que ele leve menos de 0.1 + 0.3 = 0.4 segundos para análise e tomada de decisão; ou eliminando o corretor e enviando diretamente trocas para a troca para economizar 0,2 segundos.


Configuração e personalização: a maioria dos softwares de negociação algorítmica oferece algoritmos de comércio embutidos padrão, como aqueles baseados em um crossover da média móvel de 50 dias (MA) com o MA de 200 dias. Um comerciante pode gostar de experimentar mudando para o Mestre de 20 dias com o MA de 100 dias. A menos que o software ofereça tal personalização de parâmetros, o comerciante pode ser limitado pela funcionalidade fixa incorporada. Seja comprando ou construindo, o software de negociação deve ter um alto grau de personalização e configuração. Funcionalidade para escrever programas personalizados: Matlab, Python, C ++, JAVA e Perl são as linguagens de programação comuns usadas para escrever software de negociação. A maioria dos softwares de negociação vendidos pelos fornecedores de terceiros oferece a capacidade de escrever seus próprios programas personalizados dentro dele. Isso permite que um comerciante experimente e experimente qualquer conceito comercial que ela desenvolva. O software que oferece codificação na linguagem de programação de sua escolha é obviamente preferido. (Para mais informações, consulte: Codificação de sistemas de negociação: Introdução.) Recurso Backtesting em dados históricos: a simulação Backtesting envolve testar uma estratégia de negociação em dados históricos. Ele avalia a praticidade e rentabilidade da estratégia em dados passados, certificando-o para o sucesso (ou falha ou qualquer alteração necessária). Esta função obrigatória também deve ser acompanhada de uma disponibilidade de dados históricos, nos quais o backtesting pode ser realizado. Integração com a interface de negociação: o software de negociação algorítmica coloca trades automaticamente com base na ocorrência de um critério desejado. O software deve ter a conectividade necessária para a rede de corretores para colocar o comércio ou uma conectividade direta com a troca para enviar ordens comerciais. Integração Plug-n-play: um comerciante pode estar usando simultaneamente um terminal Bloomberg para sua análise de preços, um terminal de intermediário para fazer negócios e um programa Matlab para análise de tendências. Dependendo das necessidades individuais, o software de negociação algorítmica deve ter integração fácil de plug-n-play e APIs disponíveis em ferramentas de negociação comumente usadas. Isso garante a escalabilidade, bem como a integração. Programação Independente da Plataforma: algumas línguas de programação precisam de plataformas dedicadas. Por exemplo, certas versões do C ++ podem ser executadas somente em sistemas operacionais selecionados, enquanto o Perl pode ser executado em todos os sistemas operacionais. Ao construir ou comprar software de negociação, deve ser dada preferência ao software de negociação que seja independente da plataforma e suporte linguagens independentes da plataforma. Você nunca sabe como sua negociação evoluirá alguns meses abaixo da linha. The Stuff Under the Hood: um ditado comum diz: "Mesmo um macaco pode clicar no botão do mouse para colocar um comércio". Dependência de computadores não deve ser cega. É o comerciante que deve entender o que está indo sob o capô. Ao comprar software de negociação, deve-se pedir e levar tempo para passar pela documentação detalhada que mostra a lógica subjacente de um software de negociação algorítmico particular. Evite qualquer software de negociação que seja uma caixa preta completa e que pretende ser uma máquina de fazer dinheiro secreto.


Ao construir software, seja realista sobre o que você está implementando e seja claro sobre os cenários onde ele pode falhar. Antes de colocá-lo para usar com dinheiro real, faça uma resposta completa.


Por onde começar?


Todo o software de negociação algorítmico pronto geralmente oferece versões de avaliação de funcionalidade limitada gratuita ou períodos de avaliação limitados com funcionalidades completas. Explore-os na íntegra durante esses testes antes de comprar qualquer coisa. Não esqueça de detalhar a documentação disponível.


Para construir um, uma boa fonte gratuita para explorar o comércio algorítmico é a quespian. Ele oferece uma plataforma on-line para testar e desenvolver comércio algorítmico. Os indivíduos podem tentar personalizar qualquer algoritmo existente ou escrever um novo completamente novo. A plataforma também oferece software de negociação algorítmico embutido para ser testado em relação aos dados do mercado.


The Bottom Line.


O software de negociação algorítmica é caro para comprar e é difícil de construir sozinho. Comprar pré-fabricados oferece acesso rápido e atempado, e criar o seu próprio permite flexibilidade total para personalizá-lo às suas necessidades. Antes de se aventurar com dinheiro real, é preciso entender completamente a funcionalidade básica do software de negociação algorítmica comprado ou construído. A falta de fazê-lo pode ser uma perda dispendiosa difícil de recuperar.


Como codificar seu próprio robô Algo Trading.


Já quis tornar-se um comerciante algorítmico com a capacidade de codificar seu próprio robô comercial? E ainda, você está frustrado com a quantidade de informações desorganizadas, enganosas e falsas promessas de prosperidade durante a noite? Bem, Lucas Liew, criador do curso de negociação algorítmica on-line AlgoTrading101, pode ter a solução para você. Tendo excelentes revisões e recebendo mais de 8.000 estudantes desde o primeiro lançamento em outubro de 2018, o curso de Liew - destinado a apresentar os fundamentos da negociação algorítmica de forma organizada - está sendo bastante popular. Ele é inflexível sobre o fato de que a negociação algorítmica é "não um esquema rápido e rápido". Com base em idéias de Liew e seu curso, delineadas abaixo estão os fundamentos do que é preciso para projetar, construir e manter seu próprio robô de negociação algorítmica .


O que é um Robô de Negociação Algorítmico.


No nível mais básico, um robô de negociação algorítmica é um código de computador que tem a capacidade de gerar e executar sinais de compra e venda nos mercados financeiros. Os principais componentes desse robô incluem regras de entrada que indicam quando comprar ou vender, regras de saída indicando quando fechar a posição atual e regras de dimensionamento de posição que definem as quantidades para comprar ou vender. (Para mais, veja: Noções básicas de negociação algorítmica: conceitos e exemplos.)


As principais ferramentas.


Obviamente, você vai precisar de um computador e uma conexão com a Internet. Depois disso, será necessário um sistema operacional Windows ou Mac para executar o MetaTrader 4 (MT4), uma plataforma de negociação eletrônica que usa o MetaQuotes Language 4 (MQL4) para codificar as estratégias de negociação. Embora o MT4 não seja o único software que se possa usar para construir um robô, ele possui uma série de benefícios significativos.


Enquanto a principal classe de ativos da MT4 é câmbio (FX), a plataforma pode ser usada para negociar ações, índices de ações, commodities e Bitcoins usando CFDs. Outros benefícios de usar o MT4 em oposição a outras plataformas incluem ser fácil de aprender, tem inúmeras fontes de dados FX disponíveis e é grátis. Infelizmente, o MT4 não permite a negociação direta em mercados de ações e futuros e a realização de análises estatísticas pode ser onerosa; no entanto, o MS Excel pode ser usado como uma ferramenta estatística suplementar.


Estratégias de negociação algorítmica.


É importante começar por refletir sobre alguns traços essenciais que toda estratégia de negociação algorítmica deve ter. A estratégia deve ser prudente no mercado em que é fundamentalmente sólida do ponto de vista do mercado e econômico. Além disso, o modelo matemático utilizado no desenvolvimento da estratégia deve basear-se em métodos estatísticos sólidos.


Em seguida, é crucial determinar quais informações o seu robô pretende capturar. Para ter uma estratégia automatizada, seu robô precisa ser capaz de capturar ineficiências de mercado identificáveis ​​e persistentes. As estratégias de negociação algorítmica seguem um conjunto rígido de regras que aproveitam o comportamento do mercado e, portanto, a ocorrência de uma ineficiência única do mercado não é suficiente para construir uma estratégia. Além disso, se a causa da ineficiência do mercado não for identificável, não haverá maneira de saber se o sucesso ou o fracasso da estratégia foi devido ao acaso ou não.


Com o acima em mente, existem vários tipos de estratégia para informar o design do seu robô de negociação algorítmica. Estes incluem estratégias que aproveitam (i) notícias macroeconômicas (por exemplo, mudanças na folha de pagamento ou na taxa de juros não agrícolas); (ii) análise fundamental (por exemplo, usando dados de receita ou notas de versão de resultados); (iii) análise estatística (por exemplo, correlação ou co-integração); (iv) análise técnica (por exemplo, médias móveis); (v) a microestrutura do mercado (por exemplo, infração de arbitragem ou comercial); ou (vi) qualquer combinação do acima. (Para leitura relacionada, veja: O que é a eficiência do mercado?)


Projetando e testando seu robô.


Existem essencialmente quatro etapas necessárias para construir e gerenciar um robô comercial:


Pesquisa preliminar: esta etapa se concentra no desenvolvimento de uma estratégia que se adapte às suas próprias características pessoais. Fatores como perfil de risco pessoal, compromisso de tempo e capital comercial são importantes para pensar quando desenvolver uma estratégia. Você pode então começar a identificar as persistentes ineficiências do mercado mencionadas acima. Tendo identificado uma ineficiência do mercado, você pode começar a codificar um robô comercial adequado às suas próprias características pessoais.


Backtesting: Esta etapa se concentra em validar seu robô comercial. Isso inclui verificar o código para se certificar de que está fazendo o que deseja e entender como ele se realiza em diferentes intervalos de tempo, aulas de ativos ou diferentes condições de mercado, especialmente em eventos tipo cisne preto, como a crise financeira global de 2008.


Otimização: Então, agora você codificou um robô que funciona e, nesta fase, você deseja maximizar seu desempenho ao mesmo tempo em que minimiza o viés de superposição. Para maximizar o desempenho, primeiro você precisa selecionar uma boa medida de desempenho que capture elementos de risco e recompensa, bem como consistência (por exemplo, taxa Sharpe). O desvio excessivo ocorre quando o robô está muito próximo com dados anteriores; Esse robô vai dar a ilusão de alto desempenho, mas como o futuro nunca se assemelha completamente ao passado, ele pode realmente falhar.


Execução ao vivo: agora você está pronto para começar a usar dinheiro real. No entanto, além de estar preparado para os altos e baixos emocionais que você pode experimentar, existem alguns problemas técnicos que precisam ser abordados. Essas questões incluem selecionar um intermediário apropriado e implementar mecanismos para gerenciar riscos de mercado e riscos operacionais, como potenciais hackers e tempo de inatividade tecnológico. Também é importante nesta etapa verificar se o desempenho do robô é semelhante ao experimentado na fase de teste. Finalmente, o monitoramento contínuo é necessário para garantir que a eficiência do mercado que o robô foi projetado ainda existe. (Para mais, consulte: Como os Algoritmos de Negociação foram Criados.)


The Bottom Line.


Considerando que Richard Dennis, o lendário comerciante de commodities, ensinou a um grupo de estudantes suas estratégias de negociação pessoal que, em seguida, ganhou mais de US $ 175 milhões em apenas cinco anos, é completamente possível que os comerciantes inexperientes sejam ensinados com um conjunto rigoroso de diretrizes e se tornem comerciantes bem-sucedidos. No entanto, este é um exemplo extraordinário e os iniciantes definitivamente devem se lembrar de ter expectativas modestas.


Para ser bem sucedido, é importante não apenas seguir um conjunto de diretrizes, mas também entender como essas diretrizes estão funcionando. Liew enfatiza que a parte mais importante da negociação algorítmica é "entender em que tipos de condições de mercado o seu robô funcionará e quando vai quebrar" e "entender quando intervir". O comércio algorítmico pode ser gratificante, mas a chave para o sucesso é compreensão. Qualquer curso ou professor que prometa altas recompensas com mínima compreensão deve ser um sinal de alerta importante.


Fundamentos do comércio algorítmico: conceitos e exemplos.


Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo.


O comércio algorítmico (negociação automatizada, negociação em caixa preta ou simplesmente algo-trading) é o processo de uso de computadores programados para seguir um conjunto definido de instruções para colocar um comércio para gerar lucros a uma velocidade e freqüência impossíveis para um comerciante humano. Os conjuntos definidos de regras são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Além das oportunidades de lucro para o comerciante, o algo-trading torna os mercados mais líquidos e torna a negociação mais sistemática descartando impactos emocionais humanos nas atividades comerciais. (Para mais, consulte Picking the Right Algorithmic Trading Software.)


Suponha que um comerciante siga esses critérios de comércio simples:


Compre 50 ações de uma ação quando sua média móvel de 50 dias excede a média móvel de 200 dias. Vende ações da ação quando sua média móvel de 50 dias está abaixo da média móvel de 200 dias.


Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitorará automaticamente o preço das ações (e os indicadores de média móvel) e colocará as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais manter um relógio para preços e gráficos ao vivo, ou colocar as ordens manualmente. O sistema de negociação algorítmica automaticamente faz isso para ele, identificando corretamente a oportunidade comercial. (Para mais informações sobre as médias móveis, consulte Médias móveis simples, faça as tendências se destacarem.)


[Se você quiser saber mais sobre as estratégias comprovadas e pontuais que podem eventualmente ser trabalhadas em um sistema de comércio alorítico, confira o Curso de Torneio de Dia de Torneio da Invastopedia Academy. ]


Benefícios da negociação algorítmica.


A Algo-trading oferece os seguintes benefícios:


Negociações executadas com os melhores preços Posicionamento instantâneo e preciso da ordem comercial (com altas chances de execução nos níveis desejados) Negociações cronometradas corretamente e instantaneamente, para evitar mudanças de preços significativas Custos de transação reduzidos (veja o exemplo de falta de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Reduziu o risco de erros manuais na colocação dos negócios Backtest o algoritmo, com base nos dados históricos e em tempo real disponíveis Reduzida a possibilidade de erros por comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte do dia-a-dia é a negociação de alta freqüência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em múltiplos mercados e múltiplos parâmetros de decisão, com base em instruções pré-programadas. (Para obter mais informações sobre o comércio de alta freqüência, consulte Estratégias e Segredos de Empresas de Negociação de Alta Freqüência (HFT).)


O Algo-trading é usado em muitas formas de atividades de comércio e investimento, incluindo:


Investidores de médio a longo prazo ou empresas de compra (fundos de pensão, fundos de investimento, companhias de seguros) que adquirem ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande porte. Os comerciantes de curto prazo e os participantes do lado da venda (fabricantes de mercado, especuladores e arbitragentes) se beneficiam da execução comercial automatizada; Além disso, ajudas de algo-trading na criação de liquidez suficiente para os vendedores no mercado. Os comerciantes sistemáticos (seguidores de tendências, comerciantes de pares, hedge funds, etc.) acham muito mais eficiente programar suas regras comerciais e permitir que o programa seja comercializado automaticamente.


O comércio algorítmico proporciona uma abordagem mais sistemática ao comércio ativo do que os métodos baseados na intuição ou instinto do comerciante humano.


Estratégias de negociação algorítmica.


Qualquer estratégia de negociação algorítmica exige uma oportunidade identificada que seja rentável em termos de melhoria de ganhos ou redução de custos. As seguintes são estratégias de negociação comuns usadas em algo-trading:


As estratégias de negociação algorítmicas mais comuns seguem as tendências em médias móveis, fuga de canais, movimentos no nível de preços e indicadores técnicos relacionados. Estas são as estratégias mais fáceis e simples de implementar através de negociação algorítmica porque essas estratégias não envolvem fazer previsões ou previsões de preços. Os negócios são iniciados com base na ocorrência de tendências desejáveis, que são fáceis e direitas de implementar através de algoritmos sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para mais informações sobre as estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar as tendências.)


Comprar um estoque cotado duplo a um preço mais baixo em um mercado e simultaneamente vendê-lo a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem sem risco. A mesma operação pode ser replicada para ações versus instrumentos de futuros, pois os diferenciais de preços existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de forma eficiente.


Os fundos do índice definiram períodos de reequilíbrio para que suas participações fossem compatíveis com seus respectivos índices de referência. Isso cria oportunidades rentáveis ​​para comerciantes algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos base, dependendo do número de ações no fundo do índice, apenas antes do reequilíbrio do fundo do índice. Essas negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.


Muitos modelos matemáticos comprovados, como a estratégia de negociação neutra do delta, que permitem a negociação de combinações de opções e sua segurança subjacente, onde os negócios são colocados para compensar deltas positivos e negativos, de modo que o portfólio delta seja mantido em zero.


A estratégia de reversão média baseia-se na ideia de que os preços altos e baixos de um bem são um fenômeno temporário que retorna periodicamente ao seu valor médio. Identificar e definir uma faixa de preço e implementar algoritmos com base em isso permite que os negócios sejam colocados automaticamente quando o preço do recurso entra e sai do seu alcance definido.


A estratégia de preços médios ponderados por volume quebra uma grande ordem e libera pedaços menores determinados dinamicamente da ordem para o mercado usando perfis de volume histórico específicos de estoque. O objetivo é executar a ordem perto do preço médio ponderado do volume (VWAP), beneficiando assim o preço médio.


A estratégia de preço médio ponderado no tempo quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando intervalos de tempo uniformemente divididos entre o início e o fim do tempo. O objetivo é executar a ordem perto do preço médio entre os horários de início e término, minimizando assim o impacto no mercado.


Até que a ordem comercial seja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com o índice de participação definido e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia ordens a uma porcentagem definida pelo usuário de volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge os níveis definidos pelo usuário.


A estratégia de falta de implementação visa minimizar o custo de execução de uma ordem através da negociação do mercado em tempo real, economizando assim o custo da ordem e beneficiando do custo de oportunidade da execução atrasada. A estratégia aumentará a taxa de participação direcionada quando o preço das ações se mover de forma favorável e diminuí-lo quando o preço das ações se mover de forma adversa.


Existem algumas classes especiais de algoritmos que tentam identificar "acontecimentos" do outro lado. Esses "algoritmos de sniffing", usados, por exemplo, por um market maker market market têm a inteligência interna para identificar a existência de qualquer algoritmo no lado da compra de uma grande ordem. Essa detecção através de algoritmos ajudará o fabricante de mercado a identificar grandes oportunidades de ordem e permitir que ele se beneficie ao preencher os pedidos a um preço mais alto. Isso às vezes é identificado como front-running de alta tecnologia. (Para obter mais informações sobre negociação de alta freqüência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.)


Requisitos técnicos para negociação algorítmica.


Implementar o algoritmo usando um programa de computador é a última parte, batida com backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. São necessários os seguintes:


Conhecimento de programação de computador para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricado Conectividade de rede e acesso a plataformas de negociação para colocar os pedidos Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de colocar pedidos A capacidade e infra-estrutura para voltar a testar o sistema uma vez construído, antes de entrar em operação em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.


Aqui está um exemplo abrangente: o Royal Dutch Shell (RDS) está listado na Amsterdam Stock Exchange (AEX) e London Stock Exchange (LSE). Vamos construir um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes:


AEX negocia em Euros, enquanto a LSE negocia em libras esterlinas. Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguido de ambas as trocas comerciais simultaneamente durante as próximas horas e depois de negociar apenas na LSE durante a última hora à medida que o AEX fecha .


Podemos explorar a possibilidade de negociação de arbitragem nas ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?


Um programa de computador que pode ler os preços atuais do mercado Os feeds de preços de LSE e AEX A taxa de câmbio para a taxa de câmbio GBP-EUR Capacidade de colocação de pedidos que podem rotear a ordem para a troca correta do recurso Back-testing em feeds históricos de preços.


O programa de computador deve executar o seguinte:


Leia o preço de entrada do estoque RDS de ambas as bolsas Usando as taxas de câmbio disponíveis, converta o preço de uma moeda para outra. Se houver uma discrepância de preço suficientemente grande (descontando os custos de corretagem) levando a uma oportunidade rentável, então coloque a compra ordem em troca de preços mais baixos e ordem de venda em troca de preços mais elevados Se as ordens forem executadas conforme desejado, o lucro de arbitragem seguirá.


Simples e fácil! No entanto, a prática de negociação algorítmica não é simples de manter e executar. Lembre-se, se você pode colocar um comércio gerado por algo, os outros participantes do mercado podem também. Conseqüentemente, os preços flutuam em milissegundos e até mesmo em microssegundos. No exemplo acima, o que acontece se o seu comércio de compras for executado, mas o comércio de vendas não acontece à medida que os preços de venda mudam quando o seu pedido atinge o mercado? Você vai acabar sentado com uma posição aberta, tornando sua estratégia de arbitragem inútil.


Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos de tempo entre ordens comerciais e execução e, o mais importante de tudo, algoritmos imperfeitos. O algoritmo mais complexo é o backtesting mais rigoroso antes de ser posto em ação.


The Bottom Line.


A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É excitante ir pela automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso certificar-se de que o sistema está completamente testado e os limites exigidos são definidos. Os comerciantes analíticos devem considerar a aprendizagem de sistemas de programação e construção por conta própria, ter confiança em implementar as estratégias certas de forma infalível. O uso cauteloso eo teste completo de algo-trading podem criar oportunidades rentáveis. (Para mais informações, consulte Como codificar seu próprio robô Algo Trading.)

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

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