Construindo um sistema comercial de caixa preta


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.)


Sistemas comerciais: comprar ou construir?


Em termos gerais, o comércio cai para um dos dois campos: sistemático ou discricionário. Uma abordagem discricionária congratula-se com o julgamento pessoal nas decisões comerciais individuais. Alternativamente, uma abordagem sistemática envolve conceituar, definir, redigir e testar regras para entrar e sair de negociações, e, de forma consistente, negocia essas regras no futuro.


Os comerciantes discricionários argumentam que os dados passados ​​foram moldados por forças micro e macroeconômicas únicas e regras rígidas baseadas nesses dados ignoram a fluidez dos mercados. Os comerciantes sistemáticos contestam que, com cuidado, mesmo os novos comerciantes podem escrever regras robustas o suficiente para acomodar cenários de mercado não vistos.


Um dos argumentos mais fortes para o comércio sistemático, no entanto, tem a ver com o comerciante, e não com o sistema; mais precisamente, as emoções do comerciante.


& ldquo; O sinal de compra ou venda de um sistema de negociação segue automaticamente a partir da habilitação de um conjunto de regras que é independente da diversidade de discrição e emoção do comerciante, & rdquo; diz Rick Thachuk, presidente da WLF Futures, Opções e Forex Education Network.


Os comerciantes, particularmente os novos comerciantes que não possuem a experiência de movimentos e reações do mercado, geralmente funcionam mal quando as emoções entram em jogo.


& ldquo; [A] sistema mecânico executa sem a emoção imediata que acompanha a negociação discricionária, & rdquo; diz Michael Gutmann, um comerciante de sistemas independente. & ldquo; Isso não quer dizer que um sistema mecânico não gera muitas emoções do comerciante que o executa & mdash; perder trocas de um sistema mecânico também é difícil de engolir e mdash; mas a reatividade emocional imediata do comércio discricionário é eliminada. & rdquo;


Uma vez que a emoção é controlada, dizem os especialistas, a consistência pode seguir.


& ldquo; Negociar com lógica discricionária é simplesmente outra maneira de dizer & lsquo; negociar de forma inconsistente, & rsquo; e isso produzirá resultados voláteis, & rdquo; diz Paul King, proprietário da PMK Trading LLC. & ldquo; Negociar com um sistema implica que um sempre tomará as mesmas ações nas mesmas circunstâncias. & rdquo;


Adiciona Thachuk: & ldquo; Um sistema de comércio também, por construção, seguirá obedientemente as regras estabelecidas para gerenciamento de risco e limitando a perda, regras que podem ser difíceis de aderir ao negociar por critério, especialmente para iniciantes. & Rdquo;


Se você concorda e deseja tirar proveito da consistência e controle emocional que os sistemas de negociação oferecem, então você tem pelo menos duas opções: você pode desenvolver seu próprio sistema comercial ou pode comprar um de um desenvolvedor externo.


BENEFÍCIOS DO EDIFÍCIO.


Os passos para a construção de um sistema comercial viável estão além do escopo deste artigo. No entanto, você não precisa entender as minúcias do desenvolvimento de sistemas para considerar os benefícios do desenvolvimento de um.


O motivo mais importante para construir seu próprio sistema de negociação é que você terá pleno conhecimento de quando, por que e como ele se troca, diz Thachuk.


& ldquo; Além disso, ao desenvolver um sistema você mesmo, você tem controle total sobre os parâmetros do sistema, como os mercados negociados, horizonte temporal, capital de risco necessário, freqüência de negociação e redução máxima para citar alguns, & rdquo; ele diz.


King aponta para uma série de razões para construir seu próprio sistema comercial:


&touro; Você pode historicamente testar o desempenho sob diferentes condições de mercado.


&touro; Você sabe que não há confusões ou confusões nas suas regras de negociação.


&touro; Com pleno conhecimento das regras do sistema e das tendências comerciais, você terá a confiança para trocar os inevitáveis ​​períodos perdidos.


De acordo com a Gutmann, tendo construído seu próprio sistema comercial, você também é mais habilidoso em modificá-lo quando as condições do mercado mudarem.


& ldquo; Quando um comerciante constrói seu próprio sistema, ele sabe por que ele executa como faz e pode fazer ajustes & mdash; e os ajustes sempre são necessários, & rdquo; Gutmann diz. & ldquo; se um sistema for comprado, os ajustes só podem estar disponíveis por um custo adicional. & rdquo;


