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.)
ESTRATÉGIAS DE NEGOCIAÇÃO ALGORITÓMICA PROVENIENTES.
Estratégias de negociação quantitativas para lucrar durante o aumento & # 038; Mercados em queda.
ACEITE DIVERSIFICAÇÃO NA SUA CARTEIRA.
COMO QUE NUNCA PENSOU POSSÍVEL.
Nossas estratégias de negociação algorítmica proporcionam diversificação ao seu portfólio através da negociação de vários valores como o índice S & # 038; P 500, o índice DAX e o índice de volatilidade, através do uso de negociação de futuros ou fundos negociados em bolsa muito líquidos. Aplicando estratégias de tendência, negociação contra tendência e estratégias baseadas em ciclo vinculado, buscamos fornecer um processo de decisão de negociação sistemático e altamente automatizado capaz de fornecer retornos consistentes para nossos clientes. *
Nós oferecemos múltiplas estratégias de negociação algorítmica, onde todas as estratégias algorítmicas podem ser seguidas manualmente, recebendo alertas de email e SMS, ou podem ser 100% mãos-livres negociadas automaticamente em sua conta de corretagem. Depende de você e você pode ativar / desativar o comércio automatizado a qualquer momento para que você esteja sempre no controle de seu destino.
Nossas estratégias de negociação algorítmica:
1. Mudanças de impulso de curto prazo entre condições de mercado de sobrecompra e sobreposição, que são negociadas usando posições longas e curtas permitindo, lucros potenciais em qualquer direção do mercado.
2. O seguimento da tendência tira proveito dos movimentos prolongados de preços de vários meses em qualquer direção para cima ou para baixo.
3. A negociação cíclica permite lucros potenciais durante um mercado encadernado. Alguns dos maiores ganhos são encontrados durante condições agudas do mercado com esta estratégia. *
Nossos Produtos - AlgoTrades é um serviço de sistema de negociação tudo-em-um que combina os tipos de análise mais efetivos e importantes listados acima em sistemas de negociação algorítmicos únicos para a criação de sistema dinâmico e robusto.
As estratégias de negociação quantitativas da AlgoTrades diversificam seu portfólio de duas maneiras; (1) negocia os maiores índices de ações para diversificação total com todos os setores de mercado, (2) emprega três estratégias de negociação algorítmicas de análise exclusiva. As três estratégias de negociação únicas proporcionam estabilidade adicional como resultado de abordagens múltiplas e as posições de fato variam em tamanho e tamanho.
Valor adicionado com estratégias de negociação algorítmicas.
A AlgoTrades procura agregar valor, maximizando a eficiência de retorno, uma medida estatística de desempenho. Nós agregamos valor através de um desempenho consistente, independentemente da atual condição ou tendência do mercado. ** Nossas regras e sistema de gerenciamento de risco intrincados podem oferecer baixa volatilidade do portfólio e uma baixa correlação com os retornos do mercado de ações.
A equitação da montanha-russa do mercado de ações e a observação do seu portfólio caem com o mercado financeiro agora podem ser evitadas através do uso de nossas estratégias de negociação algorítmicas. ^
O valor que fornecemos aos nossos investidores, pesquisa de ponta, posições adequadamente gerenciadas e altos níveis de transparência, todos os quais são projetados para ajudar os investidores a alcançar seus objetivos financeiros antes. ***
O que nossas estratégias de negociação algorítmica não são.
Nossas estratégias de negociação algorítmica não são neutras ao mercado, o que significa que não protegemos nossa posição porque procuramos lucrar com as flutuações do mercado de ações. Em vez disso, nossos negócios são direcionais e tipicamente na direção da tendência principal, se o preço está subindo, para baixo ou para os lados.
Investir com a AlgoTrades traz o risco de perda como todos os investimentos.
No entanto, estamos muito conscientes e conscientes da importância do controle de risco e acreditamos que a negociação usando nossas estratégias de negociação algorítmica e abordagem automatizada gerenciará com sucesso o risco enquanto procura retornos atraentes. ***
Gerar um Crescimento Consistente a Longo Prazo.
Nossas estratégias de negociação algorítmica - Descrição & # 038; Filosofia.
Acreditamos que o sistema de negociação algorítmica AlgoTrades é tudo o que um comerciante e um investidor precisam para gerar um crescimento consistente a longo prazo. *
Nossas exclusivas ferramentas proprietárias e algoritmos de negociação nos permitem aproveitar os mercados financeiros, independentemente da direção do mercado. AlgoTrades & # 8217; Filtros avançados monitoram o mercado em uma base tick-by-tick, avaliando cada entrada, lucro / perda ou interromper o nível de colocação em tempo real, portanto, você não precisa.
O que é negociado:
Os sistemas que comercializam o contrato de futuros mini ES, futuros DAX, com posições longas e curtas. Alguns sistemas de comércio usam fundos negociados em bolsa com foco na negociação de índices, setores e índice de volatilidade. Nós também temos sistemas de negociação de ações para aqueles que preferem a negociação de ações ativas. Os negócios variam em função da estratégia. A gama de sistemas forma dias de negociação para negociação de tendências longas de várias semanas.
AlgoTrades & # 8217; A prioridade número um após a execução de um cargo é maximizar os lucros e reduzir o risco.
Gerenciamento de posição usado.
Cada um dos nossos sistemas comercializa um contrato de futuros ou um valor fixo de tamanho de posição se negociar ações ou ETF & # 8217; s. Além disso, alguns sistemas, como operações de futuros ou sistemas de ações longas / curtas, exigirão uma conta de margem, enquanto um único sistema ETF (fundos regulares e inversos) pode ser usado qualquer conta normal de negociação de ações.
Nossos sistemas são todos capazes de escala, o que significa que se um sistema requer tamanho de conta de $ 10.000 e você tem uma conta de $ 20K, você simplesmente configuraria a escala de sistema para 200%. Isso garantirá que você esteja negociando os tamanhos de posição corretos para sua conta.
Tamanho da conta necessária.
A conta de negociação mínima necessária para que os negócios sejam executados com nosso sistema mais pequeno é uma conta de US $ 10.000. Nossos sistemas são dimensionáveis, o que significa que se um sistema indicar que ele exige tamanho de conta de $ 10.000 e você possui uma conta de US $ 20.000, você simplesmente configurou a escala do sistema para 200%.
Por outro lado, se um sistema diz que exige US $ 25.000 e você só tem US $ 12.500, você configuraria a escala do sistema para negociar 50% do tamanho da posição do sistema. Isso garantirá que você esteja negociando os tamanhos de posição corretos para sua conta.
APRENDA SOBRE ESTRATÉGIAS DE NEGOCIAÇÃO ALGORITÓMICA.
USADO PARA COMER-SE SUA CONTA.
IMPORTANTE & # 8211; ESTRATÉGIAS DE NEGOCIAÇÃO ALGORITÓMICA:
Todos os anos, o mercado de ações tem um ponto ótimo onde uma grande parcela dos ganhos será gerada em poucos meses, de modo que o compromisso com o sistema de negociação algorítmica é importante para o sucesso a longo prazo.
NOTA DE ESTRATÉGIA DE NEGOCIAÇÃO ALGORITÓMICA.
Nosso sistema AlgoTrades foi desenvolvido e comercializado por profissionais que querem compartilhar seu sistema, paixão dos mercados e estilo de vida com nosso seleto grupo de comerciantes e investidores.
A equipe AlgoTrades possui um nível combinado de experiência de 77 anos nos mercados. Nossos recursos funcionam de forma abrangente, cobrindo o dia de negociação, negociação de swing, 24 horas de negociação de futuros, ações, ETF & # 8217; s e desenvolvimento de estratégias de negociação algorítmica. Nosso grupo pequeno e elite já viu e fez tudo!
Estamos orgulhosos de disponibilizar AlgoTrades para investidores individuais para ajudar a nivelar o campo de jogo com os profissionais, hedge funds e empresas de private equity em Wall Street.
Nossas estratégias de negociação algorítmica usam vários pontos de dados para poder fazer suas decisões e fazer negócios. O uso de ciclos, proporções de volume, tendências, volatilidade, sentimento do mercado e reconhecimento de padrões, coloca a probabilidade a nosso favor para ganhar dinheiro.
ESTRATÉGIAS DE NEGOCIAÇÃO ALGORITÓMICA IMPORTANTES FEATURE & # 038; BENEFÍCIO PARA OS OPERADORES DE FUTUROS: quando um contrato de futuros está próximo do vencimento, nosso sistema fechará automaticamente o contrato da frente ou nas proximidades e restabelecerá a posição na nova frente ou no mês do contrato próximo. Não é necessária nenhuma ação da sua parte. É uma verdadeira estratégia de negociação automatizada mãos livres.
Sistemas de negociação automatizados para investidores experientes.
Stocks, ETF & # 8217; s, & # 038; Futuros estratégias de negociação algorítmica.
Em um mundo liderado por títulos, com computadores comerciais de alto nível que cuspiam ordens mais rapidamente do que qualquer um poderia responder a um rumor, fato ou novidade, o que é um comerciante ou investidor para fazer?
Invista em uma estratégia sistemática e disciplinada, como nossas Estratégias de Negociação Algoritmicas AlgoTrades. Com base em um intervalo de tempo de rodagem de seis meses, nossos sistemas de negociação algorítmica demonstraram uma forte correlação negativa com o mercado de ações durante as retrocessos e até mesmo os mercados ósseos plurianuais. *** Em outras palavras, durante um determinado período de seis meses, nossa negociação os sistemas tendem a aumentar sua conta de negociação, quando o mercado de ações está em declínio. Construímos nossos algoritmos para capturar tendências em vários mercados, como o índice S & P500, o índice Dax, ações individuais e o índice de volatilidade do evento ele. Usando futuros, trocados fundos negociados (ETFs), ou ações, podemos tirar o máximo proveito dos giros mensais do mercado de ações. Use nosso sistema de negociação algorítmica e você pode ter certeza de que você possui alguns dos melhores sistemas de negociação automatizados que trabalham para você. *
QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.
Por Michael Halls-Moore em 19 de abril de 2018.
Neste artigo, quero apresentar-lhe os métodos pelos quais eu próprio identifico estratégias de negociação algorítmicas rentáveis. Nosso objetivo hoje é entender em detalhes como encontrar, avaliar e selecionar esses sistemas. Vou explicar como as estratégias de identificação são tanto sobre preferências pessoais quanto sobre o desempenho da estratégia, como determinar o tipo e a quantidade de dados históricos para o teste, como avaliar de forma imparcial uma estratégia de negociação e, finalmente, como avançar para a fase de backtesting e implementação estratégica.
Identificando suas próprias preferências pessoais para negociação.
Para ser um comerciante bem sucedido - de forma discricionária ou algorítmica - é necessário fazer-se algumas perguntas honestas. O Trading oferece a você a capacidade de perder dinheiro em uma taxa alarmante, por isso é necessário "conhecer você mesmo" tanto quanto é necessário entender a estratégia escolhida.
Eu diria que a consideração mais importante na negociação é estar ciente de sua própria personalidade. O comércio e o comércio algorítmico em particular, requer um grau significativo de disciplina, paciência e desapego emocional. Como você está deixando um algoritmo executar sua negociação para você, é necessário ser resolvido para não interferir com a estratégia quando está sendo executado. Isso pode ser extremamente difícil, especialmente em períodos de redução prolongada. No entanto, muitas estratégias que mostraram ser altamente rentáveis em um backtest podem ser arruinadas por uma simples interferência. Compreenda que se você deseja entrar no mundo da negociação algorítmica, você será testado emocionalmente e, para ser bem-sucedido, é necessário trabalhar com essas dificuldades!
A próxima consideração é uma das vezes. Você tem um emprego a tempo inteiro? Você trabalha a tempo parcial? Você trabalha em casa ou tem uma longa viagem diária? Essas perguntas ajudarão a determinar a freqüência da estratégia que você deve procurar. Para aqueles de você no emprego a tempo inteiro, uma estratégia de futuros intradiária pode não ser apropriada (pelo menos até que seja totalmente automatizada!). Suas restrições de tempo também ditarão a metodologia da estratégia. Se sua estratégia é freqüentemente negociada e dependente de feeds de notícias caras (como um terminal da Bloomberg), você terá claramente que ser realista sobre sua capacidade de executar com sucesso durante o escritório! Para aqueles de vocês com muito tempo, ou as habilidades para automatizar sua estratégia, você pode querer examinar uma estratégia mais técnica de negociação de alta freqüência (HFT).
Minha opinião é que é necessário realizar pesquisas contínuas sobre suas estratégias de negociação para manter um portfólio consistentemente lucrativo. Poucas estratégias permanecem "sob o radar" para sempre. Assim, uma parte importante do tempo atribuído à negociação será na realização de pesquisas em andamento. Pergunte a si mesmo se você está preparado para fazer isso, pois pode ser a diferença entre uma forte rentabilidade ou um declínio lento em relação a perdas.
Você também precisa considerar seu capital de negociação. O valor mínimo ideal geralmente aceito para uma estratégia quantitativa é de 50,000 USD (aproximadamente £ 35,000 para nós no Reino Unido). Se eu estivesse começando de novo, eu começaria com uma quantidade maior, provavelmente mais perto de 100,000 USD (aproximadamente £ 70,000). Isso ocorre porque os custos de transação podem ser extremamente caros para estratégias de média a alta freqüência e é necessário ter capital suficiente para absorvê-los em tempos de redução. Se você está considerando começar com menos de 10.000 USD, então você precisará se restringir a estratégias de baixa freqüência, negociando em um ou dois ativos, já que os custos de transação irão comer rapidamente em seus retornos. Interactive Brokers, que é um dos corretores mais amigáveis para aqueles com habilidades de programação, devido à sua API, tem uma conta de varejo mínima de 10.000 USD.
A habilidade de programação é um fator importante na criação de uma estratégia de negociação algorítmica automatizada. Estar bem informado em uma linguagem de programação como C ++, Java, C #, Python ou R permitirá que você crie o sistema de armazenamento de dados, o sistema de backtest e o sistema de execução de ponta a ponta. Isso tem uma série de vantagens, cujo chefe é a capacidade de estar completamente atento a todos os aspectos da infra-estrutura comercial. Também permite que você explore as estratégias de freqüência mais alta, pois você terá o controle total da sua "pilha de tecnologia". Embora isso signifique que você possa testar seu próprio software e eliminar erros, também significa mais tempo gasto na codificação de infra-estrutura e menos na implementação de estratégias, pelo menos na parte anterior da sua carreira de trading. Você pode achar que você está confortável negociando no Excel ou MATLAB e pode terceirizar o desenvolvimento de outros componentes. Eu não recomendaria isso no entanto, especialmente para aqueles que negociavam em alta freqüência.
Você precisa se perguntar o que você espera alcançar por meio de negociação algorítmica. Você está interessado em um rendimento regular, pelo qual você espera obter lucros de sua conta de negociação? Ou, você está interessado em um ganho de capital a longo prazo e pode se negociar sem a necessidade de retirar fundos? A dependência de renda determinará a freqüência de sua estratégia. As retiradas de renda mais regulares exigirão uma estratégia de negociação de maior freqüência com menor volatilidade (ou seja, uma proporção Sharpe mais alta). Os comerciantes de longo prazo podem pagar uma frequência comercial mais tranquila.
Finalmente, não se ilude com a noção de tornar-se extremamente rico num curto espaço de tempo! O comércio de Algo não é um esquema rápido e rápido - se alguma coisa pode ser um esquema rápido e rápido. É preciso disciplina, pesquisa, diligência e paciência importantes para serem bem-sucedidos no comércio algorítmico. Pode levar meses, senão anos, gerar rentabilidade consistente.
Sourcing Algorithmic Trading Ideas.
Apesar das percepções comuns em contrário, é realmente bastante direto localizar estratégias de negociação rentáveis no domínio público. Nunca as idéias comerciais estão mais disponíveis do que hoje. Revistas de finanças acadêmicas, servidores de pré-impressão, blogs comerciais, fóruns de negociação, revistas comerciais semanais e textos especializados fornecem milhares de estratégias de negociação com as quais basear suas idéias.
Nosso objetivo como pesquisadores quantitativos de negócios é estabelecer um pipeline estratégico que nos forneça um fluxo de idéias comerciais em andamento. Idealmente, queremos criar uma abordagem metódica para sourcing, avaliação e implementação de estratégias que encontramos. Os objetivos do pipeline são gerar uma quantidade consistente de novas idéias e fornecer-nos uma estrutura para rejeitar a maioria dessas idéias com o mínimo de consideração emocional.
Devemos ser extremamente cuidadosos para não permitir influências cognitivas na nossa metodologia de tomada de decisão. Isso pode ser tão simples como ter uma preferência por uma classe de ativos sobre outra (o ouro e outros metais preciosos vêm à mente) porque são percebidos como mais exóticos. Nosso objetivo sempre deve ser encontrar estratégias consistentemente lucrativas, com expectativas positivas. A escolha da classe de ativos deve basear-se em outras considerações, como restrições de capital de negociação, taxas de corretagem e capacidades de alavancagem.
Se você não está completamente familiarizado com o conceito de estratégia comercial, então o primeiro lugar a procurar é com os livros didáticos estabelecidos. Os textos clássicos fornecem uma ampla gama de idéias mais simples e diretas, para se familiarizarem com a negociação quantitativa. Aqui está uma seleção que eu recomendo para aqueles que são novos para negociação quantitativa, que gradualmente se tornam mais sofisticados enquanto você trabalha através da lista:
Para uma lista mais longa de livros de negociação quantitativos, visite a lista de leitura QuantStart.
O próximo lugar para encontrar estratégias mais sofisticadas é com fóruns de negociação e blogs comerciais. No entanto, uma nota de cautela: muitos blogs comerciais dependem do conceito de análise técnica. A análise técnica envolve a utilização de indicadores básicos e psicologia comportamental para determinar tendências ou padrões de reversão nos preços dos ativos.
Apesar de ser extremamente popular no espaço comercial geral, a análise técnica é considerada um pouco ineficaz na comunidade de finanças quantitativas. Alguns sugeriram que não é melhor que ler um horóscopo ou estudar folhas de chá em termos de seu poder preditivo! Na realidade, existem indivíduos bem-sucedidos que utilizam análises técnicas. No entanto, como quants com uma caixa de ferramentas matemática e estatística mais sofisticada à nossa disposição, podemos facilmente avaliar a eficácia de tais estratégias "baseadas em TA" e tomar decisões baseadas em dados, em vez de basear nossas em considerações ou preconceitos emocionais.
Aqui está uma lista de bem-respeitados blogs e fóruns de negociação algorítmica:
Depois de ter tido alguma experiência na avaliação de estratégias mais simples, é hora de olhar para as ofertas acadêmicas mais sofisticadas. Algumas revistas acadêmicas serão de difícil acesso, sem inscrições elevadas ou custos pontuais. Se você é um membro ou ex-aluno de uma universidade, você poderá obter acesso a algumas dessas revistas financeiras. Caso contrário, você pode olhar para os servidores de pré-impressão, que são repositórios de internet de rascunhos finais de documentos acadêmicos que estão sendo submetidos a revisão pelos pares. Uma vez que estamos apenas interessados em estratégias que possamos replicar com sucesso, fazer backtest e obter rentabilidade, uma revisão por pares é de menor importância para nós.
A principal desvantagem das estratégias acadêmicas é que muitas vezes podem estar desatualizadas, exigir dados históricos obscuros e dispendiosos, negociar classes de ativos ilíquidas ou não influenciar taxas, derrapagens ou propagação. Também não está claro se a estratégia de negociação deve ser realizada com ordens de mercado, ordens limitadas ou se contém perdas de parada, etc. Portanto, é absolutamente essencial replicar a estratégia o melhor que puder, fazer o backtest e adicionar uma transação realista custos que incluem tantos aspectos das classes de ativos que você deseja negociar.
Aqui está uma lista dos servidores de pré-impressão mais populares e revistas financeiras das quais você pode criar ideias:
E sobre como formar suas próprias estratégias quantitativas? Isso geralmente requer (mas não está limitado a) conhecimento em uma ou mais das seguintes categorias:
Microestrutura de mercado - Para estratégias de freqüência mais altas em particular, pode-se usar a microestrutura do mercado, ou seja, a compreensão da dinâmica do livro de pedidos, a fim de gerar rentabilidade. Diferentes mercados terão várias limitações tecnológicas, regulamentos, participantes do mercado e restrições que estão abertas à exploração através de estratégias específicas. Esta é uma área muito sofisticada e os profissionais de varejo terão dificuldade em ser competitivos neste espaço, particularmente porque a competição inclui fundos de hedge quantitativos grandes e bem capitalizados com fortes capacidades tecnológicas. Estrutura do fundo - Os fundos de investimento em conjunto, como fundos de pensão, parcerias de investimento privado (hedge funds), consultores de negociação de commodities e fundos de investimento, são limitados por uma forte regulamentação e suas grandes reservas de capital. Assim, certos comportamentos consistentes podem ser explorados com aqueles que são mais ágeis. Por exemplo, grandes fundos estão sujeitos a restrições de capacidade devido ao seu tamanho. Assim, se eles precisam rapidamente descarregar (vender) uma quantidade de valores mobiliários, eles terão que diminuí-lo para evitar "mover o mercado". Algoritmos sofisticados podem tirar proveito disso, e outras idiossincrasias, em um processo geral conhecido como arbitragem de estrutura de fundos. Aprendizado de máquinas / inteligência artificial - Os algoritmos de aprendizagem de máquinas tornaram-se mais prevalentes nos últimos anos nos mercados financeiros. Os classificadores (como Naive-Bayes, et al.) Correspondentes de função não-linear (redes neurais) e rotinas de otimização (algoritmos genéticos) foram todos usados para prever caminhos de ativos ou otimizar estratégias de negociação. Se você tem um histórico nesta área, você pode ter alguma visão sobre como determinados algoritmos podem ser aplicados a certos mercados.
Há, é claro, muitas outras áreas para investigar quants. Vamos discutir como apresentar estratégias personalizadas em detalhes em um artigo posterior.
Ao continuar monitorando essas fontes em uma base semanal, ou mesmo diária, você está se preparando para receber uma lista consistente de estratégias de uma variedade diversificada de fontes. O próximo passo é determinar como rejeitar um grande subconjunto dessas estratégias, a fim de minimizar o desperdício de seu tempo e os recursos de backtesting em estratégias que provavelmente não serão lucrativas.
Avaliando Estratégias de Negociação.
A primeira consideração, e indiscutivelmente mais óbvia, é se você realmente entende a estratégia. Você poderia explicar a estratégia de forma concisa ou exigir uma série de advertências e listas de parâmetros infinitas? Além disso, a estratégia tem uma base boa e sólida na realidade? Por exemplo, você poderia apontar alguma lógica comportamental ou restrição da estrutura do fundo que possa estar causando o (s) padrão (s) que você está tentando explorar? Esta restrição suportaria uma mudança de regime, como uma dramática perturbação do ambiente regulatório? A estratégia depende de regras estatísticas ou matemáticas complexas? Aplica-se a qualquer série de tempo financeiro ou é específico para a classe de ativos em que se afirma ser lucrativo? Você deve constantemente pensar nesses fatores ao avaliar novos métodos de negociação, caso contrário você pode desperdiçar uma quantidade significativa de tempo tentando fazer backtest e otimizar estratégias não lucrativas.
Uma vez que você tenha determinado que você entende os princípios básicos da estratégia, você precisa decidir se ele se encaixa com o seu perfil de personalidade acima mencionado. Esta não é uma consideração tão vaga quanto parece! As estratégias diferirão substancialmente em suas características de desempenho. Existem certos tipos de personalidade que podem lidar com períodos mais significativos de redução ou estão dispostos a aceitar um maior risco de retorno maior. Apesar do fato de que nós, como quants, tentamos eliminar todo o viés cognitivo quanto possível e devemos avaliar uma estratégia de forma imparcial, os preconceitos sempre se infiltrarão. Assim, precisamos de um meio consistente e sem emoção através do qual avaliar o desempenho das estratégias . Aqui está a lista de critérios que eu julgo uma nova estratégia potencial por:
Metodologia - O impulso da estratégia está baseado, o retorno médio, o mercado neutro, direcional? A estratégia baseia-se em técnicas de aprendizado estatístico ou de máquinas complexas (ou complexas) que são difíceis de entender e exigem um doutorado em estatísticas para entender? Essas técnicas introduzem uma quantidade significativa de parâmetros, o que pode levar a um viés de otimização? A estratégia é susceptível de suportar uma mudança de regime (ou seja, uma nova regulamentação potencial dos mercados financeiros)? Sharpe Ratio - O índice de Sharpe caracteriza heuristicamente o índice de recompensa / risco da estratégia. Quantifica quanto retorno você consegue para o nível de volatilidade sofrido pela curva patrimonial. Naturalmente, precisamos determinar o período e a frequência em que esses retornos e volatilidade (ou seja, o desvio padrão) são medidos. Uma estratégia de freqüência mais alta exigirá maior taxa de amostragem do desvio padrão, mas um período de tempo geral mais curto, por exemplo. Alavancagem - A estratégia exige alavancagem significativa para ser lucrativa? A estratégia exige o uso de contratos de derivativos alavancados (futuros, opções, swaps) para fazer um retorno? Estes contratos alavancados podem ter uma forte volatilidade e, portanto, podem facilmente levar a chamadas de margem. Você tem o capital comercial e o temperamento para essa volatilidade? Frequência - A frequência da estratégia está intimamente ligada à sua pilha de tecnologia (e, portanto, à experiência tecnológica), ao índice Sharpe e ao nível geral dos custos de transação. Todas as outras questões consideradas, as estratégias de maior freqüência requerem mais capital, são mais sofisticadas e difíceis de implementar. No entanto, assumindo que seu mecanismo de teste de backtest é sofisticado e livre de erros, eles geralmente terão taxas Sharpe muito maiores. Volatilidade - A volatilidade está fortemente relacionada ao "risco" da estratégia. A relação Sharpe caracteriza isso. A maior volatilidade das classes de ativos subjacentes, se não coberta, muitas vezes leva a uma maior volatilidade na curva patrimonial e, portanto, menores índices de Sharpe. Naturalmente, suponho que a volatilidade positiva seja aproximadamente igual à volatilidade negativa. Algumas estratégias podem ter maior volatilidade negativa. Você precisa estar ciente desses atributos. Ganhe / Perda, Lucro / Perda Médio - As estratégias serão diferentes nas suas ganhos / perdas e características médias de lucro / perda. Pode-se ter uma estratégia muito lucrativa, mesmo que o número de negócios perdidos exceda o número de negociações vencedoras. As estratégias de impulso tendem a ter esse padrão, pois dependem de um pequeno número de "grandes sucessos" para serem lucrativos. As estratégias de reversão média tendem a ter perfis opostos onde mais dos negócios são "vencedores", mas os negócios perdidos podem ser bastante graves. Drawdown máximo - A redução máxima é a maior queda percentual global na curva de equidade da estratégia. As estratégias de Momentum são bem conhecidas por sofrerem períodos de redução prolongada (devido a uma série de muitos negócios perdidos incrementais). Muitos comerciantes vão desistir em períodos de redução prolongada, mesmo que os testes históricos sugeriram que este é "business as usual" para a estratégia. Você precisará determinar qual porcentagem de redução (e em que período de tempo) você pode aceitar antes de deixar de negociar sua estratégia. Esta é uma decisão altamente pessoal e, portanto, deve ser considerada com cuidado. Capacidade / liquidez - No nível de varejo, a menos que você esteja negociando em um instrumento altamente ilíquido (como um estoque de pequena capital), você não terá que se preocupar muito com a capacidade da estratégia. A capacidade determina a escalabilidade da estratégia para aumentar o capital. Muitos dos maiores hedge funds sofrem de importantes problemas de capacidade à medida que suas estratégias aumentam em alocação de capital. Parâmetros - Certas estratégias (especialmente aquelas encontradas na comunidade de aprendizagem de máquinas) requerem uma grande quantidade de parâmetros. Todo parâmetro adicional que uma estratégia exige deixa-o mais vulnerável ao viés de otimização (também conhecido como "ajuste de curva"). Você deve tentar segmentar estratégias com o menor número possível de parâmetros ou garantir que você tenha quantidades suficientes de dados para testar suas estratégias. Benchmark - Quase todas as estratégias (a menos que sejam caracterizadas como "retorno absoluto") são medidas em relação a um benchmark de desempenho. O benchmark geralmente é um índice que caracteriza uma grande amostra da classe de ativos subjacentes em que a estratégia negocia. Se a estratégia negociar ações americanas de grande capitalização, o S & P500 seria uma referência natural para medir sua estratégia. Você ouvirá os termos "alfa" e "beta", aplicado a estratégias deste tipo. Vamos discutir esses coeficientes em profundidade em artigos posteriores.
Observe que não discutimos os retornos reais da estratégia. Por que é isso? De forma isolada, os retornos realmente nos fornecem informações limitadas sobre a eficácia da estratégia. Eles não lhe dão uma visão de alavancagem, volatilidade, benchmarks ou requisitos de capital. Assim, as estratégias raramente são avaliadas apenas em seus retornos. Considere sempre os atributos de risco de uma estratégia antes de analisar os retornos.
Nesta fase, muitas das estratégias encontradas em seu pipeline serão rejeitadas, uma vez que não atenderão aos requisitos de capital, alavancar restrições, tolerar a tolerância máxima ou preferências de volatilidade. As estratégias que permanecem podem agora ser consideradas para testes anteriores. No entanto, antes disso é possível, é necessário considerar um critério de rejeição final - o dos dados históricos disponíveis para testar essas estratégias.
Obtenção de dados históricos.
Hoje em dia, a amplitude dos requisitos técnicos em todas as classes de ativos para o armazenamento histórico de dados é substancial. Para se manter competitivo, tanto o lado da compra (fundos) como os de venda (bancos de investimento) investem fortemente em sua infraestrutura técnica. É imperativo considerar sua importância. Em particular, estamos interessados em requisitos de tempo, precisão e armazenamento. Agora vou descrever os conceitos básicos de obtenção de dados históricos e como armazená-lo. Infelizmente, este é um tópico muito profundo e técnico, então não poderei dizer tudo neste artigo. No entanto, vou escrever muito mais sobre isso no futuro, já que minha experiência na indústria anterior no setor financeiro estava principalmente preocupada com aquisição, armazenamento e acesso de dados financeiros.
Na seção anterior, estabelecemos um pipeline de estratégia que nos permitiu rejeitar certas estratégias com base em nossos próprios critérios de rejeição pessoal. Nesta seção, vamos filtrar mais estratégias com base em nossas próprias preferências para obter dados históricos. As principais considerações (especialmente no nível do profissional varejista) são os custos dos dados, dos requisitos de armazenamento e do seu nível de experiência técnica. Também precisamos discutir os diferentes tipos de dados disponíveis e as diferentes considerações que cada tipo de dados nos impõe.
Vamos começar discutindo os tipos de dados disponíveis e os principais problemas sobre os quais devemos pensar:
Dados fundamentais - Isso inclui dados sobre tendências macroeconômicas, como taxas de juros, índices de inflação, ações corporativas (dividendos, estoque-divisões), registros da SEC, contas corporativas, números de ganhos, relatórios de culturas, dados meteorológicos etc. Esses dados são freqüentemente usados para valorizar as empresas ou outros ativos em uma base fundamental, ou seja, por meio de alguns fluxos de caixa futuros esperados. Não inclui séries de preços de ações. Alguns dados fundamentais estão disponíveis gratuitamente nos sites do governo. Outros dados fundamentais históricos de longo prazo podem ser extremamente caros. Os requisitos de armazenamento geralmente não são particularmente grandes, a menos que milhares de empresas estejam sendo estudadas de uma só vez. Dados de notícias - Os dados de notícias são geralmente de natureza qualitativa. Consiste em artigos, postagens de blog, postagens de microblog ("tweets") e editoriais. As técnicas de aprendizagem de máquinas, como os classificadores, costumam ser usadas para interpretar o sentimento. Esses dados também são freqüentemente disponíveis gratuitamente ou baratos, por meio da assinatura de meios de comunicação. Os bancos de dados de armazenamento de documentos "NoSQL" mais novos foram projetados para armazenar esse tipo de dados qualitativos não estruturados. Dados do preço do recurso - Este é o domínio de dados tradicional do quant. Consiste em séries temporais de preços dos ativos. As ações (ações), produtos de renda fixa (títulos), commodities e preços de câmbio se enquadram nesta classe. Os dados históricos diários são geralmente simples de obter para as classes de ativos mais simples, como ações. No entanto, uma vez que a precisão e a limpeza estão incluídas e os preconceitos estatísticos removidos, os dados podem se tornar caros. Além disso, os dados das séries temporais geralmente possuem requisitos de armazenamento significativos, especialmente quando os dados intradiários são considerados. Instrumentos Financeiros - Ações, títulos, futuros e opções derivadas mais exóticas possuem características e parâmetros muito diferentes. Assim, não existe uma estrutura de banco de dados "tamanho único" que possa acomodá-los. Deve ser dado um cuidado significativo à concepção e implementação de estruturas de banco de dados para vários instrumentos financeiros. Vamos discutir a situação ao longo de quando chegamos a construir um banco de dados mestre de valores mobiliários em futuros artigos. Frequência - Quanto maior a frequência dos dados, maiores são os custos e os requisitos de armazenamento. Para estratégias de baixa frequência, os dados diários são frequentemente suficientes. Para estratégias de alta freqüência, pode ser necessário obter dados de nível de tiquetaque e até mesmo cópias históricas de determinados dados de cadastro de trocas comerciais. A implementação de um mecanismo de armazenamento para esse tipo de dados é muito tecnicamente intensiva e só é adequada para aqueles que possuem uma sólida base de programação / técnica. Pontos de referência - As estratégias descritas acima serão muitas vezes comparadas a uma referência. Isso geralmente se manifesta como uma série de tempo financeiro adicional. Para as ações, isso geralmente é um benchmark de estoque nacional, como o índice S & P500 (US) ou FTSE100 (Reino Unido). Para um fundo de renda fixa, é útil comparar-se com uma cesta de títulos ou produtos de renda fixa. A "taxa livre de risco" (ou seja, a taxa de juros apropriada) também é outra referência amplamente aceita. Todas as categorias de classe de ativos possuem um benchmark favorecido, por isso será necessário pesquisar isso com base em sua estratégia específica, se desejar ganhar interesse em sua estratégia externamente. Tecnologia - As pilhas de tecnologia por trás de um centro de armazenamento de dados financeiros são complexas. Este artigo apenas pode arranhar a superfície sobre o que está envolvido na construção de um. No entanto, ele se centra em torno de um mecanismo de banco de dados, como um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS), como MySQL, SQL Server, Oracle ou um Document Storage Engine (ou seja, "NoSQL"). Isso é acessado através do código de aplicativo "lógica comercial" que consulta o banco de dados e fornece acesso a ferramentas externas, como MATLAB, R ou Excel. Muitas vezes, esta lógica de negócios está escrita em C ++, C #, Java ou Python. Você também precisará hospedar esses dados em algum lugar, seja em seu próprio computador pessoal, seja remotamente através de servidores de internet. Produtos como o Amazon Web Services tornaram isso mais simples e barato nos últimos anos, mas ainda exigirá conhecimentos técnicos significativos para alcançar de forma robusta.
Como pode ser visto, uma vez que uma estratégia tenha sido identificada através do pipeline, será necessário avaliar a disponibilidade, os custos, a complexidade e os detalhes de implementação de um determinado conjunto de dados históricos. Você pode achar que é necessário rejeitar uma estratégia baseada unicamente em considerações de dados históricos. Esta é uma grande área e equipes de doutorados trabalham em grandes fundos garantindo que os preços sejam precisos e oportunos. Não subestime as dificuldades de criar um centro de dados robusto para os seus efeitos de backtesting!
Eu quero dizer, no entanto, que muitas plataformas de backtesting podem fornecer esses dados para você automaticamente - a um custo. Assim, demorará muito da dor de implementação para você, e você pode se concentrar exclusivamente na implementação e otimização da estratégia. Ferramentas como a TradeStation possuem essa capacidade. No entanto, minha visão pessoal é implementar o máximo possível internamente e evitar a terceirização de partes da pilha para fornecedores de software. Eu prefiro estratégias de freqüência mais altas devido aos seus índices de Sharpe mais atraentes, mas muitas vezes estão fortemente acoplados à pilha de tecnologia, onde a otimização avançada é crítica.
Agora que discutimos os problemas relacionados aos dados históricos, é hora de começar a implementar nossas estratégias em um mecanismo de teste. Este será o assunto de outros artigos, pois é uma área de discussão igualmente grande!
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever para a lista de e-mails QuantStart:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso de e-mail gratuito de 10 partes, repleto de sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.
Estratégias de negociação algorítmica, paradigmas e idéias de modelagem.
"Os olhares podem enganar", disse uma pessoa sábia. A frase é válida para estratégias de negociação algorítmica. O termo estratégias de negociação algorítmica pode parecer muito sofisticado ou muito complicado. No entanto, o conceito é muito simples de entender, uma vez que o básico é claro. Neste artigo, vou contar-lhe sobre estratégias de negociação algorítmica com alguns exemplos interessantes.
Se você olhar para o exterior, um algoritmo é apenas um conjunto de instruções ou regras. Esses conjuntos de regras são então utilizados em uma bolsa de valores para automatizar a execução de pedidos sem intervenção humana. Esse conceito é chamado de Algorithmic Trading.
Deixe-me começar com uma estratégia de negociação muito simples. Aqueles que já estão em negociação saberiam sobre S. M.A e para aqueles que não; S. M.A é uma média móvel simples. S. M.A pode ser calculado usando qualquer número de dias predefinido e fixo. Uma estratégia de negociação algorítmica baseada em S. M.A pode ser simplificada nestas quatro etapas simples:
Calcular 5 dias SMA Calcular 20 dias SMA Tome uma posição longa quando o SMA de 5 dias é maior ou igual a SMA de 20 dias. Tome uma posição curta quando o SMA de 5 dias é menor do que SMA de 20 dias.
Referimo-nos a esta estratégia de negociação algorítmica como Estratégia de Crossover de Mudança Média. Este foi apenas um exemplo simples. Agora, não consiga pensar que tudo vai ser uma cama de rosas. Mesmo que fosse, então esteja preparado para os espinhos. No comércio diário, algoritmos de negociação muito mais complexos são usados para gerar estratégias de negociação algorítmicas.
Todas as estratégias de negociação algorítmicas que estão sendo usadas hoje podem ser classificadas de forma ampla nas seguintes categorias:
Momentum / Tendência Seguindo Arbitragem Arbitragem Estatística Market Making.
Deixe-me entrar em algum detalhe.
Estratégias baseadas em Momentum.
Supondo que haja uma tendência particular no mercado. Como um comerciante algo, você está seguindo essa tendência. Além de nossa suposição, os mercados estão dentro da semana. Agora, você pode usar estatísticas para determinar se essa tendência vai continuar. Ou se vai mudar nas próximas semanas. Conseqüentemente, você fará seu próximo passo. Você baseou sua estratégia de negociação algorítmica nas tendências de mercado que você determinou usando estatísticas.
Esse método de seguir as tendências é chamado de estratégia baseada em Momentum.
Existem inúmeras maneiras de implementar esta estratégia de negociação algorítmica e discuti isso detalhadamente em um dos nossos artigos anteriores, intitulado "Metodologia de Quantificação de Notícias para Negociação Automatizada"
Se assumirmos que uma farmácia deve ser comprada por outra empresa, então o preço das ações da nossa empresa poderia subir. Isso é desencadeado pela aquisição, que é um evento corporativo. Se você planeja investir com base nas ineficiências de preços que podem acontecer durante um evento corporativo (antes ou depois), você está usando uma estratégia baseada em eventos. Falência, aquisição, fusão, spin-off etc. pode ser o evento que impulsiona esse tipo de estratégia de investimento.
Essas estratégias podem ser neutras no mercado e usadas amplamente pelos hedge funds e proprietários.
Arbitragem estatística.
Quando uma oportunidade de arbitragem surgir por causa do misquoting nos preços, pode ser muito vantajosa para a estratégia de negociação algo. Embora tais oportunidades existam por um período muito curto, pois os preços no mercado são ajustados rapidamente. And that’s why this is the best use of algorithmic trading strategies, as an automated machine can track such changes instantly.
For instance, if Apple’s price falls under $1 then Microsoft will fall by $0.5 but Microsoft has not fallen, so you will go and sell Microsoft to make a profit. You can read about the common misconceptions people have about Statistical Arbitrage here.
Market Making.
To understand Market making, let me first talk about Market Makers.
According to Wikipedia:
A market maker or liquidity provider is a company, or an individual, that quotes both a buy and a sell price in a financial instrument or commodity held in inventory, hoping to make a profit on the bid-offer spread, or turn.
Market making provides liquidity to securities which are not frequently traded on the stock exchange. The market maker can enhance the demand-supply equation of securities. Deixe-me lhe dar um exemplo:
Let’s assume you have Martin, a market maker, who buys for Rs. 500 from the market and sell it at 505. He will give you a bid-ask quote of Rs. 505-500. The profit of Rs. 5 cannot be sold or exchanged for cash without substantial loss in value. When Martin takes a higher risk then the profit is also higher.
I found Michael Lewis’ book ‘Flash Boys’ in Indian Bull Market pretty interesting and it talks about liquidity, market making and HFT in great detail. Check it out after you finish reading this article.
Since you will need to be analytical & quantitative while getting into or upgrading to algorithmic trading it is imperative to learn programming (some if not all) and build foolproof systems and execute right algorithmic trading strategy . Reading this article on Automated Trading with Interactive Brokers using Python will be very beneficial for you. You can read the article here.
Paradigms & Modeling Ideas.
Now that I have introduced you to algorithmic trading strategies, I will be throwing some light on the strategy paradigms and modeling ideas pertaining to each strategy.
Market Making Statistical Arbitrage Momentum Machine Learning Based.
Market Making.
As I had mentioned earlier, the primary objective of Market making is to infuse liquidity in securities that are not traded on stock exchanges. In order to measure the liquidity, we take the bid-ask spread and trading volumes into consideration.
The trading algorithms tend to profit from the bid-ask spread. I will be referring to our buddy, Martin, again in this section. Martin being a market maker is a liquidity provider who can quote on both buy and sell side in a financial instrument hoping to profit from the bid-offer spread. Martin will accept the risk of holding the securities for which he has quoted the price for and once the order is received, he will often immediately sell from his own inventory. He might seek an offsetting offer in seconds and vice versa.
When it comes to illiquid securities, the spreads are usually higher and so are the profits. Martin will take a higher risk in this case. Several segments in the market lack investor interest due to lack of liquidity as they are unable to gain exit from several small - and mid-cap stocks at any given point in time.
Market Makers like Martin are helpful as they are always ready to buy and sell at the price quoted by them. In fact, much of high frequency trading (HFT) is passive market making. The strategies are present on both sides of the market (often simultaneously) competing with each other to provide liquidity to those who need.
So, when is this strategy most profitable?
This strategy is profitable as long as the model accurately predicts the future price variations.
Modeling ideas based on this Paradigm.
The bid-ask spread and trade volume can be modeled together to get the liquidity cost curve which is the fee paid by the liquidity taker. If the liquidity taker only executes orders at the best bid and ask, the fee will be equal to the bid ask spread times the volume. When the traders go beyond best bid and ask taking more volume, the fee becomes a function of the volume as well.
Trade volume is difficult to model as it depends on the liquidity takers execution strategy. The objective should be to find a model for trade volumes that is consistent with price dynamics. Market making models are usually based on one of the two:
The first focuses on inventory risk. The model is based on preferred inventory position and prices based on the risk appetite. The second is based on adverse selection which distinguishes between informed and noise trades. Noise trades do not possess any view on the market whereas informed trades do. When the view of the liquidity taker is short term, its aim is to make short term profit utilizing the statistical edge. In the case of long term view, the objective is to minimize the transaction cost. The long-term strategies and liquidity constraints can be modeled as noise around the short-term execution strategies.
To know more about Market Makers, you can check out this interesting article on QuantInsti’s blog.
Statistical Arbitrage.
If Market making is the strategy that makes use of the bid-ask spread, Statistical Arbitrage seeks to profit from statistical mispricing of one or more assets based on the expected value of these assets.
A more academic way to explain statistical arbitrage is to spread the risk among thousand to million trades in a very short holding time to, expecting to gain profit from the law of large numbers. Statistical Arbitrage Algorithms are based on mean reversion hypothesis, mostly as a pair.
Pairs trading is one of the several strategies collectively referred to as Statistical Arbitrage Strategies. In pairs trade strategy, stocks that exhibit historical co-movement in prices are paired using fundamental or market-based similarities. The strategy builds upon the notion that the relative prices in a market are in equilibrium, and that deviations from this equilibrium eventually will be corrected.
When one stock outperforms the other, the outperformer is sold short and the other stock is bought long with the expectation that the short term diversion will end in convergence. This often hedges market risk from adverse market movements i. e. makes the strategy beta neutral. However, the total market risk of a position depends on the amount of capital invested in each stock and the sensitivity of stocks to such risk.
Momentum Strategies seek to profit from the continuance of existing trend by taking advantage of market swings.
“In simple words, buy high and sell higher and vice versa.”
And how do we achieve this?
In this particular algo-trading strategy we will take short-term positions in stocks that are going up or down until they show signs of reversal. It is counter-intuitive to almost all other well-known strategies. Value investing is generally based on long-term reversion to mean whereas momentum investing is based on the gap in time before mean reversion occurs.
Momentum is chasing performance, but in a systematic way taking advantage of other performance chasers who are making emotional decisions. There are usually two explanations given for any strategy that has been proven to work historically, either the strategy is compensated for the extra risk that it takes or there are behavioral factors due to which premium exists.
There is a long list of behavioral biases and emotional mistakes that investors exhibit due to which momentum works. However, this is easier said than done as trends don’t last forever and can exhibit swift reversals when they peak and come to an end. Momentum trading carries a higher degree of volatility than most other strategies and tries to capitalize on the market volatility. It is important to time the buys and sells correctly to avoid losses by using proper risk management techniques and stop losses. Momentum investing requires proper monitoring and appropriate diversification to safeguard against such severe crashes.
Firstly, you should know how to detect Price momentum or the trends. As you are already into trading, you know that trends can be detected by following stocks and ETFs that have been continuously going up for days, weeks or even several months in a row. For instance, identify the stocks trading within 10% of their 52 weeks high or look at the percentage price change over the last 12 or 24 weeks. Similarly to spot a shorter trend, include a shorter term price change.
If you remember, back in 2008, the oil and energy sector was continuously ranked as one of the top sectors even while it was collapsing. We can also look at earnings to understand the movements in stock prices. Strategies based on either past returns (“price momentum strategies”) or on earnings surprise (known as “earnings momentum strategies”) exploit market under-reaction to different pieces of information. An earnings momentum strategy may profit from the under-reaction to information related to short-term earnings. Similarly, a price momentum strategy may profit from market’s slow response to a broader set of information including longer-term profitability.
Machine Learning based.
In Machine Learning based trading, algorithms are used to predict the range for very short term price movements at a certain confidence interval. The advantage of using Artificial Intelligence (AI) is that humans develop the initial software and the AI itself develops the model and improves it over time. A large number of funds rely on computer models built by data scientists and quants but they’re usually static, i. e. they don’t change with the market. ML based models on the other hand can analyze large amounts of data at high speed and improve themselves through such analysis.
A form of machine leaning called “Bayesian networks” can be used to predict market trends while utilizing a couple of machines. An AI which includes techniques such as evolutionary computation (which is inspired by genetics) and deep learning might run across hundreds or even thousands of machines. It can create a large and random collection of digital stock traders and test their performance on historical data. It then picks the best performers and uses their style/patterns to create a new of evolved traders. This process repeats multiple times and a digital trader that can fully operate on it’s own is created.
This process repeats multiple times and a digital trader that can fully operate on it’s own is created.
These were some important strategy paradigms and modelling ideas. Next, we will go through the step by step procedure to build a trading strategy.
You can learn these Paradigms in great detail in QuantInsti’s Executive Programme in Algorithmic Trading (EPAT) , one of the most extensive algorithmic trading courses available online with lecture recordings and lifetime access and support.
Building an algorithmic trading strategy.
From algo trading strategies to paradigms and modeling ideas, I come to that section of the article where I will tell you how to build a basic algorithmic trading strategy.
How do you start with the implementation of algo trading strategies?
That is the first question that must have come to your mind, I presume. The point is that you have already started by knowing the basics and paradigms of algorithmic trading strategies while reading this article. Now, that our bandwagon has it’s engine turned on, it is time to press on the accelerator.
And how exactly is this done?
I will explain how an algorithmic trading strategy is built, step by step. The concise description will give you an idea about the entire process.
The first step is to decide the strategy paradigm. It can be Market Making, Arbitrage based, Alpha generating, Hedging or Execution based strategy. For this particular instance, I will choose pair trading which is a statistical arbitrage strategy that is market neutral (Beta neutral) and generates alpha, i. e.makes money irrespective of market movement.
You can decide on the actual securities you want to trade based on market view or through visual correlation (in the case of pair trading strategy). Establish if the strategy is statistically significant for the selected securities. For instance, in the case of pair trading, check for co-integration of the selected pairs.
Now, code the logic based on which you want to generate buy/sell signals in your strategy. For pair trading check for “mean reversion”; calculate the z-score for the spread of the pair and generate buy/sell signals when you expect it to revert to mean. Decide on the “Stop Loss” and “Profit Taking” conditions.
Stop Loss – A stop-loss order limits an investor’s loss on a position in a security. It fires an order to square off the existing long or short position to avoid further losses and helps to take emotion out of trading decisions. Take Profit – take-profit orders are used to automatically close out existing positions in order to lock in profits when there is a move in a favorable direction. Quoting or Hitting strategy.
It is very important to decide if the strategy will be “quoting” or “hitting”. Execution strategy to a great extent decides how aggressive or passive your strategy is going to be.
Quoting – In pair trading you quote for one security and depending on if that position gets filled or not you send out the order for the other. In this case, the probability of getting a fill is lesser but you save bid-ask on one side. Hitting - In this case, you send out simultaneous market orders for both securities. The probability of getting a fill is higher but at the same time slippage is more and you pay bid-ask on both sides.
The choice between the probability of fill and Optimized execution in terms of slippage and timed executive is what this is if I have to put it that way. If you choose to quote, then you need to decide what are quoting for, this is how pair trading works. If you decide to quote for the less liquid security, slippage will be less but the trading volumes will come down liquid securities on the other hand increase the risk of slippage but trading volumes will be high.
Using stats to check causality is another way of arriving at a decision, i. e. change in which security causes change in the other and which one leads. The causality test will determine the “lead-lag” pair; quote for the leading and cover the lagging security.
How do you decide if the strategy you chose was good or bad?
How do you judge your hypothesis?
This is where back-testing the strategy comes as an essential tool for estimation of the performance of the designed hypothesis based on historical data. A strategy can be considered to be good if the backtest results and performance statistics back the hypothesis.
Hence, it is important to choose historical data with a sufficient number of data points. This is to create a sufficient number of sample trades (at least 100+ trades) covering various market scenarios (bullish, bearish etc.). Ensure that you make provision for brokerage and slippage costs as well. This will get you more realistic results but you might still have to make some approximations while backtesting. For instance, while backtesting quoting strategies it is difficult to figure out when you get a fill. So, the common practice is to assume that the positions get filled with the last traded price.
What kind of tools should you go for, while backtesting?
Since backtesting for algorithmic trading strategies involves a huge amount of data, especially if you are going to use tick by tick data. So, you should go for tools which can handle such mammoth load of data.
R or MATLAB?
R is excellent for dealing with huge amounts of data and has a high computation power as well. Thus, making it one of the better tools for backtesting. Also, R is open source and free of cost. We can use MATLAB as well but it comes with a licensing cost.
Fine, I just ripped off Ben Parker’s famous quotation from the Spiderman movie (not the Amazing one). But trust me, it is 100% true. No matter how confident you seem with your strategy or how successful it might turn out previously, you must go down and evaluate each and everything in detail. There are several parameters that you would need to monitor when analyzing a strategy’s performance and risk. Some important metrics/ratios are mentioned below:
Total Returns (CAGR)- Compound Annual Growth Rate (CAGR). It is the mean annual growth rate of an investment over a specified period of time longer than one year. Hit Ratio - Order to trade ratio. Average Profit per Trade - Total profit divided by the total number of trades Average Loss per trade - Total loss divided by the total number of trades Maximum Drawdown – Maximum loss in any trade Volatility of Returns - Standard deviation of the “returns” Sharpe Ratio - Risk adjusted returns, i. e. excess returns (over risk free rate) per unit volatility or total risk.
The entire process of Algorithmic trading strategies does not end here. What I have provided in this article is just the foot of an endless Everest. In order to conquer this, you must be equipped with the right knowledge and mentored by the right guide . That’s where QuantInsti comes in, to guide you through this journey. QuantInsti will help you conquer the Everest at the end. If you want to know more about algorithmic trading strategies then you can click here.
Комментариев нет:
Отправить комментарий