Riqueza do robô.
Postado em 14 de outubro de 2018 por Kris Longmore.
Esta publicação vem do Dr. Tom Starke, um bom amigo de Robot Riqueza. Tom é um físico, um desenvolvedor quantitativo e um comerciante algo experiente, com interesses interessantes em aprendizagem mecânica e computação quântica. Estou emocionado de que Tom esteja compartilhando seu conhecimento e experiência com a comunidade Robot Wealth. Para você, Tom.
Ao contrário da maioria das outras empresas, o comércio algorítmico tem a vantagem de lhe dar feedback quase instantâneo sobre o quão bom você está em sua empresa. Para quem é numericamente inclinado, esta é uma proposição muito atraente. Eu vi artigos escritos sobre esse assunto, mas eles nunca abordaram realmente muitos dos problemas que eu encontrei na minha jornada. Nesta publicação, gostaria de falar sobre isso um pouco como uma inspiração ou talvez um impedimento para todas as pessoas que lêem isso e consideram ganhar dinheiro dessa forma.
Nada poderia ser mais surpreendente, um sistema que funciona por si só e, de forma consistente, custam dinheiro para financiar estadias prolongadas em Bali, América do Sul ou com sua mãe, se é o que você está procurando. No entanto, como você pode ter adivinhado, não é tão simples, mesmo para o mais habilidoso de comércio-esclarecido - matemática-wiz ou gênio de programação. Em primeiro lugar, o algo-trading é multidisciplinar por natureza. Isso torna muito divertido e desafiador ao mesmo tempo. Você precisa ser bastante esclarecido em áreas como ciência da computação, matemática, análise de dados e algumas finanças, embora eu descobri que as pessoas que entendem os primeiros assuntos geralmente aprendem muito financeiramente.
Talvez você possa pensar que uma falta de conhecimento em algumas dessas áreas pode ser resolvida sabendo as pessoas certas e juntando-se a elas. Pode, mas, da minha experiência, as chances de sucesso não são excelentes. Conheci pessoalmente três pessoas com conhecimentos informáticos extensivos que se uniram com comerciantes institucionais para desenvolver idéias comerciais em sistemas automatizados - nenhum deles funcionou.
Porque isto é assim? Na minha experiência, os comerciantes muitas vezes trabalham com análises técnicas e respondem a sinais de negociação, o que para eles são "óbvios" para comprar e vender, e muitas vezes ganham um bom dinheiro com isso. O problema aqui é que sua consciência é muito ajustada para ver os sinais relevantes que têm potencial e são quase cegos para os que estão lá, mas, obviamente, não fazem sentido. Na sua opinião, os sinais que utilizam funcionam 100%. Um computador, no entanto, não tem a capacidade de discernir sinais que fazem sentido e aqueles que não, ele apenas executa independentemente. Como resultado, o comerciante pensa que seu cara de computador cometeu erros no programa e o programador pensa que as estratégias do comerciante não são boas e, finalmente, seguem seu próprio caminho.
Pegue uma instituição típica, um quant desenvolve um protótipo de seu sistema, diga MATLAB, e o time de TI converte-o em C ++ para ser executado na plataforma do fundo. Um algoritmo bem concebido contém muitas sutilezas que o desenvolvedor provavelmente não entenderá exatamente e pequenos erros podem matar completamente o desempenho do sistema.
Estes são cenários comuns e eu também tive minha parte justa disso. Estou pronto para o trabalho em equipe, mas a realidade é que, antes de poder terceirizar partes do seu projeto, você tem que entender você mesmo muito bem.
Agora, diga que você vem de um fundo quantitativo e você leu todos os livros, fez os exercícios, executou um monte de backtests e você está pronto para ir. Você começa a construir sua própria plataforma e percebe que há uma série de mostradores, como obter bons dados de mercado, dados históricos, conexões de intermediários e outros. Esses problemas são mais significativos do que você pensa. A solução mais fácil é obter uma conexão Bloomberg, mas isso ocorre com um custo significativo. Além disso, um típico terminal da Bloomberg não é realmente construído para gerir sofisticados algos de fragmentação. E quanto aos corretores interativos? Sim, ele pode funcionar, mas sua API está longe de ser perfeita e seus dados históricos são irritantemente cheios de erros e seus dados de mercado também têm muitos sinais falsos, o que pode prejudicar sua estratégia. Tudo isso pode ser resolvido, mas confie em mim, não é fácil. Os pequenos detalhes criam a complexidade e leva tempo para aprender sobre todas as armadilhas que podem surgir.
Mas aqui está a coisa: se isso fosse fácil, nunca teria entrado nisso porque a complexidade cria oportunidade. Eu gosto de aprender e eu gosto de resolver problemas, então isso é muito divertido. No processo eu aprendi mais do que durante todo o meu doutorado em física ... o quão legal é isso?
Como você começa, depende inteiramente de suas habilidades e preferências, mas permita-me dar algumas recomendações.
Em primeiro lugar, encontre o corretor de comissão mais baixo que puder. As comissões são o maior assassino de uma estratégia de outra forma boa. Um ponto base (1 por cento de 1 por cento) não soa muito, mas cada ponto base de comissão adicional que é adicionado ao seu comércio traz você para regimes comerciais totalmente diferentes. Mais comissão significa que você precisa esperar mais para sair, suas estratégias são mais arriscadas e menos consistentes.
Em segundo lugar, não tente automatizar tudo imediatamente. As estratégias semi-automáticas são realmente muito legais. O que isso significa é que sua máquina fornece os sinais e você executa a execução manualmente (desde que você não esteja executando 46 trades por segundo). Implementar boas estratégias de execução automatizada é realmente bastante complicado. O que você faz quando seu comércio não é preenchido? Ou fica parcialmente preenchido? Ou você não pode sair ao preço que deseja? Ou você vê que isso pode ser preenchido em breve, então está certo aguardar um pouco? Ou você deseja cancelar imediatamente. Se você fez isso à mão antes que seja muito mais fácil desenvolver algo que responda por todos os cenários que você possa encontrar.
Com sistemas semi-automatizados, se você acompanha esteicamente o que a sua estratégia lhe diz, pode funcionar bem, já que você não precisa se preocupar em também assistir o mercado ao mesmo tempo. Todos conhecemos os caras com 6 telas na frente deles tentando entender o que acontece no mercado - nunca vi um grupo de pessoas mais ansioso, com privação de sono e adrenalina do que aqueles. Muitas vezes, nem sequer têm uma estratégia e apenas reagem ao que pensam ser racional.
Ao desenvolver seu sistema, você perceberá que mesmo o melhor sistema totalmente automatizado no mundo não permitirá que você se deite na praia, tome bebidas legais e relaxe enquanto os negócios marcam e fazem dinheiro. Diga, sua estratégia realmente corre bem e gera lucro, mas, de repente, sua internet corta ou seu servidor tem uma onda de energia. O seu sistema está parado ou reconcilia-se suavemente e continua? Você tem um servidor de backup executado em sincronia e pode assumir (não trivial)? Você pode de alguma forma fechar todas as suas posições abertas através de uma conexão de internet alternativa? Ou talvez você faça o modo Warren Buffet e deixe suas posições abertas nos próximos 24 anos. E se a sua estratégia tiver uma grande redução? É esperado ou vai além do limite aceitável e você tem que cortar perdas? Você já determinou em que ponto você faz isso?
Isso nos leva a considerações sobre como você projeta seu sistema. A minha jornada e provavelmente a sua, começará com um design simples que apenas faz o que se pretende fazer, mas bastante lento e ineficiente. Você se move para executar bits em paralelo, introduzir o processamento de eventos complexos e acabar executando as diferentes partes do seu comerciante através de sockets em servidores externos que trocam mensagens de forma assíncrona. Eu tenho iterado através de todos esses eu mesmo e aprendi uma quantidade decente de ciência da computação ao longo do caminho. Se você ainda não é um desenvolvedor experiente, recomendo começar simples, em vez de criar um sistema grande imediatamente. A propósito, esse foi um dos meus primeiros erros de humilhação - oh, bem, todos nós aprendemos. Até agora, construí uma grande variedade de sistemas diferentes de simples a complexos e cada um me ajudou a entender diferentes aspectos do campo.
Também é útil reproduzir a execução simulada, uma vez que algumas estratégias sofrem significativamente quando o deslizamento, o impacto no mercado e outros fatores são levados em consideração. Muitas vezes, os testes para sinais comerciais, portfólio e execução podem ser executados separadamente, o que simplifica o processo e facilita a análise e compreensão.
Uma grande pedra de tropeção, especialmente para pessoas provenientes da ciência da computação e das finanças, é o processamento e a interpretação estatística dos dados de retorno coletados. Não é trivial e pode demorar anos de experiência para melhorar. Os dados contam histórias, aprendem a encontrar essas histórias nos números.
Se você fez isso até aqui e você está no início de sua jornada, você pode se sentir um pouco sobrecarregado, mas pense nisso dessa maneira: há todas essas coisas incríveis que você pode aprender no seu caminho, que acabará por iluminá-lo. Se fosse fácil, todo mundo faria isso.
Se você me perguntar qual é o aspecto mais importante que você precisa para que isso funcione, eu diria que é visão. Visão do que você realmente deseja alcançar. Isso, mais do que qualquer outra coisa, o levará na direção certa. Na minha opinião sincera, não são as pessoas mais inteligentes que conseguem isso, são os visionários. Se você não tem certeza do que estou falando, sugiro que você veja os livros por Charles Haanel, Napoleon Hill e Wallace D. Wattles. Se você é cientista, analista financeiro, engenheiro de software ou cabeleireiro, você terá grandes lacunas em seu conhecimento e é preciso determinação para preenchê-los. Então, vá em frente, construa sua visão, coloque suas mangas e comece!
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.)
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.
Como os Algoritmos de Negociação foram Criados.
A negociação quantitativa não é acessível apenas aos comerciantes institucionais; Os comerciantes de varejo estão se envolvendo também. Embora as habilidades de programação sejam recomendadas se você quiser produzir algoritmos, mesmo que nem sempre sejam necessários. São disponíveis programas e serviços que escrevem o código de programação para uma estratégia com base nas entradas que você fornece. O código produzido pelo programa / serviço é então conectado à plataforma de negociação e as negociações começam. Mas antes que tudo isso possa ocorrer, os comerciantes algorítmicos desejosos progridem através de várias etapas, decidindo exatamente o que eles querem realizar com o algoritmo e como.
Time Frame e Restrições.
Embora um algoritmo bem programado possa funcionar por conta própria, recomenda-se algum descuido humano. Portanto, escolha um cronograma e uma freqüência comercial que você possa monitorar. Se você tem um emprego a tempo inteiro e seu algoritmo está programado para fazer centenas de negócios por dia em um gráfico de um minuto enquanto você está no trabalho, talvez não seja o ideal. Você pode desejar escolher um quadro um pouco mais longo para suas negociações, e menos freqüência comercial para que você possa acompanhar isso.
A rentabilidade na fase de teste do algoritmo não significa que continuará a produzir esses retornos para sempre. Ocasionalmente, você precisará intervir e alterar o algoritmo de negociação se os resultados revelarem que já não está funcionando bem. Este também é um compromisso de tempo que qualquer pessoa que se compromete a negociação algorítmica deve aceitar.
As restrições financeiras também são um problema. As comissões se acumulam muito rapidamente com uma estratégia de negociação de alta freqüência, portanto, certifique-se de que você está com o corretor de menor custo disponível e que o potencial de lucro de cada negociação garante o pagamento dessas comissões, potencialmente muitas vezes por dia. O capital inicial também é uma consideração. Diferentes mercados e produtos financeiros exigem valores diferentes de capital. Se o dia comercializar ações, você precisará de pelo menos US $ 25.000 (mais é recomendado), mas negociação forex ou futuros você pode potencialmente começar com menos.
As restrições de mercado são outra questão. Nem todos os mercados são adequados ao comércio algorítmico. Escolha ações, ETFs, pares de divisas ou futuros com ampla liquidez para lidar com as ordens que o algoritmo estará produzindo.
Desenvolva ou ajuste uma estratégia.
Uma vez que as restrições financeiras e de tempo são compreendidas, desenvolva ou ajuste uma estratégia que pode ser programada. Você pode ter uma estratégia que você troca manualmente, mas é facilmente codificado? Se sua estratégia é altamente subjetiva e não baseada em regras, a programação da estratégia pode ser impossível. As estratégias baseadas em regras são as mais fáceis de codificar; estratégias com entradas, paradas de perdas e metas de preços com base em dados quantificáveis ou movimentos de preços.
Uma vez que as estratégias baseadas em regras são facilmente copiadas e testadas, existem abundantes disponíveis gratuitamente se você não tiver idéias próprias. A Quantpedia é um desses recursos, fornecendo documentos acadêmicos e resultados comerciais para vários métodos de negociação quantitativos. As regras descritas podem ser codificadas e, em seguida, testadas quanto à rentabilidade nos dados passados e atuais. Codificar um algoritmo requer habilidade de programação ou acesso a software ou alguém que possa codificar para você.
Testando um Algoritmo de Negociação.
O passo mais importante é o teste. Uma vez que uma estratégia de negociação foi codificada, não troque capital real com ela até que ela tenha sido testada. O teste inclui permitir que o algoritmo funcione em dados históricos de preços, mostrando como o algoritmo foi realizado em milhares de negócios. Se a fase de teste histórico for rentável, e as estatísticas produzidas são aceitáveis para sua tolerância ao risco - como, por exemplo, redução máxima, relação de ganhos, risco de arruamento, e, em seguida, proceder ao teste do algoritmo em condições de vida em uma conta demo. Mais uma vez, esta fase deve produzir centenas de negócios para que você possa acessar o desempenho.
Se o algoritmo é rentável em dados de preços históricos e negociando uma conta de demonstração ao vivo, use-o comercialmente de capital real, mas com um olhar atento. As condições ao vivo são diferentes dos testes históricos ou de demonstração, porque as ordens do algoritmo realmente afetam o mercado e podem causar derrapagens. Até que seja verificado, o algoritmo funciona no mercado real, como fez nos testes, mantenha um olhar atento.
Enquanto o algoritmo estiver operando dentro dos parâmetros estatísticos estabelecidos durante o teste, deixe o algoritmo sozinho. Algoritmos têm o benefício de negociar sem emoção, mas um comerciante que constantemente brincadeira com o algoritmo está anulando esse benefício. O algoritmo exige atenção. Monitorize o desempenho, e se as condições do mercado mudam tanto que o algoritmo já não está funcionando como deveria, então os ajustes podem ser necessários.
O comércio algorítmico não é um esforço definido e esquecido que o torna rico durante a noite. De fato, a negociação quantitativa pode ser tanto trabalho quanto a negociação manual. Se você optar por criar um algoritmo, esteja ciente de como o tempo, as restrições financeiras e de mercado podem afetar sua estratégia e planejar de acordo. Transforme uma estratégia atual em uma regra baseada em uma que possa ser mais facilmente programada ou selecione um método quantitativo que já foi testado e pesquisado. Em seguida, execute sua própria fase de teste usando dados históricos e atuais. Se isso for verificado, então execute o algoritmo com dinheiro real sob um olhar atento. Ajuste, se necessário, mas, de outra forma, deixe seu trabalho funcionar.
Como construir sua própria estratégia de negociação algorítmica.
Estratégia de negociação algorítmica.
Toda semana, recebemos inúmeros e-mails nos perguntando como criamos nossa lucrativa estratégia de negociação algorítmica.
Em vez de tentar explicar nosso processo e raciocínio repetidamente através de e-mails e chamadas telefônicas, decidimos criar um vídeo detalhado sobre os 4 maiores obstáculos que os comerciantes ficam presos e como você pode construir sua própria estratégia de negociação algorítmica rentável.
Seu objetivo como comerciante é criar ou pelo menos usar uma estratégia de negociação vencedora. Não importa se você trocar manualmente, ou se é uma estratégia de negociação automatizada. Mas se você criar algo que ganha dinheiro, é natural que você se concentre em automatizá-lo para que você tenha sua própria estratégia de negociação algorítmica executando e trabalhando para você, enquanto você constrói sua próxima estratégia de negociação e # 8230;
Ao longo dos anos, eu gastei 10 milhares de dólares tentando descobrir quais são as chaves para uma estratégia comercial bem-sucedida. Eu quero compartilhar com você como eu crio estratégias de negociação algorítmicas lucrativas que funcionam em mercados em ascensão, queda e paralelos.
Como eu construí uma estratégia de negociação rentável e algorítmica; Como você também pode.
Deixe-me compartilhar com você minha jornada como comerciante na ordem em que as coisas me acontecem e como eu me tornei um usuário de estratégia de negociação algorítmica em tempo integral. Assista ao vídeo abaixo para obter detalhes e a oferta especial.
A Estratégia de Negociação Algorítmica atinge a Nova Marca de Água Alta de 30,7% ROI & # 8211; Comunicado de imprensa.
Compartilhe essa entrada.
Chris Vermeulen em Benzinga PreMarket TV Show & # 8211; Negociação automatizada.
Algorithmic Trading Strategies Performance & # 038; Educação para investidores.
No comments:
Post a Comment