Claro, construir um sistema de comércio também tem suas desvantagens. Primeiro, ele não é necessariamente fácil e pode ser mentalmente drenado, muitas vezes com pouco ou nenhum retorno. Além disso, se você vai construir seu próprio sistema comercial, você precisa de algum conhecimento sobre como os mercados funcionam, e isso leva tempo para aprender também.


& ldquo; [Um sistema de negociação que você constrói) será limitado ao seu próprio conhecimento comercial, & rdquo; Diz Thachuk. & ldquo; Para iniciantes, isso poderia ser uma restrição significativa e vinculativa. [A] sistema de comércio bem-sucedido provavelmente precisará ter uma vantagem sobre outros sistemas concorrentes. Se você não acredita que pode fornecer qualquer vantagem, então pode ser melhor considerar comprar um sistema de negociação. & Rdquo;


Outros argumentos contra a construção de seu próprio sistema são o custo do software e dados de desenvolvimento, bem como o seu próprio tempo e energia pessoais. Mesmo sistemas simples podem parecer complexos para os não iniciados (veja & ldquo; Inside systems, & rdquo; right).


& ldquo; desenvolvimento de sistemas pode ser muito demorado, & rdquo; Gutmann diz. & ldquo; Fazer uso do software e dos sistemas mais recentes pode ter um nível técnico de fundo que o comerciante médio não possui. & rdquo;


PAGANDO PARA O DESEMPENHO.


Em geral, existem dois tipos de sistemas de negociação pré-embalados, comercialmente disponíveis: sistemas abertos e os chamados & ldquo; black-box & rdquo; sistemas de negociação.


Quando um comerciante compra um sistema de comércio aberto, eles podem ver a lógica por trás das ordens de entrada e saída. Ou seja, uma vez que você compra o sistema, você pode examinar por que ele negocia. Em sistemas de caixa preta, a lógica está bloqueada. Estes sistemas & mdash; ou, mais precisamente, os desenvolvedores desses sistemas & mdash; não revele sua lógica de comércio para o comprador. Um sistema de caixa preta simplesmente leirá os dados atuais do mercado e relatará comprar e vender pedidos à medida que acontecerem.


& ldquo; eu nunca recomendaria que alguém compre um sistema de caixa preta, & rdquo; diz Murray A. Ruggiero Jr., vice-presidente de pesquisa e desenvolvimento da TradersStudio e editor colaborador do Futures. & ldquo; Você quer que a lógica seja totalmente discutida, para que você possa aprender a compreendê-la, até mesmo modificá-la e torná-la sua própria para que você possa se sentir bem em negociá-la. & rdquo;


Começando: Construindo um Sistema de Negociação Totalmente Automatizado.


Nos últimos 6 meses, fiquei focado no processo de construção da pilha de tecnologia completa de um sistema de negociação automatizado. Eu encontrei muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorizado e Evento conduzido). Na minha jornada de construção de um backtester dirigido por um evento, surpreendi que o que você acabasse fosse perto da pilha de tecnologia completa necessária para construir uma estratégia, testá-la e executar a execução ao vivo.


O meu maior problema ao abordar o problema foi a falta de conhecimento. Olhei em muitos lugares para uma introdução à construção da tecnologia ou um blog que me guiaria. Encontrei alguns recursos que vou compartilhar com você hoje.


Para iniciantes:


Para os leitores novos para negociação quantitativa, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: como construir seu próprio negócio de negociação algorítmica. Este livro é o básico. Na verdade, é o primeiro livro que eu li em negociação quantitativa e, mesmo assim, achei muito básico, mas há algumas notas que você deveria tomar.


Da página 81-84 Ernie escreve sobre como no nível de varejo uma arquitetura de sistema pode ser dividida em estratégias semi-automáticas e totalmente automatizadas.


Um sistema semi-automatizado é adequado se você deseja fazer alguns negócios por semana. Ernie recomenda o uso de Matlab, R ou mesmo do Excel. Utilizei todas as 3 plataformas e este é o meu conselho:


Saltei Matlab, custou muito dinheiro e eu só consegui acesso aos laboratórios universitários. Não há muito material de treinamento como blogs ou livros que irão ensinar-lhe como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode usar para aprender a construir uma estratégia. Meu blog favorito abordando o tópico é: QuantStratTradeR executado por Ilya Kipnis. O Microsoft Excel é provavelmente o local onde você iniciará se você não tiver experiência de programação. Você pode usar o Excel para negociação semi-automatizada, mas não vai fazer o truque quando se trata de construir a pilha de tecnologia completa.


