Friday 2 March 2018

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 7 de junho de 2013.


O comércio algorítmico geralmente é percebido como uma área complexa para iniciantes para enfrentar. Abrange uma ampla gama de disciplinas, com certos aspectos que exigem um grau significativo de maturidade matemática e estatística. Consequentemente, pode ser extremamente desprezível para os não iniciados. Na realidade, os conceitos gerais são simples de entender, enquanto os detalhes podem ser aprendidos de maneira iterativa e contínua.


A beleza do comércio algorítmico é que não há necessidade de testar o conhecimento sobre capital real, já que muitas corretoras fornecem simuladores de mercado altamente realistas. Embora existam algumas advertências associadas a tais sistemas, eles fornecem um ambiente para promover um nível profundo de compreensão, sem absolutamente nenhum risco de capital.


Uma pergunta comum que recebo dos leitores do QuantStart é "Como faço para começar a negociação quantitativa?". Já escrevi um guia de iniciantes para negociação quantitativa, mas um artigo não pode esperar para cobrir a diversidade do assunto. Assim, eu decidi recomendar meus livros de comércio de quantum de nível de entrada favoritos neste artigo.


A primeira tarefa é obter uma visão geral sólida do assunto. Descobriu que seria muito mais fácil evitar discussões matemáticas pesadas até que os conceitos básicos sejam cobertos e compreendidos. Os melhores livros que encontrei para este fim são os seguintes:


1) Negociação Quantitativa por Ernest Chan - Este é um dos meus livros de finanças favoritos. O Dr. Chan fornece uma ótima visão geral do processo de criação de um sistema de comércio quantitativo "varejista", usando o MatLab ou o Excel. Ele torna o assunto altamente acessível e dá a impressão de que "qualquer um pode fazê-lo". Embora existam muitos detalhes que são ignorados (principalmente por brevidade), o livro é uma ótima introdução sobre como funciona a negociação algorítmica. Ele discute a geração alfa ("o modelo de negociação"), gerenciamento de riscos, sistemas de execução automatizada e certas estratégias (particularmente o impulso e reversão média). Este livro é o lugar para começar. 2) Dentro da Black Box por Rishi K. Narang - Neste livro, o Dr. Narang explica detalhadamente como funciona um fundo de hedge quantitativo profissional. É lançado em um investidor experiente que está considerando investir em uma "caixa preta". Apesar da aparente irrelevância para um comerciante varejista, o livro realmente contém uma riqueza de informações sobre como um sistema comercial "adequado" deve ser realizado. Por exemplo, a importância dos custos de transação e gerenciamento de riscos é delineada, com idéias sobre onde procurar informações adicionais. Muitos comerciantes de videojogos de varejo poderiam fazer bem para escolher isso e ver como os "profissionais" realizam suas negociações. 3) Algorithmic Trading & amp; DMA de Barry Johnson - A frase "negociação algorítmica", no setor financeiro, geralmente se refere aos algoritmos de execução utilizados pelos bancos e corretores para executar negócios eficientes. Estou usando o termo para cobrir não só os aspectos da negociação, mas também o comércio quantitativo ou sistemático. Este livro é principalmente sobre o primeiro, sendo escrito por Barry Johnson, que é um desenvolvedor de software quantitativo em um banco de investimento. Isso significa que é inútil para o quantum de varejo? De modo nenhum. Possuir uma compreensão mais profunda de como os intercâmbios funcionam e a "microestrutura do mercado" pode ajudar imensamente a rentabilidade das estratégias de varejo. Apesar de ser um grande volume, vale a pena pegar.


Uma vez que os conceitos básicos são apreendidos, é necessário começar a desenvolver uma estratégia comercial. Isso geralmente é conhecido como o componente do modelo alfa de um sistema comercial. As estratégias são diretas para encontrar esses dias, no entanto, o valor verdadeiro vem na determinação de seus próprios parâmetros de negociação através de pesquisa extensiva e backtesting. Os seguintes livros abordam certos tipos de sistemas de negociação e execução e como implementá-los:


