Como construir um sistema de negociação quantitativo


Guia para iniciantes em negociação quantitativa.


Guia para iniciantes em negociação quantitativa.


Neste artigo, vou apresentar alguns dos conceitos básicos que acompanham um sistema de negociação quantitativo de ponta a ponta. Espera-se que este post atenda a dois públicos-alvo. O primeiro será indivíduos tentando obter um emprego em um fundo como um comerciante quantitativo. A segunda será pessoas que desejam tentar montar seu próprio negócio de comércio algorítmico "de varejo".


A negociação quantitativa é uma área extremamente sofisticada de finanças quânticas. Pode levar uma quantidade significativa de tempo para obter o conhecimento necessário para passar uma entrevista ou construir suas próprias estratégias de negociação. Não só isso, mas requer extensa experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. No entanto, à medida que a frequência de negociação da estratégia aumenta, os aspectos tecnológicos tornam-se muito mais relevantes. Assim, estar familiarizado com o C / C ++ será de suma importância.


Um sistema de negociação quantitativo consiste em quatro componentes principais:


Identificação Estratégica - Encontrando uma estratégia, explorando uma vantagem e decidindo sobre a frequência de negociação Backtesting da estratégia - Obtendo dados, analisando o desempenho da estratégia e removendo vieses Sistema de Execução - Vinculando a uma corretora, automatizando a negociação e minimizando custos de transação tamanho da aposta "/ critério de Kelly e psicologia de negociação.


Começaremos dando uma olhada em como identificar uma estratégia de negociação.


Identificação de estratégia.


Todos os processos de negociação quantitativos começam com um período inicial de pesquisa. Este processo de pesquisa engloba encontrar uma estratégia, verificando se a estratégia se encaixa em um portfólio de outras estratégias que você pode estar executando, obtendo quaisquer dados necessários para testar a estratégia e tentando otimizar a estratégia para retornos mais altos e / ou menor risco. Você precisará levar em conta suas próprias necessidades de capital se administrar a estratégia como um operador de "varejo" e como os custos de transação afetarão a estratégia.


Ao contrário da crença popular, é bastante simples encontrar estratégias lucrativas através de várias fontes públicas. Os acadêmicos publicam regularmente resultados teóricos de negociação (embora, em sua maioria, sejam brutos dos custos de transação). Os blogs de finanças quantitativas discutirão as estratégias em detalhes. Os jornais de comércio delinearão algumas das estratégias empregadas pelos fundos.


Você pode questionar por que os indivíduos e as empresas estão interessados ​​em discutir suas estratégias lucrativas, especialmente quando sabem que outras pessoas "que estão ocupando o mercado" podem impedir que a estratégia funcione a longo prazo. A razão está no fato de que eles não costumam discutir os parâmetros exatos e os métodos de ajuste que eles realizaram. Essas otimizações são a chave para transformar uma estratégia relativamente medíocre em uma altamente lucrativa. Na verdade, uma das melhores maneiras de criar suas próprias estratégias é encontrar métodos semelhantes e, em seguida, realizar seu próprio procedimento de otimização.


Aqui está uma pequena lista de lugares para começar a procurar ideias estratégicas:


Muitas das estratégias que você irá analisar se encaixarão nas categorias de reversão à média e tendência / momento. Uma estratégia de reversão à média é aquela que tenta explorar o fato de que existe uma média de longo prazo em uma "série de preços" (como o spread entre dois ativos correlatos) e que desvios de curto prazo dessa média eventualmente reverterão. Uma estratégia de momentum tenta explorar tanto a psicologia do investidor quanto a grande estrutura de fundos, "pegando carona" em uma tendência de mercado, que pode ganhar impulso em uma direção e seguir a tendência até que ela se reverta.


Outro aspecto extremamente importante da negociação quantitativa é a frequência da estratégia de negociação. A negociação de baixa frequência (LFT) geralmente se refere a qualquer estratégia que detenha ativos por mais de um dia de negociação. Correspondentemente, a negociação de alta frequência (HFT) geralmente se refere a uma estratégia que mantém ativos intraday. Negociação de frequência ultra-alta (UHFT) refere-se a estratégias que mantêm ativos na ordem de segundos e milissegundos. Como profissionais de varejo, HFT e UHFT certamente são possíveis, mas apenas com conhecimento detalhado da "pilha de tecnologia" e da dinâmica do livro de pedidos. Não vamos discutir esses aspectos em grande medida neste artigo introdutório.


