Sistema automatizado de negociação de alta frequência


Jesse Spaulding.


Como ganhei $ 500k com aprendizado de máquina e HFT (negociação de alta frequência)


Este post irá detalhar o que eu fiz para fazer aprox. 500k de negociação de alta frequência de 2009 a 2010. Desde que eu estava negociando de forma totalmente independente e não estou mais executando o meu programa, estou feliz em dizer tudo. Minha negociação foi principalmente em contratos de futuros Russel 2000 e DAX.


A chave do meu sucesso, acredito, não estava em uma equação financeira sofisticada, mas sim no design geral do algoritmo, que unia muitos componentes simples e usava o aprendizado de máquina para otimizar a máxima lucratividade. Você não precisa conhecer nenhuma terminologia sofisticada aqui, porque quando eu configurei meu programa, tudo foi baseado na intuição. (O surpreendente curso de aprendizado de máquina de Andrew Ng ainda não estava disponível - se você clicar nesse link, você será levado ao meu projeto atual: CourseTalk, um site de revisão para MOOCs)


Primeiro, quero apenas demonstrar que meu sucesso não foi simplesmente o resultado da sorte. Meu programa fazia de 1000 a 4000 negociações por dia (meio longo, meio curto) e nunca ocupava posições de mais do que alguns contratos por vez. Isso significava que a sorte aleatória de qualquer negociação em particular era muito rápida. O resultado foi que eu nunca perdi mais de US $ 2000 em um dia e nunca tive um mês perdido:


(EDIT: Estes números são depois de pagar comissões)


E aqui está um gráfico para lhe dar uma noção da variação diária. Note que isso exclui os últimos 7 meses porque - à medida que os números pararam de subir - perdi minha motivação para entrar neles.


Antes de configurar o meu programa de negociação automatizado, eu tinha 2 anos de experiência como "manual" e "& rdquo; comerciante do dia. Isso foi em 2001 - eram os primeiros dias do comércio eletrônico e havia oportunidades para os "cambistas". fazer um bom dinheiro. Eu só posso descrever o que eu estava fazendo como se fosse jogar videogames / jogos de azar com uma suposta vantagem. Ser bem-sucedido significa ser rápido, ser disciplinado e ter uma boa capacidade intuitiva de reconhecimento de padrões. Consegui ganhar cerca de US $ 250 mil, pagar meus empréstimos estudantis e ter dinheiro sobrando. Ganhar!


Nos próximos cinco anos, eu lançaria duas startups, adquirindo algumas habilidades de programação ao longo do caminho. Não seria até o final de 2008 que eu voltaria a negociar. Com o dinheiro acabando com a venda da minha primeira startup, a negociação oferecia esperanças de algum dinheiro rápido enquanto eu descobria o meu próximo movimento.


Em 2008, eu era "manualmente" e "rdquo; dia negociando futuros usando software chamado T4. Eu estava querendo algumas teclas de atalho de entrada de pedidos personalizadas, então depois de descobrir que o T4 tinha uma API, aceitei o desafio de aprender C # (a linguagem de programação necessária para usar a API) e fui em frente e desenvolvi algumas teclas de atalho.


Depois de molhar os pés com a API, logo tive aspirações maiores: queria ensinar o computador a trocar por mim. A API forneceu um fluxo de dados de mercado e uma maneira fácil de enviar pedidos para a troca - tudo o que eu tinha que fazer era criar a lógica no meio.


Abaixo está uma imagem de uma janela de negociação T4. O que foi legal é que quando eu comecei meu programa trabalhando eu pude assistir o comércio de computador exatamente nesta mesma interface. Assistir ordens reais entrando e saindo (por conta própria com meu dinheiro real) era ao mesmo tempo emocionante e assustador.


O design do meu algoritmo.


Desde o início, meu objetivo era configurar um sistema de modo que eu pudesse estar razoavelmente confiante de que ganharia dinheiro antes de fazer qualquer negociação ao vivo. Para conseguir isso, eu precisava construir uma estrutura de simulação de negociação que simulasse a negociação ao vivo, com a maior precisão possível.


Enquanto a negociação no modo ao vivo exigia atualizações do mercado de processamento transmitidas pela API, o modo de simulação exigia a leitura das atualizações do mercado a partir de um arquivo de dados. Para coletar esses dados, configurei a primeira versão do meu programa para simplesmente conectar-me à API e registrar as atualizações do mercado com registros de data e hora. Acabei usando 4 semanas de dados de mercado recentes para treinar e testar meu sistema.