4) Negociação algorítmica por Ernest Chan - Este é o segundo livro do Dr. Chan. No primeiro livro, ele evitou o impulso, a reversão média e certas estratégias de alta freqüência. Este livro discute essas estratégias em profundidade e fornece detalhes de implementação significativos, embora com mais complexidade matemática do que no primeiro (por exemplo, Filtros Kalman, Stationarity / Cointegration, CADF etc.). As estratégias, mais uma vez, fazem uso extensivo do MatLab, mas o código pode ser facilmente modificado para C ++, Python / pandas ou R para aqueles com experiência em programação. Ele também fornece atualizações sobre o mais recente comportamento do mercado, já que o primeiro livro foi escrito alguns anos atrás. 5) Negociação e Intercâmbios de Larry Harris - Este livro concentra-se na microestrutura do mercado, que eu pessoalmente sinto é uma área essencial para aprender, mesmo nos estágios iniciais da negociação quantitativa. A microestrutura do mercado é a "ciência" de como os participantes do mercado interagem e as dinâmicas que ocorrem no livro de encomendas. Está intimamente relacionado com a forma como os intercâmbios funcionam e o que realmente acontece quando um comércio é colocado. Este livro é menos sobre estratégias de negociação como tal, mas sobre coisas a serem conscientes ao projetar sistemas de execução. Muitos profissionais no espaço financeiro de quant consideram isso como um excelente livro e eu também recomendo isso.


Nesta etapa, como comerciante de varejo, você estará em um bom lugar para começar a pesquisar os outros componentes de um sistema de negociação, como o mecanismo de execução (e sua relação profunda com os custos de transação), bem como o gerenciamento de riscos e portfólio. Vou discutir livros para esses tópicos em artigos posteriores.


Apenas iniciando o comércio quantitativo?


3 razões para se inscrever na QuantStart List:


1. Quant Trading Lessons.


Você terá acesso instantâneo a um curso gratuito de 10 partes, com 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.


Lutando para fazer rentáveis ​​estratégias de negociação Algo?


Você não se propôs a perder dinheiro ao negociar, mas muitos pequenos erros ao longo do caminho significaram que o desempenho de sua estratégia em backtests não apareceu quando você foi ao vivo.


Estive envolvido na negociação algorítmica por mais de cinco anos e naquela época eu vi alguns grandes erros comerciais.


Depois de muitos testes e erros, descobri que o trabalho duro, a disciplina e a abordagem científica são a chave para a lucratividade com o comércio quantitativo.


Em Negociação Algorítmica bem sucedida, eu vou ensinar-lhe um processo para identificar estratégias rentáveis ​​desde o início, testá-los, reduzir seus custos de transação e executar de forma eficiente seus negócios de forma totalmente automatizada.


Não importa o quão longe você estiver em sua carreira de negociação quantitativa, você pode aplicar essas idéias para criar um negócio lucrativo de negociação algorítmica.


Mais de 200 páginas de técnicas de negociação algorítmica Como implementar um backtester de ações de ponta a ponta com bibliotecas Python Baixe a tabela de conteúdo.


Download instantâneo de ebook PDF - sem espera de entrega Garantia de reembolso de dinheiro 100% sem garantia, sem risco para você! Faça o download de um capítulo de exemplo.


Criar estratégias comerciais lucrativas é difícil. Muito difícil.


Apesar de todos esses benefícios, eu não gostaria que você percebesse a idéia errada e pensasse que desenvolver um sistema de negociação algorítmica é fácil. Nada poderia estar mais longe da verdade. Não há caminho para riquezas fáceis com algo trading.


No entanto, se você derrubar o problema, em pequenas partes constituintes fáceis de manusear e fazer progressos consistentes na melhoria do seu sistema todos os dias, pode eventualmente tornar-se muito bem sucedido.


No início, é uma luta para ganhar dinheiro consistentemente com a negociação.


Agora, construí o hábito de criar um pipeline estratégico que constantemente me fornece novas ideias de estratégia comercial para testar. Não importa se uma estratégia começa a funcionar mal porque eu tenho muito mais para escolher - e você também.


O progresso lento e consistente em pesquisa, teste e execução é a chave para alcançar a rentabilidade de negociação algorítmica.


Compromete-se a trabalhar muito em seus componentes de estratégia, com uma abordagem disciplinada, e você verá o sucesso muito mais cedo do que o esperado.


E se você não for um especialista em negociação algorítmica?


Na verdade, tampouco era eu quando comecei! Eu não conhecia as ordens de mercado de pedidos limitados, o buy-side do lado da venda ou o que era uma perda de parada! Mas eu pratiquei nos últimos cinco anos e aprendi uma grande quantidade de negociação algorítmica no processo.


É bem dentro da sua capacidade de aprender o que sei sobre financiamento e negociação quantitativas. Eu certamente não sou o topo do meu campo, mas participei do desenvolvimento de estratégias de negociação rentáveis ​​e estou extremamente interessado em mostrar como fazer o mesmo.