Uma vez que uma estratégia, ou conjunto de estratégias, tenha sido identificada, ela agora precisa ser testada quanto à lucratividade nos dados históricos. Esse é o domínio do backtesting.


Backtesting de estratégia.


O objetivo do backtesting é fornecer evidências de que a estratégia identificada por meio do processo acima é lucrativa quando aplicada a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia funcionará no "mundo real". No entanto, backtesting não é garantia de sucesso, por várias razões. É talvez a área mais sutil do comércio quantitativo, uma vez que implica inúmeros vieses, que devem ser cuidadosamente considerados e eliminados, tanto quanto possível. Discutiremos os tipos comuns de polarização, incluindo viés de antecipação, viés de sobrevivência e viés de otimização (também conhecido como viés de "espionagem de dados"). Outras áreas de importância dentro do backtesting incluem a disponibilidade e a limpeza de dados históricos, levando em consideração custos de transação realistas e decidindo sobre uma plataforma robusta de backtesting. Discutiremos os custos de transação na seção Sistemas de Execução abaixo.


Uma vez que uma estratégia tenha sido identificada, é necessário obter os dados históricos através dos quais realizar testes e, talvez, refinamento. Há um número significativo de fornecedores de dados em todas as classes de ativos. Seus custos geralmente variam de acordo com a qualidade, profundidade e pontualidade dos dados. O ponto de partida tradicional para os comerciantes de quantia iniciais (pelo menos no nível de varejo) é usar o conjunto de dados gratuito do Yahoo Finance. Eu não vou me debruçar muito sobre provedores aqui, ao invés disso eu gostaria de me concentrar nas questões gerais ao lidar com conjuntos de dados históricos.


As principais preocupações com dados históricos incluem exatidão / limpeza, viés de sobrevivência e ajuste para ações corporativas, como dividendos e desdobramentos:


Precisão pertence à qualidade geral dos dados - se contém algum erro. Às vezes, os erros podem ser fáceis de identificar, como com um filtro de pico, que detecta "picos" incorretos nos dados de séries temporais e os corrige. Em outras ocasiões, podem ser muito difíceis de detectar. Muitas vezes é necessário ter dois ou mais provedores e, em seguida, verificar todos os seus dados uns contra os outros. O viés de sobrevivência é muitas vezes uma "característica" de conjuntos de dados gratuitos ou baratos. Um conjunto de dados com viés de sobrevivência significa que ele não contém ativos que não estão mais sendo negociados. No caso de ações, isso significa ações excluídas / falidas. Esse viés significa que qualquer estratégia de negociação de ações testada em tal conjunto de dados provavelmente terá um desempenho melhor do que no "mundo real", já que os "vencedores" históricos já foram pré-selecionados. As ações corporativas incluem atividades "logísticas" realizadas pela empresa, que geralmente causam uma mudança na função de etapa do preço bruto, que não deve ser incluída no cálculo dos retornos do preço. Ajustes para dividendos e desdobramentos são os culpados comuns. Um processo conhecido como ajuste de costas é necessário para ser realizado em cada uma dessas ações. É preciso ter muito cuidado para não confundir uma divisão de ações com um verdadeiro ajuste de retorno. Muitos traders foram pegos por uma ação corporativa!


Para realizar um procedimento de backtest, é necessário usar uma plataforma de software. Você tem a escolha entre softwares backtest dedicados, como o Tradestation, uma plataforma numérica como o Excel ou o MATLAB ou uma implementação personalizada completa em uma linguagem de programação como Python ou C ++. Não vou me demorar muito com Tradestation (ou similar), Excel ou MATLAB, pois acredito na criação de uma pilha completa de tecnologia interna (pelas razões descritas abaixo). Um dos benefícios disso é que o software de backtest e o sistema de execução podem ser totalmente integrados, mesmo com estratégias estatísticas extremamente avançadas. Para as estratégias de HFT, em particular, é essencial usar uma implementação personalizada.


Ao fazer o backtest de um sistema, é preciso ser capaz de quantificar o desempenho do mesmo. As métricas "padrão da indústria" para estratégias quantitativas são o rebaixamento máximo e o Índice de Sharpe. O rebaixamento máximo caracteriza a maior queda de ponta a ponta na curva de patrimônio da conta em um determinado período de tempo (geralmente anual). Isso é mais frequentemente citado como uma porcentagem. As estratégias de LFT tenderão a ter rebaixamentos maiores do que as estratégias de HFT, devido a vários fatores estatísticos. Um backtest histórico mostrará o último drawdown máximo, que é um bom guia para o futuro desempenho de drawdown da estratégia. A segunda medida é o Índice de Sharpe, que é definido heuristicamente como a média dos retornos excedentes dividida pelo desvio padrão desses retornos excedentes. Aqui, os retornos excedentes referem-se ao retorno da estratégia acima de um benchmark pré-determinado, como o S & P500 ou um Tesouro de 3 meses. Note que o retorno anualizado não é uma medida normalmente utilizada, pois não leva em conta a volatilidade da estratégia (diferentemente do Índice de Sharpe).


