Tuesday 17 April 2018

Construa seu próprio sistema comercial


Codificação de sistemas de negociação.


Por Justin Kuepper.


Como são criados sistemas de negociação automatizados?


Este tutorial se concentrará nas segunda e terceira partes deste processo, onde suas regras são convertidas em um código que seu software comercial pode entender e usar.


Vantagens e desvantagens.


Um sistema automatizado leva a emoção e ocupado - trabalhe fora da negociação, o que permite que você se concentre em melhorar sua estratégia e regras de gerenciamento de dinheiro. Uma vez que um sistema lucrativo é desenvolvido, não requer nenhum trabalho de sua parte até que ele quebre, ou as condições do mercado exigem uma mudança. Desvantagens:


Se o sistema não estiver corretamente codificado e testado, grandes perdas podem ocorrer muito rapidamente. Às vezes, é impossível colocar certas regras em código, o que dificulta o desenvolvimento de um sistema de negociação automatizado. Neste tutorial, você aprenderá como planejar e projetar um sistema de negociação automatizado, como traduzir esse design para o código que seu computador irá entender, como testar seu plano para garantir um desempenho ótimo e, finalmente, como colocar seu sistema em uso.


Construa seu sistema comercial em 3 etapas.


Agora que você aprendeu os conceitos básicos de análise técnica. Vamos agora combinar todas essas informações e construir um sistema de negociação simples.


Isso deve dar uma idéia do que você deve procurar quando desenvolver seu próprio sistema de negociação forex.


Indicadores técnicos adicionais também são usados ​​para confirmação antes de entrar em um comércio.


Você aprenderá a usar esses vários indicadores técnicos para estabelecer níveis específicos de entrada e saída "cristalinos".


Defina seu período de tempo Determine seu (s) gatilho (s) de entrada Determine o (s) seu (s) gatilho (s) de saída


Configuração de negociação.


Comércio no gráfico diário (swing trading) 5 SMA aplicado ao fechamento 10 SMA aplicado ao fechamento Stochasti c (14,3,3) RSI (9)


Regras de negociação.


Regras de entrada.


O 5 SMA cruza acima dos 10 SMA e ambas as linhas estocásticas estão indo para cima (não entre se as linhas estocásticas já estão no território de sobrecompra) O RSI é superior a 50.


O 5 SMA cruza abaixo dos 10 SMA e ambas as linhas estocásticas estão indo para baixo E (não entre se as linhas estocásticas já estão em território de sobrevenda) RSI é inferior a 50.


Regras de saída.


Saia quando o 5 SMA cruza os 10 SMA na direção oposta do seu comércio OU se RSI voltar para 50 Sair quando o comércio atinge a perda de 100 pips.


Se o gráfico diário for muito lento para você, você pode tentar experimentar diferentes intervalos de tempo.


Lembre-se: um sistema de negociação só é eficaz se for seguido!


Você precisa ter a disciplina para manter as regras!


Ok, vamos dar uma olhada em alguns gráficos e ver esse bebê em ação ...


Seu progresso.


O dinheiro não pode te comprar felicidade, mas traz-lhe uma forma mais agradável de miséria. Spike Milligan.


O BabyPips ajuda os comerciantes individuais a aprender como negociar o mercado cambial.


Apresentamos as pessoas ao mundo do comércio de moeda e fornecemos conteúdos educacionais para ajudá-los a aprender a se tornarem comerciantes rentáveis. Nós também somos uma comunidade de comerciantes que se apoiam na nossa jornada de negociação diária.


Como construir sua própria estratégia de negociação algorítmica.


Estratégia de negociação algorítmica.


Toda semana, recebemos inúmeros e-mails nos perguntando como criamos nossa lucrativa estratégia de negociação algorítmica.


Em vez de tentar explicar nosso processo e raciocínio repetidamente através de e-mails e chamadas telefônicas, decidimos criar um vídeo detalhado sobre os 4 maiores obstáculos que os comerciantes ficam presos e como você pode construir sua própria estratégia de negociação algorítmica rentável.


Seu objetivo como comerciante é criar ou pelo menos usar uma estratégia de negociação vencedora. Não importa se você trocar manualmente, ou se é uma estratégia de negociação automatizada. Mas se você criar algo que ganha dinheiro, é natural que você se concentre em automatizá-lo para que você tenha sua própria estratégia de negociação algorítmica executando e trabalhando para você, enquanto você constrói sua próxima estratégia de negociação e # 8230;


Ao longo dos anos, eu gastei 10 milhares de dólares tentando descobrir quais são as chaves para uma estratégia comercial bem-sucedida. Eu quero compartilhar com você como eu crio estratégias de negociação algorítmicas lucrativas que funcionam em mercados em ascensão, queda e paralelos.


Como eu construí uma estratégia de negociação rentável e algorítmica; Como você também pode.


Deixe-me compartilhar com você minha jornada como comerciante na ordem em que as coisas me acontecem e como eu me tornei um usuário de estratégia de negociação algorítmica em tempo integral. Assista ao vídeo abaixo para obter detalhes e a oferta especial.