Eu imagino que há um tema que você conhece muito e eu aposto que há muitos que conhecem menos sobre a área do que você. Ser um especialista vem através da prática, disciplina e trabalho árduo. Da mesma forma, formando um conjunto consistente de estratégias lucrativas de negociação algorítmica.


Toda pessoa bem sucedida que conheço em negociação algorítmica começou antes de conhecer muito sobre os mercados.


Use o fato de que você ainda não está confortável com o comércio algorítmico para se empurrar mais forte e aprender a se tornar um especialista.


Sobre o autor.


Então, quem está por trás disso?


Oi! Meu nome é Mike Halls-Moore e eu sou o cara do QuantStart e o pacote 'Successful Algorithmic Trading'.


Desde que trabalhei como desenvolvedor de negociação quantitativa em um fundo de hedge, fiquei apaixonado por negociação quantitativa e executando meu próprio portfólio.


Eu comecei a comunidade QuantStart e escrevi "Successful Algorithmic Trading" como um meio para ajudar os outros a aprender com meus erros e levar suas negociações quantitativas para o próximo nível.


Quais são os tópicos incluídos no livro?


Você aprenderá a encontrar novas idéias de estratégia comercial e avaliá-las objetivamente para seu portfólio.


Vou ensinar-lhe como criar um banco de dados mestre de valores robustos para armazenar todas as informações de preços de seus ativos.


Aplicaremos o método científico para reforçar as nossas ideias estratégicas antes de considerarmos negociá-las.


Nossas estratégias serão testadas amplamente contra medidas de desempenho da indústria.


Utilizaremos métodos estatísticos de séries temporais para testar a reversão e o impulso médios.


Eu discutirei os modelos de estratégia rentáveis ​​de reversão média para ações e futuros - que você pode negociar.


Você aprenderá sobre técnicas de gerenciamento de risco de grau de investimento, como Variance-at-Risk (VaR).


Nós discutiremos amplamente as técnicas de dimensionamento de posição e gerenciamento de dinheiro, como o Critério de Kelly.


Vamos criar e implantar um robusto sistema de execução automatizado baseado em nosso sistema de carteira de negociação.


Quais habilidades técnicas você aprenderá?


Você será apresentado ao conjunto de ferramentas científico da Python, que é usado principalmente na negociação quantitativa. Usaremos NumPy, SciPy, pandas, scikit-learn e IPython.


Você aprenderá como obter dados financeiros de fontes gratuitas e pagas. Vamos abordar dados de ações e futuros, limpando e criando contratos de futuros contínuos.


Você aprenderá como testar o desempenho da estratégia usando pandas e calcular quantidades como a Ratio de Sharpe, redução máxima, duração da redução e perda / perda média.


Você aprenderá a otimizar matematicamente uma estratégia usando análise de sensibilidade de parâmetros e inspecionar visualmente os resultados. Para isso, usaremos pandas e matplotlib com o IPython.


Você aprenderá sobre os classificadores preditivos e as ações intradiárias par-trading. Usaremos scikit-learn para realizar regressão, conjuntos de floresta aleatória e SVM não-linear.


Você se conectará à Interactive Brokers API com o Python para negociar. Você calculará custos de transação realistas, contabilizando-os em suas métricas de desempenho.


Onde você pode aprender mais sobre mim?


Eu escrevi mais de cem posts no QuantStart cobrindo negociação quantitativa, carreiras quantitativas, desenvolvimento quantitativo, ciência dos dados e aprendizado automático. Você pode ler os arquivos para saber mais sobre minha metodologia e estratégias de negociação.


E se você não está feliz com o livro?


Embora eu pense que você encontrará sucesso na Algorithmic Trading muito útil em sua educação comercial quantitativa, também acredito que, se você não estiver 100% satisfeito com o livro por qualquer razão, você pode devolvê-lo sem perguntas pedidas para um reembolso total.


Você receberá uma cópia impressa do livro?


Não. Nesta fase, o livro só está disponível no formato Adobe PDF, enquanto o próprio código é fornecido como um arquivo zip de scripts Python totalmente funcionais, se você comprar a opção "Livro + Software".


Qual pacote você deve comprar?


Isso depende principalmente do seu orçamento. O livro com código fonte extra completo é o melhor se você quiser inserir o código imediatamente, mas o próprio livro contém uma quantidade enorme de fragmentos de código que ajudarão seu processo de negociação de quant.


Posso ser contatado?


Claro! Se você ainda tiver dúvidas depois de ler esta página, entre em contato e farei o meu melhor para lhe fornecer uma resposta necessária. No entanto, veja a lista de artigos, que também pode ajudá-lo.


Você precisará de um diploma em matemática?