Uma vez que uma estratégia tenha sido testada novamente e seja considerada livre de vieses (na medida em que isso seja possível!), Com um bom Sharpe e rebaixamentos minimizados, é hora de construir um sistema de execução.


Sistemas de Execução.


Um sistema de execução é o meio pelo qual a lista de negociações geradas pela estratégia é enviada e executada pelo corretor. Apesar do fato de que a geração de comércio pode ser semi ou totalmente automatizada, o mecanismo de execução pode ser manual, semi-manual (ou seja, "um clique") ou totalmente automatizado. Para estratégias de LFT, técnicas manuais e semi-manuais são comuns. Para as estratégias de HFT, é necessário criar um mecanismo de execução totalmente automatizado, que muitas vezes será fortemente acoplado ao gerador de comércio (devido à interdependência entre estratégia e tecnologia).


As principais considerações ao criar um sistema de execução são a interface com a corretora, a minimização dos custos de transação (incluindo comissão, derrapagem e spread) e a divergência de desempenho do sistema ao vivo do desempenho do backtested.


Há muitas maneiras de interagir com uma corretora. Eles variam de chamar seu corretor por telefone até uma Application Programming Interface (API) de alto desempenho totalmente automatizada. O ideal é que você queira automatizar a execução de seus negócios o máximo possível. Isso libera você para se concentrar em novas pesquisas, bem como permitir que você execute várias estratégias ou mesmo estratégias de maior frequência (na verdade, HFT é essencialmente impossível sem execução automatizada). O software comum de backtesting descrito acima, como MATLAB, Excel e Tradestation, é bom para estratégias mais simples e de menor frequência. No entanto, será necessário construir um sistema de execução interno escrito em uma linguagem de alto desempenho, como C ++, para fazer qualquer HFT real. Como uma anedota, no fundo em que eu costumava trabalhar, tínhamos um "ciclo de negociação" de 10 minutos, onde baixávamos novos dados de mercado a cada 10 minutos e depois executávamos negociações com base nessas informações no mesmo período de tempo. Isso estava usando um script Python otimizado. Para qualquer coisa que se aproxime de dados de frequência de minutos ou segundos, acredito que C / C ++ seria mais ideal.


Em um fundo maior, muitas vezes não é o domínio do comerciante de quantificação para otimizar a execução. No entanto, em pequenas lojas ou empresas de HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é geralmente desejável. Tenha isso em mente se você deseja ser empregado por um fundo. Suas habilidades de programação serão tão importantes, se não mais, do que suas estatísticas e talentos econométricos!


Outra questão importante que cai sob a bandeira da execução é a minimização dos custos de transação. Geralmente, há três componentes nos custos de transação: Comissões (ou impostos), que são as taxas cobradas pela corretora, pela bolsa e pela SEC (ou órgão regulador governamental similar); escorregamento, que é a diferença entre o que você pretendia que seu pedido fosse preenchido versus o que foi realmente preenchido; spread, que é a diferença entre o preço de compra / venda do título negociado. Observe que o spread NÃO é constante e depende da liquidez atual (ou seja, disponibilidade de ordens de compra / venda) no mercado.


Os custos de transação podem fazer a diferença entre uma estratégia extremamente lucrativa com um bom índice de Sharpe e uma estratégia extremamente não lucrativa com um índice de Sharpe terrível. Pode ser um desafio prever corretamente os custos de transação de um backtest. Dependendo da frequência da estratégia, você precisará acessar os dados históricos do câmbio, que incluirão dados de ticks para preços de compra / venda. Equipes inteiras de quantos são dedicadas à otimização da execução nos fundos maiores, por esses motivos. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negociações (das quais as razões para isso são muitas e variadas!). Ao "despejar" tantas ações no mercado, elas rapidamente deprimirão o preço e podem não obter uma execução ideal. Daí algoritmos que "gotejam feed" ordens para o mercado existem, embora o fundo corre o risco de derrapagem. Além disso, outras estratégias "atacam" essas necessidades e podem explorar as ineficiências. Este é o domínio da arbitragem da estrutura do fundo.


