Quantitative Trading Strategies In R


Beginner39s Guia de Negociação Quantitativa Neste artigo Im vai apresentá-lo a alguns dos conceitos básicos que acompanham um sistema de comércio quantitativo de ponta a ponta. Este post esperamos servir duas audiências. O primeiro será indivíduos que tentam obter um emprego em um fundo como um comerciante quantitativo. O segundo serão os indivíduos que desejam tentar criar seu próprio negócio de negociação algorítmica de varejo. A negociação quantitativa é uma área extremamente sofisticada de finanças quantitativas. 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 uma extensa experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. Contudo, à 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 C / C será de suma importância. Um sistema de comércio quantitativo consiste em quatro componentes principais: Identificação da estratégia - Encontrar uma estratégia, explorando uma borda e decidindo na freqüência negociando Backtesting da estratégia - obtendo dados, analisando o desempenho da estratégia e removendo preconceitos Execution System - ligando a uma corretora, automatizando a troca e minimizando Custos de transação Gerenciamento de Risco - alocação de capital otimizada, tamanho da aposta / critério Kelly e psicologia comercial Bem, comece por dar uma olhada em como identificar uma estratégia de negociação. Identificação da estratégia Todos os processos de negociação quantitativa começam com um período inicial de pesquisa. Este processo de pesquisa envolve encontrar uma estratégia, ver 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á considerar seus próprios requisitos de capital se estiver executando a estratégia como um comerciante varejista e como quaisquer custos de transação afetarão a estratégia. Contrariamente à crença popular é realmente bastante simples de encontrar estratégias rentáveis ​​através de várias fontes públicas. Os acadêmicos publicam regularmente resultados de negociação teóricos (embora na maior parte brutos dos custos de transação). Os blogs quantitativos das finanças discutirão estratégias detalhadamente. Os diários de comércio descreverão algumas das estratégias empregadas pelos fundos. Você pôde questionar porque os indivíduos e as empresas são afiados discutir suas estratégias rentáveis, especial quando sabem que outros que aglomeram o comércio podem parar a estratégia do trabalho no prazo. A razão reside no fato de que eles não costumam discutir os parâmetros exatos e métodos de ajuste que eles têm realizado. Estas 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 o 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ê vai olhar para cair nas categorias de média-reversão e tendência-seguinte / momento. Uma estratégia de reversão de 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 os desvios a curto prazo dessa média reverterão. Uma estratégia de dinamismo tenta explorar tanto a psicologia dos investidores como a estrutura de grandes fundos ao encurralar uma tendência de mercado, que pode ganhar impulso em uma direção e seguir a tendência até que ela reverta. Outro aspecto extremamente importante do comércio quantitativo é a freqüência da estratégia de negociação. Negociação de baixa freqüência (LFT) geralmente se refere a qualquer estratégia que detém ativos mais do que um dia de negociação. Correspondentemente, a negociação de alta freqüência (HFT) geralmente se refere a uma estratégia que detém ativos intraday. Ultra-high frequency trading (UHFT) refere-se a estratégias que mantêm ativos na ordem de segundos e milissegundos. Como um praticante de varejo HFT e UHFT são certamente possível, mas apenas com conhecimento detalhado da pilha de tecnologia de negociação e dinâmica livro de pedidos. Nós não vamos discutir esses aspectos em grande medida neste artigo introdutório. Uma vez que uma estratégia, ou um conjunto de estratégias, foi identificado, agora precisa ser testado quanto à lucratividade em dados históricos. Esse é o domínio do backtesting. Backtesting da estratégia O objetivo do backtesting é fornecer evidências de que a estratégia identificada através do processo acima é rentável quando aplicada a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia irá realizar no mundo real. No entanto, backtesting não é uma garantia de sucesso, por várias razões. É talvez a área mais sutil de negociação quantitativa, uma vez que implica vieses numerosos, que devem ser cuidadosamente considerados e eliminados, tanto quanto possível. Discutiremos os tipos comuns de viés, incluindo o viés prospectivo. Viés de sobrevivência e viés de otimização (também conhecido como viés de snooping de dados). Outras áreas de importância dentro de backtesting incluem disponibilidade e limpeza de dados históricos, factoring em custos de transação realistas e decidir sobre uma robusta plataforma de backtesting. Bem, discuta os custos de transação 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 para 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 em função da qualidade, profundidade e actualidade dos dados. O ponto de partida tradicional para começar comerciantes quant (pelo menos no nível de varejo) é usar o conjunto de dados livre do Yahoo Finance. Eu não vou me debruçar demais sobre os provedores, mas 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, tais como dividendos e divisões de ações: A exatidão diz respeito à qualidade geral dos dados - se contém algum erro. Erros às vezes podem ser fáceis de identificar, como com um filtro de pico. Que selecionará pontos incorretos em dados de séries de tempo e corrigirá para eles. Em outros momentos, 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 é 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 são mais comerciais. No caso das acções, isto significa stocks de acções deletadas / falidas. Esse viés significa que qualquer estratégia de negociação de ações testada em um desses conjuntos de dados provavelmente funcionará melhor do que no mundo real, já que os vencedores históricos já foram pré-selecionados. Ações corporativas incluem atividades logísticas realizadas pela empresa que geralmente causam uma mudança de função passo no preço bruto, que não deve ser incluído no cálculo de retornos do preço. Os ajustes para dividendos e divisões de ações são os culpados comuns. Um processo conhecido como ajuste posterior é necessário para ser realizado em cada uma dessas ações. Deve-se ter muito cuidado para não confundir um grupamento de ações com um verdadeiro ajuste de retorno. Muitos comerciantes foram pegos por uma ação corporativa Para realizar um backtest, é necessário usar uma plataforma de software. Você tem a escolha entre o software dedicado do backtest, tal como Tradestation, uma plataforma numérica tal como Excel ou MATLAB ou uma aplicação feita sob encomenda cheia em uma linguagem de programação tal como Python ou C. Eu não estarei demasiado sobre Tradestation (ou similar), Excel ou MATLAB, como eu acredito em criar uma pilha inteira da tecnologia interna (pelas razões esboçadas abaixo). Um dos benefícios de fazer isso é 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 estratégias HFT, em particular, é essencial usar uma implementação personalizada. Quando backtesting um sistema um deve ser capaz de quantificar o quão bem ele está realizando. As métricas padrão da indústria para estratégias quantitativas são a redução máxima ea Taxa de Sharpe. A redução máxima caracteriza a maior queda pico-a-minucioso na curva de equidade da conta durante um determinado período de tempo (geralmente anual). Isso é mais freqüentemente citado como uma porcentagem. As estratégias LFT tendem a ter maiores abaixamentos do que as estratégias HFT, devido a uma série de fatores estatísticos. Um backtest histórico mostrará o drawdown máximo passado, que é um bom guia para o desempenho de drawdown futuro da estratégia. A segunda medição é o Índice de Sharpe, que é definido heuristicamente como a média dos retornos excedentes divididos pelo desvio padrão desses retornos excedentes. Aqui, os retornos excedentes referem-se ao retorno da estratégia acima de um ponto de referência pré-determinado. Como o SP500 ou um Tesouro de 3 meses. Observe que o retorno anualizado não é uma medida normalmente utilizada, pois não leva em conta a volatilidade da estratégia (ao contrário do Índice de Sharpe). Uma vez que uma estratégia foi testada e é considerada livre de preconceitos (na medida em que isso é possível), com um bom Sharpe e reduções minimizadas, é hora de construir 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 são enviados e executados pelo corretor. Apesar do fato de que a geração comercial 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, 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 associado com o gerador de comércio (devido à interdependência de estratégia e tecnologia). As principais considerações ao criar um sistema de execução são a interface para a corretora. Minimização dos custos de transação (incluindo comissão, deslizamento e spread) e divergência de desempenho do sistema ao vivo de desempenho backtestado. Há muitas maneiras de interagir com uma corretora. Eles variam de chamar o seu corretor no telefone através de um totalmente automatizado de alto desempenho Application Programming Interface (API). Idealmente, você deseja automatizar a execução de seus negócios, tanto quanto possível. Isso libera você para se concentrar em mais pesquisas, bem como permitem que você execute várias estratégias ou mesmo estratégias de maior freqüência (na verdade, HFT é essencialmente impossível sem a execução automatizada). O software de backtesting comum descrito acima, como MATLAB, Excel e Tradestation são bons para a freqüência mais baixa, estratégias mais simples. No entanto, será necessário construir um sistema de execução interno escrito em uma linguagem de alto desempenho, como C, a fim de fazer qualquer HFT real. Como uma anedota, no fundo que eu costumava ser empregado em, tivemos um loop de negociação de 10 minutos, onde iria baixar novos dados de mercado a cada 10 minutos e, em seguida, executar comércios com base nessa informação no mesmo período de tempo. Isso foi usando um script Python otimizado. Para qualquer coisa que se aproxima de minutos ou de dados de segunda freqüência, eu acredito que 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 pequenas lojas ou empresas HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é muitas vezes 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 grande questão que cai sob a bandeira de execução é a de minimização de custos de transação. Geralmente, há três componentes para os custos de transação: Comissões (ou impostos), que são as taxas cobradas pela corretora, pela bolsa e pela derrogação da SEC (ou órgão regulador governamental semelhante), que é a diferença entre o que você pretendia que sua ordem fosse Preenchido em relação ao que foi realmente preenchido no 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 uma boa relação de Sharpe e uma estratégia extremamente desprotegida com uma proporção de Sharpe terrível. Pode ser um desafio para prever corretamente os custos de transação a partir de um backtest. Dependendo da freqüência da estratégia, você precisará acessar dados históricos de troca, que incluirão dados de carrapatos para preços de oferta / solicitação. Equipes inteiras de quants são dedicadas à otimização de execução em fundos maiores, por estas razões. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negócios (dos quais as razões para fazê-lo são muitas e variadas). Ao lançar tantas ações para o mercado, elas rapidamente diminuirão o preço e poderão não obter uma execução ótima. Daí os algoritmos que gotejam ordens de alimentação para o mercado existem, embora então 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 de estrutura de fundo. A grande questão final para os sistemas de execução diz respeito à divergência do desempenho da estratégia com o desempenho testado. Isso pode acontecer por várias razões. Nós já discutimos o viés prospectivo eo viés de otimização em profundidade, ao considerar backtests. No entanto, algumas estratégias não tornam mais fácil testar esses 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 aparecem em um backtest, mas mostrar-se na negociação ao vivo. O mercado pode ter sido sujeito a uma mudança de regime subseqüente à implantação de sua estratégia. Novos ambientes regulatórios, a mudança do sentimento dos investidores e os fenômenos macroeconômicos podem levar a divergências na forma como o mercado se comporta e, portanto, a rentabilidade de sua estratégia. Gestão de Risco A peça final para o quebra-cabeça negociação quantitativa é o processo de gestão de risco. Risco inclui todos os preconceitos anteriores que discutimos. Ele inclui o risco de tecnologia, tais como servidores co-localizado na troca de repente desenvolvendo um mau funcionamento do disco rígido. Ele inclui risco de corretagem, como o corretor se tornando falido (não tão louco quanto parece, dado o susto recente com MF Global). Em suma, abrange quase tudo o que poderia interferir com a execução de negociação, de que há muitas fontes. Livros inteiros são dedicados à gestão de risco para estratégias quantitativas assim que eu wontt tentativa de elucidate em todas as fontes possíveis do risco aqui. A gestão de riscos também engloba o que é conhecido como alocação de capital ótima. Que é um ramo da teoria da carteira. Este é o meio pelo qual o capital é alocado para um conjunto de diferentes estratégias 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, através do qual a otimização da alocação de capital e alavancagem das estratégias estão relacionadas, é chamado de critério de Kelly. Uma vez que este é um artigo introdutório, eu não vou pensar 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 verdadeiras nos mercados financeiros, de modo que os comerciantes são frequentemente conservadores quando se trata da implementação. Outro componente chave da gestão de risco é lidar com o perfil psicológico próprio. Existem muitos preconceitos cognitivos que podem fluir para a negociação. Embora isso seja reconhecidamente menos problemático com negociação algorítmica se a estratégia é deixada sozinho Um preconceito comum é que a aversão perda, onde uma posição perdedora não será encerrado devido à dor de ter que perceber uma perda. Similarmente, os lucros podem ser tomados demasiado cedo porque o medo de perder um lucro já ganhado pode ser demasiado grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os comerciantes enfatizam demais os acontecimentos 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 de equidade para zero ou pior) ou lucros reduzidos. Como pode ser visto, o comércio quantitativo é uma área extremamente complexa, embora muito interessante, de finanças quantitativas. Eu literalmente arranhado a superfície do tópico neste artigo e já está ficando bastante longa livros inteiros e artigos foram escritos sobre questões que eu só deu uma frase ou duas para. Por essa razão, antes de aplicar para empregos quantitativos de negociação 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 na 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 de rede. Se você estiver interessado em tentar criar suas próprias estratégias de negociação algorítmica, minha primeira sugestão seria ficar bom em programação. Minha preferência é construir o máximo de dados grabber, backtester estratégia e sistema de execução por si mesmo como possível. Se seu próprio capital está na linha, wouldnt você dorme melhor à noite sabendo que você testou inteiramente seu sistema e está ciente de suas armadilhas e de edições particulares Terceirizar isto a um vendedor, ao potencial conservar o tempo no curto prazo, poderia ser extremamente (FINC 621) é uma classe de pós-graduação que atualmente é oferecida na Universidade Loyola, em Chicago, durante o trimestre de inverno. FINC 621 explora tópicos em finanças quantitativas, matemática e programação. A classe é de natureza prática e é composta por uma palestra e um componente de laboratório. Os laboratórios utilizam a linguagem de programação R e os alunos são obrigados a submeter suas atribuições individuais no final de cada aula. O objetivo final do FINC 621 é fornecer aos alunos ferramentas práticas que possam usar para criar, modelar e analisar estratégias de negociação simples. Alguns links R úteis Sobre o Instrutor Harry G. é um comerciante quantitativo sênior para uma empresa comercial HFT em Chicago. Ele possui um grau de mestre em Engenharia Elétrica e um mestrado em Matemática Financeira pela Universidade de Chicago. Em seu tempo livre, Harry ensina um curso de pós-graduação em Finanças Quantitativas na Universidade Loyola, em Chicago. Ele é também o autor de Quantitative Trading com R. Descrição quotThrough a lente de um profissional especialista, Harry fornece um tratado sobre como desenvolver uma estratégia de negociação quantitativa robusto usando R. Este é o primeiro livro escrito que tem coberto a capacidade do software R Para fornecer a infra-estrutura para um sistema de negociação algorítmica. Harry escreveu um clássico instantâneo que o profissional e o novato acharão inerentemente úteis. Há uma quantidade desordenada de código R trabalhando que o leitor pode implantar instantaneamente ou alavanca para desenvolver funções e scripts mais exóticos. Com este livro, não há necessidade de desenvolvimento de software caro ou uma licença MATLAB. Baixe o software R e você pode começar a construir estratégias rentáveis ​​imediatamente. Harry gerou uma geração inteira nova de gerentes de fundo de hedge com este trabalho seminal. - Ed Zarek, Trader de Opções Quantitativas, Grupo de Volatilidade de Chicago isto é um texto soberbo para aspirantes comerciantes quantitativos. A matemática financeira e conceitos de computação são introduzidos e desenvolvidos simultaneamente. O texto guia os leitores através de um conjunto de exercícios de programação R que culminam em várias estratégias de negociação baseadas em dados. Steven Todd, Decano Associado para Faculdade e Pesquisa, Ex-Presidente do Departamento de Finanças e Professor Associado de Finanças, Escola de Negócios Quinlan, Universidade de Loyola Chicago quotQuantitative Trading com R traduz temas complicados Em conceitos simples. Estou usando-o como uma referência e Belvedere já incorporou alguns dos materiais em nossas classes. Thomas Hutchinson, sócio-gerente, Belvedere Trading, LLC Descrição Quantitativa de financiamento com R oferece uma estratégia vencedora para a elaboração de modelos de negociação habilmente trabalhada e trabalhada Usando a linguagem de programação open source, fornecendo aos leitores uma abordagem passo-a-passo para a compreensão de complexos problemas financeiros quantitativos e construção de código de computador funcional. Sobre o Autor Harry Georgakopoulos é um Professor de Finanças Quantitativas na Loyola University e Quantitative Trader na XR Trading, LLC. Ele tem trabalhado como um comerciante quantitativo em Chicago, IL no espaço de alta freqüência desde 2007. Antes disso, ele foi empregado na Motorola e Andrew Corp. como engenheiro elétrico, onde ele projetou e testou transreceptores de microondas para tecnologias móveis 3G, Bem como na Milliman, onde atuou como consultor financeiro quantitativo. Sua principal área de especialização é a pesquisa e desenvolvimento de alta freqüência, sistemas automatizados de negociação para futuros e ações. Ele recebeu seu PhD em Matemática Financeira da Universidade de Chicago. Sobre este item

Comments

Popular posts from this blog

Binary Options 15 Minutes Strategy Board

Pengenalan Indikator Forex Terbaik

Binary Option Strategy Pdf