вторник, 5 июня 2018 г.

Sistema de comércio de quantidades


QuantStart.


Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.


Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.


Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.


Por Michael Halls-Moore em 26 de março de 2018.


Neste artigo, vou apresentá-lo a alguns dos conceitos básicos que acompanham um sistema de negociação quantitativa de ponta a ponta. Esta postagem esperará servir dois públicos. O primeiro será indivíduos tentando obter um emprego em um fundo como um comerciante quantitativo. O segundo será indivíduos que desejam tentar configurar seu próprio negócio de negociação algorítmica "de varejo".


Negociação quantitativa é uma área extremamente sofisticada de financiamento quantitativo. 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 exige uma ampla experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. No entanto, à medida que a frequência comercial da estratégia aumenta, os aspectos tecnológicos tornam-se muito mais relevantes. Assim, ser familiar com C / C ++ será de suma importância.


Um sistema de comércio quantitativo consiste em quatro componentes principais:


Estratégia Identificação - Encontrar uma estratégia, explorar uma vantagem e decidir sobre a freqüência comercial Estratégia Backtesting - Obter dados, analisar o desempenho da estratégia e remover os viés Sistema de Execução - Vinculação a uma corretora, automatizando a negociação e minimizando os custos de transação Gerenciamento de Riscos - Alocação de capital ideal " tamanho da aposta "/ critério Kelly e psicologia comercial.


Começaremos por dar 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 abrange a busca de uma estratégia, considerando se a estratégia se encaixa em um portfólio de outras estratégias que você pode estar executando, obtendo todos os dados necessários para testar a estratégia e tentar otimizar a estratégia para maiores retornos e / ou menor risco. Você precisará avaliar seus próprios requisitos de capital se estiver executando a estratégia como um comerciante "varejista" e como qualquer custo de transação afetará a estratégia.


Contrariamente à crença popular, é realmente bastante direto encontrar estratégias lucrativas através de várias fontes públicas. Os acadêmicos publicam periodicamente resultados teóricos de negociação (embora na maioria dos custos brutos de transação). Os blogs de finanças quantitativas discutirão estratégias em detalhes. As revistas comerciais descreverão algumas das estratégias empregadas pelos fundos.


Você pode questionar por que indivíduos e empresas estão interessados ​​em discutir suas estratégias rentáveis, especialmente quando sabem que outros "aglomerando o comércio" podem impedir a estratégia de trabalhar no longo prazo. A razão está no fato de que eles geralmente não discutem 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 rentável. Na verdade, uma das melhores maneiras de criar suas próprias estratégias únicas é 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 idéias de estratégia:


Muitas das estratégias que você olhará cairão nas categorias de reversão média e tendência / impulso. Uma estratégia de reversão média é aquela que tenta explorar o fato de que existe um termo de longo prazo em uma "série de preços" (como a disseminação entre dois ativos correlacionados) e que os desvios de curto prazo desse significado eventualmente reverterão. Uma estratégia de impulso tenta explorar a psicologia dos investidores e a grande estrutura de fundos ao "engatar" uma tendência de mercado, que pode aumentar o impulso em uma direção e seguir a tendência até reverter.


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


Uma vez que uma estratégia, ou conjunto de estratégias, foi identificado, agora precisa ser testado quanto à lucratividade em dados históricos. Esse é o domínio do backtesting.


Teste de estratégia.


O objetivo do backtesting é fornecer evidências de que a estratégia identificada através do processo acima é rentável quando aplicado a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia será realizada no "mundo real". No entanto, o backtesting NÃO é uma garantia de sucesso, por vários motivos. É talvez a área mais sutil de negociação quantitativa, uma vez que implica numerosos preconceitos, que devem ser cuidadosamente considerados e eliminados o máximo possível. Discutiremos os tipos comuns de viés, incluindo viés avançado, viés de sobrevivência e viés de otimização (também conhecido como viés de dados). Outras áreas de importância no backtesting incluem disponibilidade e limpeza de dados históricos, contribuindo com custos de transação realistas e decidindo uma plataforma robusta de backtesting. Discutiremos os custos de transação ainda mais na seção Sistemas de Execução abaixo.