A última grande questão para os sistemas de execução diz respeito à divergência de desempenho da estratégia do desempenho do backtested. Isso pode acontecer por vários motivos. Já analisamos o viés de look-ahead e o viés de otimização em profundidade, ao considerar os backtests. No entanto, algumas estratégias não facilitam o teste desses vieses antes da implantação. Isso ocorre em HFT mais predominantemente. Pode haver bugs no sistema de execução, bem como a própria estratégia de negociação que não aparece em um backtest, mas aparece no live trading. O mercado pode ter sido sujeito a uma mudança de regime após a implementação da sua estratégia. Novos ambientes regulatórios, mudanças no sentimento do investidor e fenômenos macroeconômicos podem levar a divergências na forma como o mercado se comporta e, portanto, na rentabilidade de sua estratégia.


Gerenciamento de riscos.


A peça final do quebra-cabeça de negociação quantitativa é o processo de gerenciamento de risco. "Risco" inclui todos os vieses anteriores que discutimos. Isso inclui risco de tecnologia, como servidores co-localizados na central de repente desenvolvendo um mau funcionamento do disco rígido. Isso inclui risco de corretagem, como o corretor estar falido (não tão louco quanto parece, dado o recente susto com a MF Global!). Em suma, abrange quase tudo o que poderia interferir com a implementação comercial, dos quais existem muitas fontes. Livros inteiros são dedicados ao gerenciamento de risco para estratégias quantitativas, então eu não tentarei elucidar todas as possíveis fontes de risco aqui.


A gestão de risco também abrange o que é conhecido como alocação de capital ideal, que é um ramo da teoria de portfólio. Esse é o meio pelo qual o capital é alocado a um conjunto de estratégias diferentes e aos negócios dentro dessas estratégias. É uma área complexa e depende de algumas matemáticas não triviais. O padrão da indústria pelo qual a alocação ótima de capital e a alavancagem das estratégias estão relacionadas é chamado de critério de Kelly. Como este é um artigo introdutório, não vou me alongar em seu cálculo. O critério de Kelly faz algumas suposições sobre a natureza estatística dos retornos, que muitas vezes não são verdadeiros nos mercados financeiros, de modo que os operadores geralmente são conservadores quando se trata da implementação.


Outro componente fundamental do gerenciamento de riscos é lidar com o próprio perfil psicológico. Existem muitos vieses cognitivos que podem surgir na negociação. Embora isso seja reconhecidamente menos problemático com negociação algorítmica se a estratégia for deixada em paz! Um viés comum é o da aversão à perda, em que uma posição perdedora não será fechada devido à dor de ter que perceber uma perda. Da mesma forma, os lucros podem ser tomados muito cedo porque o medo de perder um lucro já ganho pode ser muito grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os operadores enfatizam demais os eventos recentes e não a longo prazo. Então, é claro, há o par clássico de preconceitos emocionais - medo e ganância. Estes podem muitas vezes levar a sub ou sobre-alavancagem, o que pode causar blow-up (ou seja, o título da conta indo para zero ou pior!) Ou lucros reduzidos.


Como pode ser visto, o comércio quantitativo é uma área extremamente complexa, embora muito interessante, de financiamento quantitativo. Eu literalmente arranhei a superfície do tópico neste artigo e já está ficando bastante longo! Livros e documentos inteiros foram escritos sobre questões para as quais eu só dei uma ou duas sentenças. Por essa razão, antes de se candidatar a cargos quantitativos de negociação de fundos, é necessário realizar uma quantidade significativa de estudo de base. No mínimo, você precisará de um extenso conhecimento em estatística e econometria, com muita experiência em implementação, por meio de uma linguagem de programação como MATLAB, Python ou R. Para estratégias mais sofisticadas no final de frequência mais alta, seu conjunto de habilidades é provável para incluir a modificação do kernel do Linux, C / C ++, programação de montagem e otimização de latência de rede.


Se você estiver interessado em tentar criar suas próprias estratégias de negociação algorítmica, minha primeira sugestão seria se programar bem. Minha preferência é construir o máximo possível de dados capturados, backtester de estratégia e sistema de execução. Se o seu próprio capital está em jogo, não dormiria melhor à noite sabendo que você testou completamente o seu sistema e está ciente de suas armadilhas e problemas específicos? Terceirizar isso para um fornecedor, enquanto potencialmente economiza tempo a curto prazo, pode ser extremamente caro a longo prazo.


A Quantcademy.


Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.


Guia para iniciantes em negociação quantitativa II: desenvolvendo sistemas automatizados de negociação.