Com uma estrutura básica em vigor, ainda tinha a tarefa de descobrir como criar um sistema comercial lucrativo. Acontece que meu algoritmo se dividiria em dois componentes distintos, que eu explorarei por sua vez:


Previsão de movimentos de preços; e Fazendo negócios lucrativos.


Previsão de movimentos de preços.


Talvez um componente óbvio de qualquer sistema de negociação seja a capacidade de prever onde os preços irão se mover. E o meu não foi exceção. Eu defini o preço atual como a média do lance interno e da oferta interna e estabeleci a meta de prever onde o preço estaria nos próximos 10 segundos. Meu algoritmo precisaria apresentar essa previsão momento a momento ao longo do dia de negociação.


Criando & amp; otimização de indicadores.


Eu criei um punhado de indicadores que provaram ter uma capacidade significativa de prever movimentos de preços de curto prazo. Cada indicador produziu um número que foi positivo ou negativo. Um indicador era útil se, na maior parte dos casos, um número positivo correspondesse ao aumento do mercado e um número negativo correspondesse à queda do mercado.


Meu sistema me permitiu determinar rapidamente a capacidade preditiva de qualquer indicador, por isso pude experimentar muitos indicadores diferentes para ver o que funcionava. Muitos dos indicadores tinham variáveis ​​nas fórmulas que os produziam e eu consegui encontrar os valores ideais para essas variáveis ​​fazendo comparações lado a lado dos resultados obtidos com valores variáveis.


Os indicadores que foram mais úteis foram todos relativamente simples e foram baseados em eventos recentes no mercado em que eu estava negociando, bem como nos mercados de títulos correlacionados.


Fazendo previsões precisas de movimentação de preços.


Ter indicadores que simplesmente previam uma alta ou baixa no preço não era suficiente. Eu precisava saber exatamente quanto movimento de preço era previsto por cada valor possível de cada indicador. Eu precisava de uma fórmula que convertesse um valor de indicador em uma previsão de preço.


Para conseguir isso, acompanhei as movimentações de preço previstas em 50 buckets que dependiam do intervalo em que o valor do indicador caiu. Isso gerou previsões exclusivas para cada bucket que eu era capaz de representar graficamente no Excel. Como você pode ver, a mudança de preço esperada aumenta à medida que o valor do indicador aumenta.


Com base em um gráfico como esse, consegui fazer uma fórmula para ajustar a curva. No começo eu fiz isso "ajuste de curva". manualmente, mas logo escrevi algum código para automatizar esse processo.


Note que nem todas as curvas do indicador tinham a mesma forma. Observe também que os buckets foram distribuídos logaritmicamente para distribuir os dados de maneira uniforme. Por fim, observe que os valores dos indicadores negativos (e suas previsões de preços descendentes correspondentes) foram invertidos e combinados com os valores positivos. (Meu algoritmo tratado para cima e para baixo exatamente o mesmo.)


Combinando indicadores para uma única previsão.


Uma coisa importante a considerar era que cada indicador não era totalmente independente. Eu não poderia simplesmente somar todas as previsões que cada indicador fez individualmente. A chave era descobrir o valor preditivo adicional que cada indicador tinha além do que já estava previsto. Isso não era difícil de implementar, mas significava que se eu estivesse "ajustando a curva", vários indicadores ao mesmo tempo, tive que ser cuidadoso; a mudança de um efetuaria as previsões de outro.


Para ajustar a curva & rdquo; Todos os indicadores ao mesmo tempo eu configurei o otimizador para pisar apenas 30% do caminho para as novas curvas de previsão com cada passagem. Com esse salto de 30%, descobri que as curvas de previsão se estabilizariam em poucas passagens.


Com cada indicador nos dando agora a previsão adicional de preço, eu poderia simplesmente adicioná-los para produzir uma única previsão de onde o mercado estaria em 10 segundos.


Por que prever preços não é suficiente.


Você pode pensar que com essa vantagem no mercado eu era de ouro. Mas você precisa ter em mente que o mercado é composto de ofertas e ofertas - não é apenas um preço de mercado. Sucesso na negociação de alta freqüência se resume a obter bons preços e não é assim tão fácil.


Os fatores a seguir dificultam a criação de um sistema lucrativo:


