Thursday 17 August 2017

Quantstrat Forex Trading


Negociação com Bollinger Bands (R) O Bollinger Bands reg irá suportar a ação de preço. Em tempos de alta volatilidade, eles se ampliam, enquanto em tempos de baixa volatilidade, eles se aproximam. Então, basicamente, eles se ajustam ao movimento e à volatilidade do mercado. Este filtro de volatilidade extra é o valor real desta ferramenta. Existem duas condições que buscamos em uma oportunidade comercial. Queremos comprar uma retração para suportar quando o mercado estiver em alta tendência ou vender um aumento até a resistência quando o mercado estiver em declínio. As Bandas Bollinger geralmente oferecem boa resistência e suporte para nossa configuração comercial, então precisamos ter certeza de que estamos seguindo os fortes pares de tendências. Letrsquos olha um exemplo neste gráfico diário USDCHF. Criado pela FXCM Marketscope Charts 2.0 A tendência é alta, pois podemos ver uma série de altos e baixos mais altos, o que significa procurar um mergulho para suportar (a banda baixa) para uma oportunidade de compra. Eu tenho dois exemplos observados no charthellipthe primeiro ocorreu em maio e o segundo ocorreu em junho deste ano. O mercado foi negociado para baixo na Bollinger Band menor em cada uma das instâncias indicadas nas caixas. No entanto, isso não é necessariamente a própria compra, mas sim o sinal para começar a procurar uma compra em uma inversão. Os comerciantes usarão uma variedade de métodos para determinar a entrada, variando desde o uso do seu indicador favorito até a compra, à medida que o mercado avança no alto anterior. Uma abordagem popular é comprar na primeira vela que se fecha acima da linha intermediária média de 20 dias. Isso serve como mais confirmação da reversão e aumenta nossa chance de sucesso no comércio. (No gráfico acima, o candelabro ldquobuy é identificado por uma seta verde). Os comerciantes poderiam então colocar sua parada protetora abaixo do mecha mais baixa na caixa e procurar duas vezes esse risco em lucro por um risco 1: 2: razão de recompensa. Gostaria de mencionar que a ação do preço no USDCHF desceu e tocou o Bollinger Band mais baixo quatro vezes nos últimos dias. Isso significa que devemos estar à procura de outra oportunidade de compra. Mas ao invés de apenas comprar agora, este seria o momento de usar sua abordagem para identificar essa entrada de compra para aumentar suas chances de sucesso no comércio. O preço subiu desde que a banda baixa foi testada na semana passada. Ao exercitar paciência e disciplina e aguardar esse primeiro fechamento acima da Média de Movimento Simples de 20 dias seria uma maneira de entrar neste comércio usando a estratégia Bollinger Band que você acabou de aprender. Novo no mercado FX Economize horas em descobrir o que é FOREX trading. Leve este curso grátis de 20 minutos para ldquoNew to FXrdquo apresentado pelo DailyFX Education. No curso, você aprenderá sobre o básico de uma transação FOREX, qual alavancagem é, e como determinar uma quantidade apropriada de alavancagem para sua negociação. Registe-se aqui para começar sua negociação FOREX agora. O DailyFX fornece notícias e análises técnicas sobre as tendências que influenciam os mercados globais de moeda. Esta publicação será uma revisão aprofundada do livro Quantitative Momentum do Alpha Architect8217s. No geral, na minha opinião, o livro é fantástico para aqueles que são profissionais no gerenciamento de fundos no espaço de equidade individual e ainda contém idéias que valem a pena pensar fora desse espaço. No entanto, o sistema detalhado no livro se beneficia do ranking aninhado (classificar ao longo do eixo X, pegar o decil superior, classificar ao longo do eixo Y dentro do decil superior em X e tomar o decil superior ao longo do eixo Y, restringindo essencialmente a seleção para 1 do universo). Além disso, o livro não faz muito para tocar nos controles de volatilidade, o que talvez tenha melhorado o sistema. Antes de entrar no mercado desta postagem, eu gostaria de deixar meus leitores saberem que eu formalizei minhas porcas e parafusos da série Quantstrat de postagens como um curso formal de datacamp. Datacamp é uma maneira muito barata de aprender um monte de R, e as aplicações financeiras estão entre esses tópicos. Meu curso cobre os fundamentos do quantstrat, e se aqueles que completam o curso gostem disso, posso muito bem criar módulos de quantstrat mais avançados no datacamp. I8217m na esperança de que os cursos de finanças sejam bem recebidos, uma vez que há assuntos financeiros em R I8217d gostaria de aprender que uma palestra de 45 minutos não é suficiente (como o Dr. David Matteson8217s altera magia dos pontos, PortfolioAnalytics, etc.). Em qualquer caso, here8217s o link. Então, let8217s começam com um resumo do livro: a Parte 1 é vários capítulos que são a exposição gigante de por que o impulso funciona (ou pelo menos, funcionou há pelo menos 20 anos desde 1993). Portanto, os viés humanos e os comportamentos irracionais atuam Certas maneiras de fazer a anomalia funcionar. Em seguida, também o risco de carreira (AKA it8217s é um fator de risco, e, portanto, se o seu benchmark é o SPY e você corre durante um período de 3 anos de baixo desempenho, você tem um risco de carreira grave) e, essencialmente, uma linda de porque um ativo profissional O gerente seria demitido, mas se você ficar com a anomalia durante muitos anos e enfrentar vários trechos de desempenho relativo durante vários anos, you8217ll virá a frente no longo prazo. Geralmente, eu sinto que o trabalho deve ser feito se este for o melhor que possa ser feito, mas está bem, eu aceito. Essencialmente, a parte 1 é para os não iniciados. Para aqueles que estiveram em torno do bloco de impulso um par de vezes, eles podem ignorar isso. Infelizmente, é metade do livro, de modo que deixa um pouco de gosto azedo na boca. Em seguida, a segunda parte é onde, na minha opinião, a carne real e as batatas do livro82118. Essencialmente, o algoritmo pode ser reduzido no seguinte: Tomando o universo de estoques de grande e médio limite, faça o seguinte: 1) Classifique os estoques em deciles por 2-12 momentum8211, que é, no final de cada mês, calcula o ímpeto No último mês8217, preço de fechamento menos o preço de fechamento há 12 meses. Essencialmente, a pesquisa afirma que há um efeito de reversão no impulso de 1 mês. No entanto, esse efeito não é transferido para o universo ETF na minha experiência. 2) Aqui é a parte interessante que faz com que o livro valha a pena apanhar sozinho (na minha opinião): depois de classificar em deciles, classifique o decil superior pela seguinte métrica: multiplique o sinal do impulso 2-12 pela seguinte equação: (Retorno negativo 8211 positivo). Essencialmente, a idéia aqui é determinar a suavidade do impulso. Ou seja, na situação mais extrema, imagine um estoque que não fez absolutamente nada por 230 dias, e então teve um dia maciço que lhe deu toda a sua valorização de preços (pense no Google quando teve um salto de 10 em números melhores do que o esperado Relatórios), e no outro extremo, uma ação que simplesmente teve todos e cada dia uma pequena apreciação positiva do preço. Obviamente, you8217d quer o segundo tipo de estoque. Essa idéia foi essa. Mais uma vez, classifique em deciles e tome o décile superior. Portanto, tomar o decile superior do decile superior deixa você com 1 do universo. Essencialmente, isso faz com que a idéia seja muito difícil de replicar, como a necessidade de rastrear um enorme universo de ações. Isso afirmou, acho que a expressão é realmente uma boa idéia como um stand-in para a volatilidade. Ou seja, independentemente de quão volátil é um ativo, se ele fosse tão volátil como uma commodity como o DBC, ou como não volátil como um produto de renda fixa como SHY, essa expressão é uma maneira interessante de indicar 8220. Esse caminho é choppy8221 vs. 8220. Esse caminho é Smooth8221. Eu poderia investigar essa expressão no meu blog ainda no futuro. 3) Por último, se o portfólio estiver voltando trimestral em vez de mensal, os melhores meses para reverter são os meses que precedem o final do trimestre do mês (ou seja, fevereiro, maio, agosto e novembro), porque um monte de ativos amadores Os gerentes gostam de vestir 8220window suas carteiras. Ou seja, eles tiveram um quarto malcriado, então, no último mês antes de enviarem declarações trimestrais, eles carregam alguns vencedores recentes para que seus clientes não pensem que eles são tão amadores como eles realmente deixaram, e aí um golpe para esta. Da mesma forma, janeiro tem algumas anomalias de venda devido à colheita de perda de impostos. No que diz respeito às implementações práticas, acho que este é um toque muito agradável. Concedendo o fato de que virar todos os meses pode ser um pouco caro demais, eu gosto de que Wes e Jack digam que você deseja transformá-lo uma vez a cada três meses, mas em que meses8221. It8217s é uma pergunta muito boa para perguntar se isso significa que você obtém um ponto percentual adicional ou 150 bps por ano, já que ele apenas pode cobrir os custos de transação e depois alguns. Em suma, é uma estratégia bastante simples de entender. No entanto, a parte desse tipo de controle do livro para uma replicação perfeita é a dificuldade em obter os dados do CRSP. No entanto, recomendo ao Alpha Architect por divulgar todo o algoritmo do início ao fim. Além disso, se o impulso básico de 2-12 não for suficiente, um apêndice detalhando outros tipos de idéias de impulso (impulso dos ganhos, classificação por distância a máximos de 52 semanas, momento histórico absoluto, etc.). Nenhuma dessas estratégias é realmente muito melhor do que a estratégia básica de impulso de preços, então eles estão lá para os interessados, mas parece que não existe nada realmente inovador. Ou seja, se você estiver negociando uma vez por mês, há apenas tantas maneiras de dizer isso, acho que isso está acontecendo8221. Eu também gosto que Wes e Jack tenham abordado o fato de que a tendência segue, embora não melhore o CAGR ou o Sharpe em geral , Faz uma enorme quantidade para melhorar a redução máxima. Ou seja, se confrontado com a perspectiva de perder 70-80 de tudo e perder apenas 30, essa é uma escolha fácil de fazer. Trend-following é bom, até mesmo uma versão simplista. Em suma, acho que o livro realiza o que se propõe a fazer, que é apresentar um algoritmo bem pesquisado. Em última análise, o punchline está no site Alpha Architect8217s (eu acredito que eles têm algum tipo de filtro de estoque mensal). Além disso, o livro afirma que há melhores retornos ajustados ao risco quando combinados com o algoritmo delineado no livro 8220quantitative value8221. Na minha experiência, eu nunca tinha algoritmos de valor me impressionar nos backtests que eu fiz, mas eu posso achar que não tenho experiência com todas as métricas de avaliação. Minha crítica do livro, no entanto, é a seguinte: o algoritmo de momentum no livro perde o que eu sinto é um dos principais componentes: a volatilidade visando o controle. Simplesmente, o documento 8220momentum tem seus momentos8221 (que abordei na minha série de posts de desenvolvimento orientada para hipóteses), afirma essencialmente que a estratégia de impulso Fama-French usual é muito melhor de uma estratégia de risco-recompensa ao desalavancar em tempos de volatilidade excessiva e Evitando momentum falha. Eu não sei por que Wes e Jack não tocaram esse documento, uma vez que a implementação é muito simples (fator de alavancagem de volatilidade alvo). Idealmente, eu gostaria que Wes ou Jack pudessem me enviar o fluxo de retornos para esta estratégia (de preferência diariamente, mas mensalmente também funciona). Essencialmente, acho que este livro é muito abrangente. No entanto, acho que também tem um pouco 8220don8217t tentar isso em casa8221 sentir isso devido ao requisito de dados para replicá-lo. Certamente, se o seu corretor lhe cobrar uma transação, essa estratégia não é uma estratégia viável para soltar vários milhares de dólares por ano em custos de transação, que apenas dê seus retornos ao seu corretor. No entanto, eu me pergunto se o QMOM ETF (do Alpha Architect, é claro) é, de fato, uma versão melhor desta estratégia, fora da taxa de gerenciamento. Em qualquer caso, a minha opinião final é esta: enquanto este livro deixa um pouco de conhecimento sobre a mesa, em um todo, ele realiza o que se propõe a fazer, é claro com seus procedimentos e fornece várias idéias valiosas. Pelo preço de um livro didático não-técnico (aka, os 60 livros sobre amazonas), este livro é um roubo. Obrigado pela leitura. NOTA: Enquanto estou atualmente empregado em uma capacidade de análise bem sucedida, estou interessado em ouvir sobre posições de tempo integral mais relacionadas aos tópicos deste blog. Se você tem uma posição de tempo integral que pode se beneficiar das minhas habilidades atuais, avise-me. Meu Linkedin pode ser encontrado aqui. Este post será sobre a tentativa de usar o pacote Depmix para a previsão do estado online. Enquanto o pacote depmix funciona de forma admirável quando se trata de descrever os estados do passado, quando usado para uma previsão de passo a passo, sob o pressuposto de que o estado de tomorrow8217s será idêntico a today8217s, o processo do modelo markov escondido encontrado dentro do pacote não Cumprir as expectativas. Então, para começar, esta publicação foi motivada por Michael Halls-Moore, que recentemente publicou algum código R sobre como usar a biblioteca depmixS4 para usar modelos markov ocultos. Geralmente, não estou com vontade de criar postagens em tópicos que eu não sinto ter uma compreensão absoluta de frente para trás, mas I8217m fazendo isso com a esperança de aprender com os outros sobre como fazer previsões de estado-espaço on-line ou 8220regime switch8221 Detecção, como pode ser chamado em mais linguagem financeira. Embora tenha visto a teoria usual de modelos de markov ocultos (isto é, pode chover ou pode ser ensolarado, mas você só pode inferir o tempo julgando pelas roupas que vê pessoas vestindo fora de sua janela quando você acorda) e trabalhou Com exemplos de brinquedos em MOOCs (o curso de carro de auto-condução de Udacity8217s trata deles, se eu me lembro corretamente ou talvez seja o curso de AI), no final do dia, a teoria é tão boa quanto o bom desempenho de uma implementação em dados reais . Para essa experiência, eu decidi tomar dados SPY desde o início, e fazer um 8220backtest 8221 completo na amostra nos dados. Ou seja, dado que o algoritmo HMM da depmix vê toda a história dos retornos, com essa visão dos dados no 8220god8217s eye8221, o algoritmo classifica corretamente os regimes, se os resultados do backtest forem uma indicação do código para isso, inspirado por Dr. Halls-Moore8217s. Essencialmente, enquanto eu selecionei três estados, notei que qualquer coisa com uma intercepção acima de zero é um estado de touro, e abaixo de zero é um estado de osso, então, essencialmente, ele se reduz a dois estados. Com o resultado: Então, não particularmente terrível. O algoritmo funciona, tipo de, tipo de, certo Bem, let8217s tentam a previsão online agora. Então, o que fiz aqui foi que eu fiz uma janela em expansão, a partir de 500 dias desde o início do SPY8217 e continuando aumentando, por um dia de cada vez. Minha previsão foi, trivialmente, o dia mais recente, usando um 1 para um estado de touro e um -1 para um estado de urso. Eu executei esse processo em paralelo (em um cluster do linux, porque o Windows8217s doParallel library parece não saber se certos pacotes são carregados e it8217s mais bagunçado) e o primeiro grande problema é que esse processo levou cerca de três horas em sete núcleos para Cerca de 23 anos de dados. Não é exatamente encorajador, mas o tempo de computação não é caro hoje em dia. Então let8217s ver se esse processo realmente funciona. Em primeiro lugar, let8217s testar se o algoritmo faz o que realmente deveria fazer e usar um dia de viés de frente para a frente (ou seja, o algoritmo nos diz o estado no final do dia8211 como correto é mesmo para esse dia). Com o resultado: então, alegadamente, o algoritmo parece fazer o que foi projetado para fazer, que é classificar um estado para um dado conjunto de dados. Agora, a pergunta mais pertinente: quão bem essas previsões fazem até um dia antes You8217d acho que as previsões espaciais do estado seriam parcimoniosas do dia a dia, dada a longa história, corrigir com o resultado: isto é, sem o viés O algoritmo de previsão do espaço estadual é atroz. Por que isso é bom, aqui a história do argumento: em suma, o algoritmo hmm online no pacote depmix parece mudar sua mente com muita facilidade, com implicações óbvias (negativas) para as estratégias de negociação reais. Então, isso o encerra para esta publicação. Essencialmente, a principal mensagem aqui é a seguinte: há uma grande diferença entre o carregamento fazendo análise descritiva (AKA 8220 onde você esteve, por que as coisas aconteceram8221) versus a análise preditiva (isto é, se eu prever corretamente o futuro, eu recebo uma recompensa positiva8221 ). Na minha opinião, enquanto a estatística descritiva tem seu objetivo em termos de explicar por que uma estratégia pode ter realizado o que aconteceu, em última instância, estamos procurando sempre melhores ferramentas de previsão. Neste caso, depmix, pelo menos nesta demonstração 8220out-of-the-box8221 não parece ser a ferramenta para isso. Se alguém tiver tido sucesso com o uso de depmix (ou outro algoritmo de comutação de regime em R) para predição, eu adoraria ver o trabalho detalhando o procedimento, já que é uma área I8217m que procura expandir minha caixa de ferramentas, mas don8217t tem algum particular Boas pistas. Essencialmente, gostaria de pensar nesta publicação enquanto descrevendo minhas próprias experiências com o pacote. Obrigado pela leitura. NOTA: No dia 5 de outubro, estarei na cidade de Nova York. No dia 6 de outubro, irei apresentar no The Trading Show no painel "Programming Wars". NOTA: O meu contrato de análise atual está sendo revisado no final do ano, então também procuro outras ofertas. Se você tem um papel a tempo inteiro que pode se beneficiar das habilidades que você vê no meu blog, entre em contato comigo. O meu perfil associado pode ser encontrado aqui. Esta publicação apresentará o valor condicional dos componentes em mecânica de risco encontrada em PerformanceAnalytics a partir de um artigo escrito por Brian Peterson, Kris Boudt e Peter Carl. Este é um mecanismo que é um mecanismo fácil de chamar para calcular o déficit esperado do componente nos retornos dos ativos conforme eles se aplicam a um portfólio. Embora a mecânica exata seja bastante complexa, a vantagem é que o tempo de execução é quase instantâneo, e esse método é uma ferramenta sólida para incluir na análise de alocação de ativos. Para aqueles interessados ​​em uma análise aprofundada da intuição do valor condicional condicional em risco, eu encamelo para o artigo escrito por Brian Peterson, Peter Carl e Kris Boudt. Essencialmente, a ideia: todos os ativos em um determinado portfólio têm uma contribuição marginal para o seu valor condicional total em risco (também conhecido como déficit esperado) 8211, ou seja, a perda esperada quando a perda supera um certo limiar. Por exemplo, se você quiser saber o seu 5 déficit esperado, então, a média dos piores 5 retornos por 100 dias, e assim por diante. Para os retornos que utilizam a resolução diária, a idéia de déficit esperado pode soar como se nunca houvesse dados suficientes em um período de tempo suficientemente rápido (em um ano ou menos), a fórmula para o déficit esperado no padrão PerformanceAnalytics é um cálculo de aproximação usando um Expansão de Cornish-Fisher, que oferece resultados muito bons, desde que o valor p não seja muito extremo (isto é, funciona para valores de p relativamente saudáveis, como o intervalo de 1-10). O Componente Valor Condicional em Risco tem dois usos: primeiro fora, sem pesos de entrada, usa um padrão de peso igual, o que permite que ele forneça uma estimativa de risco para cada bem individual, sem sobrecarregar o pesquisador para criar suas próprias heurísticas de covariância de correlação. Em segundo lugar, quando fornecido com um conjunto de pesos, a saída muda para refletir a contribuição de vários ativos proporcionalmente aos pesos. Isso significa que esta metodologia funciona muito bem com estratégias que excluem ativos com base no impulso, mas precisam de um esquema de ponderação para os ativos remanescentes. Além disso, o uso desta metodologia também permite uma análise ex-post da contribuição de risco para ver qual instrumento contribuiu para o que arriscar. Primeiro, uma demonstração de como o mecanismo funciona usando o conjunto de dados edhec. Não há estratégia aqui, apenas uma demonstração de sintaxe. Isso assumirá uma contribuição de igual peso de todos os fundos no conjunto de dados edhec. Portanto, tmp é a contribuição para o déficit esperado de cada um dos vários gerentes do edhec durante todo o período de tempo. Here8217s a saída: a parte saliente disso é a porcentagem de contribuição (a última saída). Observe que pode ser negativo, o que significa que certos fundos ganham quando outros perdem. Pelo menos, este foi o caso do conjunto de dados atual. Esses ativos diversificam um portfólio e, de fato, reduzem o déficit esperado. Neste caso, eu também pontuei os dez primeiros gerentes no conjunto de dados da edhec e colocou peso zero nos últimos três. Além disso, podemos ver o que acontece quando os pesos não são iguais. Desta vez, note que, à medida que o peso aumentou no gerenciador de arborescência convertível, também fez sua contribuição para o déficit máximo esperado. Para um futuro backtest, gostaria de fazer alguns pedidos de dados. Gostaria de usar o universo encontrado no livro Global Asset Allocation da Faber8217s. Dito isto, as simulações nesse livro remontam a 1972, e eu queria saber se alguém lá fora tinha retornos diários desses índices de ativos. Embora alguns ETFs voltem ao início dos anos 2000, há alguns que começam bastante atrasados, como DBC (commodities, início de 2006), GLD (ouro, início de 2004), BWX (títulos estrangeiros, final de 2007) e FTY (NAREIT, início 2007). Como um backtest de oito anos seria um pouco curto, eu queria saber se alguém tinha dados com mais história. Outra coisa, vou em Nova York para o show comercial. E falando no painel 8220programming wars8221 em 6 de outubro. Obrigado pela leitura. NOTA: Enquanto eu estou contratando atualmente, também estou procurando uma posição permanente que possa se beneficiar das minhas habilidades para quando meu contrato atual terminar. Se você tem ou está ciente de tal abertura, ficarei feliz em falar com você. Esta publicação cobrirá uma função para simplificar a criação de estratégias de reequilíbrio de tipo Harry Long de SeekingAlpha para leitores interessados. Como Harry Long afirmou, a maioria, senão todas as suas estratégias são mais para fins demonstrativos em vez de investimentos reais recomendados. Então, desde que Harry Long publicou mais alguns artigos sobre Seeknig Alpha, eu tinha um leitor ou dois que me pedissem para analisar suas estratégias (novamente). Em vez de fazer isso, no entanto, eu simplesmente coloco essa ferramenta aqui, que é um invólucro que automatiza a aquisição de dados e simula o reequilíbrio do portfólio com uma linha de código. Aqui é a ferramenta. Obtém os dados para você (geralmente do Yahoo, mas um grande agradecimento ao Sr. Helumth Vollmeier no caso de ZIV e VXX) e tem a opção de simplesmente exibir uma curva de equidade e algumas estatísticas (CAGR, desenvolvimento padrão anualizado , Sharpe, max Drawdown, Calmar), ou dando-lhe o fluxo de retorno como uma saída se você deseja fazer mais análises em R. Here8217s um exemplo de simplesmente obter as estatísticas, com um 80 XLP SPLV (they8217re mais ou menos intercambiáveis) e 20 TMF (aka 60 TLT, então um portfólio de 80 60), de um dos artigos de Harry Long8217s. Nada fora do comum do que poderíamos esperar de um portfólio equilibrado de títulos de ações. Geralmente faz bem, tem sua maior retração na crise financeira e alguns outros solavancos na estrada, mas, em geral, penso que um bastante bem-vindo e esquece esse tipo de coisa. E aqui seria a maneira de obter o fluxo de retornos diários individuais, assumindo que você desejava reequilibrar esses dois instrumentos semanalmente, em vez de anualmente (como é o padrão). E agora deixe8217 obter algumas estatísticas. Acontece, movendo o reequilíbrio de cada ano para o didn8217t semanal, tem muito efeito aqui (além de dar um monte de dinheiro ao seu corretor, se você tiver em conta os custos de transação, o que isso não implica). Então, isso é como esta ferramenta funciona. Os resultados, obviamente, começam a partir do início do início do ano. O truque, na minha opinião, é tentar encontrar substitutos de proxy com histórias mais longas para ETFs mais recentes que são simplesmente ETFs alavancados, como usar um peso de 60 em TLT com um peso de 80 em XLP em vez de um peso de 20 em TMF com alocação de 80 No SPLV. Por exemplo, aqui estão alguns proxies: SPXL XLP SPXL UPRO SPY 3 TMF TLT 3 Dito isto, I8217ve trabalhado com Harry Long antes, e ele desenvolve estratégias mais sofisticadas nos bastidores, então eu recomendo que os leitores SeekingAlpha tomem suas estratégias publicamente lançadas como conceito Demonstrações, ao contrário de idéias de investimento de pleno direito, e entre em contato com o Sr. Long ele próprio sobre soluções mais personalizadas e privadas para instituições de investimento se você estiver tão interessado. Obrigado pela leitura. NOTA: Atualmente estou no nordeste. Enquanto estou contratando atualmente, estou interessado em trabalhar em rede com pessoas físicas ou jurídicas no que diz respeito a possíveis oportunidades de colaboração. Esta publicação irá demonstrar como levar em consideração o volume de negócios ao lidar com dados baseados em retorno usando PerformanceAnalytics e a função Return. Portfolio em R. Isso irá demonstrar isso em uma estratégia básica nos nove setores SPDRs. Então, primeiro, isso é em resposta a uma pergunta colocada por Robert Wages na lista de endereços R-SIG-Finance. Embora existam muitos indivíduos lá fora com uma infinidade de perguntas (muitas das quais podem ser encontradas para ser demonstradas neste blog já), ocasionalmente, haverá um veterano do setor, um estudante de estatística de doutorado de Stanford ou outro indivíduo muito inteligente que Vai fazer uma pergunta sobre um tópico que eu ainda não toquei nesse blog, o que irá solicitar uma publicação para demonstrar outro aspecto técnico encontrado em R. Este é um desses momentos. Então, esta demonstração será sobre o roteamento de computação no espaço de retorno usando o pacote PerformanceAnalytics. Simplesmente, fora do pacote PortfolioAnalytics, o PerformanceAnalytics com sua função Return. Portfolio é o pacote R para simulação de gerenciamento de portfólio, pois pode levar um conjunto de pesos, um conjunto de retornos e gerar um conjunto de retornos de portfólio para análise Com o resto das funções do PerformanceAnalytics8217s. Novamente, a estratégia é esta: pegue os 9 SPDRs do setor de três letras (já que há ETFs de quatro letras agora) e, no final de cada mês, se o preço ajustado estiver acima da média móvel de 200 dias, investir nela . Normalize em todos os setores investidos (isto é, 1 9, se investido em todos os 9, 100 em 1, se apenas 1 investidos em 100 caixas, denotado com um vetor de retorno zero, se nenhum setor for investido). A8217 é uma estratégia de brinquedo simples, já que a estratégia não é o ponto da demonstração. Aqui, digite o código de configuração básico: então, obtenha os SPDRs, junte-os, compile seus retornos, gere o sinal e crie o vetor zero, já que Return. Portfolio trata os pesos inferiores a 1 como retirada e pesos acima de 1 como adição De mais capital (grande FYI aqui). Agora, aqui, como calcular o volume de negócios: Então, o truque é o seguinte: quando você chama Return. portfolio, use a opção verbosa TRUE. Isso cria vários objetos, entre eles retorna, BOP. Weight e EOP. Weight. Estes representam o início do peso do período e o final do período de peso. A forma como o volume de negócios é calculado é simplesmente a diferença entre o retorno do dia8217s o portfólio alocado do seu ponto final anterior para onde esse portfólio realmente está no início do próximo período. Ou seja, o final do período de peso é o início do período de deriva depois de ter em conta o retorno de drift day8217s para esse bem. O novo início do período de peso é o final do período de peso, mais todas as transações que teriam sido feitas. Assim, para encontrar as transações reais (ou volume de negócios), uma subtrai o peso do final do período anterior desde o início do período de peso. É assim que essas transações se parecem com essa estratégia. Algo que podemos fazer com esses dados é levar um rolamento de rodagem de um ano, realizado com o seguinte código: Parece assim: isso significa essencialmente que um ano de faturamento de dois turnos (isto é, se vender um portfólio inteiramente investido é 100 de volume de negócios e comprar um conjunto inteiramente novo de ativos é outro 100, então o volume de negócios bidirecional é de 200) é de cerca de 800 no máximo. Isso pode ser bastante alto para algumas pessoas. Agora, aqui, o aplicativo é aplicado quando você penaliza os custos de transação em 20 pontos base por ponto percentual negociado (ou seja, custa 20 cêntimos para transacionar 100). Assim, em 20 pontos base em custos de transação, isso leva cerca de um por cento em retornos por ano desta (possivelmente, terrível) estratégia. Isso é muito insignificante. Então, é assim que você realmente calcula o volume de negócios e os custos de transação. Nesse caso, o modelo de custo de transação foi muito simples. No entanto, dado que Return. portfolio retorna as transações no nível de ativos individuais, pode-se ficar tão complexo quanto eles gostariam de modelar os custos de transação. Obrigado pela leitura. NOTA: Estarei dando uma conversa relâmpago na R Finance, então, para aqueles que participam, você pode me encontrar lá. Esta publicação descreverá um erro fácil de fazer na escrita de backtests vectorizados8211, em vez de usar um sinal obtido no final de um período para inserir (ou sair) uma posição nesse mesmo período. A diferença nos resultados obtidos é enorme. Hoje, eu vi duas postagens separadas do Alpha Architect e Mike Harris referenciando um artigo de Valeriy Zakamulin sobre o fato de que algumas pesquisas de tendências anteriores da Glabadanidis foram feitas com resultados de má qualidade e que os resultados da Glabadanidis8217s eram apenas reprodutíveis através do preconceito institucional. O código a seguir mostra como reproduzir esse viés de lookahead. Primeiro, a configuração de uma estratégia de média móvel básica no índice SampP 500, desde que os dados do Yahoo fornecerão. E aqui é como instituir o viés de lookahead. Estes são os 8220 resultados8221: É claro que esta curva de equidade é inútil, então aqui é uma em escala logarítmica. Como pode ser visto, a polarização de lookahead faz uma grande diferença. Aqui estão os resultados numéricos: Novamente, absolutamente ridículo. Note-se que, ao usar Return. Portfolio (a função em PerformanceAnalytics), esse pacote irá dar-lhe automaticamente o retorno do próximo período8217s, em vez do atual, para os seus pesos. No entanto, para aqueles que escrevem 8220simple8221 backtests que podem ser feitos rapidamente usando operações vectorizadas, um erro off-by-one pode fazer a diferença entre um backtest no reino de razoável e puro absurdo. No entanto, se alguém quiser testar essas tolices quando confrontados com resultados impossíveis de replicar, a mecânica demonstrada acima é a maneira de fazê-lo. Agora, para outras notícias: I8217d gostaria de agradecer a Gerald M por permanecer em cima de uma das estratégias da Logical Invest8211, sua estratégia de rotação de mercado global simples descrita em um artigo de uma postagem de blog anterior. Até março de 2015 (a data da postagem no blog), a estratégia teve um bom desempenho. No entanto, após a data mencionada, foi um desastre completo, que, em retrospectiva, era evidente quando o passei através do processo de estrutura de desenvolvimento orientado para a hipótese que eu escrevi sobre o anterior. Assim, embora tenha havido um grande negócio escrito sobre não apenas jogar fora uma estratégia por causa do baixo desempenho do curto prazo, e que anomalias, como o impulso e o valor, existem por causa do risco de carreira devido ao baixo desempenho a curto prazo, isso não é uma coisa boa Quando uma estratégia cria perdas historicamente grandes, particularmente depois de ser publicado em um canto tão humilde do mundo financeiro quantitativo. Em qualquer caso, esta foi uma publicação demonstrando alguns mecanismos e uma atualização sobre uma estratégia que bloguei há pouco tempo atrás. Obrigado pela leitura. NOTE: I am always interested in hearing about new opportunities which may benefit from my expertise, and am always happy to network. You can find my LinkedIn profile here . This post will shed light on the values of R2s behind two rather simplistic strategies 8212 the simple 10 month SMA, and its relative, the 10 month momentum (which is simply a difference of SMAs, as Alpha Architect showed in their book DIY Financial Advisor . Not too long ago, a friend of mine named Josh asked me a question regarding R2s in finance. He8217s finishing up his PhD in statistics at Stanford, so when people like that ask me questions, I8217d like to answer them. His assertion is that in some instances, models that have less than perfect predictive power (EG R2s of .4, for instance), can still deliver very promising predictions, and that if someone were to have a financial model that was able to explain 40 of the variance of returns, they could happily retire with that model making them very wealthy. Indeed. 4 is a very optimistic outlook (to put it lightly), as this post will show. In order to illustrate this example, I took two 8220staple8221 strategies 8212 buy SPY when i ts closing monthly price is above its ten month simple moving average, and when its ten month momentum (basically the difference of a ten month moving average and its lag) is positive. While these models are simplistic, they are ubiquitously talked about, and many momentum strategies are an improvement upon these baseline, 8220out-of-the-box8221 strategies. Here8217s the code to do that: And here are the results: In short, the SMA10 and the 10-month momentum (aka ROC 10 aka MOM10) both handily outperform the buy and hold, not only in absolute returns, but especially in risk-adjusted returns (Sharpe and Calmar ratios). Again, simplistic analysis, and many models get much more sophisticated than this, but once again, simple, illustrative example using two strategies that outperform a benchmark (over the long term, anyway). Now, the question is, what was the R2 of these models To answer this, I took a rolling five-year window that essentially asked: how well did these quantities (the ratio between the closing price and the moving average 8211 1, or the ten month momentum) predict the next month8217s returns That is, what proportion of the variance is explained through the monthly returns regressed against the previous month8217s signals in numerical form (perhaps not the best framing, as the signal is binary as opposed to continuous which is what is being regressed, but let8217s set that aside, again, for the sake of illustration). Here8217s the code to generate the answer. And the answer, in pictorial form: In short, even in the best case scenarios, namely, crises which provide momentum trend-following call it what you will its raison d8217etre, that is, its risk management appeal, the proportion of variance explained by the actual signal quantities was very small. In the best of times, around 20. But then again, think about what the R2 value actually is8211it8217s the percentage of variance explained by a predictor. If a small set of signals (let alone one) was able to explain the majority of the change in the returns of the SampP 500, or even a not-insignificant portion, such a person would stand to become very wealthy. More to the point, given that two strategies that handily outperform the market have R2s that are exceptionally low for extended periods of time, it goes to show that holding the R2 up as some form of statistical holy grail certainly is incorrect in the general sense, and anyone who does so either is painting with too broad a brush, is creating disingenuous arguments, or should simply attempt to understand another field which may not work the way their intuition tells them. Obrigado pela leitura. This review will review the 8220Adaptive Asset Allocation: Dynamic Global Portfolios to Profit in Good Times 8211 and Bad8221 book by the people at ReSolve Asset Management. Overall, this book is a definite must-read for those who have never been exposed to the ideas within it. However, when it comes to a solution that can be fully replicated, this book is lacking. Okay, it8217s been a while since I reviewed my last book, DIY Financial Advisor. from the awesome people at Alpha Architect. This book in my opinion, is set up in a similar sort of format. This is the structure of the book, and my reviews along with it: Part 1: Why in the heck you actually need to have a diversified portfolio, and why a diversified portfolio is a good thing. In a world in which there is so much emphasis put on single-security performance, this is certainly something that absolutely must be stated for those not familiar with portfolio theory. It highlights the example of two people8211one from Abbott Labs, and one from Enron, who had so much of their savings concentrated in their company8217s stock. Mr. Abbott got hit hard and changed his outlook on how to save for retirement, and Mr. Enron was never heard from again. Long story short: a diversified portfolio is good, and a properly diversified portfolio can offset one asset8217s zigs with another asset8217s zags. This is the key to establishing a stream of returns that will help meet financial goals. Basically, this is your common sense story (humans love being told stories) so as to motivate you to read the rest of the book. It does its job, though for someone like me, it8217s more akin to a big 8220wait for it, wait for it8230and there8217s the reason why we should read on, as expected8221. Part 2: Something not often brought up in many corners of the quant world (because it8217s real life boring stuff) is the importance not only of average returns, but when those returns are achieved. Namely, imagine your everyday saver. At the beginning of their careers, they8217re taking home less salary and have less money in their retirement portfolio (or speculation portfolio, but the book uses retirement portfolio). As they get into middle age and closer to retirement, they have a lot more money in said retirement portfolio. Thus, strong returns are most vital when there is more cash available to the portfolio, and the difference between mediocre returns at the beginning and strong returns at the end of one8217s working life as opposed to vice versa is astronomical and cannot be understated. Furthermore, once in retirement, strong returns in the early years matter far more than returns in the later years once money has been withdrawn out of the portfolio (though I8217d hope that a portfolio8217s returns can be so strong that one can simply 8220live off the interest8221). Or, put more intuitively: when you have 10,000 in your portfolio, a 20 drawdown doesn8217t exactly hurt because you can make more money and put more into your retirement account. But when you8217re 62 and have 500,000 and suddenly lose 30 of everything, well, that8217s massive. How much an investor wants to avoid such a scenario cannot be understated. Warren Buffett once said that if you can8217t bear to lose 50 of everything, you shouldn8217t be in stocks. I really like this part of the book because it shows just how dangerous the ideas of 8220a 50 drawdown is unavoidable8221 and other 8220stay invested for the long haul8221 refrains are. Essentially, this part of the book makes a resounding statement that any financial adviser keeping his or her clients invested in equities when they8217re near retirement age is doing something not very advisable, to put it lightly. In my opinion, those who advise pension funds should especially keep this section of the book in mind, since for some people, the long-term may be coming to an end, and what matters is not only steady returns, but to make sure the strategy doesn8217t fall off a cliff and destroy decades of hard-earned savings. Part 3: This part is also one that is a very important read. First off, it lays out in clear terms that the long-term forward-looking valuations for equities are at rock bottom. That is, the expected forward 15-year returns are very low, using approximately 75 years of evidence. Currently, according to the book, equity valuations imply a negative 15-year forward return. However, one thing I will take issue with is that while forward-looking long-term returns for equities may be very low, if one believed this chart and only invested in the stock market when forecast 15-year returns were above the long term average, one would have missed out on both the 2003-2007 bull runs, and the one since 2009 that8217s just about over. So, while the book makes a strong case for caution, readers should also take the chart with a grain of salt in my opinion. However, another aspect of portfolio construction that this book covers is how to construct a robust (assets for any economic environment) and coherent (asset classes balanced in number) universe for implementation with any asset allocation algorithm. I think this bears repeating: universe selection is an extremely important topic in the discussion of asset allocation, yet there is very little discussion about it. Most research topics simply take some 8220conventional universe8221, such as 8220all stocks on the NYSE8221, or 8220all the stocks in the SampP 5008221, or 8220the entire set of the 50-60 most liquid futures8221 without consideration for robustness and coherence. This book is the first source I8217ve seen that actually puts this topic under a magnifying glass besides 8220finger in the air pick and choose8221. Part 4: and here8217s where I level my main criticism at this book. For those that have read 8220Adaptive Asset Allocation: A Primer8221. this section of the book is basically one giant copy and paste. It8217s all one large buildup to 8220momentum rank min-variance optimization8221. All well and good, until there8217s very little detail beyond the basics as to how the minimum variance portfolio was constructed. Namely, what exactly is the minimum variance algorithm in use Is it one of the poor variants susceptible to numerical instability inherent in inverting sample covariance matrices Or is it a heuristic like David Varadi8217s minimum variance and minimum correlation algorithm The one feeling I absolutely could not shake was that this book had a perfect opportunity to present a robust approach to minimum variance, and instead, it8217s long on concept, short on details. While the theory of 8220maximize return for unit risk8221 is all well and good, the actual algorithm to implement that theory into practice is not trivial, with the solutions taught to undergrads and master8217s students having some well-known weaknesses. On top of this, one thing that got hammered into my head in the past was that ranking also had a weakness at the inclusion exclusion point. E. G. if, out of ten assets, the fifth asset had a momentum of say, 10.9, and the sixth asset had a momentum of 10.8, how are we so sure the fifth is so much better And while I realize that this book was ultimately meant to be a primer, in my opinion, it would have been a no-objections five-star if there were an appendix that actually went into some detail on how to go from the simple concepts and included a small numerical example of some algorithms that may address the well-known weaknesses. This doesn8217t mean Greek mathematical jargon. Just an appendix that acknowledged that not every reader is someone only picking up his first or second book about systematic investing, and that some of us are familiar with the 8220whys8221 and are more interested in the 8220hows8221. Furthermore, I8217d really love to know where the authors of this book got their data to back-date some of these ETFs into the 90s. Part 5: some more formal research on topics already covered in the rest of the book8211namely a section about how many independent bets one can take as the number of assets grow, if I remember it correctly. Long story short You easily get the most bang for your buck among disparate asset classes, such as treasuries of various duration, commodities, developed vs. emerging equities, and so on, as opposed to trying to pick among stocks in the same asset class (though there8217s some potential for alpha there8230just8230a lot less than you imagine). So in case the idea of asset class selection, not stock selection wasn8217t beaten into the reader8217s head before this point, this part should do the trick. The other research paper is something I briefly skimmed over which went into more depth about volatility and retirement portfolios, though I felt that the book covered this topic earlier on to a sufficient degree by building up the intuition using very understandable scenarios. So that8217s the review of the book. Overall, it8217s a very solid piece of writing, and as far as establishing the why, it does an absolutely superb job. For those that aren8217t familiar with the concepts in this book, this is definitely a must-read, and ASAP. However, for those familiar with most of the concepts and looking for a detailed 8220how8221 procedure, this book does not deliver as much as I would have liked. And I realize that while it8217s a bad idea to publish secret sauce, I bought this book in the hope of being exposed to a new algorithm presented in the understandable and intuitive language that the rest of the book was written in, and was left wanting. Still, that by no means diminishes the impact of the rest of the book. For those who are more likely to be its target audience, it8217s a 5 5. For those that wanted some specifics, it still has its gem on universe construction. Overall, I rate it a 4 5. Thanks for reading. Happy new year. This post will be a quick one covering the relationship between the simple moving average and time series momentum. The implication is that one can potentially derive better time series momentum indicators than the classical one applied in so many papers. Okay, so the main idea for this post is quite simple: I8217m sure we8217re all familiar with classical momentum. That is, the price now compared to the price however long ago (3 months, 10 months, 12 months, etc.). E. G. P(now) 8211 P(10) And I8217m sure everyone is familiar with the simple moving average indicator, as well. E. G. SMA(10). Well, as it turns out, these two quantities are actually related. It turns out, if instead of expressing momentum as the difference of two numbers, it is expressed as the sum of returns, it can be written (for a 10 month momentum) as: MOM10 return of this month return of last month return of 2 months ago 8230 return of 9 months ago, for a total of 10 months in our little example. This can be written as MOM10 (P(0) 8211 P(1)) (P(1) 8211 P(2)) 8230 (P(9) 8211 P(10)). (Each difference within parentheses denotes one month8217s worth of returns.) Which can then be rewritten by associative arithmetic as: (P(0) P(1) 8230 P(9)) 8211 (P(1) P(2) 8230 P(10)). In other words, momentum 8212 aka the difference between two prices, can be rewritten as the difference between two cumulative sums of prices. And what is a simple moving average Simply a cumulative sum of prices divided by however many prices summed over. Here8217s some R code to demonstrate. With the resulting number of times these two signals are equal: In short, every time. Now, what exactly is the punchline of this little example Here8217s the punchline: The simple moving average is8230fairly simplistic as far as filters go. It works as a pedagogical example, but it has some well known weaknesses regarding lag, windowing effects, and so on. Here8217s a toy example how one can get a different momentum signal by changing the filter. With the following results: While the difference of EMA10 strategy didn8217t do better than the difference of SMA10 (aka standard 10-month momentum), that8217s not the point. The point is that the momentum signal is derived from a simple moving average filter, and that by using a different filter, one can still use a momentum type of strategy. Or, put differently, the main general takeaway here is that momentum is the slope of a filter, and one can compute momentum in an infinite number of ways depending on the filter used, and can come up with a myriad of different momentum strategies. Obrigado pela leitura. NOTE: I am currently contracting in Chicago, and am always open to networking. Contact me at my email at ilya. kipnisgmail or find me on my LinkedIn here. This post will outline a first failed attempt at applying the ensemble filter methodology to try and come up with a weighting process on SPY that should theoretically be a gradual process to shift from conviction between a bull market, a bear market, and anywhere in between. This is a follow-up post to this blog post. So, my thinking went like this: in a bull market, as one transitions from responsiveness to smoothness, responsive filters should be higher than smooth filters, and vice versa, as there8217s generally a trade-off between the two. In fact, in my particular formulation, the quantity of the square root of the EMA of squared returns punishes any deviation from a flat line altogether (although inspired by Basel8217s measure of volatility, which is the square root of the 18-day EMA of squared returns), while the responsiveness quantity punishes any deviation from the time series of the realized prices. Whether these are the two best measures of smoothness and responsiveness is a topic I8217d certainly appreciate feedback on. In any case, an idea I had on the top of my head was that in addition to having a way of weighing multiple filters by their responsiveness (deviation from price action) and smoothness (deviation from a flat line), that by taking the sums of the sign of the difference between one filter and its neighbor on the responsiveness to smoothness spectrum, provided enough ensemble filters (say, 101, so there are 100 differences), one would obtain a way to move from full conviction of a bull market, to a bear market, to anything in between, and have this be a smooth process that doesn8217t have schizophrenic swings of conviction. Here8217s the code to do this on SPY from inception to 2003: And here8217s the very underwhelming result: Essentially, while I expected to see changes in conviction of maybe 20 at most, instead, my indicator of sum of sign differences did exactly as I had hoped it wouldn8217t, which is to be a very binary sort of mechanic. My intuition was that between an 8220obvious bull market8221 and an 8220obvious bear market8221 that some differences would be positive, some negative, and that they8217d net each other out, and the conviction would be zero. Furthermore, that while any individual crossover is binary, all one hundred signs being either positive or negative would be a more gradual process. Apparently, this was not the case. To continue this train of thought later, one thing to try would be an all-pairs sign difference. Certainly, I don8217t feel like giving up on this idea at this point, and, as usual, feedback would always be appreciated. Obrigado pela leitura. NOTE: I am currently consulting in an analytics capacity in downtown Chicago. However, I am also looking for collaborators that wish to pursue interesting trading ideas. If you feel my skills may be of help to you, let8217s talk. You can email me at ilya. kipnisgmail, or find me on my LinkedIn here . Post navigation Categories

No comments:

Post a Comment