Na parte I deste guia, falamos sobre programação matemática, dados e habilidades de ML que são úteis ao construir suas próprias estratégias de negociação. Espero que você já seja um especialista e esteja pronto para mergulhar na criação de seu próprio sistema de negociação automatizado.


Um sistema de negociação automatizado consiste em vários elementos. Você precisa decidir quais mercados deseja negociar, criar recursos para identificar uma lógica de negociação e desenvolver uma estratégia para implementar essa lógica para comprar ou vender ações. Seu sistema deve decidir quando entrar e sair de uma operação, contabilizar os custos de negociação e ser otimizado via backtesting (mas não overfit). Você pode assistir a um vídeo detalhado sobre os principais elementos de um sistema de negociação aqui.


Vamos começar:


1. ENCONTRE O MERCADO CERTO PARA O COMÉRCIO.


Escolha seu mercado e instrumentos para negociar. Em seguida, encontre dados históricos desses instrumentos para desenvolver e testar seu modelo. Fornecemos dados para 600 ações listadas na NASDAQ que são (ou eram) uma parte do S & P 500 desde 2001. A lista completa de ações está aqui.


Os estoques geralmente são um bom lugar para começar para iniciantes e permitem um grande grau de diversificação. Não entende o que significam instrumentos financeiros como ações, futuros e opções? Aprenda mais aqui.


2. CONSTRUA SEUS RECURSOS E SINAL DE NEGOCIAÇÃO.


Você precisará de um conjunto de recursos para identificar um sinal / lógica de negociação. Os recursos podem ser médias móveis ou proporções de dados de preços, correlações ou sinais mais complexos. Fornecemos diariamente dados OPEN, CLOSE, HIGH, LOW e VOLUME para as ações. Você pode combinar isso de várias maneiras para criar novos recursos. Depois de ter seu conjunto de recursos, você precisa gerar um sinal de negociação usando esses recursos, ou seja, quais instrumentos são uma compra, uma venda ou um ponto morto.


Se você precisar de uma atualização sobre a matemática, leia mais aqui.


Você pode começar experimentando sistemas simples de reversão à média ou de momentum, construindo um par um pouco complexo ou operações longas e curtas. Você pode conferir nossa série de iniciantes sobre estes (com tutorial de notebooks IPython) em estratégias de negociação simples.


3. ESTRATÉGIA DE EXECUÇÃO COMERCIAL.


Em seguida, você precisará de uma estratégia que informe ao seu sistema o que fazer com base no sinal gerado por seus recursos. Esta é a ordem final que você envia para o corretor.


Você pode inserir uma negociação em duas posições - longa ou curta. Quando longo um estoque, você se beneficia se o preço aumenta. Da mesma forma, quando curto você se beneficia se o preço diminui. Depois de entrar em uma negociação, você pode escolher aumentar ou diminuir o tamanho da sua posição com base na intensidade do seu sinal e, finalmente, sair da posição se atender aos seus critérios de lucro, se achar que o sinal foi revertido ou se atingiu o stop loss .


Portanto, sua estratégia de execução comercial deve decidir a) como entrar em uma posição (comprar ou vender) b) qual o tamanho para negociar c) como aumentar ou diminuir subseqüentemente e d) quando sair, ambos em caso de lucros ou perdas.


4. CUSTOS DE NEGOCIAÇÃO.


Os custos de negociação alteram significativamente o desempenho da estratégia. Custos de negociação elevados podem consumir significativamente uma estratégia lucrativa. Nosso backtester contabiliza automaticamente os custos de negociação. Aplicamos uma comissão (taxas cobradas pela bolsa e pelo corretor para facilitar as negociações) e derrapagem (a diferença de preço na qual você fez o pedido e o preço em que você realmente negociou) para cada pedido.


Usamos US $ 0,10 por ação como comissão e 5% do intervalo diário da ação como uma estimativa de desvio. Portanto, custo total para negociar (em $) = 0,10 + (ALTO - BAIXO) * 0,05.


5. MÉTODOS DE BACKTESTING E DESEMPENHO.


Finalmente, você precisa testar seu sistema em dados históricos para ver como sua estratégia teria sido realizada no passado. Isso ajuda você a otimizar seu sistema para os mercados em que você está negociando. Ele também fornece uma expectativa de como sua estratégia deve ser feita no futuro.


Como você compara dois sistemas? Nosso backtester fornece as seguintes métricas para quantificar o desempenho do seu sistema. Esse conjunto de métricas não é completo, mas é um bom lugar para começar:


Retorno total Retorno anualizado Taxa de volatilidade anualizada de Sharpe Relação de sortino Retirada máxima% de rentabilidade Lucro de lucro.


Você pode ler em detalhes sobre eles aqui.


Não existe um valor alvo correto para essas métricas. Todo investidor procura sistemas com alto desempenho e baixo risco, mas diferentes investidores podem ter limites variados para o que é considerado aceitável com base em seu perfil de risco e estilos de negociação.


6. SEJA PREOCUPADO CONTRA O SOBRECARGA E OS ACOMPANHAMENTOS.


Semelhante a qualquer problema de ciência de dados, a abundância de dados disponíveis significa que há uma tendência natural para ajustar os sistemas.


Overfitting é a armadilha mais perigosa de uma estratégia de negociação. Você pode criar um algoritmo complexo que funciona maravilhosamente em um backtest, mas falha miseravelmente em novos dados não vistos. Este sistema realmente não descobriu nenhuma tendência nos dados e nenhum poder preditivo real. Algumas dicas para evitar overfitting:


Mantenha seus sistemas o mais simples possível. Se você se encontra usando recursos demais ou extremamente complexos, provavelmente está super adaptando, não captando uma tendência. Divida os dados disponíveis em dados de treinamento e teste. Não use todos os dados para otimizar seu algoritmo de estratégia, use os dados de teste para validar sua estratégia. Sistemas com bom desempenho em testes fora da amostra têm maior probabilidade de obter sucesso nos dados do mercado ao vivo. Evite vieses, especialmente preconceito antecipado. Certifique-se de que sua estratégia não esteja usando nenhum conhecimento do futuro durante o backtesting. Essas informações não estarão disponíveis para você ao negociar com dados do mercado ao vivo. Você pode encontrar uma lista de vieses comuns de backtesting aqui.


É isso aí. Você está pronto para começar a escrever algumas estratégias próprias. Você pode ler nosso post de acompanhamento sobre uma abordagem sistemática para identificar a lógica de negociação e desenvolver uma estratégia.


Negociação Quantitativa: Como Construir Seu Próprio Negócio de Negociação Algorítmica.


Autor: Ernie Chan


Data de publicação: 17 de novembro de 2008.


Segundo algumas estimativas, as negociações quantitativas ou algorítmicas representam agora mais de um terço do volume de negócios nos Estados Unidos. Há, naturalmente, inúmeros livros sobre a matemática avançada e estratégias utilizadas por comerciantes institucionais nesta arena. No entanto, um comerciante varejista independente pode se beneficiar desses algoritmos? Um indivíduo com recursos limitados e poder de computação pode voltar atrás e executar suas estratégias em milhares de ações e desafiar os poderosos participantes da indústria em seu próprio jogo?


Eu mostrarei a você como isso pode, de fato, ser alcançado.


Eu escrevi este livro com dois tipos de leitores em mente:


1. Aspirantes a traders independentes (“de varejo”) que desejam iniciar um negócio de negociação quantitativa.


2. Estudantes de finanças ou outras disciplinas técnicas (no nível de graduação ou MBA) que desejam se tornar comerciantes quantitativos e gerentes de portfólio em grandes instituições.


Esses dois grupos muito diferentes de leitores podem se beneficiar do mesmo conjunto de conhecimentos e habilidades? Existe alguma coisa em comum entre gerenciar uma carteira de US $ 100 milhões e administrar uma carteira de US $ 100.000? Minha opinião é que é muito mais lógico e sensato para alguém se tornar um lucrativo operador de US $ 100.000 antes de se tornar um lucrativo operador de US $ 100 milhões. Isso pode ser mostrado para ser verdade em muitas frentes.


Muitos lendários gestores quantitativos de fundos hedge, como o Dr. Edward Thorp, da antiga Princeton-Newport Partners (Poundstone, 2005) e o Dr. Jim Simons, da Renaissance Technologies Corp. (Lux, 2000) começaram suas carreiras comercializando seu próprio dinheiro. Eles não começaram como gerentes de carteiras para bancos de investimento e hedge funds antes de iniciar seu próprio negócio de administração de fundos. Naturalmente, há também muitos contraexemplos, mas é claro que este é um caminho possível para as riquezas, bem como para a realização intelectual, e para alguém com tendência empreendedora, uma rota preferida.