Com cada negócio eu tive que pagar comissões ao meu corretor e à bolsa. O spread (diferença entre oferta mais alta e oferta mais baixa) significava que se eu simplesmente comprasse e vendesse aleatoriamente, estaria perdendo uma tonelada de dinheiro. A maior parte do volume do mercado era de outros bots que só fariam uma troca comigo se achassem que tinham alguma vantagem estatística. Vendo uma oferta não garante que eu poderia comprá-lo. No momento em que minha ordem de compra chegou à bolsa, era muito possível que essa oferta tivesse sido cancelada. Como um pequeno participante do mercado, não havia como competir sozinho com a velocidade.


Construindo uma simulação de negociação completa.


Então eu tive uma estrutura que me permitiu backtest e otimizar os indicadores. Mas eu tive que ir além disso - eu precisava de um framework que me permitisse fazer backtest e otimizar um sistema de negociação completo; aquele em que eu estava mandando pedidos e ficando em posições. Neste caso, eu estaria otimizando para P & amp; L total e, em certa medida, P & amp; L médio por negociação.


Isso seria mais complicado e, de certa forma, impossível modelar exatamente, mas eu fiz o melhor que pude. Aqui estão alguns dos problemas que eu tive que lidar:


Quando um pedido foi enviado ao mercado na simulação, tive que modelar o tempo de atraso. O fato de meu sistema ter visto uma oferta não significa que ela poderia comprá-la imediatamente. O sistema enviaria o pedido, aguardaria aproximadamente 20 milissegundos e somente se a oferta ainda estivesse lá era considerado como um negócio executado. Isso era inexato porque o tempo real de atraso era inconsistente e não relatado. Quando eu fiz lances ou ofertas, tive que olhar para o fluxo de execução de negociação (fornecido pela API) e usá-los para avaliar quando meu pedido seria executado. Para fazer isso direito eu tive que rastrear a posição do meu pedido na fila. (É um sistema first-in first-out). Novamente, eu não pude fazer isso perfeitamente, mas fiz uma melhor aproximação.


Para refinar minha simulação de execução de pedidos, o que fiz foi extrair meus arquivos de log da negociação ao vivo pela API e compará-los aos arquivos de log produzidos pela negociação simulada no mesmo período de tempo. Consegui obter minha simulação ao ponto de ser bastante precisa e, para as partes que eram impossíveis de modelar exatamente, certifiquei-me de, pelo menos, produzir resultados que fossem estatisticamente semelhantes (nas métricas que julguei importantes).


Fazendo negócios lucrativos.


Com um modelo de simulação de pedidos, agora eu poderia enviar pedidos no modo de simulação e ver um P & amp; Mas como meu sistema saberia quando e onde comprar e vender?


As previsões do movimento de preços foram um ponto de partida, mas não toda a história. O que eu fiz foi criar um sistema de pontuação para cada um dos 5 níveis de preço na oferta e oferta. Estes incluíram um nível acima da oferta interna (para uma ordem de compra) e um nível abaixo da oferta interna (para uma ordem de venda).


Se a pontuação em qualquer nível de preço estiver acima de um certo limite, isso significa que o meu sistema deve ter um lance / oferta ativa - abaixo do limite, então qualquer pedido ativo deve ser cancelado. Com base nisso, não era incomum que meu sistema exibisse um lance no mercado e o cancelasse imediatamente. (Embora eu tentei minimizar isso, é irritante para quem olha para a tela com olhos humanos - inclusive eu.)


As pontuações do nível de preços foram calculadas com base nos seguintes fatores:


A previsão do movimento de preços (que discutimos anteriormente). O nível de preços em questão. (Níveis internos significavam que grandes previsões de movimentação de preço eram necessárias.) O número de contratos na frente do meu pedido na fila. (Menos foi melhor.) O número de contratos por trás do meu pedido na fila. (Mais foi melhor.)


Essencialmente, esses fatores serviram para identificar "seguro". lugares para licitar / oferecer. A previsão do movimento de preços, por si só, não era adequada porque não levava em conta o fato de que, ao fazer uma oferta, eu não era preenchido automaticamente - só fui preenchido se alguém me vendesse lá. A realidade era que o simples fato de alguém me vender a um certo preço mudava as probabilidades estatísticas do negócio.


As variáveis ​​usadas nesta etapa foram todas sujeitas a otimização. Isso foi feito exatamente da mesma maneira que eu otimizei as variáveis ​​nos indicadores de preço, exceto neste caso eu estava otimizando para a linha de fundo P & amp; L.


