Tuesday 31 October 2017

F # Moving Average


Eu ainda estou trabalhando para explorar a coisa F - tentando descobrir como pensar em F em vez de apenas traduzir de outras línguas que eu conheço. Ive recentemente pensando nos casos em que você não possui um mapa de 1: 1 entre antes e depois. Casos em que List. map cai. Um exemplo disto é as médias móveis, onde, normalmente, você terá resultados len-n1 para uma lista de comprimento len quando a média sobre n itens. Para os gurus lá fora, esta é uma boa maneira de fazê-lo (usando a fila apertada de Jomo Fisher) (Talvez seja melhor para implementar um MovingAverageQueue ao herdar do Fifo) perguntou 17 de novembro às 11:12 Eu tive que declarar Ele permite que MovingAverage n (s. Seqltfloatgt), para colocar isso em um módulo de utilidade, longe do site de chamadas, para aplacar o sistema de tipos. Tanto quanto posso dizer, isso só funciona com flutuadores, devido a uma limitação da Array. average. MSDN afirma que posso substituir isso com Array. averageBy para usar isso em uma seqüência int, mas isso dá um erro diferente. Brian, você pode reformular essa resposta para trabalhar em contextos genéricos, para que ele funcione com seq-of-any-arithmetic-type, sem tipo de inferência ndash Warren Young 27 de junho às 19:04 Devo ressaltar que minha necessidade de Esta função de média móvel é obter uma janela curta (30ish) sobre uma seqüência de números inteiros que são quase todos em milhões, então eu não preciso de ponto flutuante. Mesmo um único dígito à direita do ponto decimal não é útil na minha aplicação. Convertendo meus inteiros para FP e o resultado de volta para int apenas para aplacar a apelação do doesn39t da biblioteca padrão F. Ndash Warren Young 27 de junho às 19:30 Se você se preocupa com o desempenho, então você pode calcular uma média móvel de forma eficiente usando algo assim (assumindo que estavam calculando uma média móvel em uma janela de 3 dias). A parte mais difícil disso é segurar No seu anterior total em execução e no número N-janela. Eu criei o seguinte código: Esta versão não é tão bonita quanto o código Haskell, mas deve evitar problemas de desempenho associados à recompor sua janela em cada execução. Ele mantém um total em execução e mantém os números usados ​​anteriormente em uma fila, por isso deve ser muito rápido. Apenas por diversão, escrevi um benchmark simples: se você se preocupa com o desempenho e como um código elegante, tente usar FSUnit, podemos testá-lo. O truque do algoritmo é a primeira soma dos primeiros n números e, em seguida, manter um total em execução adicionando a cabeça Da janela e subtraindo a cauda da janela. A janela deslizante é conseguida fazendo um auto zip na sequência, mas com o segundo argumento para zip avançado pelo tamanho da janela. No final do pipeline, dividimos apenas o total em execução pelo tamanho da janela. A varredura de notas é como dobrar, mas produz cada versão do estado em uma seqüência. Uma solução ainda mais elegante, embora possível, com sucesso no desempenho é fazer a observação de que, se não formos o zero, não precisamos calcular a soma inicial. Poderia haver um sucesso de desempenho devido à segunda indireção relacionada ao envolvimento das duas sequências, mas talvez não seja significativa dependendo do tamanho da janela respondida 31 de agosto 12 às 8: 06Tools Math. NET Numerics Versão 3 Math. NET Numerics Está bem no caminho para a próxima versão principal, v3.0. Uma primeira visualização de alfa já foi empurrada para a galeria NuGet, mesmo que ainda haja muito o que fazer. Se você gostaria de entender um pouco melhor, onde atualmente estamos, para onde estava indo e por que, então, continue lendo. Por que uma nova versão importante aplicamos os princípios do controle de versão semântico. O que significa que não devemos quebrar qualquer parte da superfície pública da biblioteca, o que é quase tudo no nosso caso, durante pequenos lançamentos (com o formato de versão em 3 partes major. minor. patch). Isso garante que você possa atualizar facilmente em lançamentos menores sem pensamentos secundários ou quebrar qualquer código. No entanto, às vezes, realmente há uma boa razão para mudar o design, porque é uma maneira complicada de usar, inconsistente, leva a um mau desempenho ou simplesmente não foi bem pensado. Ou simplesmente aprendemos como fazê-lo de uma maneira muito melhor. Você pode ter notado que alguns membros foram declarados como obsoletos nos últimos últimos lançamentos menores, com sugestões sobre como fazê-lo, mesmo que a antiga implementação tenha sido mantida intacta. Ao longo do tempo, todo esse código antigo tornou-se uma dor para manter, e usar a biblioteca foi muito mais complicado do que o necessário. Então eu decidi que era hora de finalmente consertar a maioria dessas questões e limpar. Nós movemos algum queijo por aí nesta versão. Seu código será interrompido em algumas ocasiões. Mas, em todos os casos, uma correção deve ser fácil, se não trivial. Além disso, uma vez lá, estaremos novamente vinculados por versões semânticas para manter a biblioteca estável em todos os futuros lançamentos menores e, portanto, provavelmente nos próximos anos. Além disso, podemos continuar fornecendo parches para o ramo v2 antigo se necessário por um tempo. No entanto, recomendo vivamente que você atualize para o v3 uma vez disponível. O feedback é bem-vinda Uma primeira visualização (v3.0.0-alpha1) já foi publicada no NuGet e planejo fazer pelo menos mais duas versões de pré-visualização antes de alcançar a primeira versão do v3.0. Por favor dê uma olhada e dê um feedback - agora é uma possibilidade única para quebrar as mudanças. Visão geral sobre o que foi feito até agora, simplificações do espaço de nomes. Mais design funcional, quando apropriado. Certifique-se de que tudo funciona bem e se sente nativo tanto em C como em F. Use nomes curtos comuns, se bem conhecidos em vez de nomes completos muito longos (trigonometria). Álgebra linear: usar os tipos genéricos é a maneira recomendada agora, certifique-se de que ele funciona bem. As classes IO para serialização de vetores de matriz tornam-se pacotes separados. Maior refatoração dos solucionadores iterativos. Repleto de peças faltantes, várias simplificações, muitas outras mudanças. Distribuições: limpeza principal. Exposição direta das funções de distribuição (pdf, cdf, etc.). Estimativa de parâmetros. Novas funções de distância Visão geral sobre o que está planejado para fazer Os solucionadores iterativos precisam de mais trabalho. Também gosto de projetá-los de modo que possam ser iterados manualmente, de forma simples. As transformações integrais (FFT etc) precisam de refatoração importante. Apoiado por provedor nativo, se possível. Considere trazer de volta a filtragem (FIR, IIR, média móvel, etc.) O encaixe atual da curva de decomposição QR é ineficiente para grandes conjuntos de dados, mas corrigi-lo na verdade não é muito complicado. Investigue e corrija uma inconsistência na classe Precision. Diminuir as verificações nulas redundantes Detalhes sobre o que é novo na versão 3 até o momento Cair. Algorithms Namespaces Você já teve que abrir 10 namespaces diferentes Math. NET Numerics para obter tudo o que você precisa. Isso deve ficar um pouco melhor na v3, pois as fachadas estáticas, como Integrate . Interpolar. Fit ou FindRoots para casos simples foram movidos diretamente para o namespace de raiz MathNet. Numerics e todos os namespaces de algoritmos (para usos avançados) do formulário MathNet. Numerics. X.Algorithms são agora simplesmente MathNet. Numerics. X. Interpolação Além dos espaços de nomes simplificados, a última sobrecarga diferencial que retorna todo o valor interpolado e a primeira e a segunda derivada em algum ponto x foi simplificada: em vez de dois parâmetros fora em uma ordem inesperada, ele agora retorna uma tupla com ordenação razoável . Integração O design da transformação dobro-exponencial foi bastante estranho. Foi simplificado para uma classe estática e é muito mais simples de usar explicitamente. Distribuições de probabilidade Embora sempre tenha sido possível atribuir uma fonte aleatória personalizada (RNG) a uma distribuição para amostragem de números aleatórios, foi um pouco complicado e exigiu duas etapas. Agora, todos os construtores de distribuição têm uma sobrecarga que aceita uma fonte aleatória personalizada diretamente na construção, em uma única etapa. Algumas distribuições agora suportam a estimativa de parâmetros de máxima verossimilhança e a maioria das distribuições implementam uma função de distribuição cumulativa inversa. Funções de distribuição como PDF. CDF e InvCDF agora estão expostos diretamente como funções estáticas. A documentação interna e a nomeação de parâmetros foram significativamente melhoradas. ChiSquare tornou-se ChiSquared. E a interface IDistribution tornou-se a Divisão de Divulgação. Simplifique a amostragem aleatória mais compostável em F com o novo módulo de amostra. Novas funções de distância Rutinas padrão para avaliar as distâncias euclidianas, Manhattan e Chebychev entre arrays ou vetores, também para a Suma comum de diferença absoluta (SAD), erro médio-absoluto (MAE), Soma de diferença quadrada (SSD) e Mean-Squared Métricas de erro (MSE). Hamming distância. Alavancando provedores, quando apropriado. Menos verificações nulas e ArgumentNullExceptions Provavelmente como um efeito colateral da minha exposição à programação funcional durante o último ano, eu não segui os argumentos porque em C cada rotina deve verificar explicitamente todos os argumentos por nulo. Já deixei algumas dessas verificações, mas ainda há mais de 2000 lugares onde Math. NET Numerics lança ArgumentNullException. A maioria destes provavelmente irá desaparecer. Há um caso em que é sensato mantê-los embora: quando uma rotina aceita um argumento, mas não o usa imediatamente (e, portanto, não causa uma NullReferenceException imediata), uma referência nula se esgueirando poderia ser difícil de depurar, tão bem Mantenha o cheque. Mas esses casos são bastante raros, dada a natureza da biblioteca. Biblioteca IO A biblioteca IO que costumava ser distribuída como parte da pacote central é agora um conjunto de pacotes NuGet separados, e. MathNet. Numerics. Data. Text. E vive em um repositório separado. Favorecendo os tipos genéricos de álgebra linear Uma vez que o espaço de nome genérico foi necessário todo o tempo de qualquer maneira e o caminho feliz recomendado agora é sempre usar os tipos genéricos, tudo do espaço de nome. Generic foi movido para um espaço de nome. De agora em diante, você geralmente só precisa abrir dois namespaces quando trabalha com álgebra linear, mesmo que as factorizações sejam necessárias. Por exemplo, ao usar o tipo duplo, você abrirá MathNet. Numerics. LinearAlgebra e MathNet. Numerics. LinearAlgebra. Double. Uma vez que a digitação é mais forte em F, todas as funções initcreate no módulo F agora retornam diretamente tipos genéricos para que você não tenha que atualizar manualmente o tempo todo. A maioria das rotinas foi generalizada para trabalhar em tipos genéricos. Para casos em que você deseja implementar algoritmos genéricos, mas também precisa criar novas matrizes ou vetores densos ou dispersos, um novo generador genérico foi adicionado. Isso nunca deve ser necessário no código do usuário. Roteias de matriz escalar faltantes Algumas rotinas de matriz escalar faltantes como adicionar ou subtrair um escalar a uma matriz ou dividir um escalar por uma matriz foram adicionadas, apoiadas pelos provedores sempre que possível. Há agora também uma rotina de módulo. Operadores de infixos em ponto onde suportados (F) Weve adicionado em ponto ... e. Operadores para matrizes e vetores na biblioteca central. Isso não é suportado em todos os idiomas. Net ainda, mas funciona bem em F, embora sem suporte de curry. É claro que, nas outras línguas, você pode continuar usando os métodos normais como antes. Factorização e Solversos iterativos Anteriormente, a fatoração da matriz só foi acessada por métodos de extensão ou criação explícita, o que não funcionou muito bem quando se utilizam tipos genéricos. O tipo de matriz genérica agora fornece métodos para criá-los diretamente. Como tal, as implementações reais foram internalizadas, já que não há mais necessidade de acesso direto. A factorização QR é agora fina por padrão, e as factorizações já não clonam seus resultados sem nenhum motivo prático. O design do solucionador iterativo foi significativamente simplificado e agora é genérico e compartilhado sempre que possível e aceita tipos genéricos em todos os lugares. Os namespaces são agora muito mais planos, pois a estrutura muito detalhada não adicionou nenhum valor, mas significou que você precisava abrir uma dúzia de espaços para nome. Melhorias de álgebra linear variada Os vetores agora possuem uma rotina ConjugateDotProduct, além de DotProduct. Os vetores agora fornecem explicitamente as normas L1, L2 e infinitas adequadas Os MatricesVectors agora têm enumeradores consistentes, com uma variante que ignora os zeros (útil se esparso). As rotinas de criação do MatrixVector foram simplificadas e geralmente não requerem dimensões explícitas. Novas variantes para criar matrizes diagonais, ou em que todos os campos tenham o mesmo valor. MatricesVectors expor se o armazenamento é denso com uma nova propriedade IsDense. Os provedores foram movidos para um namespace de Provedores e são totalmente genéricos novamente. AsinAcos complexas mais robustas para grandes números reais. Funções Trig: nomes curtos comuns em vez de nomes muito longos. Complexo: nomes curtos comuns para Exp, Ln, Log10, Log. Estatísticas: novo método de MeanVariance de uma passagem única (como usado frequentemente em conjunto). Compartilhe esta média médias móveis - Médias móveis simples e exponentes - Introdução simples e exponencial As médias móveis suavizam os dados de preços para formar um indicador de tendência seguinte. Eles não prevêem a direção do preço, mas sim definem a direção atual com um atraso. As médias móveis são desactualizadas porque se baseiam em preços passados. Apesar deste atraso, as médias móveis ajudam a melhorar a ação do preço e a eliminar o ruído. Eles também formam os blocos de construção para muitos outros indicadores técnicos e sobreposições, como Bollinger Bands. MACD e o McClellan Oscillator. Os dois tipos mais populares de médias móveis são a média móvel simples (SMA) e a média móvel exponencial (EMA). Essas médias móveis podem ser usadas para identificar a direção da tendência ou definir níveis potenciais de suporte e resistência. Aqui é um gráfico com um SMA e um EMA nele: Cálculo da média móvel simples Uma média móvel simples é formada calculando o preço médio de uma garantia em um período específico de períodos. A maioria das médias móveis baseia-se nos preços de fechamento. Uma média móvel simples de 5 dias é a soma de cinco dias de preços de fechamento dividida por cinco. Como o próprio nome indica, uma média móvel é uma média que se move. Os dados antigos são descartados à medida que novos dados estão disponíveis. Isso faz com que a média se mova ao longo da escala de tempo. Abaixo está um exemplo de uma média móvel de 5 dias evoluindo ao longo de três dias. O primeiro dia da média móvel cobre os últimos cinco dias. O segundo dia da média móvel diminui o primeiro ponto de dados (11) e adiciona o novo ponto de dados (16). O terceiro dia da média móvel continua diminuindo o primeiro ponto de dados (12) e adicionando o novo ponto de dados (17). No exemplo acima, os preços aumentam gradualmente de 11 para 17 durante um total de sete dias. Observe que a média móvel também aumenta de 13 para 15 durante um período de cálculo de três dias. Observe também que cada valor médio móvel está abaixo do último preço. Por exemplo, a média móvel para o dia 1 é igual a 13 e o último preço é 15. Os preços nos quatro dias anteriores foram menores e isso faz com que a média móvel atinja. Cálculo médio exponencial da movimentação As médias móveis exponentes reduzem o atraso aplicando mais peso aos preços recentes. A ponderação aplicada ao preço mais recente depende do número de períodos na média móvel. Existem três etapas para calcular uma média móvel exponencial. Primeiro, calcule a média móvel simples. Uma média móvel exponencial (EMA) tem que começar em algum lugar, de modo que uma média móvel simples é usada como EMA do período anterior em o primeiro cálculo. Em segundo lugar, calcule o multiplicador de ponderação. Em terceiro lugar, calcule a média móvel exponencial. A fórmula abaixo é para uma EMA de 10 dias. Uma média móvel exponencial de 10 períodos aplica uma ponderação de 18,18 para o preço mais recente. Um EMA de 10 períodos também pode ser chamado de 18.18 EMA. Uma EMA de 20 períodos aplica uma pesagem de 9,52 ao preço mais recente (2 (201) .0952). Observe que a ponderação para o período de tempo mais curto é maior do que a ponderação para o período de tempo mais longo. Na verdade, a ponderação cai pela metade cada vez que o tempo médio móvel dobra. Se você quiser uma porcentagem específica para um EMA, você pode usar essa fórmula para convertê-la em períodos de tempo e, em seguida, insira esse valor como o parâmetro EMA039s: abaixo é um exemplo de planilha de uma média móvel simples de 10 dias e um 10- Média móvel exponencial do dia para a Intel. As médias móveis simples são diretas e requerem pouca explicação. A média de 10 dias simplesmente se move à medida que novos preços se tornam disponíveis e os preços antigos caem. A média móvel exponencial começa com o valor médio móvel simples (22.22) no primeiro cálculo. Após o primeiro cálculo, a fórmula normal assume o controle. Como um EMA começa com uma média móvel simples, seu valor verdadeiro não será realizado até 20 ou mais períodos mais tarde. Em outras palavras, o valor na planilha do Excel pode diferir do valor do gráfico devido ao curto período de visualização. Esta planilha apenas remonta a 30 períodos, o que significa que o efeito da média móvel simples teve 20 períodos para se dissipar. StockCharts remonta pelo menos 250 períodos (geralmente muito mais) para os seus cálculos, de modo que os efeitos da média móvel simples no primeiro cálculo foram totalmente dissipados. O Factor de Lag. Quanto maior a média móvel, mais o atraso. Uma média móvel exponencial de 10 dias irá reduzir os preços de forma bastante próxima e virar-se pouco depois que os preços se transformarem. As médias de curto movimento são como barcos de velocidade - ágeis e rápidos de mudar. Em contraste, uma média móvel de 100 dias contém muitos dados passados ​​que o retardam. As médias móveis mais longas são como os petroleiros do oceano - letárgicos e lentos para mudar. É necessário um movimento de preços maior e mais longo para uma média móvel de 100 dias para mudar de curso. O gráfico acima mostra o ETF SampP 500 com um EMA de 10 dias seguindo os preços e uma moagem de SMA de 100 dias mais alta. Mesmo com o declínio de janeiro a fevereiro, o SMA de 100 dias manteve o curso e não recusou. O SMA de 50 dias se encaixa em algum lugar entre as médias móveis de 10 a 100 dias quando se trata do fator de atraso. Médias móveis simples e exponentes Mesmo que existam diferenças claras entre as médias móveis simples e as médias móveis exponenciais, uma não é necessariamente melhor do que a outra. As médias móveis exponentes têm menos atraso e, portanto, são mais sensíveis aos preços recentes - e as recentes mudanças nos preços. As médias móveis exponentes virarão antes das médias móveis simples. As médias móveis simples, por outro lado, representam uma verdadeira média de preços durante todo o período de tempo. Como tal, as médias móveis simples podem ser mais adequadas para identificar níveis de suporte ou resistência. A preferência média móvel depende dos objetivos, do estilo analítico e do horizonte temporal. Os cartistas devem experimentar com os dois tipos de médias móveis, bem como diferentes prazos para encontrar o melhor ajuste. O gráfico abaixo mostra a IBM com o SMA de 50 dias em vermelho e a EMA de 50 dias em verde. Ambos atingiram o pico no final de janeiro, mas o declínio no EMA foi mais acentuado do que o declínio no SMA. O EMA apareceu em meados de fevereiro, mas a SMA continuou abaixo até o final de março. Observe que o SMA apareceu mais de um mês após o EMA. Comprimentos e prazos O comprimento da média móvel depende dos objetivos analíticos. As médias de curto movimento (5-20 períodos) são mais adequadas para tendências e negociações de curto prazo. Chartists interessados ​​em tendências de médio prazo optaram por médias móveis mais longas que poderiam prolongar 20-60 períodos. Os investidores de longo prazo preferirão as médias móveis com 100 ou mais períodos. Alguns comprimentos médios móveis são mais populares do que outros. A média móvel de 200 dias é talvez a mais popular. Por causa de seu comprimento, esta é claramente uma média móvel de longo prazo. Em seguida, a média móvel de 50 dias é bastante popular para a tendência de médio prazo. Muitos cartéescos usam as médias móveis de 50 dias e 200 dias em conjunto. A curto prazo, uma média móvel de 10 dias era bastante popular no passado porque era fácil de calcular. Simplesmente adicionou os números e moveu o ponto decimal. Identificação da tendência Os mesmos sinais podem ser gerados usando médias móveis simples ou exponenciais. Conforme mencionado acima, a preferência depende de cada indivíduo. Estes exemplos abaixo usarão médias móveis simples e exponenciais. O termo média móvel aplica-se a médias móveis simples e exponenciais. A direção da média móvel transmite informações importantes sobre os preços. Uma média móvel ascendente mostra que os preços geralmente aumentam. Uma média decrescente indica que os preços, em média, estão caindo. Uma média móvel crescente a longo prazo reflete uma tendência de alta de longo prazo. Uma média móvel decrescente a longo prazo reflete uma tendência de baixa de longo prazo. O gráfico acima mostra 3M (MMM) com uma média móvel exponencial de 150 dias. Este exemplo mostra o quão bem as médias móveis funcionam quando a tendência é forte. A EMA de 150 dias desistiu em novembro de 2007 e novamente em janeiro de 2008. Observe que demorou 15 para reverter a direção dessa média móvel. Esses indicadores de atraso identificam inversões de tendência à medida que ocorrem (na melhor das hipóteses) ou após ocorrerem (na pior das hipóteses). O MMM continuou abaixo em março de 2009 e passou de 40 a 50. Observe que o EMA de 150 dias não apareceu até depois desse aumento. Uma vez que fez, no entanto, MMM continuou mais alto nos próximos 12 meses. As médias móveis funcionam de forma brilhante em fortes tendências. Crossovers duplos Duas médias móveis podem ser usadas em conjunto para gerar sinais cruzados. Na Análise Técnica dos Mercados Financeiros. John Murphy chama isso de método de cruzamento duplo. Os cruzamentos duplos envolvem uma média móvel relativamente curta e uma média móvel relativamente longa. Tal como acontece com todas as médias móveis, o comprimento geral da média móvel define o prazo para o sistema. Um sistema que utilize um EMA de 5 dias e EMA de 35 dias seria considerado de curto prazo. Um sistema que usa SMA de 50 dias e SMA de 200 dias seria considerado de médio prazo, talvez até de longo prazo. Um cruzamento de alta ocorre quando a média móvel mais curta cruza acima da média móvel mais longa. Isso também é conhecido como uma cruz dourada. Um cruzamento de baixa ocorre quando a média móvel mais curta passa abaixo da média móvel mais longa. Isso é conhecido como uma cruz morta. Os fluxos médios móveis produzem sinais relativamente tardios. Afinal, o sistema emprega dois indicadores de atraso. Quanto mais longos os períodos médios móveis, maior o atraso nos sinais. Esses sinais funcionam bem quando uma boa tendência se apodera. No entanto, um sistema de cruzamento médio móvel produzirá muitos whipsaws na ausência de uma forte tendência. Há também um método de cruzamento triplo que envolve três médias móveis. Novamente, um sinal é gerado quando a média móvel mais curta cruza as duas médias móveis mais longas. Um simples sistema de cruzamento triplo pode envolver médias móveis de 5 dias, 10 dias e 20 dias. O gráfico acima mostra Home Depot (HD) com EMA de 10 dias (linha pontilhada verde) e EMA de 50 dias (linha vermelha). A linha preta é o fechamento diário. O uso de um crossover médio móvel resultaria em três whipsaws antes de pegar um bom comércio. A EMA de 10 dias quebrou abaixo da EMA de 50 dias no final de outubro (1), mas isso não durou tanto quanto os 10 dias se movimentaram atrás em meados de novembro (2). Esta cruz durou mais tempo, mas o próximo cruzamento de baixa em janeiro (3) ocorreu perto dos níveis de preços finais de novembro, resultando em outro whipsaw. Esta cruz descendente não durou tanto quanto a EMA de 10 dias voltou atrás dos 50 dias alguns dias depois (4). Depois de três sinais negativos, o quarto sinal anunciou um forte movimento, já que o estoque avançou acima de 20. Há duas coisas para levar aqui. Primeiro, os cruzamentos são propensos a whipsaw. Um filtro de preço ou tempo pode ser aplicado para ajudar a evitar whipsaws. Os comerciantes podem exigir que o crossover durar 3 dias antes de atuar ou exigir que a EMA de 10 dias se mova acima da EMA de 50 dias por uma certa quantidade antes de agir. Em segundo lugar, o MACD pode ser usado para identificar e quantificar esses cruzamentos. MACD (10,50,1) mostrará uma linha que representa a diferença entre as duas médias móveis exponenciais. O MACD fica positivo durante uma cruz dourada e negativo durante uma cruz morta. O Percentage Price Oscillator (PPO) pode ser usado da mesma maneira para mostrar diferenças percentuais. Note-se que o MACD e o PPO são baseados em médias móveis exponenciais e não combinam com médias móveis simples. Este gráfico mostra Oracle (ORCL) com EMA de 50 dias, EMA de 200 dias e MACD (50.200,1). Havia quatro passagens médias móveis ao longo de um período de 2 12 anos. Os três primeiros resultaram em chicotes ou malfeitos. Uma tendência sustentada começou com o quarto crossover como a ORCL avançou até meados dos anos 20. Mais uma vez, os cruzamentos médios móveis funcionam bem quando a tendência é forte, mas produzem perdas na ausência de uma tendência. Crossovers de preços As médias móveis também podem ser usadas para gerar sinais com crossovers de preços simples. Um sinal de alta é gerado quando os preços se movem acima da média móvel. Um sinal de baixa é gerado quando os preços se movem abaixo da média móvel. Os cruzamentos de preços podem ser combinados para negociar dentro da tendência maior. A média móvel mais longa define o tom para a tendência maior e a média móvel mais curta é usada para gerar os sinais. Um seria procurar cruzes de preços otimistas somente quando os preços já estão acima da média móvel mais longa. Isso seria negociado em harmonia com a maior tendência. Por exemplo, se o preço estiver acima da média móvel de 200 dias, os chartists só se concentrarão em sinais quando o preço se mova acima da média móvel de 50 dias. Obviamente, um movimento abaixo da média móvel de 50 dias precederia esse sinal, mas esses cruzamentos mais baixos seriam ignorados porque a maior tendência é maior. Uma cruz grosseira simplesmente sugeriria uma retração dentro de uma maior tendência de alta. Uma cruzada acima da média móvel de 50 dias indicaria uma recuperação dos preços e a continuação da maior tendência de alta. O próximo gráfico mostra Emerson Electric (EMR) com EMA de 50 dias e EMA de 200 dias. O estoque moveu-se acima e manteve-se acima da média móvel de 200 dias em agosto. Havia mergulhos abaixo da EMA de 50 dias no início de novembro e novamente no início de fevereiro. Os preços rapidamente se movimentaram atrás do EMA de 50 dias para fornecer sinais de alta (setas verdes) em harmonia com a maior tendência de alta. MACD (1,50,1) é mostrado na janela do indicador para confirmar cruzamentos de preços acima ou abaixo do EMA de 50 dias. A EMA de 1 dia é igual ao preço de fechamento. MACD (1,50,1) é positivo quando o fechamento está acima da EMA de 50 dias e negativo quando o fechamento está abaixo da EMA de 50 dias. Suporte e resistência As médias móveis também podem atuar como suporte em uma tendência de alta e resistência em uma tendência de baixa. Uma tendência de alta de curto prazo pode encontrar suporte perto da média móvel simples de 20 dias, que também é usada em Bandas de Bollinger. Uma tendência de alta de longo prazo pode encontrar suporte perto da média móvel simples de 200 dias, que é a média móvel mais popular a longo prazo. De fato, a média móvel de 200 dias pode oferecer suporte ou resistência simplesmente porque é tão amplamente utilizada. É quase como uma profecia auto-realizável. O gráfico acima mostra o NY Composite com a média móvel simples de 200 dias de meados de 2004 até o final de 2008. Os 200 dias forneceram várias vezes durante o avanço. Uma vez que a tendência invertida com uma quebra de suporte de topo duplo, a média móvel de 200 dias atuou como resistência em torno de 9500. Não espere um suporte exato e níveis de resistência a partir de médias móveis, especialmente médias móveis mais longas. Os mercados são impulsionados pela emoção, o que os torna propensos a superar. Em vez de níveis exatos, as médias móveis podem ser usadas para identificar zonas de suporte ou de resistência. Conclusões As vantagens de usar médias móveis precisam ser ponderadas contra as desvantagens. As médias em movimento são indicadores de tendência, ou atraso, indicadores que sempre estarão um passo atrás. Isso não é necessariamente uma coisa ruim. Afinal, a tendência é sua amiga e é melhor negociar na direção da tendência. As médias móveis asseguram que um comerciante esteja em linha com a tendência atual. Embora a tendência seja sua amiga, os títulos gastam uma grande quantidade de tempo nas gamas de negociação, o que torna as médias móveis ineficazes. Uma vez em uma tendência, as médias móveis o manterão, mas também darão sinais tardios. Don039t espera vender no topo e comprar no fundo usando médias móveis. Tal como acontece com a maioria das ferramentas de análise técnica, as médias móveis não devem ser usadas por conta própria, mas em conjunto com outras ferramentas complementares. Os cartistas podem usar médias móveis para definir a tendência geral e, em seguida, usar RSI para definir níveis de sobrecompra ou sobrevenda. Adicionando médias móveis para gráficos de ações A média móvel está disponível como um recurso de sobreposição de preços no banco de trabalho SharpCharts. Usando o menu suspenso Overlays, os usuários podem escolher uma média móvel simples ou uma média móvel exponencial. O primeiro parâmetro é usado para definir o número de períodos de tempo. Um parâmetro opcional pode ser adicionado para especificar qual campo de preço deve ser usado nos cálculos - O para Open, H para High, L para Low e C para o Close. Uma vírgula é usada para separar os parâmetros. Outro parâmetro opcional pode ser adicionado para mudar as médias móveis para o lado esquerdo (passado) ou para a direita (futuro). Um número negativo (-10) deslocaria a média móvel para os 10 períodos esquerdos. Um número positivo (10) deslocaria a média móvel para os 10 períodos certos. Várias médias móveis podem ser sobrepostas ao gráfico de preços, simplesmente adicionando outra linha de sobreposição ao banco de trabalho. Os membros do StockCharts podem alterar as cores e o estilo para diferenciar entre médias móveis múltiplas. Depois de selecionar um indicador, abra Opções avançadas clicando no pequeno triângulo verde. Opções avançadas também podem ser usadas para adicionar uma sobreposição média móvel a outros indicadores técnicos como RSI, CCI e Volume. Clique aqui para obter um gráfico ao vivo com várias médias móveis diferentes. Usando Médias em Movimento com Análises de StockCharts Aqui estão algumas varreduras de amostra que os membros do StockCharts podem usar para escanear várias situações de média móvel: Cruzada média movimentada de Bullish: Esta varredura procura ações com uma média móvel crescente de 150 dias e uma cruz de alta dos 5 EMA EMA e EMA de 35 dias. A média móvel de 150 dias está aumentando, desde que esteja negociando acima do nível cinco dias atrás. Uma cruz de alta ocorre quando o EMA de 5 dias se move acima do EMA de 35 dias no volume acima da média. Croácia média baixa de Bearish: esta pesquisa procura ações com uma média móvel decrescente de 150 dias e uma cruz descendente da EMA de 5 dias e EMA de 35 dias. A média móvel de 150 dias está caindo enquanto estiver negociando abaixo do nível cinco dias atrás. Uma cruz descendente ocorre quando a EMA de 5 dias se move abaixo da EMA de 35 dias no volume acima da média. Estudo adicional O livro de John Murphy039 tem um capítulo dedicado às médias móveis e seus vários usos. Murphy cobre os prós e contras das médias móveis. Além disso, Murphy mostra como as médias móveis funcionam com bandas Bollinger e sistemas de negociação baseados em canais. Análise Técnica dos Mercados Financeiros John Murphy

No comments:

Post a Comment