Mesmo que o seu objetivo seja se tornar um trader institucional, ainda vale a pena começar seu próprio negócio como primeiro passo. Físicos e matemáticos estão agora fervilhando em Wall Street. Poucas pessoas na rua estão mais impressionadas com um mero PhD de uma universidade de prestígio. Qual é o caminho mais seguro para passar pela porta dos principais bancos e fundos? Para mostrar que você tem uma maneira sistemática de lucrar - em outras palavras, um histórico. Além de servir como um trampolim para uma lucrativa carreira em grandes instituições, ter um histórico lucrativo como trader independente é uma experiência inestimável em si. A experiência obriga você a se concentrar em estratégias simples, mas lucrativas, e não se desviar de teorias excessivamente teóricas ou sofisticadas. Isso também força você a se concentrar nos detalhes da negociação quantitativa que você não aprende com a maioria dos livros: coisas como criar um sistema de entrada de pedidos que não custa US $ 10 mil em recursos de programação. Mais importante, isso força você a se concentrar no gerenciamento de riscos - afinal, sua própria falência pessoal é uma possibilidade aqui. Finalmente, tendo sido um comerciante e estrategista quantitativo, tanto institucional quanto varejista, em momentos diferentes, eu só queria ter lido um livro semelhante antes de começar minha carreira em um banco - eu teria alcançado lucratividade muitos anos antes.


Sistemas de Negociação Quantitativa & # 8211; Você Principiante Guia de Estratégia.


Para começar, serviria bem para explicar em palavras simples, o que são sistemas de negociação quantitativos.


Simplificando, é uma estratégia de investimento que usa algoritmos matemáticos e cálculos lógicos baseados em tecnologia. Eles são normalmente usados ​​por gestores de fundos, empresas de private equity e indivíduos ricos. Mas recentemente os pequenos comerciantes de varejo têm aproveitado o mercado de ações usando esses métodos e estão convertendo essas táticas em sistemas completos de negociação automatizada.


O objetivo deste artigo é servir como uma introdução para essencialmente duas categorias de pessoas, aquelas que estão tentando fazer uma carreira como um comerciante quantitativo e para os comerciantes individuais de varejo que estão tentando entender os conceitos básicos de negociação quantitativa e têm limitado capital para negociação.


Se você está ciente destes conceitos básicos, e você é bom com os números, você vai achar que esta é uma área fascinante que pode oferecer uma excelente oportunidade de carreira como este setor do mercado cresce. No entanto, não vamos simplificar as coisas aqui. Servirá bem para você saber que o comércio quantitativo é, de fato, um ramo de finanças bastante sofisticado.


É preciso aventurar-se neste espaço sabendo que pode levar vários meses para construir até mesmo as estratégias mais básicas. A negociação quantitativa está convertendo seus pensamentos e estilos de negociação em um sistema de negociação de base de regras que um computador pode executar, isso não é uma tarefa fácil. Você também deve saber que, para se envolver com sistemas de negociação quantitativos, você precisará de algum conhecimento especializado em programação. Se você não possui amplo conhecimento de programação, você deve pelo menos ter o conhecimento em linguagens de computador como R, Python ou MATLAB. Mas é importante mencionar que os aspectos tecnológicos surgirão mais claramente à medida que a frequência dos negócios aumenta. Portanto, é de grande importância que você esteja familiarizado com o CC ++ antes de pensar em começar a usar sistemas de negociação quantitativos.


Quatro grandes pilares dos sistemas de negociação quantitativos.


• Identificação de Estratégia & # 8211; Isso envolve encontrar uma estratégia adequada, explorar uma vantagem e selecionar uma frequência de negociação com a qual você se sinta confortável.


• Teste de Estratégia de Volta & # 8211; Nesta etapa, primeiro é preciso obter os dados relevantes e, em seguida, analisar o desempenho da estratégia. Isso tem que ser feito removendo todos os vieses.


• Sistema de Execução & # 8211; Essa etapa envolve vincular sua estratégia a uma corretora. Isso pode ser feito automatizando o processo de pedido. Isso, por sua vez, também ajudará a minimizar os custos da transação.


• Gerenciamento de Risco & # 8211; Este é talvez o aspecto mais crítico dos sistemas de negociação. Isso inclui a alocação de capital de forma otimizada e a decisão sobre o tamanho da posição de uma pessoa & # 8221 ;. Se você não entender o dimensionamento de posição e gerenciamento de risco, então você vai lutar com a construção de seu sistema de negociação ganhou.


Não há muito tempo, a análise técnica não era considerada uma habilidade ou profissão. Com ferramentas de negociação mais sofisticadas agora disponíveis, a negociação quantitativa está ganhando força com os comerciantes de varejo individuais e todos os traders devem gastar algum tempo aprendendo sobre isso, pois é o caminho do futuro para negociar ações, opções e futuros.


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


