Estratégias de Quant - São eles para você As estratégias de investimento quantitativas evoluíram em ferramentas muito complexas com o advento de computadores modernos, mas as raizes das estratégias vão para trás sobre 70 anos. Eles são geralmente executados por equipes altamente educadas e usar modelos proprietários para aumentar sua capacidade de bater o mercado. Há mesmo off-the-shelf programas que são plug-and-play para aqueles que procuram simplicidade. Quant modelos sempre funcionam bem quando volta testado, mas suas aplicações reais e taxa de sucesso são discutíveis. Enquanto eles parecem funcionar bem em mercados de touro. Quando os mercados se esgotam, estratégias quantirais estão sujeitas aos mesmos riscos que qualquer outra estratégia. A História Um dos fundadores do estudo da teoria quantitativa aplicada às finanças foi Robert Merton. Você só pode imaginar o quão difícil e demorado o processo foi antes do uso de computadores. Outras teorias em finanças também evoluíram a partir de alguns dos primeiros estudos quantitativos, incluindo a base da diversificação de portfólio baseada na moderna teoria da carteira. A utilização de financiamento e cálculos quantitativos levou a muitas outras ferramentas comuns, incluindo uma das mais famosas fórmulas de precificação Black-Scholes, que não só ajuda os investidores a optarem por preços e a desenvolver estratégias, como também ajuda a manter os mercados checados com liquidez. Quando aplicado diretamente ao gerenciamento de portfólio. O objetivo é como qualquer outra estratégia de investimento. Para adicionar valor, alfa ou excesso retorna. Quants, como os desenvolvedores são chamados, compõem modelos matemáticos complexos para detectar oportunidades de investimento. Existem tantos modelos lá fora como quants que desenvolvê-los, e todos afirmam ser o melhor. Uma das estratégias de investimento mais vantajosas é que o modelo, e, finalmente, o computador, faz com que a decisão buysell real, não um humano. Isso tende a remover qualquer resposta emocional que uma pessoa pode experimentar ao comprar ou vender investimentos. As estratégias de Quant são agora aceitas na comunidade de investimento e geridas por fundos mútuos, hedge funds e investidores institucionais. Eles normalmente vão pelo nome alfa geradores. Ou alfa gens. Atrás da cortina Assim como em O Mágico de Oz, alguém está por trás da cortina que conduz o processo. Como com qualquer modelo, seu somente tão bom quanto o ser humano que desenvolve o programa. Embora não exista um requisito específico para se tornar um quant, a maioria das empresas que executam modelos quant combinam as habilidades de analistas de investimento, estatísticos e programadores que codificam o processo para os computadores. Devido à natureza complexa dos modelos matemáticos e estatísticos, é comum ver credenciais como pós-graduação e doutorado em finanças, economia, matemática e engenharia. Historicamente, esses membros da equipe trabalhavam nos back offices. Mas como os modelos de quant tornou-se mais comum, o back office está se movendo para o front office. Benefícios de estratégias Quant Enquanto a taxa de sucesso global é discutível, a razão de algumas estratégias quant trabalho é que eles são baseados em disciplina. Se o modelo estiver certo, a disciplina mantém a estratégia trabalhando com computadores de velocidade relâmpago para explorar ineficiências nos mercados com base em dados quantitativos. Os modelos em si podem ser baseados em tão pouco como algumas razões como PE. Dívida para capital próprio e crescimento de lucros, ou usar milhares de insumos trabalhando juntos ao mesmo tempo. Estratégias bem sucedidas podem pegar em tendências em seus estágios iniciais como os computadores constantemente executar cenários para localizar ineficiências antes que outros fazem. Os modelos são capazes de analisar um grupo muito grande de investimentos simultaneamente, onde o analista tradicional pode estar olhando apenas alguns de cada vez. O processo de triagem pode classificar o universo por níveis de grau como 1-5 ou A-F dependendo do modelo. Isso torna o processo de negociação real muito simples, investindo nos investimentos altamente cotados e vendendo os mais baixos. Modelos Quant também abrem variações de estratégias como longo, curto e longshort. Fundos quant bem sucedidos mantêm um olho afiado no controle de risco devido à natureza de seus modelos. A maioria das estratégias começa com um universo ou benchmark e usa ponderações setoriais e industriais em seus modelos. Isso permite que os fundos controlem a diversificação até certo ponto sem comprometer o próprio modelo. Os fundos Quant funcionam normalmente em uma base de custo mais baixo porque eles não precisam de tantos analistas tradicionais e gerentes de portfólio para executá-los. Desvantagens de estratégias Quant Há razões por que tantos investidores não abraçar totalmente o conceito de deixar uma caixa preta executar seus investimentos. Para todos os fundos quant bem sucedidos lá fora, assim como muitos parecem ser malsucedido. Infelizmente para a reputação dos quants, quando falham, falham grande. Long-Term Capital Management foi um dos mais famosos fundos de hedge, já que foi administrado por alguns dos mais respeitados líderes acadêmicos e dois economistas premiados com o Nobel Memorial, Myron S. Scholes e Robert C. Merton. Durante os anos 90, sua equipe gerou retornos acima da média e atraiu capital de todos os tipos de investidores. Eles eram famosos por não apenas explorar as ineficiências, mas usando o acesso fácil ao capital para criar enormes apostas apalancadas nas direções do mercado. A natureza disciplinada de sua estratégia realmente criou a fraqueza que levou ao seu colapso. Long-Term Capital Management foi liquidada e dissolvida no início de 2000. Seus modelos não incluem a possibilidade de que o governo russo poderia inadimplência em parte de sua própria dívida. Esse evento desencadeou eventos e uma reação em cadeia ampliada pelo caos causado pela alavancagem. A LTCM estava tão envolvida com outras operações de investimento que seu colapso afetou os mercados mundiais, desencadeando eventos dramáticos. A longo prazo, o Federal Reserve interveio para ajudar, e outros bancos e fundos de investimento apoiou LTCM para evitar quaisquer danos adicionais. Esta é uma das razões pelas quais os fundos podem fracassar, pois são baseados em eventos históricos que podem não incluir eventos futuros. Enquanto uma equipe de quant forte vai constantemente adicionando novos aspectos aos modelos para prever eventos futuros, é impossível prever o futuro cada vez. Quant fundos também podem se tornar oprimido quando a economia e os mercados estão experimentando maior do que a volatilidade média. Os sinais de compra e venda podem vir tão rapidamente que a alta rotatividade pode criar comissões elevadas e eventos tributáveis. Quant fundos também podem representar um perigo quando eles são comercializados como à prova de urso ou são baseados em estratégias de curto. Previsões de recessão. Usando derivativos e combinando alavancagem pode ser perigoso. Uma vez errada pode levar a implosões, que muitas vezes fazem a notícia. O Bottom Line As estratégias de investimento quantitativo evoluíram de caixas pretas de back office para ferramentas de investimento mainstream. Eles são projetados para utilizar as melhores mentes do negócio e os computadores mais rápidos tanto para explorar as ineficiências e alavancar uso para fazer apostas no mercado. Eles podem ser muito bem sucedidos se os modelos têm incluído todas as entradas direito e são ágeis o suficiente para prever eventos anormais do mercado. Por outro lado, enquanto os fundos quant estão rigorosamente testados até que funcionam, a sua fraqueza é que eles dependem de dados históricos para o seu sucesso. Embora o estilo de estilo de investimento tem seu lugar no mercado, é importante estar ciente de suas deficiências e riscos. Ser coerente com as estratégias de diversificação. É uma boa idéia para tratar estratégias quant como um estilo de investimento e combiná-lo com estratégias tradicionais para alcançar a diversificação adequada. Uma teoria econômica da despesa total na economia e seus efeitos no produto e na inflação. A economia keynesiana foi desenvolvida. A detenção de um activo numa carteira. Um investimento de carteira é feito com a expectativa de ganhar um retorno sobre ele. Este. Um índice desenvolvido por Jack Treynor que mede ganhos obtidos em excesso do que poderia ter sido obtido em um risco. A recompra de ações em circulação (recompra) por uma empresa para reduzir o número de ações no mercado. Empresas. Um reembolso de imposto é um reembolso sobre os impostos pagos a um indivíduo ou agregado familiar quando a responsabilidade fiscal real é inferior ao montante. O valor monetário de todos os produtos acabados e serviços produzidos dentro de um país fronteiras em um período de tempo específico. Financial Matemática e Modelagem II (FINC 621) é uma classe de pós-graduação que é oferecido atualmente 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 apresentar suas atribuições individuais no final de cada classe. 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 grau de mestre 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. 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 de ponta a ponta quantitativa. 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 CC será de suma importância. Um sistema de negociação quantitativo consiste em quatro componentes principais: Identificação da Estratégia - Encontrar uma estratégia, explorando uma vantagem e decidir sobre a freqüência de negociação Backtesting Estratégia - Obtendo dados, analisando o desempenho da estratégia e removendo viéses Execution System - Ligação a uma corretora, automatizando a negociação e minimizando Custos de transação Gerenciamento de Risco - alocação de capital otimizada, a aposta critério de tamanhoKelly e psicologia de negociação 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 abrange encontrar uma estratégia, ver se a estratégia se enquadra 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. Ao contrário da 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. Revistas 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 processo 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 trend-followingmomentum. 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 correlacionados) e que os desvios a curto prazo dessa média reverterão. Uma estratégia de dinamismo tenta explorar tanto a psicologia dos investidores quanto a estrutura de grandes fundos ao engatar 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 estes 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 para rentabilidade 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á funcionar 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 discutir os custos de transação ainda mais na seção Execution Systems 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 comerciantes começantes do princípio (pelo menos no nível de varejo) é usar o jogo de dados livre de Finanças de Yahoo. Eu não vou me debruçar demais sobre os provedores, mas 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 a precisão de limpeza, viés de sobrevivência e ajuste para ações corporativas, tais como dividendos e divisões de ações: A precisão diz respeito à qualidade geral dos dados - se ele contém quaisquer erros. 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 de acções, isto significa ações de delistedbankrupt. 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. As ações corporativas incluem atividades logísticas realizadas pela empresa que geralmente causam uma mudança de função no preço bruto, que não deve ser incluída no cálculo dos 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 têm sido pegos por uma ação corporativa Para realizar um backtest procedimento é necessário usar uma plataforma de software. Você tem a escolha entre software de backtest dedicado, como Tradestation, uma plataforma numérica como o Excel ou MATLAB ou uma implementação personalizada completa em uma linguagem de programação como Python ou C. Eu não vou morar demais em 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 descida 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 reduções 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 é a Relação de Sharpe, que é definida 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 tem sido backtested e é considerado livre de preconceitos (na medida do possível), com um bom Sharpe e minimizado drawdowns, é 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 seu corretor no telefone direto para 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 permitir 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 menor frequência, 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 CC 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, existem 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 bidask do título negociado. Observe que o spread não é constante e é dependente da liquidez atual (ou seja, disponibilidade de ordens de compra) 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 de um backtest. Dependendo da frequência da estratégia, você precisará acessar dados históricos de troca, que incluirão dados de tick para os preços de bidask. Equipes inteiras de quants são dedicadas à otimização da 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 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. Isto 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. Inclui o risco da corretora, tal como o corretor que torna-se falido (não tão louco como soa, 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 risco 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 verdadeiros nos mercados financeiros, de modo que os comerciantes são frequentemente conservadores quando se trata da implementação. Outro componente chave do gerenciamento de risco é lidar com o perfil psicológico próprio. Há 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á encerrada 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. Isto manifesta-se quando os comerciantes colocam demasiada ênfase em 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 excesso de 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 um extenso histórico 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, CC, 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, backtestter estratégia e sistema de execução por si mesmo como possível. Se o seu próprio capital está na linha, wouldnt você dormir melhor à noite sabendo que você testou plenamente o seu sistema e estão cientes de suas armadilhas e questões específicas Outsourcing isso para um fornecedor, enquanto potencialmente economizando tempo no curto prazo, poderia ser extremamente Caro a longo prazo. Apenas começando com Quantitative TradingNovember 30, 2016, 12:34 pm Alguns meses atrás, um leitor me apontar para fora esta nova forma de ligar R e Excel. Eu não sei por quanto tempo isto tem sido em torno, mas nunca me deparei com ele e nunca vi qualquer postagem no blog ou artigo sobre ele. Então eu decidi escrever um post como a ferramenta é realmente vale a pena e antes que alguém pergunta, I8217m não relacionados com a empresa de qualquer forma. BERT significa Basic Excel R Toolkit. It8217s livre (licenciado sob o GPL v2) e foi desenvolvido por Structured Data LLC. No momento da redação, a versão atual do BERT é 1.07. Mais informações podem ser encontradas aqui. De uma perspectiva mais técnica, o BERT foi projetado para suportar a execução de funções R a partir de células da planilha do Excel. Em termos de Excel, it8217s para escrever User-Defined Functions (UDFs) em R. Neste post I8217m não vai mostrar-lhe como R e Excel interagem via BERT. Existem muito bons tutoriais aqui. Aqui e aqui. Em vez disso eu quero mostrar-lhe como eu usei BERT para construir um 8220control tower8221 para o meu comércio. Meus sinais de negociação são gerados usando uma longa lista de arquivos R, mas eu preciso da flexibilidade do Excel para exibir resultados de forma rápida e eficiente. Como mostrado acima BERT pode fazer isso para mim, mas eu também quero adaptar a aplicação às minhas necessidades. Ao combinar o poder de XML, VBA, R e BERT eu posso criar uma boa aparência ainda poderosa aplicação sob a forma de um arquivo do Excel com o mínimo de código VBA. Finalmente, tenho um único arquivo Excel reunindo todas as tarefas necessárias para gerenciar meu portfólio: atualização de banco de dados, geração de sinal, envio de pedidos etc8230 Minha abordagem pode ser dividida nas 3 etapas abaixo: Use XML para criar menus e botões definidos pelo usuário em um Excel Arquivo. Os menus e botões acima são essencialmente chamadas para funções VBA. Essas funções VBA são wrapup em torno de funções R definidas usando BERT. Com essa abordagem, posso manter uma clara distinção entre o núcleo do meu código mantido em R, SQL e Python e tudo usado para exibir e formatar os resultados mantidos em Excel, VBA amp. XML. Nas próximas seções eu apresento o pré-requisito para desenvolver tal abordagem e um guia passo a passo que explica como o BERT poderia ser usado para simplesmente passar dados de R para o Excel com o mínimo de código VBA. 1 8211 Baixe e instale o BERT a partir deste link. Depois que a instalação for concluída você deve ter um novo menu Add-Ins no Excel com os botões, como mostrado abaixo. Foi assim que o BERT se materializou no Excel. 2 8211 Baixe e instale o editor de UI personalizado. O Custom UI Editor permite criar menus e botões definidos pelo usuário na fita Excel. Um procedimento passo a passo está disponível aqui. Guia passo a passo 1 8211 Código R: A função abaixo R é um código muito simples para fins de ilustração. Calcula e retorna os resíduos de uma regressão linear. Isso é o que queremos recuperar no Excel. Salve isso em um arquivo chamado myRCode. R (qualquer outro nome é muito bem) em um diretório de sua escolha. 2 8211 funções. R no BERT. No Excel, selecione Add-Ins - gt Home Directory e abra o arquivo chamado functions. R. Neste arquivo cole o seguinte código. Certifique-se de inserir o caminho correto. Este é apenas sourcing em BERT o arquivo R que você criou acima. Em seguida, salve e feche o arquivo functions. R. Se você quiser fazer qualquer alteração no arquivo R criado na etapa 1, você terá que recarregá-la usando o botão BERT 8220Reload Startup File8221 no menu Add-Ins do Excel 3 8211 No Excel: Crie e salve um arquivo chamado myFile. xslm (Qualquer outro nome é bom). Este é um arquivo habilitado para macro que você salva no diretório de sua escolha. Depois que o arquivo é salvo, feche-o. 4 8211 Abra o arquivo criado acima no editor de UI personalizado: Depois que o arquivo estiver aberto, cole o código abaixo. Você deve ter algo parecido com isso no editor XML: Essencialmente, esse pedaço de código XML cria um menu adicional (RTrader), um novo grupo (Meu Grupo) e um botão definido pelo usuário (Novo Botão) na fita Excel. Depois de feito, abra myFile. xslm no Excel e feche o Editor de UI personalizado. Você deve ver algo como isto. 5 8211 Editor de VBA aberto. Em myFile. xlsm insira um novo módulo. Cole o código abaixo no módulo recém-criado. Isso apaga resultados anteriores na planilha antes de lidar com novos. 6 8211 Clique em Novo Botão. Agora volte para a planilha e no menu do RTrader clique no botão 8220New Button8221. Você deve ver algo como o abaixo aparecendo. O guia acima é uma versão muito básica do que pode ser alcançado usando BERT, mas mostra como combinar o poder de várias ferramentas específicas para construir seu próprio aplicativo personalizado. De minha perspectiva, o interesse de tal abordagem é a capacidade de colar juntos R e Excel, obviamente, mas também para incluir via XML (e lote) pedaços de código de Python, SQL e muito mais. Isso é exatamente o que eu precisava. Finalmente, gostaria de saber se alguém tem alguma experiência com o BERT. Ao testar estratégias de negociação, uma abordagem comum é dividir o conjunto inicial de dados em dados de amostra: a parte dos dados projetada para calibrar O modelo e fora dos dados de amostra: a parte dos dados utilizados para validar a calibração e garantir que o desempenho criado na amostra será refletida no mundo real. Como regra geral, cerca de 70 dos dados iniciais podem ser utilizados para calibração (i. e. na amostra) e 30 para validação (isto é, fora da amostra). Em seguida, uma comparação dos dados de entrada e saída de dados ajuda a decidir se o modelo é suficientemente robusto. Este post pretende ir um passo mais longe e fornece um método estatístico para decidir se os dados fora da amostra está em consonância com o que foi criado na amostra. No gráfico abaixo a área azul representa o desempenho fora da amostra para uma das minhas estratégias. Uma inspeção visual simples revela um bom ajuste entre o dentro e fora do desempenho da amostra, mas que grau de confiança eu tenho nesta Nesta fase não muito e este é o problema. O que é verdadeiramente necessário é uma medida de semelhança entre os conjuntos de dados de entrada e saída. Em termos estatísticos, isto poderia ser traduzido como a probabilidade de que os valores de desempenho dentro e fora da amostra provenham da mesma distribuição. Existe um teste estatístico não-paramétrico que faz exatamente isso: o teste de Kruskall-Wallis. Uma boa definição deste teste pode ser encontrada no R-Tutor 8220A coleção de amostras de dados são independentes se vierem de populações não relacionadas e as amostras não afetam uns aos outros. Utilizando o teste de Kruskal-Wallis. Podemos decidir se as distribuições da população são idênticas sem supor que elas sigam a distribuição normal.8221 O benefício adicional deste teste não está assumindo uma distribuição normal. Existem outros testes da mesma natureza que poderiam caber nessa estrutura. O teste de Mann-Whitney-Wilcoxon ou os testes de Kolmogorov-Smirnov seriam perfeitamente adequados ao quadro descreve aqui no entanto isso está além do escopo deste artigo para discutir os prós e contras de cada um desses testes. Uma boa descrição junto com exemplos de R pode ser encontrada aqui. Aqui o código usado para gerar o gráfico acima e a análise: No exemplo acima, o período de amostra é mais longo do que o período fora da amostra, portanto, eu criei aleatoriamente 1000 subconjuntos dos dados da amostra, cada um deles com o mesmo comprimento que o out Dos dados da amostra. Em seguida, eu testei cada um no subconjunto de amostra contra a saída de dados de amostra e eu gravei os valores de p. Este processo não cria um único valor de p para o teste de Kruskall-Wallis, mas uma distribuição que torna a análise mais robusta. Neste exemplo, a média dos valores de p está bem acima de zero (0,478) indicando que a hipótese nula deve ser aceita: existem fortes evidências de que os dados de entrada e saída da amostra vêm da mesma distribuição. Como de costume o que é apresentado neste post é um exemplo de brinquedo que apenas arranhões a superfície do problema e deve ser adaptado às necessidades individuais. No entanto, penso que propõe um quadro estatístico interessante e racional para avaliar os resultados da amostra. Este post é inspirado nos seguintes dois artigos: Vigier Alexandre, Chmil Swann (2007), Efeitos de Várias Funções de Otimização no Desempenho de Amostra de Estratégias de Negociação Geneticamente Evoluídas, Previsão de Mercados Financeiros Conferência Vigier Alexandre, Chmil Swann (2010), An Processo de otimização para melhorar inout da consistência da amostra, um caso de mercado de ações, JP Morgan Cazenove Equity Quantitative Conference, Londres Outubro de 2010 13 de dezembro de 2015, 2:03 pm Fazendo investigação quantitativa implica um monte de dados crunching e um precisa de dados limpos e confiáveis para Alcançar este objectivo. O que é realmente necessário é dados limpos que é facilmente acessível (mesmo sem uma conexão à Internet). A maneira mais eficiente de fazer isso para mim foi manter um conjunto de arquivos csv. Obviamente, este processo pode ser tratado de muitas maneiras, mas eu encontrei tempo extra muito eficiente e simples para manter um diretório onde eu armazenar e atualizar arquivos csv. Eu tenho um arquivo csv por instrumento e cada arquivo é nomeado após o instrumento que ele contém. A razão que eu faço assim é dupla: Primeiro, eu don8217t quero baixar (preço) dados do Yahoo, Google etc8230 cada vez que eu quero testar uma nova idéia, mas mais importante uma vez que eu identifiquei e corrigiu um problema, eu don8217t quero ter que Fazê-lo novamente na próxima vez que eu preciso do mesmo instrumento. Simples ainda muito eficiente até agora. O processo é resumido no gráfico abaixo. Em tudo o que segue, eu suponho que os dados vêm do Yahoo. O código terá de ser alterado para os dados do Google, Quandl etc8230 Além disso, eu apresento o processo de atualização dos dados diários de preços. A configuração será diferente para dados de freqüência mais alta e outro tipo de conjunto de dados (ou seja, diferente dos preços). 1 8211 Download de dados iniciais (listOfInstruments. R amp historicalData. R) O arquivo listOfInstruments. R é um arquivo que contém apenas a lista de todos os instrumentos. Se um instrumento não for parte de minha lista (ou seja, nenhum arquivo csv na minha pasta de dados) ou se você fizer isso pela primeira vez você tem que baixar o conjunto de dados históricos iniciais. O exemplo abaixo carrega um conjunto de preços diários de ETFs do Yahoo Finance de volta a janeiro de 2000 e armazena os dados em um arquivo csv. 2 8211 Atualizar dados existentes (updateData. R) O código a seguir é iniciado a partir de arquivos existentes na pasta dedicada e atualiza todos eles um após o outro. Eu costumo executar este processo todos os dias, exceto quando I8217m em férias. Para adicionar um novo instrumento, basta executar o passo 1 acima para este instrumento sozinho. 3 8211 Criar um arquivo em lotes (updateDailyPrices. bat) Outra parte importante do trabalho é a criação de um arquivo em lotes que automatiza o processo de atualização acima (I8217m, um usuário do Windows). Isso evita abrir RRStudio e executar o código de lá. O código abaixo é colocado em um arquivo. bat (o caminho deve ser alterado com a configuração do reader8217s). Observe que eu adicionei um arquivo de saída (updateLog. txt) para rastrear a execução. O processo acima é extremamente simples porque ele só descreve como atualizar dados diários de preços. Eu tenho usado isso por um tempo e tem funcionado muito bem para mim até agora. Para dados mais avançados e / ou freqüências mais altas, as coisas podem ficar muito mais complicadas. Como de costume todos os comentários bem-vindos 23 de março de 2015, 8:55 pm Quando se trata de gerenciar um portfólio de ações versus um benchmark o problema é muito diferente de definir uma estratégia de retorno absoluto. No primeiro um tem que segurar mais estoques do que no mais atrasado onde nenhum estoque em tudo pode ser prendido se não há uma oportunidade boa bastante. A razão para isso é o erro de rastreamento. Isso é definido como o desvio padrão do retorno da carteira menos o retorno do índice de referência. Os estoques menos são mantidos contra um benchmark quanto maior o erro de rastreamento (por exemplo, maior risco). A análise que se segue é amplamente inspirada pelo livro 8220Active Portfolio Management8221 de Grinold amp Kahn. Esta é a bíblia para qualquer pessoa interessada em executar um portfólio contra um benchmark. Eu incentivo fortemente qualquer um com um interesse no tópico para ler o livro do começo ao fim. É muito bem escrito e estabelece as bases da gestão sistemática de carteira ativa (eu não tenho afiliação ao editor ou aos autores). 1 8211 Análise Fatorial Aqui estamos tentando classificar com a maior precisão possível as ações do universo de investimento em uma base de retorno para a frente. Muitas pessoas inventaram muitas ferramentas e inúmeras variantes dessas ferramentas foram desenvolvidas para conseguir isso. Neste post me concentro em duas métricas simples e amplamente utilizadas: Coeficiente de Informação (IC) e Quantiles Return (QR). 1.1 8211 Coeficiente de Informação O horizonte para o retorno futuro tem de ser definido pelo analista e é uma função do volume de negócios da estratégia e da desintegração alfa (este tem sido objecto de uma extensa investigação). Obviamente, os CI devem ser tão elevados quanto possível em termos absolutos. Para o leitor afiado, no livro de Grinold amp Kahn uma fórmula que liga a relação de informação (IR) e IC é dada: com amplitude sendo o número de apostas independentes (comércios). Esta fórmula é conhecida como a lei fundamental da gestão activa. O problema é que muitas vezes, definir amplitude com precisão não é tão fácil quanto parece. 1.2 8211 Retorno de Quantiles Para obter uma estimativa mais precisa do poder de previsão de fator, é necessário ir um passo adiante e agrupar os estoques por quantil de valores de fator e então analisar o retorno médio de retorno (ou qualquer outra métrica de tendência central) de cada um desses Quantiles. A utilidade desta ferramenta é simples. Um fator pode ter um IC bom, mas seu poder preditivo pode ser limitado a um pequeno número de ações. Isso não é bom como um gestor de carteira terá de escolher estoques dentro de todo o universo, a fim de atender a sua restrição de erro de rastreamento. Os bons quantiles de retorno são caracterizados por uma relação monótona entre os quantiles individuais e retornos futuros. Todas as ações no índice SampP500 (no momento da escrita). Obviamente, existe um viés de sobrevivência: a lista de ações no índice mudou significativamente entre o início e o final do período de amostragem, porém é bastante boa apenas para fins ilustrativos. O código abaixo carrega os preços das ações individuais no SampP500 entre janeiro de 2005 e hoje (demora um pouco) e transforma os preços brutos em retorno nos últimos 12 meses e no último mês. O primeiro é o nosso fator, este último será usado como a medida de retorno para a frente. Abaixo está o código para calcular o Coeficiente de Informação e Quantiles Retorno. Note que eu usei quintis neste exemplo, mas qualquer outro método de agrupamento (terciles, deciles etc8230) pode ser usado. Ele realmente depende do tamanho da amostra, o que você deseja capturar e wether você quer ter uma visão ampla ou se concentrar em caudas de distribuição. Para estimar retornos dentro de cada quintil, a mediana tem sido usada como estimador de tendência central. Esta medida é muito menos sensível aos valores atípicos do que a média aritmética. E, finalmente, o código para produzir o Quantiles Retorno gráfico. 3 8211 Como explorar as informações acima No gráfico acima, Q1 é o mais baixo após 12 meses de retorno e Q5 mais alto. Há um aumento quase monotônico no retorno dos quantiles entre Q1 e Q5, o que indica claramente que os estoques que caem em Q5 superam os que caem em Q1 em cerca de 1 por mês. Isso é muito significativo e poderoso para um fator tão simples (não é realmente uma surpresa though8230). Portanto, há maiores chances de vencer o índice por sobreponderar as ações caem no Q5 e subponderar aqueles que caem no primeiro trimestre em relação ao benchmark. Um IC de 0,0206 pode não significar muito em si, mas é significativamente diferente de 0 e indica um bom poder preditivo dos últimos 12 meses de retorno global. Testes de significância formal podem ser avaliados, mas isso está além do escopo deste artigo. 4 8211 Limitações práticas A estrutura acima é excelente para avaliar a qualidade dos fatores de investimento, porém há uma série de limitações práticas que devem ser abordadas para a implementação da vida real: Rebalancing. Na descrição acima, 8282 assumiu que no final de cada mês a carteira é totalmente rebalanceada. Isso significa que todas as ações que caem no primeiro trimestre estão abaixo do peso e todas as ações que caem no Q5 estão acima do peso em relação ao benchmark. Isso nem sempre é possível por razões práticas: alguns estoques podem ser excluídos do universo de investimento, existem restrições sobre o peso da indústria ou do setor, existem restrições sobre o volume de negócios etc 8230 custos de transação. Isso não tem sido levado em conta na análise acima e este é um freio grave para a implementação da vida real. Considerações de volume de negócios são geralmente implementadas na vida real em uma forma de penalidade sobre a qualidade do fator. Coeficiente de transferência. Esta é uma extensão da lei fundamental da gestão ativa e relaxa a suposição do modelo de Grinolds de que os gerentes não enfrentam restrições que os impedem de traduzir seus insights de investimentos diretamente em apostas em carteira. E, finalmente, I8217m espantado com o que pode ser alcançado em menos de 80 linhas de código com R8230 Como de costume todos os comentários bem-vindos 14 de março de 2014, 1:07 pm A pergunta que se deve sempre perguntou himherself quando usando indicadores técnicos é o que seria um objetivo Critérios para selecionar os parâmetros dos indicadores (por exemplo, por que usar um RSI de 14 dias em vez de 15 ou 20 dias). Algoritmos genéticos (GA) são ferramentas bem adaptadas para responder a essa pergunta. Neste post I8217ll mostrar-lhe como configurar o problema em R. Antes de prosseguir o lembrete habitual: O que eu apresento neste post é apenas um exemplo de brinquedo e não um convite para investir. Não é uma estratégia acabada, mas uma idéia de pesquisa que precisa ser mais pesquisada, desenvolvida e adaptada às necessidades individuais. O que são algoritmos genéticos A melhor descrição de GA que eu encontrei vem de Cybernatic Trading um livro de Murray A. Ruggiero. 8220 Algoritmos genéticos foram inventados por John Holland em meados de 1970 para resolver problemas de otimização dura. Este método utiliza a seleção natural, sobrevivência do fittest8221. O processo geral segue as etapas abaixo: Codificar o problema em cromossomos Usando a codificação, desenvolver uma função de aptidão para uso na avaliação de cada valor do cromossomo8217s na resolução de um determinado problema Inicializar uma população de cromossomos Avaliar cada cromossomo na população Criar novos cromossomos por acasalamento de dois Cromossomos. Isso é feito muting e recombinando dois pais para formar duas crianças (os pais são selecionados aleatoriamente, mas tendenciosa por sua aptidão) Avaliar o novo cromossomo Excluir um membro da população que é menos apto do que o novo cromossomo e inserir o novo cromossomo na população . Se o critério de paragem é atingido (número máximo de gerações, os critérios de aptidão são bons o suficiente), em seguida, retornar o melhor cromossomo ou vá para a etapa 4 A partir de uma perspectiva de negociação GA são muito úteis porque são bons em lidar com problemas altamente não-lineares. No entanto, eles apresentam algumas características desagradáveis que vale a pena mencionar: Over fitting: Este é o principal problema e it8217s até o analista para configurar o problema de uma forma que minimize esse risco. Tempo de computação. Se o problema não é definido corretamente, pode ser muito longo para chegar a uma solução decente ea complexidade aumenta exponencialmente com o número de variáveis. Daí a necessidade de selecionar cuidadosamente os parâmetros. Há vários pacotes de R que tratam de GA, eu escolhi usar o mais comum: rgenoud Os preços de fechamento diários para a maioria de ETFs líquidos de finanças de Yahoo que vão para trás a janeiro 2000. O em período da amostra vai de janeiro 2000 a dezembro 2010. O Fora de Período de amostragem começa em janeiro de 2011. A lógica é a seguinte: a função de aptidão é otimizada durante o período de amostra para obter um conjunto de parâmetros ótimos para os indicadores técnicos selecionados. O desempenho desses indicadores é então avaliado no período fora da amostra. Mas antes disso, os indicadores técnicos precisam ser selecionados. O mercado de ações apresenta duas características principais que são familiares a qualquer pessoa com alguma experiência de negociação. Momento de longo prazo e inversão de curto prazo. Esses recursos podem ser traduzidos em termos de indicadores técnicos por: cruzamento de médias móveis e RSI. Isso representa um conjunto de 4 parâmetros: Períodos de retorno para médias móveis de longo e curto prazo, período de retrocesso para o limiar RSI e RSI. Os conjuntos de parâmetros são os cromossomos. O outro elemento-chave é a função fitness. Podemos querer usar algo como: retorno máximo ou Sharpe ratio ou Drawdown média mínima. No que segue, eu escolhi maximizar a relação de Sharpe. A implementação R é um conjunto de 3 funções: fitnessFunction. Define a função de aptidão (por exemplo, a razão máxima de Sharpe) a ser utilizada dentro do mecanismo de negociação de motores GA. Resumo das estatísticas de negociação para os períodos de entrada e saída dos períodos de amostragem para fins de comparação. O mecanismo GA do pacote rgenoud A função genoud é bastante complexa, mas não vou explicar o que significa cada parâmetro, pois quero manter este post curto (ea documentação é muito boa). Na tabela abaixo, apresentamos para cada instrumento os parâmetros ótimos (RSI, RSI, Short Term Moving Average e Long Term Moving Average) juntamente com as estatísticas de negociação de entrada e saída da amostra. Antes de comentar os resultados acima, eu quero explicar alguns pontos importantes. Para coincidir com a lógica definida acima, limitei os parâmetros para certificar-se de que o período de look-back para a média móvel de longo prazo é sempre maior que a média móvel mais curta. Também obriguei o otimizador a escolher apenas as soluções com mais de 50 operações no período de amostra (por exemplo, significância estatística). Em geral, os resultados da amostra estão longe de ser impressionantes. Os retornos são baixos, mesmo se o número de comércios é pequeno para fazer o resultado realmente significativo. Contudo, existe uma perda significativa de eficiência entre o período de entrada e saída do período de amostragem para o Japão (EWJ), o que muito provavelmente significa um ajuste excessivo. Este post destina-se a dar ao leitor as ferramentas para usar corretamente GA em um quadro de negociação quantitativa. Mais uma vez, é apenas um exemplo que precisa ser refinado. A melhoria potencial poucos a explorar seria: função de fitness. Maximizar a proporção de Sharpe é muito simplista. Uma função 8220smarter8221 certamente melhoraria o padrão de estatísticas de negociação de amostra. Nós tentamos capturar um padrão muito direto. Uma pesquisa mais em profundidade padrão é definitivamente necessário. otimização . Há muitas maneiras de melhorar a forma como a otimização é conduzida. Isso melhoraria tanto a velocidade de cálculo como a racionalidade dos resultados. O código usado nesta postagem está disponível em um repositório Gist. Como de costume todos os comentários bem-vindos 28 de fevereiro de 2014, 3:52 pm Há um enorme corpo de literatura acadêmica e empírica sobre previsão de mercado. Na maioria das vezes, mistura duas características de mercado: Magnitude e Direção. Neste artigo, quero me concentrar em identificar apenas a direção do mercado. O objetivo que eu estabeleci, é identificar as condições de mercado quando as probabilidades são significativamente tendenciosas para um mercado em alta ou baixa. Este post dá um exemplo de como CART (Classification And Regression Trees) pode ser usado neste contexto. Antes de eu proceder o lembrete habitual: O que eu apresento neste post é apenas um exemplo de brinquedo e não um convite para investir. Não é uma estratégia acabada, mas uma idéia de pesquisa que precisa ser mais pesquisada, desenvolvida e adaptada às necessidades individuais. 1 8211 O que é CART e por que usá-lo De estatísticas, CART é um conjunto de técnicas para classificação e previsão. A técnica visa produzir regras que prevejam o valor de uma variável de resultado (alvo) a partir de valores conhecidos de variáveis preditoras (explicativas). Existem muitas implementações diferentes, mas todos eles estão compartilhando uma característica geral e isso é o que eu estou interessado. Da Wikipedia, Algoritmos para construir árvores de decisão geralmente trabalham de cima para baixo, escolhendo uma variável em cada etapa que melhor divide o conjunto de itens. Diferentes algoritmos usam diferentes métricas para medir 8220best8221. Estes geralmente medem a homogeneidade da variável alvo dentro dos subconjuntos. Estas métricas são aplicadas a cada subconjunto candidato, e os valores resultantes são combinados (por exemplo, em média) para proporcionar uma medida da qualidade da divisão. A metodologia CART apresenta algumas características que são muito adequadas para análise de mercado: Não paramétrico. CART pode lidar com qualquer tipo de distribuição estatística não linear. CART pode lidar com um grande espectro de dependência entre variáveis (por exemplo, não limitado a relações lineares) Robusto para outliers Existem vários pacotes R lidar com particionamento recursivo, eu uso aqui rpart para árvores estimativa e rpart. plot para árvores desenho. 2 8211 Data amp Experiment Design Preços diários de OHLC para a maioria dos ETFs líquidos de janeiro de 2000 a dezembro de 2013 extraídos do Google Finance. O período da amostra vai de janeiro de 2000 a dezembro de 2010, o restante do conjunto de dados é o período fora da amostra. Antes de executar qualquer tipo de análise o conjunto de dados tem de ser preparado para a tarefa. A variável alvo é o ETF retorno semanal definido como dois estados do resultado mundial (UP ou DOWN). Se o retorno semanal semanal gt 0 então o mercado no estado UP, o estado DOWN de outra forma As variáveis explicativas são um conjunto de indicadores técnicos derivados do conjunto de dados OHLC diário inicial. Cada indicador representa um comportamento de mercado bem documentado. Para reduzir o ruído nos dados e tentar identificar relações robustas, cada variável independente é considerada como tendo um resultado binário. Volatilidade (VAR1). Alta volatilidade é geralmente associada a um mercado para baixo e baixa volatilidade com um up market. A volatilidade é definida como os 20 dias de ATR bruto (Average True Range) espalhados para a sua média móvel (MA). Se bruto ATR gt MA, em seguida, VAR1 1, senão VAR1 -1. Momento de curto prazo (VAR2). O mercado acionário apresenta um comportamento de momentum de curto prazo captado aqui por uma média móvel simples de 5 dias (SMA). Se Preço gt SMA então VAR2 1 mais VAR2 -1 Momento de longo prazo (VAR3). O mercado acionário apresenta um comportamento de longo prazo capturado por uma média móvel de 50 dias (LMA). Se Preço gt LMA então VAR3 1 mais VAR3 -1 Inversão de curto prazo (VAR4). Isso é capturado pelo CRTDR, que significa Fechar Relative To Daily Range e calculado da seguinte forma:. Se CRTDR gt 0,5, então VAR4 1 outro VAR4 -1 regime de Autocorrelação (VAR5). O mercado de ações tende a passar por períodos de regimes negativos e positivos de autocorrelação. Se retorna a autocorrelação nos últimos 5 dias gt 0 então VAR5 1 mais VAR5 -1 Posto abaixo um exemplo de árvore com algumas explicações Na árvore acima, o caminho para alcançar o nó 4 é: VAR3 gt0 (Long Term Momentum gt 0) e VAR4 Gt 0 (CRTDR gt 0). O retângulo vermelho indica que esta é uma folha DOWN (por exemplo, um nó terminal) com uma probabilidade de 58 (1 8211 0,42). Em termos de mercado, isto significa que se Momentum Long Term é Up e CRTDR é gt 0,5 então a probabilidade de um retorno positivo na próxima semana é 42 com base nos dados da amostra amostra. 18 indica a proporção do conjunto de dados que cai nesse nó terminal (por exemplo folha). Há muitas maneiras de usar a abordagem acima, eu escolhi para estimar e combinar todas as árvores possíveis. A partir dos dados da amostra, coleciono todas as folhas de todas as árvores possíveis e as colho em uma matriz. Esta é a matriz 8220rules8221 dando a probabilidade da próxima semana beeing UP ou DOWN. Eu aplico as regras na matriz acima para fora dos dados da amostra (Jan 2011 8211 Dec 2013) e eu comparar os resultados com o resultado real. O problema com esta abordagem é que um único ponto (semana) pode cair em várias regras e até mesmo pertencer a UP e DOWN regras simultaneamente. Portanto, aplico um esquema de votação. Para uma determinada semana eu resumo todas as regras que se aplicam a essa semana dando um 1 para uma regra UP e -1 para uma regra DOWN. Se a soma for maior que 0, a semana é classificada como UP, se a soma for negativa, é uma semana DOWN e se a soma for igual a 0 não haverá nenhuma posição tomada naquela semana (retorno 0) A metodologia acima é aplicada a uma Conjunto de ETFs muito líquidos. Eu traço abaixo da saída da amostra equidade curvas juntamente com a estratégia de comprar e manter durante o mesmo período. Os resultados iniciais parecem encorajadores, mesmo que a qualidade do resultado varie muito de instrumento. No entanto, há uma enorme sala de aperfeiçoamento. Eu coloco abaixo algumas direções para uma análise mais aprofundada. O algoritmo usado aqui para definir as árvores é ótimo em cada divisão, mas não garante a otimização do caminho. Adicionar uma métrica para medir a otimalidade do caminho certamente melhoraria os resultados acima. Outras variáveis. Escolhi as variáveis explicativas unicamente com base na experiência. É muito provável que essa escolha não seja boa nem ótima. Metodologia de Backtest. Eu usei um simples dentro e fora da metodologia da amostra. Em um backtest mais formal eu preferiria usar uma janela de rolamento ou expansão de sub-períodos de amostra dentro e fora (por exemplo, análise de frente) Como de costume, quaisquer comentários bem-vindos
No comments:
Post a Comment