A Estratégia de Negociação Algorítmica atinge a Nova Marca de Água Alta de 30,7% ROI & # 8211; Comunicado de imprensa.


Compartilhe essa entrada.


Chris Vermeulen em Benzinga PreMarket TV Show & # 8211; Negociação automatizada.


Algorithmic Trading Strategies Performance & # 038; Educação para investidores.


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


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;


Riqueza do robô.


Postado em 14 de outubro de 2016 por Kris Longmore.


Esta publicação vem do Dr. Tom Starke, um bom amigo de Robot Riqueza. Tom é um físico, um desenvolvedor quantitativo e um comerciante algo experiente, com interesses interessantes em aprendizagem mecânica e computação quântica. Estou emocionado de que Tom esteja compartilhando seu conhecimento e experiência com a comunidade Robot Wealth. Para você, Tom.


Ao contrário da maioria das outras empresas, o comércio algorítmico tem a vantagem de lhe dar feedback quase instantâneo sobre o quão bom você está em sua empresa. Para quem é numericamente inclinado, esta é uma proposição muito atraente. Eu vi artigos escritos sobre esse assunto, mas eles nunca abordaram realmente muitos dos problemas que eu encontrei na minha jornada. Nesta publicação, gostaria de falar sobre isso um pouco como uma inspiração ou talvez um impedimento para todas as pessoas que lêem isso e consideram ganhar dinheiro dessa forma.


Nada poderia ser mais surpreendente, um sistema que funciona por si só e, de forma consistente, custam dinheiro para financiar estadias prolongadas em Bali, América do Sul ou com sua mãe, se é o que você está procurando. No entanto, como você pode ter adivinhado, não é tão simples, mesmo para o mais habilidoso de comércio-esclarecido - matemática-wiz ou gênio de programação. Em primeiro lugar, o algo-trading é multidisciplinar por natureza. Isso torna muito divertido e desafiador ao mesmo tempo. Você precisa ser bastante esclarecido em áreas como ciência da computação, matemática, análise de dados e algumas finanças, embora eu descobri que as pessoas que entendem os primeiros assuntos geralmente aprendem muito financeiramente.


Talvez você possa pensar que uma falta de conhecimento em algumas dessas áreas pode ser resolvida sabendo as pessoas certas e juntando-se a elas. Pode, mas, da minha experiência, as chances de sucesso não são excelentes. Conheci pessoalmente três pessoas com conhecimentos informáticos extensivos que se uniram com comerciantes institucionais para desenvolver idéias comerciais em sistemas automatizados - nenhum deles funcionou.


Porque isto é assim? Na minha experiência, os comerciantes muitas vezes trabalham com análises técnicas e respondem a sinais de negociação, o que para eles são "óbvios" para comprar e vender, e muitas vezes ganham um bom dinheiro com isso. O problema aqui é que sua consciência é muito ajustada para ver os sinais relevantes que têm potencial e são quase cegos para os que estão lá, mas, obviamente, não fazem sentido. Na sua opinião, os sinais que utilizam funcionam 100%. Um computador, no entanto, não tem a capacidade de discernir sinais que fazem sentido e aqueles que não, ele apenas executa independentemente. Como resultado, o comerciante pensa que seu cara de computador cometeu erros no programa e o programador pensa que as estratégias do comerciante não são boas e, finalmente, seguem seu próprio caminho.


Pegue uma instituição típica, um quant desenvolve um protótipo de seu sistema, diga MATLAB, e o time de TI converte-o em C ++ para ser executado na plataforma do fundo. Um algoritmo bem concebido contém muitas sutilezas que o desenvolvedor provavelmente não entenderá exatamente e pequenos erros podem matar completamente o desempenho do sistema.


Estes são cenários comuns e eu também tive minha parte justa disso. Estou pronto para o trabalho em equipe, mas a realidade é que, antes de poder terceirizar partes do seu projeto, você tem que entender você mesmo muito bem.


Agora, diga que você vem de um fundo quantitativo e você leu todos os livros, fez os exercícios, executou um monte de backtests e você está pronto para ir. Você começa a construir sua própria plataforma e percebe que há uma série de mostradores, como obter bons dados de mercado, dados históricos, conexões de intermediários e outros. Esses problemas são mais significativos do que você pensa. A solução mais fácil é obter uma conexão Bloomberg, mas isso ocorre com um custo significativo. Além disso, um típico terminal da Bloomberg não é realmente construído para gerir sofisticados algos de fragmentação. E quanto aos corretores interativos? Sim, ele pode funcionar, mas sua API está longe de ser perfeita e seus dados históricos são irritantemente cheios de erros e seus dados de mercado também têm muitos sinais falsos, o que pode prejudicar sua estratégia. Tudo isso pode ser resolvido, mas confie em mim, não é fácil. Os pequenos detalhes criam a complexidade e leva tempo para aprender sobre todas as armadilhas que podem surgir.


Mas aqui está a coisa: se isso fosse fácil, nunca teria entrado nisso porque a complexidade cria oportunidade. Eu gosto de aprender e eu gosto de resolver problemas, então isso é muito divertido. No processo eu aprendi mais do que durante todo o meu doutorado em física ... o quão legal é isso?