Quando negociamos como seres humanos, muitas vezes temos emoções e vieses poderosos que podem levar a decisões menos que ótimas. Obviamente, não queria codificar esses vieses. Aqui estão alguns fatores que meu sistema ignorou:


O preço que uma posição foi inserida - Em um escritório comercial, é muito comum ouvir conversas sobre o preço em que alguém é comprido ou baixo, como se isso pudesse afetar sua futura tomada de decisão. Embora isso tenha alguma validade como parte de uma estratégia de redução de riscos, ela realmente não tem relação com o curso futuro dos eventos no mercado. Portanto, meu programa ignorou completamente essa informação. É o mesmo conceito que ignorar os custos irrecuperáveis. Indo curto vs. saindo de uma posição longa - Tipicamente um trader teria critérios diferentes que determinam onde vender uma posição comprada versus onde ir short. No entanto, da minha perspectiva de algoritmos, não havia razão para fazer uma distinção. Se meu algoritmo esperava um movimento descendente, a venda era uma boa ideia, independentemente de ser atualmente longa, curta ou plana. A & ldquo; dobrando & rdquo; estratégia - Esta é uma estratégia comum, onde os comerciantes vão comprar mais ações no caso de que o comércio original vai contra eles. Isso faz com que o preço médio de compra seja menor e isso significa que quando (ou se) a ação girar, você estará pronto para recuperar seu dinheiro rapidamente. Na minha opinião, esta é realmente uma estratégia horrível, a menos que você esteja Warren Buffet. Você é levado a pensar que está indo bem porque a maioria de seus negócios será vencedores. O problema é quando você perde você perde grande. O outro efeito é que torna difícil julgar se você realmente tem uma vantagem no mercado ou está apenas tendo sorte. Ser capaz de monitorar e confirmar que meu programa realmente tinha uma vantagem era um objetivo importante.


Como meu algoritmo tomava decisões da mesma forma, independentemente de onde ele entrasse em uma negociação ou se era atualmente longo ou curto, ocasionalmente ele fazia parte (e tomava) de algumas grandes negociações perdedoras (além de algumas grandes negociações vencedoras). Mas, você não deve pensar que não houve nenhum gerenciamento de risco.


Para gerenciar o risco, impus um tamanho máximo de posição de dois contratos por vez, ocasionalmente aumentado em dias de alto volume. Eu também tinha um limite máximo de perda diária para proteger contra condições inesperadas de mercado ou um bug no meu software. Esses limites foram aplicados no meu código, mas também no backend por meio do meu corretor. Aconteceu que nunca encontrei problemas significativos.


A partir do momento em que comecei a trabalhar no meu programa, demorei cerca de 6 meses até atingir o ponto de rentabilidade e comecei a executá-lo ao vivo. Embora, para ser justo, uma quantidade significativa de tempo foi aprender uma nova linguagem de programação. Enquanto trabalhei para melhorar o programa, vi um aumento nos lucros para cada um dos próximos quatro meses.


Toda semana eu reciclaria meu sistema com base nas 4 semanas anteriores de dados. Descobri que isso estabelecia o equilíbrio certo entre captar tendências comportamentais recentes do mercado e garantir que meu algoritmo tivesse dados suficientes para estabelecer padrões significativos. Como o treinamento começou a tomar mais e mais tempo, eu o dividi para que pudesse ser executado por 8 máquinas virtuais usando o amazon EC2. Os resultados foram então reunidos na minha máquina local.


O ponto alto da minha negociação foi em outubro de 2009, quando fiz quase 100k. Depois disso, continuei a passar os próximos quatro meses tentando melhorar meu programa, apesar do lucro reduzido a cada mês. Infelizmente, a essa altura, acho que implementei todas as minhas melhores ideias, porque nada do que tentei parecia ajudar muito.


Com a frustração de não poder fazer melhorias e não ter senso de crescimento, comecei a pensar em uma nova direção. Eu enviei um e-mail para 6 diferentes empresas de negociação de alta frequência para ver se eles estariam interessados ​​em comprar meu software e me contratar para trabalhar para eles. Ninguém respondeu. Eu tive algumas novas idéias de inicialização que eu queria trabalhar, então eu nunca dei continuidade.


