Tuesday 11 July 2017

Sistema De Comércio Usando R


Arquivo R Programação RSS feed para esta seção Nos últimos meses, houve uma onda de atividade em termos de novos cursos sendo criados para a linguagem de programação R. Udemyis é um desses locais online que oferece uma variedade surpreendentemente ampla de tópicos relacionados à linguagem R. Esses tópicos incluem análise estatística, regressão, ciência dos dados, aprendizado de máquinas, negociação quantitativa, visualização de dados e hellip. Agora você deve estar familiarizado com a maioria das funcionalidades básicas da linguagem de programação R. Podemos realizar simulações, resultados de gráficos, criar estatísticas de resumo, exportar nossos resultados para arquivos e realizar quase qualquer façanha de programação, simplesmente usando a instalação básica de R. Nesta palestra, quero apresentar algumas ferramentas. O uso de probabilidade e estatística é Ubíqua em finanças quantitativas. Todos os preços observáveis, volumes, taxas de chegada de pedidos, etc., são devidos a desequilíbrios de oferta e demanda. No entanto, manter o controle de todos os desequilíbrios de oferta e demanda torna-se pesado à medida que o número de variáveis ​​aumenta. As ferramentas estatísticas são vitais para explicar e modelar estes hellip. Comentei no passado sobre a utilidade do pacote RCPP. Agora, Dirk Eddelbuettel forneceu outro serviço maravilhoso para a comunidade R, publicando o código da amostra R que aproveita esse poderoso framework. Se você está interessado em combinar a velocidade bruta e o desempenho de C com a sintaxe de R, confira o hellip. Nesta palestra, discutiremos os estimadores estatísticos, investigamos a lei dos grandes números, o teorema do limite central e analisamos a implementação de todos esses conceitos dentro R. População versus estatísticas de amostra Considere o conjunto de números: 102, 103,2, 102, 101,2, 499, 103,2 101,23, 99,2. Aqui estão algumas perguntas que gostaríamos de perguntar sobre este feed RSS do tutorial hellipArchive Beginner R para esta seção O uso de probabilidade e estatística é onipresente em finanças quantitativas. Todos os preços observáveis, volumes, taxas de chegada de pedidos, etc., são devidos a desequilíbrios de oferta e demanda. No entanto, manter o controle de todos os desequilíbrios de oferta e demanda torna-se pesado à medida que o número de variáveis ​​aumenta. As ferramentas estatísticas são vitais para explicar e modelar estes hellip. Nesta palestra, discutiremos os estimadores estatísticos, investigamos a lei dos grandes números, o teorema do limite central e analisamos a implementação de todos esses conceitos dentro de R. População vs. Amostra Estatísticas Considere o conjunto de números : 102, 103,2, 102, 101,2, 499, 103,2 101,23, 99,2. Aqui estão algumas perguntas que podemos querer perguntar sobre estas análises de análise de regressão hellip é um tópico muito importante. É uma ferramenta estatística amplamente utilizada em economia, inovação e comércio. R fornece funções pré-escritas que realizam regressões lineares de maneira muito direta. Existem vários pacotes de complemento que permitem funcionalidades mais avançadas. Nesta classe, usaremos apenas a função lm (), a qual matrizes Hellip na matriz R A é uma construção matemática muito útil. Matrizes fornecem um mecanismo para manipular facilmente grandes coleções de dados. Matrix Mathematics é um assunto vasto e existem vários artigos e publicações que falam sobre todos os possíveis usos das matrizes. Basta dizer que esta classe só vai para o hellip. A primeira classe serviu como uma introdução ao ambiente R. Os recipientes de dados fundamentais c (), matrix (), data. frame (), list () foram introduzidos e algumas funções úteis foram apresentadas. Esta segunda classe abrangerá funções definidas pelo usuário. Ao lidar com qualquer tipo de projeto de análise de dados, é importante criar funções simples hellipNovembro 30, 2016, 12:34 pm Alguns meses atrás, um leitor me apontou essa nova maneira de conectar R e Excel. Não sei por quanto tempo isso aconteceu, mas nunca encontrei isso e eu nunca vi nenhuma postagem no blog ou artigo sobre isso. Então eu decidi escrever uma publicação, pois a ferramenta realmente vale a pena e antes de qualquer pessoa pedir, I8217m não está relacionado à empresa de forma alguma. BERT significa Basic Excel R Toolkit. It8217s gratuito (licenciado sob a GPL v2) e foi desenvolvido pela 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 é 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 funções definidas pelo usuário (UDFs) em R. Nesta postagem, I8217m não vai mostrar-lhe como o R e o Excel interagem via BERT. Existem muitos tutoriais aqui. Aqui e aqui. Em vez disso, quero mostrar-lhe como usei o BERT para construir uma torre 8222control para minha negociação. Meus sinais comerciais 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, o BERT pode fazer isso por mim, mas eu também quero adaptar o aplicativo às minhas necessidades. Ao combinar o poder de XML, VBA, R e BERT, posso criar uma aplicação bem parecida e poderosa, na forma de um arquivo Excel com código VBA mínimo. Em última análise, eu tenho um único arquivo do Excel reunindo todas as tarefas necessárias para gerenciar o meu portfólio: atualização do banco de dados, geração de sinal, envio de pedidos, etc8230. Minha abordagem poderia 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 estão envolvidas em torno de funções R definidas usando o BERT. Com esta abordagem, posso manter uma distinção clara entre o núcleo do meu código mantido em R, SQL e Python e tudo o que é usado para exibir e formatar resultados mantidos no Excel, VBA amp XML. Nas próximas seções, apresento o pré-requisito para desenvolver essa abordagem e um guia passo a passo que explica como o BERT poderia ser usado para simplesmente passar dados de R para Excel com um código mínimo de VBA. 1 8211 Baixe e instale o BERT a partir deste link. Uma vez que a instalação foi concluída, você deve ter um novo menu de suplementos no Excel com os botões, conforme mostrado abaixo. É assim que o BERT se materializou no Excel. 2 8211 Baixe e instale o editor personalizado de UI. O Editor de UI personalizado permite criar menus e botões definidos pelo usuário na fita do Excel. Um procedimento passo a passo está disponível aqui. Guia passo a passo 1 8211 Código R: A função R abaixo é um pedaço de código muito simples apenas para fins ilustrativos. Calcula e retorna os resíduos de uma regressão linear. É o que queremos recuperar no Excel. Salve isso em um arquivo chamado myRCode. R (qualquer outro nome está bem) em um diretório de sua escolha. 2 8211 funções. R em 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. Isso é apenas o acesso ao BERT o arquivo R que você criou acima. Em seguida, salve e feche as funções do arquivo. R. Se você deseja fazer alguma alteração no arquivo R criado na etapa 1, você terá que recarregá-lo usando o botão BERT 8220Reload Startup File8221 no menu Add-Ins no Excel 3 8211 No Excel: Crie e salve um arquivo chamado myFile. xslm (Qualquer outro nome está bem). Este é um arquivo ativado por macro que você salva no diretório que você escolheu. Uma vez que o arquivo é salvo, feche-o. 4 8211 Abra o arquivo criado acima no editor UI personalizado: depois que o arquivo estiver aberto, cole o código abaixo. Você deve ter algo assim no editor XML: Essencialmente, esse 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 faixa do Excel. Uma vez que você esteja pronto, abra myFile. xslm no Excel e feche o Editor de UI personalizado. Você deve ver algo assim. 5 8211 Abra o editor VBA. Em myFile. xlsm insira um novo módulo. Cole o código abaixo no módulo recém-criado. Isso apaga os resultados anteriores na planilha antes de copiar novos. 6 8211 Clique em Novo botão. Agora volte para a planilha e no menu RTrader, clique no botão 8220New Button8221. Você deve ver algo como o que aparece abaixo. O guia acima é uma versão muito básica do que pode ser alcançado usando o BERT, mas mostra como combinar o poder de várias ferramentas específicas para criar sua própria aplicação personalizada. Do meu ponto de vista, o interesse de tal abordagem é a capacidade de juntar R e Excel, obviamente, mas também para incluir via XML (e lote) partes de código de Python, SQL e muito mais. Isso é exatamente o que eu precisava. Finalmente, eu ficaria curioso para saber se alguém tem alguma experiência com o BERT 19 de agosto de 2016, às 9h26. Ao testar as estratégias de negociação, uma abordagem comum é dividir o conjunto de dados inicial em dados de amostra: a parte dos dados projetados 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 seja refletido no mundo real. Como regra geral, cerca de 70 dos dados iniciais podem ser utilizados para calibração (isto é, na amostra) e 30 para validação (isto é, fora da amostra). Em seguida, uma comparação dos dados de entrada e de saída ajuda a decidir se o modelo é robusto o suficiente. Esta publicação tem como objetivo avançar um pouco e fornece um método estatístico para decidir se os dados fora da amostra estão de acordo 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 simples inspeção visual revela um bom ajuste entre o desempenho dentro e fora da amostra, mas o grau de confiança que eu tenho neste. Nesta fase, não é muito e essa é a questão. O que é realmente necessário é uma medida de similaridade entre os conjuntos de dados dentro e fora da amostra. Em termos estatísticos, isso pode ser traduzido como a probabilidade de os números de desempenho dentro e fora da amostra serem provenientes 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 na coleção R-Tutor 8220A. As amostras de dados são independentes se elas vierem de populações não relacionadas e as amostras não se afetam. Usando o teste de Kruskal-Wallis. Podemos decidir se as distribuições da população são idênticas sem assumir que elas sigam a distribuição normal.8221 O benefício adicional deste teste não está assumindo uma distribuição normal. Existe outros testes da mesma natureza que possam enquadrar-se nesse quadro. O teste de Mann-Whitney-Wilcoxon ou os testes de Kolmogorov-Smirnov adequam-se perfeitamente à estrutura descreve aqui no entanto, isso está além do escopo deste artigo para discutir os prós e os contras de cada um desses testes. Uma boa descrição junto com os exemplos 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 é maior do que o período fora da amostra, então eu criei aleatoriamente 1000 subconjuntos dos dados de amostra, cada um deles com o mesmo comprimento que o fora De dados de amostra. Em seguida, testei cada subconjunto de amostra contra os dados fora da amostra e gravei os valores p. Esse 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 é bem acima de zero (0.478), indicando que a hipótese nula deve ser aceita: há fortes evidências de que os dados dentro e fora da amostra são provenientes da mesma distribuição. Como de costume, o que é apresentado nesta publicação é um exemplo de brinquedo que apenas arranha a superfície do problema e deve ser adaptado às necessidades individuais. No entanto, acho que propõe um quadro estatístico interessante e racional para avaliar os resultados da amostra. Esta publicação está inspirada nos seguintes dois artigos: Vigier Alexandre, Chmil Swann (2007), Efeitos de várias funções de otimização sobre o desempenho de amostras de estratégias de negociação desenvolvidas genéticamente, Previsão de mercados financeiros Conferência Vigier Alexandre, Chmil Swann (2010), An Processo de otimização para melhorar a consistência da amostra, um caso do mercado de ações, JP Morgan Cazenove Equity Quantitative Conference, Londres outubro de 2010 13 de dezembro de 2015, 2:03 pm A pesquisa quantitativa implica uma grande quantidade de dados crunching e um precisa de dados limpos e confiáveis ​​para Alcançar isso. O que é realmente necessário é a limpeza de dados que é facilmente acessível (mesmo sem conexão à internet). A maneira mais eficiente de fazer isso para mim foi manter um conjunto de arquivos csv. Obviamente, esse processo pode ser tratado de várias maneiras, mas eu encontrei horas extras muito eficientes e simples para manter um diretório onde eu armazeno e atualize arquivos csv. Eu tenho um arquivo csv por instrumento e cada arquivo é nomeado após o instrumento que ele contém. A razão pela qual eu faço isso é dupla: primeiro, eu não quero baixar dados (preço) do Yahoo, Google etc8230 sempre que eu quiser testar uma nova idéia, mas mais importante, uma vez que identifiquei e solucionei um problema, eu não quero ter que Faça novamente a próxima vez que eu precisar do mesmo instrumento. Simples, mas muito eficiente até agora. O processo está resumido no quadro abaixo. Em tudo o que se segue, suponho que os dados sejam provenientes 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 inicial de dados (listOfInstruments. R amp historicalData. R) O arquivo listOfInstruments. R é um arquivo contendo apenas a lista de todos os instrumentos. Se um instrumento não for parte da minha lista (ou seja, nenhum arquivo csv na minha pasta de dados) ou se você fizer isso pela primeira vez que você deve baixar o conjunto de dados históricos inicial. O exemplo abaixo baixa um conjunto de preços diários dos ETFs da Yahoo Finance de volta para janeiro de 2000 e armazena os dados em um arquivo csv. 2 8211 Atualizar dados existentes (updateData. R) O código abaixo começa a partir de arquivos existentes na pasta dedicada e atualiza todos eles um após o outro. Costumo executar esse processo todos os dias, exceto quando I8217m de férias. Para adicionar um novo instrumento, basta executar o passo 1 acima para este instrumento sozinho. 3 8211 Criar um arquivo em lote (updateDailyPrices. bat) Outra parte importante do trabalho é criar um arquivo em lote que automatiza o processo de atualização acima (I8217m, um usuário do Windows). Isso evita abrir o RRStudio e executar o código a partir daí. 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 apenas descreve como atualizar os dados de preços diários. Eu usei isso por um tempo e funcionou muito bem para mim até agora. Para dados mais avançados e ou frequências mais elevadas, as coisas podem ficar muito mais complicadas. Como de costume, todos os comentários são bem-vindos 15 de agosto de 2015, às 21h03. A indústria de gerenciamento de ativos está à beira de uma grande mudança. Nos últimos dois anos, Robots Advisors (RA) emergiram como novos jogadores. O termo em si é difícil de definir, pois engloba uma grande variedade de serviços. Alguns são projetados para ajudar os conselheiros tradicionais a alocar melhor o dinheiro de seus clientes e alguns são 8220black box8221 reais. O usuário insere alguns critérios (idade, renda, filhos, etc.) e o robô propõe uma alocação feita sob medida. Entre esses dois extremos, está disponível uma gama completa de ofertas. Eu achei a definição da Wikipedia muito boa. 8220Estes uma classe de consultor financeiro que oferece gerenciamento de portfólio on-line com uma intervenção humana mínima8221. Mais precisamente, eles usam gerenciamento de portfólio baseado em algoritmos para oferecer o espectro completo de serviços que um conselheiro tradicional ofereceria: reinvestimento de dividendos, relatórios de conformidade, reequilíbrio de portfólio, colheita de perda de impostos, etc.8230 (bem, isso é o que a comunidade de investimentos quantitativos está fazendo há décadas). A indústria ainda está em sua infância, com a maioria dos jogadores ainda gerenciando uma pequena quantidade de dinheiro, mas eu só percebi o quão profunda era a mudança quando eu estava na Nova York alguns dias atrás. Quando a RA recebe seus nomes na TV adiciona ou no telhado do táxi da NYC, você sabe que algo grande está acontecendo. Esta é cada vez mais a atenção da mídia e, acima de tudo, faz muito sentido da perspectiva do investidor. Na verdade, existem duas vantagens principais no uso da RA: taxas significativamente mais baixas sobre os conselheiros tradicionais. O investimento é mais transparente e mais simples, o que é mais atraente para as pessoas com conhecimento financeiro limitado. Nesta postagem R é apenas uma desculpa para apresentar bem o que é uma grande tendência em A indústria de gerenciamento de ativos. O gráfico abaixo mostra as partes de mercado da RA mais popular do final de 2014. O código usado para gerar o gráfico abaixo pode ser encontrado no final desta publicação e os dados estão aqui. Esses números são um pouco datados, desde a rapidez com que essa indústria evolui, mas ainda é muito informativa. Não surpreendentemente, o mercado é dominado por provedores dos EUA, como Wealthfront e Betterment, mas a RA surge em todo o mundo: Ásia (8Now), Suíça (InvestGlass), França (Marie Quantier) 8230. Está começando a afetar significativamente a forma como os gestores de ativos tradicionais estão fazendo negócios. Um exemplo proeminente é a parceria entre Fidelity e Betterment. Desde dezembro de 2014, melhorando a marca AUM de 2 bilhões. Apesar de tudo acima, acho que a mudança real está à nossa frente. Como eles usam menos intermediários e produtos de baixa comissão (como ETFs) eles cobram taxas muito mais baixas do que os conselheiros tradicionais. A RA certamente ganhará quotas de mercado significativas, mas também reduzirá as taxas cobradas pela indústria como um todo. Em última análise, isso afetará a forma como as empresas de investimento tradicionais fazem negócios. O gerenciamento de portfólio ativo que está tendo um tempo difícil por alguns anos agora sofrerá ainda mais. As taxas elevadas que cobra serão ainda mais difíceis de justificar, a menos que se reinvente. Outro impacto potencial é o aumento de ETFs e produtos financeiros de baixa comissão em geral. Obviamente, isso começou há um tempo atrás, mas acho que o efeito será ainda mais pronunciado nos próximos anos. Novas gerações de ETF acompanham índices mais complexos e estratégias customizadas. Essa tendência ficará mais forte, inevitavelmente. Como de costume, todos os comentários são bem-vindos 7 de julho de 2015, 8:04 am Há muitos tutoriais da série R que flutuam na web, esta publicação não foi projetada para ser uma delas. Em vez disso, eu quero apresentar uma lista dos truques mais úteis que encontrei ao lidar com as séries temporais financeiras em R. Algumas das funções apresentadas aqui são incrivelmente poderosas, mas infelizmente enterradas na documentação, portanto, meu desejo de criar uma publicação dedicada. Eu só dirijo séries de tempos de frequência diária ou baixa. Lidar com dados de freqüência mais alta requer ferramentas específicas: pacotes de dados ou de alta freqüência são alguns deles. Xts. O pacote xts é o que deve ter quando se trata de séries de tempos em R. O exemplo abaixo carrega o pacote e cria uma série de tempo diária de 400 dias, normalmente distribuídos, retorna merge. xts (pacote xts): isso é incrivelmente poderoso quando se trata de Encadernando duas ou mais vezes as séries juntas se elas têm o mesmo comprimento ou não. O argumento de junção faz a magia que determina como a ligação é executada apply. yearlyapply. monthly (pacote xts): aplique uma função específica para cada período distinto em um determinado objeto de séries temporais. O exemplo abaixo calcula os retornos mensais e anuais da segunda série no objeto tsInter. Observe que eu uso a soma dos pontos de extremidade de retorno (sem composição) (pacote xts): extrair valores de índice de um determinado objeto xts correspondente às últimas observações, dado um período especificado por on. O exemplo dá o último dia do mês retorna para cada série no objeto tsInter usando o ponto final para selecionar a data. Na. locf (pacote zoológico): função genérica para substituir cada NA com o mais recente não-NA antes dele. Extremamente útil ao lidar com uma série de tempo com alguns 8220holes8221 e quando esta série de tempo é posteriormente usada como entrada para funções R que não aceita argumentos com NAs. No exemplo, crio uma série temporal de preços aleatórios, em seguida, inclui artificialmente alguns NAs e substituí-los pelo valor mais recente. Charts. PerformanceSummary (pacote PerformanceAnalytics): para um conjunto de retornos, crie um gráfico do índice de riqueza, barras para desempenho por período e gráfico subaquático para retirada. Isso é incrivelmente útil, pois exibe em uma única janela todas as informações relevantes para uma rápida inspeção visual de uma estratégia de negociação. O exemplo abaixo transforma a série de preços em um objeto xts e, em seguida, exibe uma janela com os 3 gráficos descritos acima. A lista acima não é de forma alguma exaustiva, mas uma vez que você domina as funções descritas nesta publicação torna a manipulação das séries temporais financeiras muito mais fácil, o código mais curto e a legibilidade do código melhor. Como de costume, todos os comentários são bem-vindos 23 de março de 2015, às 20h55. Quando se trata de gerenciar um portfólio de ações em comparação com um benchmark, o problema é muito diferente da definição de uma estratégia de retorno absoluto. No primeiro, é preciso manter mais ações do que no final, onde nenhum estoque pode ser realizado se não houver uma oportunidade suficiente. A razão para isso é o erro de rastreamento. Isso é definido como o desvio padrão do retorno da carteira menos o retorno do benchmark. Menos ações são mantidas em comparação com um benchmark quanto maior o erro de rastreamento (por exemplo, maior risco). A análise que se segue é em grande parte inspirada no livro 8220Active Portfolio Management8221 por Grinold amp Kahn. Esta é a Bíblia para quem está interessado em administrar um portfólio em relação a um benchmark. Eu incentivo fortemente qualquer pessoa com interesse no tópico para ler o livro desde o início até o fim. It8217s muito bem escrito e estabelece as bases do gerenciamento sistemático sistemático de portfólio (não tenho afiliação ao editor ou aos autores). 1 8211 Análise de fator Aqui estamos tentando classificar com a maior precisão possível os estoques no universo de investimento em uma base de retorno para a frente. Muitas pessoas vieram com muitas ferramentas e inúmeras variantes dessas ferramentas foram desenvolvidas para conseguir isso. Nesta publicação, foco em duas métricas simples e amplamente utilizadas: Coeficiente de Informações (IC) e Quantiles Return (QR). 1.1 8211 Coeficiente de informação O horizonte para o retorno para a frente deve ser definido pelo analista e it8217s como função do rolamento da estratégia8217 e da desintegração alfa (este tem sido objeto de pesquisa extensiva). Obviamente, os CIs devem ser o mais alto possível em termos absolutos. Para o leitor afiado, no livro de Grinold amp Kahn, é dada uma fórmula que liga a Relação de Informações (IR) e IC: com a amplitude sendo o número de apostas independentes (trades). Esta fórmula é conhecida como a lei fundamental do gerenciamento ativo. O problema é que muitas vezes, definir a amplitude com precisão não é tão fácil quanto parece. 1.2 8211 Retorno dos Quantiles Para ter uma estimativa mais precisa do poder preditivo do fator, é preciso avançar um pouco mais e agrupar os estoques por quantile dos valores dos fatores, em seguida, analisar o retorno direto médio (ou qualquer outra métrica de tendência central) de cada um desses Quantiles. A utilidade desta ferramenta é direta. Um fator pode ter um bom IC, mas seu poder preditivo pode ser limitado a um pequeno número de ações. Isso não é bom, pois um gerente de portfólio terá que escolher ações dentro do universo inteiro para atender a sua restrição de erro de rastreamento. O bom retorno de quantiles são caracterizados por uma relação monótona entre os quantiles individuais e retornos diretos. Todas as ações no índice SampP500 (no momento da redação). Obviamente, há um viés de navio de sobrevivência: a lista de ações no índice mudou significativamente entre o início e o final do período de amostra, no entanto, é bom o suficiente para fins ilustrativos. O código abaixo baixa os preços das ações individuais no SampP500 entre janeiro de 2005 e hoje (leva um tempo) e transforma os preços brutos em retorno nos últimos 12 meses e no último mês. O primeiro é o nosso fator, o último será usado como a medida de retorno direto. Abaixo está o código para calcular Coeficiente de Informação e Quantiles Return. Note-se que eu usei quintiles neste exemplo, mas qualquer outro método de agrupamento (terciles, deciles, etc8230) pode ser usado. Depende realmente do tamanho da amostra, do que você deseja capturar e da sua vontade de ter uma ampla visão geral ou foco nas caudas de distribuição. Para estimar os retornos dentro de cada quintil, a mediana foi utilizada como estimador de tendência central. Esta medida é muito menos sensível a valores aberrantes do que a média aritmética. E, finalmente, o código para produzir o gráfico de Retorno Quantiles. 3 8211 Como explorar as informações acima No gráfico acima, Q1 é mais baixo após 12 meses de retorno e Q5 mais alto. Existe um aumento quase monotônico no retorno de quantiles entre Q1 e Q5, o que indica claramente que os estoques que caíram no Q5 superam aqueles que caíram 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 ao sobreponderar os estoques caindo no Q5 e subponderar os que caíram no Q1 em relação ao benchmark. Um IC de 0,0206 pode não significar um ótimo negócio em si, mas it8217s significativamente diferente de 0 e indica um bom poder preditivo dos últimos 12 meses em geral. Os testes de significância formal podem ser avaliados, mas isso está além do escopo deste artigo. 4 8211 Limitações práticas O quadro acima é excelente para avaliar a qualidade dos investimentos de factor8217, no entanto, existem várias limitações práticas que devem ser abordadas para a implementação da vida real: Reequilíbrio. Na descrição acima, it8217s assumiu que, no final de cada mês, o portfólio é totalmente reequilibrado. 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 com sobrepeso 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 ao peso da indústria ou do setor, existem restrições sobre o roteamento, etc.8230 Custos de transação. Isso não foi levado em consideração na análise acima e isso é um travão grave para a implementação da vida real. As considerações sobre o volume de negócios geralmente são implementadas na vida real de forma a serem penalizadas na qualidade dos fatores. Coeficiente de transferência. Esta é uma extensão da lei fundamental da gestão ativa e relaxa a suposição do modelo Grinold8217s que os gerentes não enfrentam restrições que impedem que eles traduzam seus insights de investimentos diretamente em apostas de portfólio. E, finalmente, I8217m impressionado com o que pode ser alcançado em menos de 80 linhas de código com R8230 Como de costume, todos os comentários são bem-vindos

No comments:

Post a Comment