Uma vez que uma estratégia foi 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. Os seus custos geralmente variam com a qualidade, a profundidade e a pontualidade dos dados. O ponto de partida tradicional para os comerciantes quantos iniciais (pelo menos no nível de varejo) é usar o conjunto de dados gratuitos da Yahoo Finance. Eu não vou me aprofundar em prestadores muito aqui, e 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 precisão / limpeza, viés de sobrevivência e ajuste para ações corporativas, como dividendos e divisões de ações:


A precisão pertence à qualidade geral dos dados - quer contenha quaisquer erros. Os erros às vezes podem ser fáceis de identificar, como, por exemplo, com um filtro de espiga, que irá escolher "picos" incorretos em dados da série temporal e corrigi-los. Em outras ocasiões, eles 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 geralmente é 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 negociados. No caso de ações, isso significa ações de saída / falência. Este viés significa que qualquer estratégia de negociação de ações testada em tal conjunto de dados provavelmente funcionará 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 de função gradual no preço bruto, que não deve ser incluído no cálculo dos retornos do preço. Ajustes para dividendos e divisões de estoque são os culpados comuns. Um processo conhecido como ajuste de volta é necessário para ser realizado em cada uma dessas ações. É preciso ter muito cuidado para não confundir um estoque de divisão com um verdadeiro ajuste de retorno. Muitos comerciantes foram pegos por uma ação corporativa!


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


Quando testar um sistema, é preciso quantificar o desempenho. As métricas "padrão da indústria" para estratégias quantitativas são a redução máxima e a Ratia Sharpe. A retirada máxima caracteriza a maior queda de pico a calha na curva de equidade da conta em um determinado período de tempo (geralmente anual). Isso geralmente é citado como uma porcentagem. As estratégias de LFT tendem a ter maiores disparidades do que as estratégias de HFT, devido a uma série de fatores estatísticos. Um backtest histórico mostrará a retirada máxima do passado, que é um bom guia para o futuro desempenho de redução da estratégia. A segunda medida é a Ratia de Sharpe, que é definida heuristicamente como a média dos retornos em excesso divididos pelo desvio padrão desses retornos em excesso. 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. Observe que o retorno anualizado não é uma medida usualmente utilizada, pois não leva em consideração a volatilidade da estratégia (ao contrário do Ratio Sharpe).


Uma vez que uma estratégia foi testada de novo e é considerado livre de preconceitos (na medida em que é possível!), Com um bom Sharpe e reduções minimizadas, é hora de criar um sistema de execução.


Sistemas de Execução.


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


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


Existem muitas maneiras de se conectar a uma corretora. Eles variam de chamar seu corretor no telefone diretamente para uma interface de programação de aplicativos (API) de alto desempenho totalmente automatizada. O ideal é que você automatize a execução de seus negócios o máximo possível. Isso liberta você para se concentrar em pesquisas futuras, além de permitir que você execute várias estratégias ou mesmo estratégias de maior freqüência (na verdade, o HFT é essencialmente impossível sem execução automática). O software comum de backtesting descrito acima, como MATLAB, Excel e Tradestation são bons para estratégias mais baixas e mais simples. 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 costumava trabalhar, tivemos um "loop de negociação" de 10 minutos, onde iremos baixar novos dados de mercado a cada 10 minutos e depois executar trades com base nessas informações no mesmo período. Isso estava usando um script Python otimizado. Para qualquer coisa que se aproxime de dados de minuto ou de segunda frequência, acredito que o C / C ++ seria mais ideal.


Em um fundo maior, muitas vezes não é o domínio do comerciante quant para otimizar a execução. No entanto, em lojas menores ou empresas HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é muitas vezes desejável. Tenha 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 de econometria!


Outra questão importante que se enquadra na bandeira de execução é a redução de custos de transações. Geralmente, existem três componentes para os custos de transação: Comissões (ou impostos), que são as taxas cobradas pela corretora, a troca e a SEC (ou órgão regulador governamental similar); deslizamento, qual é a diferença entre o que você pretendia que seu pedido fosse preenchido em relação ao que estava preenchido; spread, que é a diferença entre o preço de oferta / oferta da garantia negociada. Observe que o spread NÃO é constante e depende da liquidez atual (isto é, disponibilidade de ordens de compra / venda) no mercado.