Como você começa, depende inteiramente de suas habilidades e preferências, mas permita-me dar algumas recomendações.


Em primeiro lugar, encontre o corretor de comissão mais baixo que puder. As comissões são o maior assassino de uma estratégia de outra forma boa. Um ponto base (1 por cento de 1 por cento) não soa muito, mas cada ponto base de comissão adicional que é adicionado ao seu comércio traz você para regimes comerciais totalmente diferentes. Mais comissão significa que você precisa esperar mais para sair, suas estratégias são mais arriscadas e menos consistentes.


Em segundo lugar, não tente automatizar tudo imediatamente. As estratégias semi-automáticas são realmente muito legais. O que isso significa é que sua máquina fornece os sinais e você executa a execução manualmente (desde que você não esteja executando 46 trades por segundo). Implementar boas estratégias de execução automatizada é realmente bastante complicado. O que você faz quando seu comércio não é preenchido? Ou fica parcialmente preenchido? Ou você não pode sair ao preço que deseja? Ou você vê que isso pode ser preenchido em breve, então está certo aguardar um pouco? Ou você deseja cancelar imediatamente. Se você fez isso à mão antes que seja muito mais fácil desenvolver algo que responda por todos os cenários que você possa encontrar.


Com sistemas semi-automatizados, se você acompanha esteicamente o que a sua estratégia lhe diz, pode funcionar bem, já que você não precisa se preocupar em também assistir o mercado ao mesmo tempo. Todos conhecemos os caras com 6 telas na frente deles tentando entender o que acontece no mercado - nunca vi um grupo de pessoas mais ansioso, com privação de sono e adrenalina do que aqueles. Muitas vezes, nem sequer têm uma estratégia e apenas reagem ao que pensam ser racional.


Ao desenvolver seu sistema, você perceberá que mesmo o melhor sistema totalmente automatizado no mundo não permitirá que você se deite na praia, tome bebidas legais e relaxe enquanto os negócios marcam e fazem dinheiro. Diga, sua estratégia realmente corre bem e gera lucro, mas, de repente, sua internet corta ou seu servidor tem uma onda de energia. O seu sistema está parado ou reconcilia-se suavemente e continua? Você tem um servidor de backup executado em sincronia e pode assumir (não trivial)? Você pode de alguma forma fechar todas as suas posições abertas através de uma conexão de internet alternativa? Ou talvez você faça o modo Warren Buffet e deixe suas posições abertas nos próximos 24 anos. E se a sua estratégia tiver uma grande redução? É esperado ou vai além do limite aceitável e você tem que cortar perdas? Você já determinou em que ponto você faz isso?


Isso nos leva a considerações sobre como você projeta seu sistema. A minha jornada e provavelmente a sua, começará com um design simples que apenas faz o que se pretende fazer, mas bastante lento e ineficiente. Você se move para executar bits em paralelo, introduzir o processamento de eventos complexos e acabar executando as diferentes partes do seu comerciante através de sockets em servidores externos que trocam mensagens de forma assíncrona. Eu tenho iterado através de todos esses eu mesmo e aprendi uma quantidade decente de ciência da computação ao longo do caminho. Se você ainda não é um desenvolvedor experiente, recomendo começar simples, em vez de criar um sistema grande imediatamente. A propósito, esse foi um dos meus primeiros erros de humilhação - oh, bem, todos nós aprendemos. Até agora, construí uma grande variedade de sistemas diferentes de simples a complexos e cada um me ajudou a entender diferentes aspectos do campo.


Também é útil reproduzir a execução simulada, uma vez que algumas estratégias sofrem significativamente quando o deslizamento, o impacto no mercado e outros fatores são levados em consideração. Muitas vezes, os testes para sinais comerciais, portfólio e execução podem ser executados separadamente, o que simplifica o processo e facilita a análise e compreensão.


Uma grande pedra de tropeção, especialmente para pessoas provenientes da ciência da computação e das finanças, é o processamento e a interpretação estatística dos dados de retorno coletados. Não é trivial e pode demorar anos de experiência para melhorar. Os dados contam histórias, aprendem a encontrar essas histórias nos números.


Se você fez isso até aqui e você está no início de sua jornada, você pode se sentir um pouco sobrecarregado, mas pense nisso dessa maneira: há todas essas coisas incríveis que você pode aprender no seu caminho, que acabará por iluminá-lo. Se fosse fácil, todo mundo faria isso.


Se você me perguntar qual é o aspecto mais importante que você precisa para que isso funcione, eu diria que é visão. Visão do que você realmente deseja alcançar. Isso, mais do que qualquer outra coisa, o levará na direção certa. Na minha opinião sincera, não são as pessoas mais inteligentes que conseguem isso, são os visionários. Se você não tem certeza do que estou falando, sugiro que você veja os livros por Charles Haanel, Napoleon Hill e Wallace D. Wattles. Se você é cientista, analista financeiro, engenheiro de software ou cabeleireiro, você terá grandes lacunas em seu conhecimento e é preciso determinação para preenchê-los. Então, vá em frente, construa sua visão, coloque suas mangas e comece!

No comments:

Post a Comment