Quadro semi-automático pg 81.


Sistemas de negociação totalmente automatizados são para quando você deseja colocar negócios automaticamente com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, QuantConnect também usa C #, QuantStart anda pelo leitor através da construção dele em Python, Quantopian usa Python, HFT provavelmente usará C ++. Java também é popular.


Estrutura de negociação totalmente automatizada pg 84.


Passo 1: Obter uma vantagem.


Faça o Programa Executivo em Negociação Algorítmica oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Isso me salvaria cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam por cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de uma das suas lâminas utilizadas na apresentação:


Você também pode usar esse quadro geral ao avaliar outros sistemas de negociação automática.


No momento da escrita, estou apenas na terceira semana de palestras, mas estou confiante de que um profissional poderá construir uma estratégia de negociação totalmente automatizada que, com um pouco de polonês, possa ser transformada em um hedge fund quantitativo .


Nota: o curso não está focado na construção da pilha de tecnologia.


Etapa 2: codifique um backtester baseado em eventos básicos.


O blog de Michael Hallsmore e o quantstart & amp; livro "Negociação Algorítmica de Sucesso"


Este livro possui seções dedicadas à construção de um backtester dirigido por eventos robustos. Ele dirige o leitor através de uma série de capítulos que irão explicar sua escolha de linguagem, os diferentes tipos de backtesting, a importância do backtesting dirigido a eventos e como codificar o backtester.


Michael apresenta o leitor às diferentes classes necessárias em um design orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de valores mobiliários. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.


Nota: Você precisará comprar seu livro: "Successful Algorithmic Trading", seu blog deixa para fora muita informação.


Passo 3: Vire a TuringFinance.


O programa EPAT Leitura "Successful Algorithmic Trading" & amp; codificando um backtester em um idioma diferente da sua escolha.


Você deve se mudar para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em sua publicação, ele descreve a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42010 e padrão de descrição de arquitetura de engenharia de software.


Eu achei esta publicação muito técnica e tem algumas ótimas idéias que você deve incorporar na sua própria arquitetura.


Uma captura de tela de sua postagem.


Passo 4: Estudar sistemas de comércio aberto.


4.1) Quantopian.


Escusado será dizer que Quantopian deve ser adicionado a esta lista e estou com vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de linguagem). Quantopian tem muitas vantagens, mas as que melhoram para mim são as seguintes:


Fácil de aprender Python Acesso gratuito a muitos conjuntos de dados Uma grande comunidade e competições Eu adoro como eles hospedam QuantCon!


Quantopian é líder de mercado neste campo e é amado por quants por toda parte! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:


"Zipline é o nosso motor de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de códigos no Github e contribuir com solicitações de envio para o projeto. Existe um grupo do Google disponível para procurar ajuda e facilitar discussões ".


Aqui está um link para sua documentação:


4.2) QuantConnect.


Para aqueles que não estão familiarizados com a QuantConnect, eles fornecem um mecanismo de troca algorítmica de código aberto completo. Aqui está um link.


Você deve dar uma olhada em seu código, estudá-lo, & amp; dar-lhes elogios. Eles são competição de Quantopians.


Gostaria de aproveitar esta oportunidade para agradecer a equipe da QuantConnect por me deixar escolher seu cérebro e pelo brilhante serviço que eles fornecem.


Aqui está um link para sua documentação:


Observações finais:


Espero que este guia ajude os membros da comunidade. Eu queria ter essa visão 6 meses atrás, quando comecei a codificar nosso sistema.


Gostaria de chegar à comunidade e perguntar: "Quais bons cursos de negociação algorítmica você conhece?" Eu gostaria de escrever uma publicação que analisa o tópico e fornece uma classificação. Existem recomendações para a construção de um sistema de negociação totalmente automatizado que você gostaria de adicionar a esta publicação?


Compartilhar isso:


Compartilhe essa entrada.


Você pode gostar também.


Bom artigo. Eu gostaria de ter tido cerca de 6 meses atrás. Eu uso QuantConnect porque sou um programador C #. Achei muito conveniente poder fazer o download do teste Lean e back test localmente. Rummaging através do seu código também é valioso. Além disso, eles cortaram um acordo com a Trader por negócios de US $ 1. Isso ajuda muito. Não sou tão saliente sobre spreads e execução da Trader. O IB pode ser melhor para isso.


