2nd order moving average filter
Modelos de média móvel e suavização exponencial Como um primeiro passo para ir além dos modelos de média, modelos de caminhada aleatória e modelos de tendência linear, padrões e tendências não sazonais podem ser extrapolados usando um modelo de média móvel ou suavização. A suposição básica por trás dos modelos de média e suavização é que a série temporal é localmente estacionária com uma média de variação lenta. Assim, tomamos uma média móvel (local) para estimar o valor atual da média e, em seguida, usamos isso como a previsão para o futuro próximo. Isso pode ser considerado como um compromisso entre o modelo de média e o modelo de passeio aleatório sem deriva. A mesma estratégia pode ser usada para estimar e extrapolar uma tendência local. Uma média móvel é muitas vezes chamada de uma versão quotsmoothed da série original porque a média de curto prazo tem o efeito de suavizar os solavancos da série original. Ao ajustar o grau de suavização (a largura da média móvel), podemos esperar encontrar algum tipo de equilíbrio ideal entre o desempenho dos modelos de caminhada média e aleatória. O tipo mais simples de modelo de média é o. Média Móvel Simples (igualmente ponderada): A previsão para o valor de Y no tempo t1 que é feito no tempo t é igual à média simples das observações mais recentes: (Aqui e em outros lugares eu usarei o símbolo 8220Y-hat8221 para ficar para uma previsão da série temporal Y feita o mais cedo possível por um dado modelo.) Esta média é centrada no período t - (m1) / 2, o que implica que a estimativa da média local tenderá a ficar atrás do valor verdadeiro da média local em cerca de (m1) / 2 períodos. Assim, dizemos que a idade média dos dados na média móvel simples é (m1) / 2 em relação ao período para o qual a previsão é calculada: é a quantidade de tempo que as previsões tenderão a ficar para trás nos pontos de virada no dados. Por exemplo, se você está calculando a média dos últimos 5 valores, as previsões serão aproximadamente 3 períodos mais tarde para responder aos pontos de virada. Observe que, se m1, o modelo de média móvel simples (SMA) é equivalente ao modelo de passeio aleatório (sem crescimento). Se m é muito grande (comparável à duração do período de estimativa), o modelo SMA é equivalente ao modelo de média. Como acontece com qualquer parâmetro de um modelo de previsão, é costume ajustar o valor de k para obter o melhor quotfit dos dados, ou seja, os menores erros de previsão, em média. Aqui está um exemplo de uma série que parece exibir flutuações aleatórias em torno de uma média de variação lenta. Primeiro, vamos tentar ajustá-lo com um modelo de passeio aleatório, o que equivale a uma média móvel simples de 1 termo: o modelo de passeio aleatório responde muito rapidamente a mudanças na série, mas ao fazê-lo ele escolhe muito da cotação na série. dados (as flutuações aleatórias), bem como o quotsignalquot (a média local). Se, em vez disso, tentarmos uma média móvel simples de 5 termos, obteremos um conjunto de previsões mais suave: a média móvel simples de 5 termos gera erros significativamente menores do que o modelo de passeio aleatório nesse caso. A idade média dos dados nesta previsão é de 3 ((51) / 2), de modo que ela tende a ficar atrás dos pontos de virada em cerca de três períodos. (Por exemplo, uma desaceleração parece ter ocorrido no período 21, mas as previsões não mudam até vários períodos depois.) Observe que as previsões de longo prazo do modelo SMA são uma linha reta horizontal, assim como no passeio aleatório. modelo. Assim, o modelo SMA assume que não há tendência nos dados. No entanto, enquanto as previsões do modelo de passeio aleatório são simplesmente iguais ao último valor observado, as previsões do modelo SMA são iguais a uma média ponderada de valores recentes. Os limites de confiança calculados pela Statgraphics para as previsões de longo prazo da média móvel simples não aumentam à medida que o horizonte de previsão aumenta. Isso obviamente não está correto Infelizmente, não há uma teoria estatística subjacente que nos diga como os intervalos de confiança devem se ampliar para esse modelo. No entanto, não é muito difícil calcular estimativas empíricas dos limites de confiança para as previsões de horizonte mais longo. Por exemplo, você poderia configurar uma planilha na qual o modelo do SMA seria usado para prever duas etapas à frente, três etapas à frente etc. na amostra de dados históricos. Você poderia calcular os desvios padrão da amostra dos erros em cada horizonte de previsão e, em seguida, construir intervalos de confiança para previsões de longo prazo, adicionando e subtraindo múltiplos do desvio padrão apropriado. Se tentarmos uma média móvel simples de 9 prazos, obteremos previsões ainda mais suaves e mais um efeito retardado: a idade média é agora de 5 períodos ((91) / 2). Se tomarmos uma média móvel de 19 anos, a idade média aumentará para 10: observe que, de fato, as previsões agora estão atrasadas em relação aos pontos de virada em cerca de 10 períodos. Que quantidade de suavização é melhor para esta série? Aqui está uma tabela que compara suas estatísticas de erro, incluindo também uma média de três termos: Modelo C, a média móvel de 5 termos, produz o menor valor de RMSE por uma pequena margem sobre os 3 A médio e médio prazo, e as outras estatísticas são quase idênticas. Assim, entre os modelos com estatísticas de erros muito semelhantes, podemos escolher se preferiríamos um pouco mais de capacidade de resposta ou um pouco mais de suavidade nas previsões. (Voltar ao topo da página.) Suavização exponencial simples de Browns (média móvel exponencialmente ponderada) O modelo de média móvel simples descrito acima tem a propriedade indesejável de tratar as últimas k observações igualmente e ignorar completamente todas as observações anteriores. Intuitivamente, os dados passados devem ser descontados de forma mais gradual - por exemplo, a observação mais recente deve ter um pouco mais de peso do que o segundo mais recente, e o segundo mais recente deve ter um pouco mais de peso do que o terceiro mais recente. em breve. O simples modelo de suavização exponencial (SES) faz isso. Seja 945 denotar uma constante de quotsmoothing (um número entre 0 e 1). Uma maneira de escrever o modelo é definir uma série L que representa o nível atual (ou seja, o valor médio local) da série, conforme estimado a partir dos dados até o presente. O valor de L no tempo t é computado recursivamente a partir de seu próprio valor anterior como este: Assim, o valor atual suavizado é uma interpolação entre o valor suavizado anterior e a observação atual, onde 945 controla a proximidade do valor interpolado com o mais recente. observação. A previsão para o próximo período é simplesmente o valor atual suavizado: equivalentemente, podemos expressar a próxima previsão diretamente em termos de previsões anteriores e observações anteriores, em qualquer uma das seguintes versões equivalentes. Na primeira versão, a previsão é uma interpolação entre previsão anterior e observação anterior: Na segunda versão, a próxima previsão é obtida ajustando a previsão anterior na direção do erro anterior por um valor fracionário 945. é o erro feito em tempo t. Na terceira versão, a previsão é uma média móvel exponencialmente ponderada (ou seja, com desconto) com fator de desconto 1- 945: A versão de interpolação da fórmula de previsão é a mais simples de usar se você estiver implementando o modelo em uma planilha: ela se encaixa em um célula única e contém referências de célula apontando para a previsão anterior, a observação anterior e a célula onde o valor de 945 é armazenado. Observe que, se 945 1, o modelo SES é equivalente a um modelo de passeio aleatório (sem crescimento). Se 945 0, o modelo SES é equivalente ao modelo da média, assumindo que o primeiro valor suavizado é definido como igual à média. (Retornar ao início da página.) A idade média dos dados na previsão de suavização exponencial simples é 1/945 em relação ao período para o qual a previsão é calculada. (Isso não deve ser óbvio, mas pode ser facilmente demonstrado pela avaliação de uma série infinita.) Assim, a previsão da média móvel simples tende a ficar para trás em pontos de virada em cerca de 1/945. Por exemplo, quando 945 0,5 o atraso é de 2 períodos quando 945 0,2 o atraso é de 5 períodos quando 945 0,1 o atraso é de 10 períodos e assim por diante. Para uma determinada idade média (ou seja, quantidade de defasagem), a previsão de suavização exponencial simples (SES) é um pouco superior à previsão da média móvel simples (SMA) porque coloca um peso relativamente maior na observação mais recente - isto é. é ligeiramente mais sensível às mudanças que ocorreram no passado recente. Por exemplo, um modelo SMA com 9 termos e um modelo SES com 945 0.2 ambos têm uma idade média de 5 para os dados em suas previsões, mas o modelo SES coloca mais peso nos últimos 3 valores do que o modelo SMA e no mesmo tempo, ele não ignora inteiramente os valores acima de 9 períodos, como mostrado neste gráfico: Outra importante vantagem do modelo SES sobre o modelo SMA é que o modelo SES usa um parâmetro de suavização que é continuamente variável, para que possa ser facilmente otimizado usando um algoritmo quotsolverquot para minimizar o erro quadrático médio. O valor ideal de 945 no modelo SES para esta série é 0.2961, como mostrado aqui: A idade média dos dados nesta previsão é de 1 / 0.2961 3.4 períodos, o que é similar ao de um movimento simples de 6 termos. média. As previsões de longo prazo do modelo SES são uma linha reta horizontal. como no modelo SMA e no modelo de passeio aleatório sem crescimento. No entanto, observe que os intervalos de confiança calculados pela Statgraphics agora divergem de maneira razoável, e que eles são substancialmente mais estreitos do que os intervalos de confiança para o modelo de passeio aleatório. O modelo SES assume que a série é um pouco mais "previsível" do que o modelo de passeio aleatório. Um modelo SES é, na verdade, um caso especial de um modelo ARIMA. Portanto, a teoria estatística dos modelos ARIMA fornece uma base sólida para calcular os intervalos de confiança para o modelo SES. Em particular, um modelo SES é um modelo ARIMA com uma diferença não sazonal, um termo MA (1) e nenhum termo constante. também conhecido como um modelo quotARIMA (0,1,1) sem constante. O coeficiente MA (1) no modelo ARIMA corresponde à quantidade 1-945 no modelo SES. Por exemplo, se você ajustar um modelo ARIMA (0,1,1) sem constante para as séries aqui analisadas, o coeficiente estimado de MA (1) será 0,7029, que é quase exatamente um menos 0,2961. É possível adicionar a suposição de uma tendência linear constante diferente de zero a um modelo SES. Para fazer isso, basta especificar um modelo ARIMA com uma diferença não-sazonal e um termo MA (1) com uma constante, ou seja, um modelo ARIMA (0,1,1) com constante. As previsões a longo prazo terão então uma tendência que é igual à tendência média observada ao longo de todo o período de estimativa. Você não pode fazer isso em conjunto com o ajuste sazonal, porque as opções de ajuste sazonal são desabilitadas quando o tipo de modelo é definido como ARIMA. No entanto, você pode adicionar uma tendência exponencial constante de longo prazo a um modelo de suavização exponencial simples (com ou sem ajuste sazonal) usando a opção de ajuste de inflação no procedimento Previsão. A taxa de "inflação" por período pode ser estimada como o coeficiente de inclinação em um modelo de tendência linear ajustado aos dados em conjunto com uma transformação logarítmica natural, ou pode ser baseado em outra informação independente sobre perspectivas de crescimento a longo prazo. . (Voltar ao topo da página) Browns Linear (ie double) Suavização exponencial Os modelos SMA e modelos SES assumem que não há tendência de nenhum tipo nos dados (o que é normalmente OK ou pelo menos não muito mau para 1- previsões antecipadas quando os dados são relativamente ruidosos), e elas podem ser modificadas para incorporar uma tendência linear constante como mostrado acima. E as tendências de curto prazo Se uma série exibe uma taxa variável de crescimento ou um padrão cíclico que se destaca claramente contra o ruído, e se há a necessidade de prever mais de um período à frente, então a estimativa de uma tendência local também pode ser um problema. O modelo de suavização exponencial simples pode ser generalizado para obter um modelo de suavização exponencial linear (LES) que calcula estimativas locais de nível e tendência. O modelo de tendência mais simples e variante no tempo é o modelo de suavização exponencial linear de Brown, que usa duas séries suavizadas diferentes que são centralizadas em diferentes pontos no tempo. A fórmula de previsão é baseada em uma extrapolação de uma linha através dos dois centros. (Uma versão mais sofisticada deste modelo, Holt8217s, é discutida abaixo.) A forma algébrica do modelo de suavização exponencial linear de Brown8217s, como o modelo de suavização exponencial simples, pode ser expressa em várias formas diferentes, mas equivalentes. A forma "padrão" deste modelo é geralmente expressa da seguinte forma: Seja S a série suavemente obtida pela aplicação da suavização exponencial simples à série Y. Ou seja, o valor de S no período t é dado por: (Lembre-se que, sob simples suavização exponencial, essa seria a previsão para Y no período t1.) Então, Squot denota a série suavizada duplamente obtida aplicando suavização exponencial simples (usando o mesmo 945) à série S: Finalmente, a previsão para Y tk. para qualquer kgt1, é dado por: Isto resulta em e 1 0 (isto é, trapaceie um pouco, e deixe a primeira previsão igual à primeira observação real), e e 2 Y 2 8211 Y 1. após o qual as previsões são geradas usando a equação acima. Isto produz os mesmos valores ajustados que a fórmula baseada em S e S se estes últimos foram iniciados usando S 1 S 1 Y 1. Esta versão do modelo é usada na próxima página que ilustra uma combinação de suavização exponencial com ajuste sazonal. Holt8217s Linear Exponential Smoothing O modelo Brown8217s LES calcula as estimativas locais de nível e tendência suavizando os dados recentes, mas o fato de fazer isso com um único parâmetro de suavização impõe uma restrição nos padrões de dados que ele pode ajustar: o nível e a tendência não é permitido variar em taxas independentes. O modelo Holt8217s LES aborda esse problema incluindo duas constantes de suavização, uma para o nível e outra para a tendência. A qualquer momento t, como no modelo Brown8217s, existe uma estimativa L t do nível local e uma estimativa T t da tendência local. Aqui eles são calculados recursivamente a partir do valor de Y observado no tempo t e as estimativas anteriores do nível e da tendência por duas equações que aplicam suavização exponencial a elas separadamente. Se o nível e tendência estimados no tempo t-1 são L t82091 e T t-1. respectivamente, então a previsão para Y tshy que teria sido feita no tempo t-1 é igual a L t-1 T t-1. Quando o valor real é observado, a estimativa atualizada do nível é computada de forma recursiva pela interpolação entre Y tshy e sua previsão, L t-1 T t-1, usando pesos de 945 e 1- 945. A mudança no nível estimado, ou seja, L t 8209 L t82091. pode ser interpretado como uma medida ruidosa da tendência no tempo t. A estimativa atualizada da tendência é então calculada recursivamente pela interpolação entre L t 8209 L t82091 e a estimativa anterior da tendência, T t-1. usando pesos de 946 e 1-946: A interpretação da constante de suavização de tendência 946 é análoga àquela da constante de suavização de nível 945. Modelos com valores pequenos de 946 assumem que a tendência muda apenas muito lentamente com o tempo, enquanto modelos com maiores 946 assumem que está mudando mais rapidamente. Um modelo com um grande 946 acredita que o futuro distante é muito incerto, porque os erros na estimativa de tendência tornam-se bastante importantes na previsão de mais de um período à frente. (Retornar ao início da página.) As constantes de suavização 945 e 946 podem ser estimadas da maneira usual minimizando o erro quadrático médio das previsões de 1 passo à frente. Quando isso é feito na Statgraphics, as estimativas são de 945 0,3048 e 946 0,008. O valor muito pequeno de 946 significa que o modelo assume muito pouca mudança na tendência de um período para o outro, então basicamente esse modelo está tentando estimar uma tendência de longo prazo. Por analogia com a noção da idade média dos dados que é usada na estimativa do nível local da série, a idade média dos dados que é usada na estimativa da tendência local é proporcional a 1/946, embora não exatamente igual a isto. Neste caso, isto é 1 / 0,006 125. Isto não é um número muito preciso na medida em que a precisão da estimativa de 946 não é realmente 3 casas decimais, mas é da mesma ordem geral de magnitude que o tamanho da amostra de 100 Portanto, esse modelo está calculando a média de muito da história ao estimar a tendência. O gráfico de previsão abaixo mostra que o modelo LES estima uma tendência local ligeiramente maior no final da série do que a tendência constante estimada no modelo SEStrend. Além disso, o valor estimado de 945 é quase idêntico ao obtido pelo ajuste do modelo SES com ou sem tendência, portanto, esse é quase o mesmo modelo. Agora, essas parecem previsões razoáveis para um modelo que deveria estar estimando uma tendência local? Se você planeja esse gráfico, parece que a tendência local se tornou decrescente no final da série O que aconteceu Os parâmetros deste modelo foram estimados minimizando o erro quadrado das previsões em 1 passo à frente, e não as previsões a longo prazo, caso em que a tendência não faz muita diferença. Se tudo o que você está vendo são erros de 1 passo à frente, você não está vendo a imagem maior das tendências em (digamos) 10 ou 20 períodos. A fim de obter este modelo mais em sintonia com a extrapolação dos dados do nosso globo ocular, podemos ajustar manualmente a constante de suavização de tendência para que ela use uma linha de base mais curta para a estimativa de tendência. Por exemplo, se escolhermos definir 946 0,1, a idade média dos dados usados na estimativa da tendência local é de 10 períodos, o que significa que estamos calculando a média dos últimos 20 períodos. Aqui está o que o gráfico de previsão parece se definirmos 946 0.1 enquanto mantemos 945 0.3. Isto parece intuitivamente razoável para esta série, embora seja provavelmente perigoso extrapolar esta tendência mais do que 10 períodos no futuro. E as estatísticas de erro Aqui está uma comparação de modelo para os dois modelos mostrados acima, bem como três modelos SES. O valor ideal de 945 para o modelo SES é de aproximadamente 0,3, mas resultados semelhantes (com uma maior ou menor responsividade, respectivamente) são obtidos com 0,5 e 0,2. (A) exp. Linear de Holts alisamento com alfa 0,3048 e beta 0,008 (B) Holts linear exp. alisamento com alpha 0.3 e beta 0.1 (C) Alisamento exponencial simples com alpha 0.5 (D) Suavização exponencial simples com alpha 0.3 (E) Suavização exponencial simples com alpha 0.2 Suas estatísticas são quase idênticas, então nós realmente podemos fazer a escolha com base de erros de previsão em um passo à frente na amostra de dados. Temos que recorrer a outras considerações. Se acreditamos firmemente que faz sentido basear a estimativa de tendência atual no que aconteceu nos últimos 20 períodos, podemos fazer um caso para o modelo LES com 945 0.3 e 946 0.1. Se quisermos sermos agnósticos quanto à existência de uma tendência local, então um dos modelos do SES poderá ser mais fácil de explicar e também fornecerá mais previsões do meio da estrada para os próximos 5 ou 10 períodos. (Voltar ao topo da página.) Qual tipo de extrapolação de tendência é melhor: horizontal ou linear Evidências empíricas sugerem que, se os dados já foram ajustados (se necessário) para a inflação, então pode ser imprudente extrapolar a linear linear de curto prazo tendências muito longe no futuro. Tendências evidentes hoje podem afrouxar no futuro devido a causas variadas, como obsolescência do produto, aumento da concorrência e desacelerações cíclicas ou retomadas em uma indústria. Por esse motivo, a suavização exponencial simples geralmente tem melhor desempenho fora da amostra do que seria esperado, apesar de sua extrapolação de tendência horizontal de cotação. Modificações de tendências amortecidas do modelo de suavização exponencial linear também são frequentemente usadas na prática para introduzir uma nota de conservadorismo em suas projeções de tendência. O modelo LES de tendência amortecida pode ser implementado como um caso especial de um modelo ARIMA, em particular, um modelo ARIMA (1,1,2). É possível calcular intervalos de confiança em torno de previsões de longo prazo produzidas por modelos de suavização exponencial, considerando-os como casos especiais de modelos ARIMA. (Cuidado: nem todos os softwares calculam intervalos de confiança para esses modelos corretamente.) A largura dos intervalos de confiança depende (i) do erro RMS do modelo, (ii) do tipo de suavização (simples ou linear) (iii) do valor (s) da (s) constante (s) de suavização e (iv) o número de períodos à frente que você está prevendo. Em geral, os intervalos se espalham mais rápido à medida que o 945 se torna maior no modelo SES e eles se espalham muito mais rápido quando a suavização linear é usada. Este tópico é discutido mais adiante na seção de modelos ARIMA das notas. (Voltar ao topo da página.) Moore amp Moore Consultancy Services Títulos e Análises Técnicas Filtros Digitais - Médias Móveis Exponenciais (3) Upending (EMA de Primeira Ordem) Quando na escola muitos dos problemas de matemática foram para simplificar uma equação particular ou para fazer xo assunto de outra equação. Eu nunca soube por que eles queriam que fizéssemos tantos desses, mas mais tarde eu percebi que isso era um complemento para pensar fora da praça e olhar para um problema de outra perspectiva. No caso, se a EMA foi até agora sempre feita em termos de uma constante, e essa constante então relacionada a outra relação envolvendo períodos como dias. As relações entre médias simples e móveis estão ligadas pela mesma área sob ambas as curvas (um cálculo coisa) e o resultado é que: Períodos (2 / K) 1 Onde K é uma constante entre 0 e 1 (como uma porcentagem) Tornando K o sujeito então K 2 / (Períodos 1) E a equação EMA é inicialmente dada como: EMA (0) Hoje K EMA (1) (1 K) (Onde EMA (1) é o EMA para o último período) A combinação dessas duas equações fornece o seguinte: EMA (0) Hoje 2 / (Períodos 1) EMA (1 ) (1 2 / (Períodos 1)) (2 Hoje (P 1) EMA (1)) / (P 1) Agora isso realmente simplifica o EMA, e é por isso que eu disse que o EMA é de longe o mais fácil de calcular . P não precisa ser um inteiro (número inteiro) Filtros Digitais de Ordem Mais Elevada Na eletrônica analógica, um filtro analógico de ordem mais alta geralmente consiste em vários componentes, em uma formação de escada (série, shunt, série, shunt) da entrada à saída , e o número base de componentes reativos (capacitores e bobinas (indutores)) totaliza até a ordem do filtro. Eu achei esta uma regra fascinante e funcionou com simplicidade. A maioria dos fabricantes de filtros odiava bobinas porque usualmente eram mão-de-obra intensiva para fabricar, difícil de obter os componentes certos, propensos a erros de montagem e, portanto, caros, e os fabricantes faziam qualquer coisa para minimizar o número de bobinas, e isso levava a um todo gama de designs de filtros alternativos - incluindo Filtros Digitais. Esses projetos incluíam filtros de rede de cristal e cerâmica para fins de rádio e comunicações, filtros de ondas de superfície em televisões, filtros de capacitores comutados em telecomunicações, seguidos por filtros digitais em CD players e sistemas Hi-Fi e alguns equipamentos de serviço. A beleza dos filtros digitais era que eles poderiam ser programados no que é chamado de processador de sinais digitais (DSP), um pequeno circuito integrado que foi especificamente projetado para armazenar e encaminhar, multiplicar e dividir com grandes palavras digitais. A maioria dos chips DSP vem com circuitos de conversão analógicos / digitais substanciais a bordo. Ao se aprofundar em processadores digitais e tecnologia de filtro digital com vistas a usar essa tecnologia para análise de preços de segurança, percebeu-se que a taxa de clock dos filtros digitais excedia em muito o dobro da freqüência máxima (os critérios de Nyquist) e mais importante que o número de estágios em muitos algoritmos de filtro pode ultrapassar 100 estágios. Colocando em dados EOD onde a taxa de clock é de 24 horas por ciclo, então se 200 ciclos tivessem que passar antes que qualquer informação fosse lançada, então o atraso seria da ordem de um ano e isso é um pouco lento demais. ser um método alternativo. Alguns estudos do filtro IIR, conforme o início deste capítulo, mostram claramente que a saída padrão de uma entrada de degrau unitária é uma curva de carga de 1ª ordem exponencial em degraus. Estudos posteriores em vários textos de filtros digitais parecem mostrar que filtros de ordem superior consistem no mesmo filtro de 1ª ordem com atrasos adicionais que se alimentam de um ponto comum, e um grande grau de distorção de onda digital de entrada (que é basicamente uma FIR de 1ª ordem). filtro) em si. Para sintetizar equações, esses filtros são conectados em série, paralelos e / ou treliçados para fazer as coisas funcionarem. Na minha opinião, não estavam certos e percebi que os filtros acima da 1ª ordem precisavam de outro olhar, pois faltava algum filtro analógico. Ao medir as respostas de filtros analógicos que são dois domínios físicos simples que são comumente usados. O primeiro é o domínio de frequência e o segundo é o domínio de tempo. Acontece que Freqüência é a recíproca do Tempo, mas cada tela mostra um filtro sob uma luz muito diferente. A resposta de freqüência é fundamental para mostrar o ponto de corte de um filtro e quanto a resposta fora de banda é atenuada, enquanto a resposta temporal mostra como o filtro responde a uma excitação conhecida, e essas respostas podem ser calculadas e medidas, e a correlação entre teoria e realidade é muito próxima, o que significa que a aproximação matemática usada para análise e design é muito próxima da realidade Filtros em Cascata No caso de um EMA (que é um filtro de 1ª ordem), a resposta temporal a uma entrada de etapa é uma curva de carga exponencial, e isso foi mostrado no primeiro gráfico neste capítulo. Está bem documentado e foi feito até a morte No domínio da frequência, no entanto, a resposta a uma freqüência varrida não foi associada e segue o gráfico abaixo, em que ela tem um ponto de corte de freqüência de 3 dB (meia potência) e acima dessa freqüência, o poder segue assintoticamente uma linha de 20 dB / década, como mostrado em um gráfico de freqüência logarítmica abaixo. Os dois gráficos acima mostram a resposta de tempo e frequência de um filtro de 1ª ordem com um corte de frequência a 1 Hz. Por relação direta com a curva de tempo contínuo acima, a marca de 80 cruza a cerca de 250 ms, e sabemos que o ponto de 3 dB é a 1 Hz, como mostrado no gráfico à direita, e que 1 Hz tem um tempo de ciclo de 1 sec que é 4 vezes 250 mseg. Utilizando o SMA20 como padrão, a resposta do degrau unitário move-se de 0 a 100 em 20 amostras e atinge cerca de 80 em cerca de 16 amostras, e um EMA20 atravessa aproximadamente o mesmo ponto (80). Portanto, temos uma correlação direta entre a SMA e a EMA no domínio do tempo e um ponto de correlação de frequência semelhante (3 dB) no domínio da frequência. Ao relacionar estas 16 amostras divididas por 4 vezes, obtém-se uma frequência normalizada de cerca de 4 Hz, significando que a atenuação normalizada (em relação a 1 Hz como referência de frequência normalizada) será de cerca de 12,5 dB para um filtro de 1ª ordem baseado em 20 dias (EMA20) Um filtro EMA40 equivaleria a 32 amostras para o ponto transitório de 80, e em termos de frequência normalizados que se refere a cerca de 8 Hz e a atenuação do ruído de comércio diário seria de cerca de 18 dB. É por isso que um EMA e / ou SMA mais longo dá um resultado mais suave do que um EMA ou SMA mais curto, mas uma relação sinal-ruído (SNR) inferior a 20 dB após a filtragem dificilmente limita a água. a prática padrão é usar os 10 e 90 pontos nos tempos de subida, em outras palavras, os 10 pontos de excitação e resolução como os marcadores. Isso ainda sai com um total de 80, mas está centrado no movimento geral, ao invés de se concentrar apenas no resultado final. Na Teoria dos Controles, os sistemas da 1 a Ordem são raros e o fator de 250 ms para 0 a 80 se move para 285 ms para 10 a 90 e isso muda o recíproco para cerca de 3,5 em vez do 4 original, mas a aproximação é próxima o suficiente 1 st order filters Então, o que aconteceria se colocássemos uma EMA de 1ª ordem seguido de outra 1ª ordem EMA (em cascata) em outras palavras, a saída de uma alimentação na entrada de outra Nós poderíamos defini-las para que as respostas do tempo final eram aproximadamente os mesmos na marca dos 80, e o resultado seria um filtro de segunda ordem ligeiramente superdimensionado, com uma taxa de 40 dB por década em vez de 20 dB por década, já que antes disso é duas vezes mais íngreme, mas a frequência de corte precisa ser normalizada por 1,4 vezes para alinhar a curva de resposta temporal na marca de 80, como mostrado abaixo: Compare as escalas de dB nos gráficos da direita para Resposta de Freqüência Contínua e você verá que a resposta de freqüência é atenuada por cerca de 35 db, onde o gráfico acima a atenuação é de apenas 20 dB. Esta é uma grande diferença, pois isso significa que o ruído comercial pode ser substancialmente reduzido. Na prática, usando dois EMA11.2 em cascata, tem um ponto de corte geral de 3 dB muito próximo ao de um filtro de primeira ordem EMA20, e a resposta de freqüência resultante é muito próximo ao gráfico do lado direito, significando que a atenuação de negociação é de cerca de 18 dB para baixo através deste filtro em vez de 12,5 dB e se baseado em um 40EMA então o ruído EOD seria atenuado em cerca de 31 dB em vez de 18 dB. Isto é substancialmente melhor do que a 1ª Ordem EMA e a curva de resposta temporal aproxima uma curva de resposta temporal SMA mais nítida e é mais nítida, possivelmente significando que a transição é mais nítida. O imenso problema da Análise Técnica é que 99,9 de todas as pessoas que se denominam Analistas Técnicos, não entendem que a Resposta Transitória é o que elas realmente estão analisando e tomando suas decisões. Leva algum tempo para entender que a Resposta Transitória de um Primeiro O pedido EMA (como usado por quase todos os analistas técnicos) é claramente inferior ao de um SMA de primeira ordem ou um EMA de segunda ordem. O problema é que o EMA de Primeira Ordem tem uma resposta exponencial de ataque / decaimento que inicialmente age muito rapidamente e então a cauda atua muito devagar, e geralmente essa cauda longa interfere com o próximo ataque ou decaimento, então os cruzamentos se tornam mais parecidos com tangentes do que cruzamentos. tomar decisões bastante vagas e indecisas em comparação com cruzamentos ao usar SMAs. Em geral, os EMAs são preferidos pelos programadores porque são muito fáceis de programar em comparação com os SMAs de programação e, como conseqüência, a maioria dos indicadores de sinalização usados por muitos Analistas Técnicos usa uma enorme variedade de indicadores que infelizmente falham no primeiro. Por exemplo, a maioria desses indicadores é baseada em EMAs de primeira ordem para suavizar seus dados ruidosos para gerar seus sinais. O trabalho original mostrado nestas páginas demonstra como e onde os EMAs não rastreiam fielmente o sinal de entrada tão bem quanto os SMAs, e que is a workaround of sorts in that a Second Order EMA (with a slight overshoot from a Step Excitation) will follow the SMA trajectory much closer than a First Order EMA, and the Second Order EMA can be programmed rather more simply than an SMA. Cascaded Truncated EMA An interesting twist to the exponential tail problem that both the DEMA and TEMA both suffer from is that neither have a clocking delay built into their formulas before they subtract another exponential with the same decay properties as the first exponential - and this (I believe) is why they dont work If the original exponential is multiplied (amplified) by say 1.2 times and then a second exponential with the same decay characteristic is subtracted from the amplified signal, then (with a clinical Step input) the second exponential will cancel the tail of the first exponential, and result in a constant output from that time from a step input. This is in effect a pair of cascaded exponentials but one is delayed and truncated A clinical example of what I mean is shown in the below left graph. This left hand graph has the equation: CTEMA01 100 (1.20 EMA29 (Z00) 0.20 EMA29 (Z26)) The Z notation refers to a digital period delay, Z00 means a delay of zero periods, Z26 means 26 periods delay. Being translated into Metastock Equation language the statement becomes: CTEMA29 1.20 mov(Close,29,E) 0.20 ref(mov(Close,29,E),-26) In practice shown in the above right hand graph, the truncated exponential (CTEMA) is the RED line sitting under the black (SMA) peak and above green (EMA) peak. So the CTEMA just slightly under-performs the SMA, but well outperforms the EMA and so the CTEMA shows incredible promise As shown before this curve is normalised to crossover at the 80 point, so making a direct comparison with a two moving average is a little bit more tricky, as the delay factor has to be also considered. Compared to a SMA 26 / 16 crossover: The CTEMA 26 / 16 is shown on the left hand side and the SMA 26 / 16 is shown on the right hand side, and this is significantly better than the DEMA and TEMA and EMA. In normalising the CTEMA indicator, the CTEMA26 was (EMA38, Z34) and the CTEMA16 was (EMA23, Z21). It is now clear that the delay factor is far too long to be effective and therefore a general case must be developed that consists of several pairs. In a more general form this paired subtractive exponential equation would take the form of: CTEMA(n) (K1a EMA(P1) (Z1a) K1b EMA(P1) (Z1b-Z1a)) Naturally this family of equations can be extended to be a family of pairs of exponentials as piecewise linear parts to make up virtually any risetime shape as required, based on the limit of the clocking arrangement, but the total number of negative terms in the equation must equal the total number of positive terms. In the trivial case, the coefficient of the only negative term is actually a zero Structuring the Second Order EMA Now that we have a very simple formula to calculate the First Order EMA, this formula can be extended slightly to produce a Second Order EMA (SOEMA), and with a little bit of fiddling with a few spreadsheets the SOEMA can be engineered to have about a 2.3 overshoot and a rather smooth (almost linear transition from zero to 100 from a clinical Step excitation. Here are the formulae: Temp 1.2 Today 0.2 SOEMA(1) SOEMAInter(0) (2 Temp (P 1) SOEMAInter(1)) / (P 1) SOEMA(0) (2 SOEMAInter(0) (P 1) SOEMA(1)) / (P 1) Note that the period (P) is set to 0.8 the actual periods, so that if you want a 30CEDMA than the period setting is actually 24 and not 30. Again P (Period) does not have to be an integer These three above equations give the new intermediate and final values for SOEMA and use the old ones concurrently, so moving from an EMA to a SOEMA is no big deal For the SOEMA, because it involves a cascading of results, you will need to store another variable the old SOEMA intermediate value. This intermediate value is generated from the second equation above and used in two places the next immediate equation, and the next sample after that. That is why it needs to be saved, along with the new SOEMA value. Programming Moving Averages Now more than ever the transient response of the simple EMA needs to be revisited and adjustments made to correct the response. Clinical tests have shown that in practice the SMA is difficult to set up and calculate, and the EMA is much easier to establish and calculate, far easier to establish and unfortunately has a response curve that is too responsive too early and too inactive much later, the DEMA and TEMA (in my opinion) are both mistakes, and the Triangular (weighted SMA) is difficult to set up but has a good (almost ideal) transient response shape. The Cascaded Truncated EMA (CTEMA) is harder to set up but has an almost ideal response shape, and much better noise reduction than all the rest, and that means that my order of preference for response shape in descending order is SMA, CTEMA, TSMA, SMA, EMA, DEMA, TEMA. The ease for setting up for calculations (also in descending order) is EMA, DEMA, TEMA, SMA, TSMA, CTEMA. In my opinion I consider the uselessness of TEMA and DEMA, and the weighting factors for the TSMA this leaves three moving average schools of thought being SMA, EMA and CTEMA. If the CTEMA is to be realistically considered, as it has the best transient response then an intermediate term needs to be saved in the database as well as the old CTEMA value, and all future info bases need to be established with this in mind. So a first Order EMA uses the last value, a Second Order uses the last value and another temporary value, a Third Order EMA would have two temporary values etc With this changed info base management structure in mind, this now greatly simplifies the calculation process for SOEMA and the ease in setting up for calculation now becomes (in descending order) EMA, SOEMA, SMA. Considering that SOEMA gives a near ideal transient response then the standard moving average should always be calculated using the SOEMA For consistency, the transient response (with respect to a step input) has to be a virtually straight line from inception to completion and a First Order EMA fails this simple test hands down. A Second Order EMA (or Cascaded EMA) is considerably more consistent, and it is often a lot easier to construct than an SMA, but the Transient Responses need to be correlated to get consistency of purpose. In practice the Second Order EMA (SOEMA) works very well in that it is smoother (as expected) than a 1 st order moving average. In the graph above left, the SMA20 is (in BLACK) and peaks highest and tracks the best - and it should as it is consistent from its input. The EMA20 (in RED) wriggles about peaking out lowest as expected as the EMA takes less notice of less recent input data due to its dragging tail. The SOEMA20 (in GREEN) aligns very closely with the SMA20. This SOEMA20 recovers in line with the SMA. Meanwhile the EMA looks a little skewed as it rises too fast and comes up on the left hand side of the other two indicating that the EMA time constant (periods) is too short and that the equivalent time constant could be matched with an EMA23 or about 15 slower than it currently is compared to the SMA20. For comparison the EMA20 is changed to an EMA23 and shown on the right hand lower graph. Here in the Right Hand Graph above, the EMA23 (in RED) more closely tracks the SMA20 (in BLACK) and the SOEMA20 (in GREEN) . is again very smooth but the EMA23 (in RED) wriggles about, showing that it is more trade noise affected than the SMA20 (Black) or the SOEMA20 (Green) . If the SOEMA20 (CEMA20) in GREEN had a slight overshoot in its time response, then not only would it be quieter but it would also have a sharper transient response. By applying some feedback to the overall filter and lengthening the time constants, the filter takes on a new dimension with a steeper transition and a very slight overshoot about 1 but nothing like that of the DEMA or worse still the TEMA. In this case, the Metastock equation was Mov(Mov(1.5CLOSE - 0.5 PREV,16.5,E),16.5,E) resulting in an overall crossover at about the 16 th step in a 20 EMA consideration, but the overall rise time is substantially faster and more symmetrical than a cascaded EMA without feedback. By marginally increasing the overshoot to about 2.3 by altering the feedback constant and changing the exponential constants to 18.2 to re-align the curve with the standard crossover at 80, this response then even looks better. The dark line in the above left hand graph shows the transient output response from a step input with about 2.3 overshoot, and the above right hand graph shows the smooth, rounded and substantially quiet SOEMA20 (Royal Blue) with feedback. The SOEMA20 with a little overshoot very closely tracks the SMA and the slight overshoot lets the transient track better than the critical transient with nominally no overshoot. This SOEMA with its characteristic slight delay in kicking in, and has a small overshoot that gives it a smoother peak and following trough, and, unlike the SMA, it lends itself to weighting on the fly by adjusting the time constants. In Metastock terms the equation for a cascaded EMA looking like a SMA 20 is: Mov(Mov(1.7CLOSE - 0.7 PREV,18.2,E),18.2,E) Of course this will not work as Metastock requires integers as periods, but with a little lateral thinking and normalising this cannot be too difficult to make into a practical filter. The other issue is that the tail should be a damped oscillation and it is not, indicating that the structure of this is not quite right, but is much better than an EMA for attenuating EOD noise. Comparing Simple and Exponential Moving Averages (2009) Now that we have realised that it is the transient that is all important when we use moving averages to smooth the trade noise, and that the (first order) EMA has a very different step excited transient shape than the SMA, and that the periodicity for (first order) EMAs is not in alignment with SMAs because if the thick heavy tail in the (first order) EMAs. To get a handle on this, the two graphs below have the same EOD data over the same time, but the two sets of moving averages spell a very different tune: This is the old favourite Two EMA, and see how after the initial rise the EMAs cross and stay that way, so you would be thinking to stay in the trade, but have a look below and realise that the two SMAs below have virtually the same transient response, and no great big thick trailing tail that actually compromises the ability for the moving average to follow the trend: Here is the same graph with a two SMA of equivalent transient response following the same EOD data over the same period. Notice that the Green SMA actually follows the price, and yes the two moving averages do collide (and momentarily cross) while the security price has plateaued, but picks up again and kicks in much like the two EMA before. The EMA trace actually does kick in faster, but this is usually swamped by earlier movement so the end result is that the EMA does not in reality kick in faster, and the exponential tail makes the (first order) EMA a very poor cousin to the SMA. It may not be obvious, but if you are using (first order) EMAs as the indicator smoothing tool (like in an MACD), then by using EMAs there is an inherent problem as the resultant trigger will be far more compromised by an (first order) EMA than an SMA, and guess what the Technical Analysts en-masse use EMAs in their MACDs, so systematically this indicator (and many others) will also be somewhat flawed Copyright Malcolm Moore, 2003-2004, 2009. Comments and Corrections are welcomeThe Scientist and Engineers Guide to Digital Signal Processing By Steven W. Smith, Ph. D. Chapter 14: Introduction to Digital Filters High-Pass, Band-Pass and Band-Reject Filters High-pass, band-pass and band-reject filters are designed by starting with a low-pass filter, and then converting it into the desired response. For this reason, most discussions on filter design only give examples of low-pass filters. There are two methods for the low-pass to high-pass conversion: spectral inversion and spectral reversal. Both are equally useful. An example of spectral inversion is shown in 14-5. Figure (a) shows a low-pass filter kernel called a windowed-sinc (the topic of Chapter 16). This filter kernel is 51 points in length, although many of samples have a value so small that they appear to be zero in this graph. The corresponding frequency response is shown in (b), found by adding 13 zeros to the filter kernel and taking a 64 point FFT. Two things must be done to change the low-pass filter kernel into a high-pass filter kernel. First, change the sign of each sample in the filter kernel. Second, add one to the sample at the center of symmetry. This results in the high-pass filter kernel shown in (c), with the frequency response shown in (d). Spectral inversion flips the frequency response top-for-bottom . changing the passbands into stopbands, and the stopbands into passbands. In other words, it changes a filter from low-pass to high-pass, high-pass to low-pass, band-pass to band-reject, or band-reject to band-pass. Figure 14-6 shows why this two step modification to the time domain results in an inverted frequency spectrum. In (a), the input signal, x n , is applied to two systems in parallel. One of these systems is a low-pass filter, with an impulse response given by h n . The other system does nothing to the signal, and therefore has an impulse response that is a delta function, delta n . The overall output, y n , is equal to the output of the all-pass system minus the output of the low-pass system. Since the low frequency components are subtracted from the original signal, only the high frequency components appear in the output. Thus, a high-pass filter is formed. This could be performed as a two step operation in a computer program: run the signal through a low-pass filter, and then subtract the filtered signal from the original. However, the entire operation can be performed in a signal stage by combining the two filter kernels. As described in Chapter 7, parallel systems with added outputs can be combined into a single stage by adding their impulse responses. As shown in (b), the filter kernel for the high-pass filter is given by: delta n - h n . That is, change the sign of all the samples, and then add one to the sample at the center of symmetry. For this technique to work, the low-frequency components exiting the low-pass filter must have the same phase as the low-frequency components exiting the all-pass system. Otherwise a complete subtraction cannot take place. This places two restrictions on the method: (1) the original filter kernel must have left-right symmetry (i. e. a zero or linear phase), and (2) the impulse must be added at the center of symmetry. The second method for low-pass to high-pass conversion, spectral reversal . is illustrated in Fig. 14-7. Just as before, the low-pass filter kernel in (a) corresponds to the frequency response in (b). The high-pass filter kernel, (c), is formed by changing the sign of every other sample in (a). As shown in (d), this flips the frequency domain left-for-right . 0 becomes 0.5 and 0.5 becomes 0. The cutoff frequency of the example low-pass filter is 0.15, resulting in the cutoff frequency of the high-pass filter being 0.35. Changing the sign of every other sample is equivalent to multiplying the filter kernel by a sinusoid with a frequency of 0.5. As discussed in Chapter 10, this has the effect of shifting the frequency domain by 0.5. Look at (b) and imagine the negative frequencies between -0.5 and 0 that are of mirror image of the frequencies between 0 and 0.5. The frequencies that appear in (d) are the negative frequencies from (b) shifted by 0.5. Lastly, Figs. 14-8 and 14-9 show how low-pass and high-pass filter kernels can be combined to form band-pass and band-reject filters. In short, adding the filter kernels produces a band-reject filter, while convolving the filter kernels produces a band-pass filter. These are based on the way cascaded and parallel systems are be combined, as discussed in Chapter 7. Multiple combination of these techniques can also be used. For instance, a band-pass filter can be designed by adding the two filter kernels to form a band-pass filter, and then use spectral inversion or spectral reversal as previously described. All these techniques work very well with few surprises.
Comments
Post a Comment