ATUALIZAÇÃO - Eu postei isso no Hacker News e tem recebido muita atenção. Eu só quero dizer que eu não defendo ninguém tentando fazer algo assim agora. Você precisaria de uma equipe de pessoas realmente inteligentes com uma variedade de experiências para ter qualquer esperança de competir. Mesmo quando eu estava fazendo isso, acredito que era muito raro para as pessoas alcançarem o sucesso (embora eu tivesse ouvido falar de outras pessoas).


Há um comentário no topo da página que menciona "estatísticas manipuladas" e se refere a mim como um investidor de varejo & rdquo; que quants iria "alegremente escolher". Este é um comentário bastante infeliz que simplesmente não se baseia na realidade. Deixando isso de lado, há alguns comentários interessantes: news. ycombinator / item? Id = 4748624.


ATUALIZAÇÃO # 2 - Fiz uma FAQ de acompanhamento que responde a algumas perguntas comuns que recebi de traders sobre essa postagem.


Mais um passo.


Por favor, preencha a verificação de segurança para acessar a velocidade da luz.


Por que eu tenho que completar um CAPTCHA?


A conclusão do CAPTCHA prova que você é humano e concede acesso temporário à propriedade da web.


O que posso fazer para evitar isso no futuro?


Se você estiver em uma conexão pessoal, como em casa, poderá executar uma verificação antivírus no seu dispositivo para garantir que ele não esteja infectado por malware.


Se você estiver em um escritório ou em uma rede compartilhada, poderá solicitar ao administrador da rede que execute uma verificação na rede procurando dispositivos configurados ou infectados incorretamente.


Outra maneira de evitar essa página no futuro é usar o Privacy Pass. Confira a extensão do navegador na loja de complementos do Firefox.


Cloudflare Ray ID: 404c571188248b64 & bull; Seu IP: 78.109.24.111 & bull; Performance & amp; segurança pela Cloudflare.


Noções básicas de negociação algorítmica: 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 de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e freqüência impossíveis para uma negociação. comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Certo.)


Suponha que um comerciante siga estes critérios comerciais simples:


Compre 50 ações de uma ação quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias Venda ações da ação quando a média móvel de 50 dias ficar 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 monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para mais informações sobre médias móveis, consulte Médias móveis simples Faça as tendências se destacarem.)


[Se você quiser aprender mais sobre as estratégias comprovadas e no ponto que podem, eventualmente, ser trabalhadas em um sistema de negociação alorítimo, confira o curso Torne-se um Day Trader da Investopedia Academy. ]


Benefícios do comércio algorítmico.


Algo-trading fornece os seguintes benefícios:


Negociações executadas com os melhores preços Possibilidade de colocação imediata e imediata de ordens (com altas chances de execução nos níveis desejados) Negociações cronometradas correta e instantaneamente, para evitar mudanças significativas nos preços Redução dos custos de transação (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Risco reduzido de erros manuais na colocação dos negócios Backtest o algoritmo, com base em dados históricos e em tempo real disponíveis Reduzida possibilidade de erros por parte de comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte da negociação de algoritmos atuais é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em vários mercados e vários parâmetros de decisão, com base em instruções pré-programadas. (Para mais informações sobre negociação de alta frequência, consulte Estratégias e segredos de empresas de negociação de alta frequência (HFT).)


O comércio de algo é usado em muitas formas de atividades de negociação e investimento, incluindo:


Investidores de médio a longo prazo ou empresas compradoras (fundos de pensão, fundos mútuos, seguradoras) que compram em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, especuladores e arbitradores) se beneficiam da execução automatizada do comércio; Além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos (seguidores de tendências, pares de traders, hedge funds, etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente.


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


Estratégias de Negociação Algorítmica.


Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas no comércio de algo:


As estratégias de negociação algorítmica mais comuns seguem as tendências de médias móveis, desvios de canal, movimentos de níveis de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis, que são fáceis e diretas de implementar por meio 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 estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar tendências.)


Comprar uma ação com cotação dupla a um preço menor em um mercado e, simultaneamente, vendê-la a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem isenta de risco. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preço e colocar as ordens permite oportunidades lucrativas de maneira eficiente.


Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os operadores algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente antes do rebalanceamento do fundo de índice. Tais 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 delta-neutral, que permitem negociar com combinação de opções e seu título subjacente, onde são feitas negociações para compensar deltas positivos e negativos, de modo que o delta do portfólio 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 ativo são um fenômeno temporário que revertem para o seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de seu intervalo definido.