Vou dar uma olhada no curso que você mencionou.


Você não mencionou a Quantocracy ou RBloggers. Ambos são recursos muito valiosos.


O que você usa para traçar resultados de testes de volta? Eu logro os valores do OHLC e do indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar os resultados. Gostaria de apontar um pacote de gráficos para um arquivo de dados e simplesmente ir.


Você ainda possui um fornecedor de caixas de seleção?


Tenho um pensamento sobre os sistemas dirigidos a eventos. O problema com os eventos é que eles são assíncronos e latentes. Parece que eles são inevitáveis ​​assim que você obtém uma corretora envolvida, então eu tenho sonhado com um sistema de streaming mais seguindo os princípios da programação funcional.


& # 8211; Injeste um fluxo de tiquetaque ou barra.


& # 8211; Execute-o através de um processo de cálculo de indicadores, execução de análise ou ML, e assim por diante.


& # 8211; Retornar um sinal.


& # 8211; Envie-o para o corretor para executar.


Em seguida, em um fluxo separado.


& # 8211; Receba uma resposta do corretor.


O problema, é claro, é o estado. Tenho margem suficiente para fazer o comércio? O que está no meu portfólio? Como está funcionando? Normalmente, o corretor api pode ser consultado para descobrir essas coisas, mas leva tempo e é assíncrono. Eu também estou olhando extensões Rx. Dessa forma, o sistema pode reagir às mudanças no sistema através do padrão observável.


Os eventos são ótimos para cliques no mouse. Não é tão bom para processamento transacional de alto volume.