Nos últimos 6 meses, tenho focado no processo de construção da pilha completa de tecnologia de um sistema de negociação automatizado. Eu me deparei com muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorised e Event driven). Na minha jornada para construir um backtester orientado a eventos, veio a minha surpresa que o que você iria acabar é perto de toda a pilha de tecnologia necessária para construir uma estratégia, fazer backtest e executar a execução ao vivo.


Meu maior problema ao enfrentar o problema foi a falta de conhecimento. Procurei em muitos lugares uma introdução à construção da tecnologia ou um blog que me orientasse. Eu encontrei alguns recursos que vou compartilhar com vocês hoje.


Para iniciantes:


Para os leitores novatos em negociações quantitativas, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: Como construir seu próprio negócio de comércio algorítmico. Este livro é o básico. Na verdade, é o primeiro livro que li sobre negociação quantitativa e mesmo assim achei muito básico, mas há algumas notas que você deve 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-automatizadas e totalmente automatizadas.


Um sistema semi-automatizado é adequado se você quiser fazer algumas transações por semana. Ernie recomenda usar o Matlab, R ou até mesmo o Excel. Eu usei todas as 3 plataformas e este é o meu conselho:


Saltar do Matlab, custou muito dinheiro e só consegui acesso aos laboratórios da universidade. Não há muito material de treinamento como blogs ou livros que ensinem como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode usar para aprender como construir uma estratégia. Meu blog favorito cobrindo o tópico é: QuantStratTradeR é ​​executado por Ilya Kipnis. É mais provável que o Microsoft Excel inicie onde você não tem experiência em programação. Você pode usar o Excel para negociações semi-automáticas, mas isso não vai funcionar quando se trata de construir a pilha completa de tecnologias.


Estrutura semiautomática pg 81.


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


Estrutura de negociação completamente automatizada página 84.


Passo 1: Conseguir um bom começo.


Faça o Programa Executivo em Algorithmic Trading oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Teria me poupado cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam através de cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de um de seus slides usados ​​na apresentação:


Você também pode usar essa estrutura geral ao avaliar outros sistemas de negociação automáticos.


No momento em que escrevo, estou apenas na terceira semana de palestras, mas estou confiante de que um praticante será capaz de construir uma estratégia comercial totalmente automatizada que poderia, com um pouco de refinamento, ser transformada no começo de um fundo de hedge 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.


Blog de Michael Hallsmore, quantstart & amp; livro “Negociação Algorítmica Bem Sucedida”


Este livro tem seções dedicadas à construção de um robusto backtester orientado a eventos. Ele orienta o leitor através de vários capítulos que explicarão sua escolha de idioma, os diferentes tipos de backtesting, a importância do backtesting orientado a eventos e como codificar o backtester.


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


Nota: Você precisará comprar o livro dele: “Successful Algorithmic Trading”, seu blog deixa de fora muita informação.


Passo 3: Volte para o TuringFinance.


O programa EPAT Reading “Successful Algorithmic Trading” & amp; codificando um backtester em um idioma diferente de sua escolha.


Você deve ir para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em seu post 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 este post muito técnico e tem algumas ótimas idéias que você deve incorporar em sua própria arquitetura.


Uma captura de tela de seu post.


Etapa 4: Estude os sistemas de negociação de código aberto.


4.1) Quantopian.


Escusado será dizer que Quantopian deve ser adicionado a esta lista e tenho vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de idioma). Quantopian tem muitas vantagens, mas as que mais se destacam 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 amo como eles hospedam a QuantCon!


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


“O Zipline é o nosso mecanismo de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de código no Github e contribuir com solicitações de pull para o projeto. Há 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 o QuantConnect, eles fornecem um mecanismo completo de negociação algorítmica de código aberto. Aqui está um link.


Você deve dar uma olhada no código deles, estudá-lo, & amp; dê-lhes louvor. Eles são competição de quantopianos.


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


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


Observações finais:


Espero que este guia ajude os membros da comunidade. Eu gostaria de ter essa percepção 6 meses atrás quando comecei a codificar nosso sistema.


Eu gostaria de falar com a comunidade e perguntar: "Que bons cursos de negociação algorítmica você conhece?" Eu gostaria de escrever um post que analise o tópico e forneça uma classificação. Há alguma recomendação para criar um sistema de negociação totalmente automatizado que você gostaria de adicionar a este post?

Комментарии

Популярные сообщения