A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem para o mercado, determinados dinamicamente, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao Preço Médio Ponderado pelo Volume (VWAP), beneficiando, assim, no preço médio.


A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre um horário de início e de término. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado.


Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia pedidos em 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 níveis definidos pelo usuário.


A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço das ações se mover favoravelmente e diminuirá quando o preço das ações se mover negativamente.


Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses "algoritmos de farejamento", usados, por exemplo, por um criador de mercado do lado da venda, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie com o preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequê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. Os seguintes são necessários:


Conhecimentos de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de fazer pedidos. para backtest o sistema, uma vez construído, antes de ir viver em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.


Aqui está um exemplo abrangente: A Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Vamos criar 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, seguida pelas duas bolsas sendo negociadas simultaneamente pelas próximas horas e negociando apenas na LSE durante a última hora conforme a AEX fecha .


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


Um programa de computador que pode ler os preços de mercado atuais Feeds de preços de LSE e AEX Um feed de taxa de câmbio para taxa de câmbio de GBP-EUR Capacidade de colocação de pedidos que pode encaminhar o pedido para a capacidade correta de troca.


O programa de computador deve executar o seguinte:


Leia o feed de preço recebido do estoque RDS de ambas as trocas 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 suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a compra ordem em troca de preço mais baixo e ordem de venda em troca de preço mais alto Se as ordens forem executadas como desejado, o lucro da arbitragem seguirá.


Simples e fácil! No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se a transação de compra for executada, mas o comércio de venda não é feito, pois os preços de venda mudam no momento em que seu pedido chega ao mercado? Você vai acabar sentado com uma posição aberta, fazendo com que sua estratégia de arbitragem seja inútil.


Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação.


The Bottom Line.


A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante usar a automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algoritmos podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)


As crianças da faculdade estão agora negociando de alta frequência em dormitórios.


O estudante universitário Spencer Singleton está entre um grupo crescente de amadores que se voltam para o comércio automatizado de ações conduzido por computador - até agora a reserva de fundos de hedge e mega brokers - e diz que ele está batendo no mercado.


A Singleton, com sede no Texas, venceu em julho passado um concurso patrocinado por um site de investimento algorítmico para escrever programas de negociação. O site, Quantopian, deu a ele US $ 100 mil para colocar seu modelo em ação por seis meses e lhe disse para manter qualquer lucro.


O jogador de 21 anos diz que sua carteira subiu cerca de 1,5% até agora este ano, contra uma queda de 8% no índice de ações S & P 500. Da mesma forma, ele fez cerca de 2,5% desde meados de setembro, enquanto o índice norte-americano perdeu mais de 7% no período.


Outros amadores tentaram o mesmo jogo de seus quartos de frente ou galpões de jardim e acabaram sendo queimados, concluindo que isso é uma caçada por ouro & # 8220; s ouro & # 8221; melhor deixar para os grandes jogadores, a menos que você seja um ex-profissional ou whiz garoto do computador.


Singleton não é nenhum dos dois - ele é um estudante do terceiro ano de gerenciamento da cadeia de suprimentos - mas diz que a competição deu a ele sua grande chance. "Como estudante universitário, eu não teria conseguido US $ 100.000 em um milhão de anos para negociar, & # 8221; ele disse à Reuters. "Levaria facilmente 10 anos para eu desenvolver uma plataforma de algoritmos complicada como a oferecida pela Quantopian."


Plataformas de negociação on-line orientadas a programas, como Quantopian e QuantConnect, baseadas nos EUA, e Cloud9trader, com sede na Inglaterra, que têm clientes em todo o mundo, não existiam no auge da crise financeira de 2008.


No entanto, Singleton disse que testou seu modelo contra dados históricos do ano da crise, gerando um retorno de 16% contra uma queda de 38% no índice S & P.


Um grande número de amadores está agora tentando ficar rico nos mercados globais, com o mercado global de varejo no valor de até US $ 3 trilhões só nos Estados Unidos.


Mas enquanto a negociação automatizada responde por cerca de 75% de todo o volume do mercado financeiro, apenas uma pequena fração de traders independentes ou amadores os utiliza devido à tecnologia complexa, à necessidade de dados históricos massivos e altos custos.


No entanto, as empresas que fornecem plataformas para o homespun & # 8220; algos & # 8221; A popularidade está crescendo entre todos, desde executivos de publicidade e engenheiros de telecomunicações até empreiteiros de defesa.