Esta é exatamente a abordagem que tomei com minhas próprias coisas. Essencialmente, eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é conduzida a eventos para falar com o corretor (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter o estado do corretor, ou armazená-lo internamente, atualizando-o quando você receber um preenchimento. Isso significa que há momentos em que você não conhece seu estado ou quando as duas fontes de estado estão potencialmente em conflito (dados ruins ou atrasos). Parte disso depende da rapidez com que você troca. A menos que você esteja negociando com muita rapidez, então, pausando se você tiver um conflito de estado, ou você está incerto de estado, é melhor do que prosseguir sem saber o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.


Quanto a quase tudo o que você pediu, você está perto da resposta em Reactive Extension (Rx).


Com Rx indo de tiques para velas é trivial.


Passar de Velas para Indicadores é trivial.


Indicadores de composição de outros indicadores é trivial.


Escrever Posições de Indicadores é trivial.


Composição de Portfolios (como realizada ao longo do tempo) das Posições é trivial.


Simular o modelo de risco é trivial.


Back testing ou trading live é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.


Executar é trivial.


A implementação é possível em tudo, desde C # até F # para JavaScript para C ++ em código quase idêntico.


A otimização é feita rapidamente porque o Rx puramente funcional é massivamente paralisável ao GPU.


É certo que a otimização e alimentação do efeito da otimização contínua de volta ao teste de back-back não é trivial, mas dado que não é trivial de qualquer maneira, eu irei deixar esse slide 😉


Puramente funcional (ou perto dela) A Rx é, na minha opinião, a única maneira de abordar a infraestrutura desse problema.


Conheço o sistema que quero negociar. Eu não quero programar ou aprender algo que alguém já conhece. Então, quem posso contratar para levar o sistema que eu quero usar e automatizá-lo. Por automatizar isso, quero dizer, eu não quero olhar para ele. Eu vou olhar os resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2016, tanto esforço precisa seguir um conjunto de regras e ter essas regras executadas no meu corretor.


Eu sugeriria inscrever-se com o Quantopian e depois encontrar alguém dentro da comunidade lá para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma IB Brokers e ser totalmente automatizado.


Deixe-me dizer, porém, que acho que você deve monitorá-lo de perto, e não apenas "esqueça-o para" # 8221 ;.


Black Box Trading Systems Legit?


Um sistema de comércio de caixa preta é um sistema automatizado que é usado para trocar os mercados financeiros. Aqui estão os fundamentos do sistema comercial de caixa preta e informações sobre se é legítimo.


Black Box System.


Um sistema de caixa preta é basicamente um programa de computador ou uma peça de software que é projetado para fornecer ajuda comercial a um comerciante. Um indivíduo vai fornecer a caixa preta com a informação que precisa para funcionar. O sistema de comércio de caixa preta então irá analisar a informação e fornecer informações diferentes ao comerciante.


O que é fornecido.


Um sistema de comércio de caixa preta irá fornecer informações diferentes dependendo do tipo de sistema que é usado. Existem muitos sistemas de negociação diferentes lá fora, e todos eles vão proporcionar benefícios diferentes para o comerciante. Por exemplo, alguns sistemas de comércio de caixa preta fornecerão pontos de entrada para um comércio, e cabe ao comerciante decidir quando sair. Outros sistemas de comércio de caixa preta vão obter informações mais detalhadas, como um ponto de entrada, um valor de parada e um valor em que o comerciante deve tirar proveito.


A eficácia desses sistemas de negociação tem sido muito debatida entre muitos especialistas. Muitos analistas fundamentais acreditam que um sistema informático não poderia examinar todas as diferentes variáveis ​​que irão fazer um comércio bem-sucedido. Outras pessoas que utilizam análises técnicas acreditam fortemente nas possibilidades deste tipo de sistema. Dependendo de qual escola de pensamento você é, você terá uma crença diferente sobre se esse tipo de sistema comercial pode realmente funcionar.


Na realidade, existem sistemas por aí que provaram ser efetivos. Enquanto muitos dos produtos que são promovidos não são legítimos, existem alguns bons sistemas de caixa preta para usar.


Antes de se envolver com este tipo de estratégia de negociação, você deve fazer uma pesquisa minuciosa sobre isso. Existem muitas estratégias de negociação diferentes desta natureza, e você precisa pesquisar cada uma antes de comprar o acesso a ela. Muitos comerciantes profissionais tentarão vender esses sistemas como forma de gerar dinheiro. Algumas das alegações que são feitas não são completamente honestas e, às vezes, tentam levar as pessoas a acreditar que podem fazer retornos assombrosos com esses sistemas.


Em vez de acreditar na pessoa que está tentando vender um produto, você deve procurar opiniões imparciais sobre isso antes de fazer uma compra. Existem muitos fóruns diferentes, sites de revisão e outros recursos que você pode usar para descobrir mais informações sobre um sistema de comércio de caixa preta antes de colocar sua fé nela. Isso pode ajudá-lo a evitar uma decisão de investimento potencialmente desastrosa no futuro.


O conteúdo deste site é fornecido apenas para fins informativos e não é um conselho legal ou profissional. As tarifas anunciadas neste site são fornecidas pelo anunciante de terceiros e não por nós. Não garantimos que os termos ou taxas do empréstimo listados neste site sejam os melhores termos ou as menores taxas disponíveis no mercado. Todas as decisões de empréstimo são determinadas pelo credor e não garantimos aprovação, taxas ou termos para qualquer credor ou programa de empréstimo. Nem todos os candidatos serão aprovados e os termos individuais do empréstimo podem variar. Os usuários são encorajados a usar seu melhor julgamento na avaliação de serviços de terceiros ou anunciantes neste site antes de enviar qualquer informação a terceiros.


Black Box Investing & # 038; Negociando o caminho do futuro?


O investimento em caixa preta, também chamado de caixa preta, não é mais do que um método de negociação que ninguém mais conhece e foi pré-programado usando lógica para gerar sinais de compra e venda automaticamente para você.


Os sistemas de comércio de caixa preta (robôs) vão desaparecer ou eles assumirão o mercado financeiro?


A resposta curta é sim, eles estão aqui para ficar e se tornarão uma parte maior e maior dos mercados financeiros. Mas eu não acho que seja algo para entrar em pânico ainda ...


Enquanto os sistemas de alta freqüência de "HFT" estão dominando o número de transações já, acho que será mais 4-6 anos antes que os indivíduos realmente se encaixem no comércio de caixa preta. Lembre-se que 95% dos comerciantes perdem dinheiro e são essas pessoas que vão tentar construir o sistema automatizado para remover sua falta de habilidade e disciplina na arena comercial.


Há um punhado de sites agora tornando muito fácil construir seu próprio sistema comercial de caixa preta através da tecnologia de arrastar e soltar que requer zero habilidades de programação. O problema para esses novos indivíduos de negociação de caixa negra quantitativa educada será a falta de sistemas de negociação, gerenciamento de dinheiro e sistemas de negociação algorítmica para saber se eles ainda têm um sólido sistema de investimento em caixa preta.


Mesmo quando esses investidores individuais têm um sistema que prova ser um vencedor através de testes, eles estarão em uma grande surpresa quando entrarem em cena e os resultados são completamente diferentes.


Compreender como construir um sistema que pode ser testado de forma precisa requer alguma experiência. Nem todos os sistemas comerciais de caixa preta não podem ser testados de forma precisa, dependendo do ponto de dados e do período de tempo usados.


Os benefícios do "comércio de caixa preta" são que as plataformas eletrônicas não estão sujeitas a erros humanos. Além disso, eles podem fazer milhões de cálculos por minuto que nós como seres humanos não são capazes de.


Além de executar todas as oportunidades de entrada e saída que o mercado tem para oferecer automaticamente com o comércio de caixa preta, não faltam ou saltam negócios devido ao erro humano, a emoção humana ou a falta de tempo disponível comprova que os sistemas de negociação automatizados são mais consistentes com retornos que são um enorme beneficiar.


Na AlgoTrades, usamos nosso sistema de comércio de caixa preta para gerar negócios, gerenciar posições e gerar lucros.


O & # 8220; comércio de caixa preta & # 8221; O sistema que executamos é apenas nossa estratégia de negociação de índice S & P 500 que usa lógica pré-programada para gerar pedidos de compra e venda automáticos.


Se você está procurando um sistema de investimento em caixa preta ou em caixa preta que pode fazer dinheiro em condições de mercado para cima, para baixo e para o lado oposto, você veio ao lugar certo.


ALGOTRADES - BLACK BOX TRADING & amp; INVESTIR PARA NEGOCIOS INDIVIDUAIS!


Compartilhe essa entrada.


Deixe uma resposta.


Sinta-se à vontade para contribuir!


Deixe uma resposta Cancelar resposta.


Você precisa estar logado para postar um comentário.


AlgoTrades traz contratos automatizados de futuros para as missas.


Algo Trading: é hora de entender o que são.


Decodificando a Caixa Negra com os Sistemas de Negociação.


O que é um sistema de negociação?


Antes de decifrar o significado de Black Box e o que Black Box Trading significa, vamos começar com os conceitos básicos de um sistema comercial. Um "sistema de comércio", mais comumente referido como uma "estratégia de negociação" não é senão um conjunto de regras, que quando aplicado aos dados de entrada fornecidos geram sinais de entrada e saída (compra / venda).


Embora a formulação de uma estratégia de negociação pareça ser uma tarefa fácil, na realidade, não é! Criar uma estratégia de negociação lucrativa requer uma pesquisa quantitativa exaustiva, e os cérebros por trás de uma estratégia de negociação quantitativa são conhecidos como "Quants" no mundo do comércio algorítmico. Podemos definir um quant como um profissional empregado por uma empresa de negociação quantitativa que aplique modelos matemáticos e estatísticos avançados com o único objetivo de criar uma estratégia de busca de alfa.


Por uma estratégia de busca de alfa, nos referimos a uma estratégia de negociação rentável que pode gerar retornos consistentes independentes da direção do mercado global.


Para aqueles que estão fora do mundo comercial algorítmico, o trabalho de quants e as estratégias de negociação quantitativas parecem opacos e complexos, daí o termo "Black Box" Trading.


Como operam os sistemas comerciais?


Qualquer sistema comercial, conceitualmente, não passa de um bloco computacional que interage com a troca em dois fluxos diferentes.


Recebe dados de mercado Envia solicitações de pedidos e recebe respostas da troca.


Os dados de mercado que são recebidos normalmente informam o sistema do último livro de pedidos. Pode conter algumas informações adicionais, como o volume negociado até o momento, o último preço e quantidade negociada para um script. No entanto, para tomar uma decisão sobre os dados, o comerciante pode precisar analisar valores antigos ou derivar determinados parâmetros do histórico. Para atender a isso, um sistema convencional teria um banco de dados histórico para armazenar os dados do mercado e as ferramentas para usar esse banco de dados. A análise também envolveria um estudo das tradições passadas pelo comerciante. Daí, outro banco de dados para armazenar as decisões comerciais também. Por último, mas não menos importante, uma interface GUI para o comerciante visualizar todas essas informações na tela.


Todo o sistema comercial pode agora ser dividido em.


A troca (s) - o mundo externo O servidor Mercado Data receptor Comercializar dados do mercado Armazenar ordens geradas pelo usuário Aplicação Pegue as entradas do usuário, incluindo as decisões de negociação Interface para visualizar as informações, incluindo os dados e ordens Um gerente de pedidos enviando ordens para o troca.


O que você chama de um Sistema de Negociação é realmente um Sistema CEP.


Um sistema CEP é o sistema complexo de processamento de eventos. Este longo termo pode parecer muito complicado, mas uma vez que você conhece eventos complexos e os componentes que fazem um sistema de CEP, você apreciará este sistema de caixa transparente.


Um evento complexo não é mais que um conjunto de eventos recebidos. Estes incluem tendências de estoque, movimentos do mercado, notícias etc. O processamento complexo de eventos está realizando operações computacionais em eventos complexos em curto espaço de tempo. As operações podem incluir a detecção de padrões complexos, construindo correlações e relacionamentos, como causalidade e tempo entre muitos eventos recebidos.


Os sistemas CEP processam eventos em tempo real e esta é uma característica fundamental de um sistema CEP. Quanto mais rápido o processamento de eventos, melhor será o sistema CEP. Por exemplo, se um sistema de negociação for projetado para detectar uma oportunidade de lucro para os próximos 1 segundo, mas o tempo gasto pelo sistema CEP excede esse limite, então o sistema comercial não poderá fazer lucros.


O sistema CEP é composto por quatro partes: um motor CEP, regras CEP, CEP WS e interface de resultados CEP. Os dois componentes principais de qualquer sistema CEP são o motor CEP e o conjunto de regras CEP. O mecanismo CEP processa os eventos recebidos com base nas regras do CEP. Essas regras e os eventos que vão como uma entrada para o mecanismo CEP são determinados pelo sistema de negociação (estratégia de negociação) aplicado.


Para um quant, a maioria do seu trabalho está concentrado neste bloco do sistema CEP. Um quant vai passar a maior parte do tempo na formulação de estratégias comerciais; realizando backtesting rigoroso, otimização e dimensionamento de posição entre outras coisas. Isso é feito para garantir a viabilidade da estratégia de negociação em mercados reais. Nenhuma estratégia única pode garantir lucros eternos. Assim, os quants são obrigados a apresentar novas estratégias regularmente para manter uma vantagem nos mercados.


Existem vários sistemas comerciais populares que são amplamente utilizados nos mercados atuais. Estes variam de estratégias Momentum, arbitragem estatística, criação de mercado, etc. Veja nosso blog muito perspicaz sobre estratégias de negociação algorítmica, paradigmas e idéias de modelagem para saber mais sobre esses sistemas de negociação.


Gerenciamento de pedidos em sistemas de negociação automatizados.


Os sinais gerados por um sistema algorítmico podem ser executados manualmente ou de forma automatizada. Quando os sinais são executados de forma automatizada, podemos chamar esse sistema inteiro como um "sistema de negociação automatizado". A automação dos pedidos é feita pelo módulo "Gerenciador de pedidos". O módulo do gerenciador de pedidos compreende diferentes estratégias de execução que executam as ordens de compra / venda com base em uma lógica pré-definida. Algumas das estratégias de execução populares incluem VWAP, TWAP, etc. Existem diferentes processos como roteamento de pedidos, codificação de pedidos, transmissão etc. que fazem parte deste módulo. Consulte nosso blog no Sistema de Gerenciamento de Pedidos (OMS) para saber mais sobre esses processos.


Gerenciamento de riscos em Sistemas de Negociação Automatizada.


Uma vez que os sistemas de negociação automatizados funcionam sem qualquer intervenção humana, torna-se pertinente ter cheques de risco completos para garantir que os sistemas de negociação funcionem conforme projetado. A ausência de verificações de risco ou uma gestão de risco defeituosa pode levar a enormes perdas irrecuperáveis ​​para uma empresa quantitativa como visto no passado. Assim, um sistema de gerenciamento de riscos (RMS) é um componente muito crítico de qualquer sistema de negociação automatizado. Existem dois lugares em que o Gerenciamento de Riscos é gerenciado em sistemas de troca de algo:


Dentro do aplicativo - Precisamos garantir que os parâmetros errados não sejam definidos pelo comerciante. Não deve permitir que um comerciante defina valores grosseiramente incorretos nem erros de dedos gordurosos.


Antes de gerar um pedido na OMS - Antes que a ordem flua para fora do sistema, precisamos certificar-se de que ele passa por algum sistema de gerenciamento de riscos. É aqui que acontece a verificação de gerenciamento de risco mais crítica. Veja nosso blog sobre "Mudança de tendências no gerenciamento de risco de negociação" para saber mais sobre aspectos de gerenciamento de risco e gerenciamento de riscos em um sistema de negociação automatizado.


Sistemas de negociação de alta freqüência.


Construir um sistema de negociação automatizado envolve altos custos e recursos. Construir esse sistema em casa pode não ser viável para algumas empresas de quant. Essas empresas podem optar por plataformas de negociação automatizadas institucionais que permitem operações de alta freqüência, execução e gerenciamento de pedidos em ações, câmbio, opções e futuros. Essas plataformas permitem que seus clientes controlem e personalizem completamente seus algoritmos proprietários, mantendo a confidencialidade de suas estratégias comerciais.


Sistemas automáticos de negociação populares.


Construir todo um sistema de negociação automatizado pode estar além do alcance de um comerciante de varejo individual. Para os comerciantes que desejam explorar a forma de negociação algorítmica, podem optar por sistemas de negociação automatizados que estão disponíveis nos mercados em uma base de assinatura. Um comerciante pode se inscrever nestes sistemas automatizados e usar as estratégias de negociação algorítmicas disponibilizadas aos usuários nesses sistemas. Destacamos alguns dos populares sistemas de negociação automatizada em nosso blog, "Top Algo Trading Platforms in India". Os comerciantes que conhecem programação podem formular e acompanhar suas estratégias em plataformas de programação como Python e R.


Crie seus próprios sistemas de negociação algorítmica.


Até agora, você deve ter percebido que a negociação "Black Box" não é tão complexa quanto parece. Os comerciantes de aspirantes podem aprender a construir suas próprias estratégias de negociação algorítmica e negociar de forma rentável nos mercados. As seguintes etapas podem servir de orientação aproximada para a construção de uma estratégia de negociação algorítmica:


Ideação ou hipótese de estratégia - surgir uma idéia comercial que você acredita que seria rentável em mercados ativos. A idéia pode ser baseada em suas observações de mercado ou pode ser emprestada de livros de negociação, documentos de pesquisa, blogs comerciais, fóruns de negociação ou qualquer outra fonte. Obter os dados necessários - Para testar sua idéia, você precisaria de dados históricos. Você pode obter esses dados de sites como Google finance, Yahoo finance ou de um fornecedor de dados pagos. Estratégia de escrita - Uma vez que você tem os dados, você pode começar a codificar sua estratégia para a qual você pode usar ferramentas como Excel, Python ou programação R. Backtesting sua estratégia - Uma vez codificado, você precisa testar se sua idéia comercial dá bons retornos sobre os dados históricos. Backtesting envolveria a otimização de insumos, estabelecendo objetivos de lucro e interromper a perda, dimensionamento de posição, etc. Papel de negociação de sua estratégia - Após a etapa de teste, você deve negociar sua estratégia em primeiro lugar. Isso significaria testar sua estratégia em um simulador que simula condições de mercado. Existem corretores que fornecem plataformas para o comércio de papel sua estratégia. Tornando a sua estratégia ao vivo - se a estratégia for rentável após a negociação de papel, você pode levá-la ao vivo. Você pode abrir uma conta com um corretor adequado que forneça a facilidade de negociação algorítmica.


O número de intercâmbios que permitem a negociação algorítmica para profissionais, bem como comerciantes de varejo, vem crescendo com cada ano que passa, e cada vez mais comerciantes estão se voltando para negociação algorítmica. Esperamos que este artigo seja perspicaz para os nossos leitores e encorajá-los a melhorar sua maneira de negociar. Então, o que você está esperando? Vá Algo !!


Se você quiser aprender vários aspectos da negociação algorítmica, consulte o Programa Executivo em Negociação Algorítmica (EPAT ™). O curso abrange módulos de treinamento como Statistics & amp; Econometria, Computação Financeira e Tecnologia e Algorítmica e Negociação quantitativa. EPAT ™ equipa você com os conjuntos de habilidades necessárias para construir uma carreira promissora na negociação algorítmica. Se você estiver interessado em explorar cursos de negociação de ritmo próprio, você também pode visitar a Quantra, onde temos listados cursos curtos como "Começando com Algorithmic Trading" e "Python for Trading".


Posts Relacionados:


Um pensamento sobre "Decodificação da Caixa Negra com Sistemas de Negociação"


Excelente artigo, Obrigado por sua ótima informação, o conteúdo é silencioso interessante. Estarei à espera da sua próxima postagem.

Comments