A maioria do livro pode ser seguido com bastante facilidade sem referência a matemática difícil. No entanto, as seções sobre previsão e análise de séries temporais requerem algum cálculo básico e álgebra linear.


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 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. E é por isso que este é o melhor uso de estratégias de negociação algorítmicas, uma vez que uma máquina automatizada pode acompanhar essas mudanças instantaneamente.


Por exemplo, se o preço da Apple cai abaixo de US $ 1, a Microsoft cairá em US $ 0,5, mas a Microsoft não caiu, então você irá vender a Microsoft para obter lucro. Você pode ler sobre os equívocos comuns que as pessoas têm sobre Arbitragem Estatística aqui.


Making Market.


Para entender o mercado, deixe-me falar sobre os Market Makers.


De acordo com a Wikipedia:


Um fabricante de mercado ou um provedor de liquidez é uma empresa ou um indivíduo que cita tanto um preço de compra quanto um preço de venda em um instrumento financeiro ou mercadoria mantido em inventário, na esperança de obter lucros no spread de oferta, ou virar.


A criação de mercado proporciona liquidez a valores mobiliários que não são comercializados com freqüência na bolsa de valores. O fabricante de mercado pode aumentar a equação da oferta e oferta de valores mobiliários. Deixe-me lhe dar um exemplo:


Vamos assumir que você tem Martin, um fabricante de mercado, que compra para Rs. 500 do mercado e vendê-lo em 505. Ele lhe dará uma cotação de ofertas de Rs. 505-500. O lucro de Rs. 5 não podem ser vendidos ou trocados por dinheiro sem perda substancial de valor. Quando Martin assume um risco maior, então o lucro também é maior.


Eu encontrei o livro de Michael Lewis 'Flash Boys' no Indian Bull Market bastante interessante e fala sobre liquidez, mercado e HFT em grande detalhe. Verifique isso depois de terminar de ler este artigo.


Uma vez que você precisará ser analítico e quantitativo ao entrar ou atualizar para negociação algorítmica é imprescindível aprender programação (alguns, se não todos) e criar sistemas infalíveis e executar a estratégia de negociação algorítmica correta. Ler este artigo sobre Automated Trading with Interactive Brokers usando Python será muito benéfico para você. Você pode ler o artigo aqui.


Paradigmas & amp; Idéias de modelagem.


Agora que eu o introduzi em estratégias de negociação algorítmicas, vou lançar luz sobre os paradigmas de estratégia e as idéias de modelagem pertencentes a cada estratégia.


Market Making Arbitrage Estatístico Momentum Machine Learning Based.


Making Market.


Como eu mencionei anteriormente, o principal objetivo do mercado é infundir liquidez em valores mobiliários que não são negociados em bolsas de valores. Para medir a liquidez, levamos em consideração o spread e os volumes de negociação entre licitações.


Os algoritmos de negociação tendem a lucrar com o spread bid-ask. Eu vou me referir ao nosso amigo, Martin, novamente nesta seção. Martin é um fabricante de mercado é um provedor de liquidez que pode citar tanto em comprar e vender lado em um instrumento financeiro com a esperança de lucrar com o spread oferta-oferta. Martin aceita o risco de segurar os valores mobiliários para os quais ele citou o preço e, uma vez que o pedido é recebido, ele normalmente venderá imediatamente de seu próprio inventário. Ele pode procurar uma oferta de compensação em segundos e vice-versa.


Quando se trata de títulos ilíquidos, os spreads são geralmente mais altos e também os lucros. Martin assumirá um risco maior neste caso. Vários segmentos no mercado carecem de interesse do investidor por falta de liquidez, pois não conseguem obter saída de vários estoques de pequena e média capital em qualquer momento.


Fabricantes de mercado como Martin são úteis porque estão sempre prontos para comprar e vender ao preço indicado. Na verdade, grande parte do comércio de alta freqüência (HFT) é a comercialização passiva de mercado. As estratégias estão presentes em ambos os lados do mercado (muitas vezes simultaneamente) competindo entre si para fornecer liquidez para aqueles que precisam.


Então, quando esta estratégia é mais lucrativa?


Esta estratégia é rentável desde que o modelo preveja com precisão as futuras variações de preços.


Modelando idéias com base neste Paradigma.


O spread e o volume comercial de oferta e solicitação podem ser modelados juntos para obter a curva de custo de liquidez que é a taxa paga pelo comprador de liquidez. Se o comprador de liquidez apenas executa ordens na melhor oferta e peça, a taxa será igual à oferta solicita espalhar o 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.

No comments:

Post a Comment