O fundador e presidente-executivo da Quantopian, John Fawcett, disse que sua adesão subiu para 60.000 de 35.000 menos de um ano atrás, enquanto o fundador e CEO da QuantConnect, Jared Broad, viu um salto em sua adesão para 17.000 de 6.000 no ano anterior. .


As amplas estratégias automatizadas tendem a se sair bem quando os mercados estão voláteis ou caindo acentuadamente, acrescentando que os volumes negociados em uma de suas corretoras aumentaram 300% em apenas três semanas em 2016.


Seu rápido crescimento aumenta o risco de manipulação de mercado ou fraude, mas a Quantopian disse que criou muitas salvaguardas, incluindo limites no número de negociações que os clientes podem fazer.


O Navinder Singh Sarao, com sede em Londres, foi preso no ano passado, com autoridades dos EUA ligando seus negócios automáticos de computador ao "flash crash" & # 8221; em 2010, que limpou brevemente US $ 1 trilhão dos mercados de ações dos EUA.


Sarao, que trocou de seus pais & # 8217; casa perto do aeroporto de Heathrow, em um subúrbio de Londres, está lutando contra as tentativas dos EUA de extraditá-lo. Um tribunal britânico deve ouvir o caso em 4 de fevereiro.


Basicamente, as plataformas de negociação on-line baseadas em regras fornecem ferramentas e tutoriais para as pessoas escreverem algoritmos em navegadores da Web e testarem seus modelos com anos de dados históricos. Eles também ajudam as pessoas a abrir contas com corretores aprovados.


É difícil verificar de forma independente as alegações dos comerciantes de varejo que dizem que ganharam um bom dinheiro este ano, quando se preocupam com a desaceleração da economia chinesa e com a queda do preço do petróleo em US $ 8 trilhões nos mercados acionários mundiais em janeiro.


Algumas pessoas como Jason Roberts perderam e saíram. Ele passou cerca de seis anos, de 1999 a 2004 e novamente em 2008, construindo softwares de trading automatizados antes de sair para ajudar projetos de startups para web e mobile.


Roberts disse que toda vez que ele se uniu a comerciantes em um empreendimento comercial automatizado, suas estratégias e idéias erraram o alvo, apesar de anteriormente terem tido sucesso como profissionais do mercado.


"Como as corretoras, esses sites de negociação ganham dinheiro quando as pessoas usam suas plataformas, por isso é do seu interesse convencê-lo de que você pode vencer o mercado," # 8221; disse Roberts, que agora é consultor para o serviço de passeio de carro Uber.


"Não estou totalmente convencido de que é possível vencer o mercado de forma consistente, independentemente de você estar negociando manualmente, guiado pela experiência e pela intuição ou por algoritmos, o que equivale a seguir um conjunto codificado de regras & # 8230; É fácil perder dinheiro com negociação algorítmica, assim como com qualquer investimento. & # 8221;


Julien Turc, chefe de estratégia quantitativa de ativos cruzados da Societe Generale, disse que a construção de uma estratégia de negociação sistemática é muito difícil. É fácil encontrar estratégias que teriam feito bem no passado, mas mais difícil de ganhar dinheiro com elas no futuro.


"No entanto, a negociação de algoritmos está se tornando mais popular agora, já que você tem tecnologias melhores, os reguladores avançam em direção às negociações transparentes e eletrônicas e está ficando cada vez mais difícil ganhar dinheiro usando ferramentas de negociação tradicionais. # 8221;


Singleton e Michael Van Kleeck, outro vencedor do concurso mensal de escrita de código da Quantopian em junho passado, estão entre os milhares de entusiastas que, indiferentes às críticas, acreditam ter uma vantagem sobre os métodos tradicionais de negociação.


& # 8220; Os seres humanos consistentemente apresentam desempenho baixo porque eles têm interferência emocional. A Algo Trading formaliza sua estratégia com antecedência e define limites claros sobre sua exposição ao risco, & # 8221; disse Jon Kafton, fundador da Cloud9Trader, um site de negociação automatizado sendo testado.


Para Kleeck, os sites de algoritmos e as plataformas de negociação atraem aqueles que, como ele, têm um apetite voraz por ler qualquer coisa relacionada a ganhar dinheiro nos mercados financeiros.