Os custos de transação podem fazer a diferença entre uma estratégia extremamente rentável com uma boa relação Sharpe e uma estratégia extremamente rentável com uma relação 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á de acesso a dados de troca histórica, que incluirão dados de marca para preços de lances / pedidos. Equipes completas de quants dedicam-se a otimizar a execução nos fundos maiores, por estas razões. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negócios (dos quais os motivos para isso são muitos e variados!). Ao "despejar" tantas ações no mercado, elas comprimirão rapidamente o preço e não poderão obter uma execução ótima. Daí, os algoritmos que os pedidos de "gotejamento de alimentação" no mercado existem, embora o fundo corra o risco de derrapagem. Além disso, outras estratégias "presas" sobre essas necessidades e podem explorar as ineficiências. Este é o domínio da arbitragem da estrutura do fundo.


A questão principal final para os sistemas de execução diz respeito à divergência de desempenho da estratégia com o desempenho testado. Isso pode acontecer por vários motivos. Nós já discutimos o viés avançado e o viés de otimização em profundidade, ao considerar backtests. No entanto, algumas estratégias não facilitam a verificação desses preconceitos antes da implantação. Isso ocorre em HFT mais predominantemente. Pode haver erros no sistema de execução, bem como a própria estratégia de negociação que não aparecem em um backtest, mas DO show up live trading. O mercado pode estar sujeito a uma mudança de regime posterior à implantação de sua estratégia. Novos ambientes regulatórios, mudanças no sentimento dos investidores e fenômenos macroeconômicos podem levar a divergências quanto ao comportamento do mercado e, assim, a rentabilidade da sua estratégia.


Gerenciamento de riscos.


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


O gerenciamento de riscos também abrange o que é conhecido como alocação ótima de capital, que é um ramo da teoria do portfólio. Este é o meio pelo qual o capital é alocado para um conjunto de estratégias diferentes e para os 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 Kelly. Como este é um artigo introdutório, não vou me deter no seu cálculo. O critério de Kelly faz alguns pressupostos sobre a natureza estatística dos retornos, que geralmente não são válidos nos mercados financeiros, então os comerciantes são geralmente conservadores quando se trata da implementação.


Outro componente chave do gerenciamento de riscos é lidar com o próprio perfil psicológico. Existem muitos viés cognitivos que podem se aproximar da negociação. Embora isso seja certamente menos problemático com o comércio algorítmico se a estratégia for deixada sozinha! Um viés comum é o da aversão à perda em que uma posição perdedora não será encerrada 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á obtido pode ser muito grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os comerciantes colocam muita ênfase nos eventos recentes e não no longo prazo. Então, é claro, há o par clássico de viés emocional - medo e ganância. Estes podem, muitas vezes, levar a alavancagem insuficiente ou excessiva, o que pode causar explosão (ou seja, o patrimônio da conta em 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 papéis inteiros foram escritos sobre questões que eu apenas dediquei uma ou duas sentenças. Por essa razão, antes de se candidatar a empregos quantitativos em bolsa de fundos, é necessário realizar uma quantidade significativa de estudo de base. No mínimo, você precisará de uma ampla experiência em estatística e econometria, com muita experiência em implementação, através de uma linguagem de programação como MATLAB, Python ou R. Para estratégias mais sofisticadas no final de freqüência mais alta, seu conjunto de habilidades é provável para incluir modificação do kernel do Linux, C / C ++, programação de montagem e otimização de latência da rede.


Se você está interessado em tentar criar suas próprias estratégias de negociação algorítmica, minha primeira sugestão seria melhorar a programação. A minha preferência é criar o máximo de captura de dados, backtester de estratégia e sistema de execução por si mesmo possível. Se o seu próprio capital estiver na linha, você não dormiria melhor à noite sabendo que você testou completamente seu sistema e está ciente de suas armadilhas e problemas específicos? Terceirizar isso para um fornecedor, enquanto potencialmente economizando tempo no curto prazo, poderia ser extremamente caro a longo prazo.


Apenas iniciando o comércio quantitativo?


3 razões para se inscrever para a lista de e-mails QuantStart:


1. Quant Trading Lessons.


Você terá acesso instantâneo a um curso de e-mail gratuito de 10 partes, repleto de sugestões e dicas para ajudá-lo a começar a negociação quantitativa!


2. Todo o conteúdo mais recente.


Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.


Real, dicas de negociação viáveis, sem tonturas.


Os melhores sistemas de comércio quantitativo do mundo - Parte II.


Nós já fizemos uma seção "Emprestando uma Página dos Comerciantes de Investimento de Melhor Números do Mundo - Parte I". Introduziu 4 comerciantes que justificaram negociação quantitativa e provaram que ele realmente funciona. Ele também incluiu trechos de conselhos e dicas de investimento. Uma sequela da seção anterior, traz os comerciantes de destaque quant que se beneficiaram generosamente usando esse método. Você também pode aprender os segredos dos melhores comerciantes na segunda metade do artigo. Então, continue lendo.


Comércio Quantitativo & # 8211; Analistas Técnicos mais ricos.


James Simons - Sua experiência em matemática e negociação lhe valeu o apelido "The Quant King". Ele tem um patrimônio líquido de US $ 10,6 bilhões. Simons 'Renaissance Technologies, uma empresa privada de investimento em hedge funds, analisa e comercializa títulos usando modelos computacionais complexos. Ray Dalio - Ray Dalio vem se deslocando no mercado monetário desde a idade de 12 anos. Ele estabeleceu Bridgewater Associates em 1975, que é hoje o maior fundo de hedge do mundo. Tem quase US $ 130 bilhões em ativos. Dalio, ao longo de sua carreira como comerciante-investidor, confiou fortemente na compreensão dos processos que determinam o funcionamento dos mercados financeiros. Steven Cohen - Uma figura popular em Wall Street, ele é um gestor de fundo de hedge americano e fundador da SAC Capital Advisers. Com um valor líquido estimado de US $ 9,3 bilhões, ele foi classificado como o 106º homem mais rico do mundo por Forbes. Paul Tudor Jones II - Paul Tudor Jones é um comerciante de sistemas quantitativos e fundador da Tudor Investment Corporation. Graduado em economia pela Universidade da Virgínia, ele começou a negociar em futuros de algodão. Ele foi eleito o 108º americano mais rico pela Forbes.


Quant Trading Aspectos utilizados por técnicos de mercado bem-sucedidos.


Enquanto alguns comerciantes são generosos o suficiente para compartilhar suas estratégias de ganhar dinheiro com outros, muitos outros não estão muito interessados ​​em divulgar seus segredos. No entanto, tentamos explorar e aprender as estratégias que levaram contas de comerciantes de milhares para milhões. Principais analistas técnicos acreditam em:


Trabalhando com um sistema bem definido Backtesting idéias antes de serem implementadas Aderindo às estratégias decididas Optando por um sistema de negociação quantitativo que se adapte à sua personalidade Procurando conselhos e orientações de especialistas no campo.


Estratégias de investimento, embora sejam o elemento central, não são o coração e a alma das negociações. A personalidade de um comerciante ou investidor também determina a rentabilidade dos títulos. Assim, trabalhar em alguns traços de personalidade importantes pode permitir tomar decisões sábias em um mercado volátil.


O primeiro envolve ser decisivo e disciplinado. Ser decisivo refere-se à capacidade humana de tomar as decisões certas no momento certo, sem necessidade de um segundo pensamento, sendo defensores disciplinados adotando as regras decididas para o sistema de comércio quantitativo. Deve-se adotar uma abordagem autocontrolada e conscienciosa. A reatividade emocional é um traço de personalidade que quase todos os comerciantes precisam trabalhar. Na maioria das vezes, decisões de investimento erradas são aquelas que são motivadas emocionalmente. Um comerciante precisa manter a calma ao abrir e fechar posições no mercado e analisar tendências e padrões.


Os principais analistas técnicos aconselham os comerciantes a mostrar baixa reatividade emocional e a serem decisivos, disciplinados, confiantes e destacados.


Melhor Conclusão do Sistema de Negociação Quantitativo.


À medida que arredondamos essa breve seção sobre o nitty-gritty da negociação quantitativa, nós aconselhamos você a fazer alguma leitura pessoal sobre o assunto. Isso irá ajudá-lo a decidir qual estratégia de comércio de quantos gola bem com sua filosofia de investimento. A análise técnica funciona, mas para que funcione para você, você deve primeiro criar um sistema que se adapte aos seus requisitos de personalidade e investimento.


Use minhas estratégias de negociação quantitativas comprovadas hoje e # 8211; Clique aqui.


Compartilhe essa entrada.


Comerciantes de Análise Técnica de Melhor Teu Investimento do Mundo - Parte I.


O sistema de negociação automatizado comemora outros vencedores 100% ganhadores.


Negociação quantitativa.


O que é 'Negociação Quantitativa'


Negociação quantitativa consiste em estratégias de negociação baseadas em análises quantitativas, que dependem de cálculos matemáticos e crunching de números para identificar oportunidades comerciais. Como a negociação quantitativa é geralmente utilizada por instituições financeiras e fundos de hedge, as transações geralmente são de grande porte e podem envolver a compra e venda de centenas de milhares de ações e outros títulos. No entanto, a negociação quantitativa está sendo mais usada pelos investidores individuais.


BREAKING 'Quantitative Trading'


As técnicas quantitativas de negociação incluem comércio de alta freqüência, negociação algorítmica e arbitragem estatística. Essas técnicas são rápidas e tipicamente têm horizontes de investimento de curto prazo. Muitos comerciantes quantitativos estão mais familiarizados com ferramentas quantitativas, como médias móveis e osciladores.


Compreender a negociação quantitativa.


Os comerciantes quantitativos aproveitam a tecnologia moderna, a matemática e a disponibilidade de bases de dados abrangentes para tomar decisões comerciais racionais.


Os comerciantes quantitativos tomam uma técnica de negociação e criam um modelo dele usando a matemática, e então eles desenvolvem um programa de computador que aplica o modelo aos dados históricos do mercado. O modelo é então testado e otimizado. Se os resultados favoráveis ​​forem alcançados, o sistema é então implementado em mercados em tempo real com capital real.


A maneira como os modelos de negociação quantitativa funcionam pode ser melhor descrita usando uma analogia. Considere um relatório meteorológico em que o meteorologista prevê 90% de chance de chuva enquanto o sol está brilhando. O meteorologista deriva essa conclusão contra-intuitiva coletando e analisando dados climáticos de sensores em toda a área. Uma análise quantitativa computadorizada revela padrões específicos nos dados. Quando esses padrões são comparados com os mesmos padrões revelados em dados climáticos históricos (backtesting), e 90 de 100 vezes o resultado é chuva, então o meteorologista pode tirar a conclusão com confiança, daí a previsão de 90%. Os comerciantes quantitativos aplicam esse mesmo processo ao mercado financeiro para tomar decisões comerciais.


Vantagens e desvantagens da negociação quantitativa.


O objetivo da negociação é calcular a ótima probabilidade de executar um comércio lucrativo. Um comerciante típico pode efetivamente monitorar, analisar e tomar decisões comerciais em uma quantidade limitada de títulos antes que a quantidade de dados recebidos superem o processo de tomada de decisão. O uso de técnicas de negociação quantitativas ilumina esse limite usando computadores para automatizar as decisões de monitoramento, análise e negociação.


A superação da emoção é um dos problemas mais comuns na negociação. Seja medo ou ganância, ao negociar, a emoção serve apenas para sufocar o pensamento racional, o que geralmente leva a perdas. Computadores e matemática não possuem emoções, então o comércio quantitativo elimina esse problema.


Negociação quantitativa tem seus problemas. Os mercados financeiros são algumas das entidades mais dinâmicas que existem. Portanto, os modelos de negociação quantitativa devem ser tão dinâmicos para serem consistentemente bem-sucedidos. Muitos comerciantes quantitativos desenvolvem modelos que são temporariamente rentáveis ​​para a condição de mercado para o qual eles foram desenvolvidos, mas eles finalmente falham quando as condições do mercado mudam.


Sistemas quantitativos de negociação.


O livro discute tópicos relacionados ao projeto, teste e validação de sistemas de negociação. O foco principal é aumentar a confiança de que o sistema de negociação que você desenvolve será rentável quando negociado. Alguns dos principais tópicos são:


definindo uma função objetiva usando dados em amostra para desenvolvimento usando dados fora da amostra para testes de sistema usando análise walk-forward para saber o que esperar no futuro.


O livro inclui mais de 80 listas de programas, transferíveis e prontos para serem executados usando o AmiBroker, que ilustram os tópicos em discussão.


Os seguintes links abre cada um um arquivo pdf relacionado ao livro.


Você pode aprender mais sobre o livro, ler páginas adicionais, ler comentários e comprar uma cópia & # 8212; tudo na Amazon.


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 42018 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 o cérebro e pelo brilhante serviço que eles oferecem.


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 2018, tanto esforço precisa tomar 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 ;.

Комментариев нет:

Отправить комментарий