"Não é uma ciência de foguetes, embora possa haver alguns cientistas de foguetes no fórum." É tudo parte da disseminação geral da tecnologia na vida cotidiana. & # 8221; (Reportagem de Atul Prakash; Edição de Sudip Kar-Gupta e David Stamp)


US Search Desktop.


Agradecemos seus comentários sobre como melhorar a Pesquisa do Yahoo. Este fórum é para você fazer sugestões de produtos e fornecer feedback atencioso. Estamos sempre tentando melhorar nossos produtos e podemos usar o feedback mais popular para fazer uma mudança positiva!


Se você precisar de assistência de qualquer tipo, visite nosso fórum de suporte à comunidade ou encontre ajuda individualizada em nosso site de ajuda. Este fórum não é monitorado por nenhum problema relacionado a suporte.


O fórum de comentários do produto do Yahoo agora exige um ID e uma senha válidos do Yahoo para participar.


Agora você precisa fazer login usando sua conta de e-mail do Yahoo para nos fornecer feedback e enviar votos e comentários para as ideias existentes. Se você não tiver um ID do Yahoo ou a senha do seu ID do Yahoo, inscreva-se para obter uma nova conta.


Se você tiver um ID e uma senha válidos do Yahoo, siga estas etapas se quiser remover suas postagens, comentários, votos e / ou perfil do fórum de comentários do produto do Yahoo.


Vote em uma ideia existente () ou publique uma nova ideia…


Idéias quentes Idéias superiores Novas ideias Categoria Status Meu feedback.


Trazer de volta o layout antigo com pesquisa de imagens.


Xnxx vedios.


Motor de busca no Yahoo Finance.


Um conteúdo que está no Yahoo Finance não aparece nos resultados de pesquisa do Yahoo ao pesquisar por título / título da matéria.


Existe uma razão para isso, ou uma maneira de reindexar?


Não consigo usar os idiomas ingleses no e-mail do Yahoo.


Por favor, me dê a sugestão sobre isso.


O que vocês pagam por boas sugestões que aumentam a receita porque eu tenho uma que é garantida para fazer $. Me avise se estiver interessado.


O que vocês pagam por boas sugestões que aumentam a receita porque eu tenho uma que é garantida para fazer $. Me avise se estiver interessado.


Por favor, envie para desindexação.


Por favor, envie o link '410' para desindexação. Obrigado.


diga trump a tempo de imposto todo o mundo doa 1 dólar como patos ilimitado e.


como eles fazem para patos ilimitados e os fundos quando eles correm para o escritório?


Pare de ser um traidor para o nosso país. Whoo nomeou você para ser Juiz e Júri re Trump.


Quem nomeou você como juiz e jurado do presidente Trump?


Não é fácil dar um comentário.


Mantenha a verdadeira notícia que é muito importante. Trunfos *** a vida antes de ele ser presidente não é importante hoje, quando ele nem estava no cargo. Rússia, China, militares, comércio, protegendo a fronteira que eu vivo precisando da parede etc é o que é importante. A mídia não achava que era importante quando outros presidentes estavam fazendo negócios enquanto estavam no cargo, como os Kennedy, Clinton e outros. Ele mostra que você está alvejando Trump, que não é isso que os relatórios devem fazer. Também você sabe que eu pareço lembrar quando Obama disse que ele usou o Facebook etc a máquina eletrônica para ajudá-lo a ser eleito e como eles eram espertos e eu pensei a mesma coisa, mas agora, quando é Trumps campanha usando isso que está errado. Você não consegue ver porque está perdendo os espectadores? Você não está sendo tarifa. Como sobre as coisas importantes nas notícias que afetam nossa segurança (defesa, proteção de nossas fronteiras, negócios para empregos, dinheiro em nossos livros de bolso, quem no congresso estava por trás deles recebendo um aumento, etc.) O que é coisas que queremos saber.


Mantenha a verdadeira notícia que é muito importante. Trunfos *** a vida antes de ele ser presidente não é importante hoje, quando ele nem estava no cargo. Rússia, China, militares, comércio, protegendo a fronteira que eu vivo precisando da parede etc é o que é importante. A mídia não achava que era importante quando outros presidentes estavam fazendo negócios enquanto estavam no cargo, como os Kennedy, Clinton e outros. Ele mostra que você está alvejando Trump, que não é isso que os relatórios devem fazer. Além disso, você sabe que eu me lembro quando Obama disse que ele usou o Facebook, etc o eletrônico ... mais.

Comments