Thursday 23 November 2017

R Exponencial Média Móvel Filtro


Tipos de médias móveis disponíveis são: s para ldquosimplerdquo, calcula a média móvel simples. N indica o número de pontos de dados anteriores usados ​​com o ponto de dados atual ao calcular a média móvel. T para ldquotriangularrdquo, calcula a média móvel triangular calculando a primeira média móvel simples com largura de janela de ceil (n1) 2, calcula uma segunda média móvel simples na primeira média móvel com o mesmo tamanho de janela. W para ldquoweightedquot, calcula a média móvel ponderada fornecendo pesos para cada elemento na janela em movimento. Aqui a redução de pesos segue uma tendência linear. M para ldquomodifiedquot, calcula a média móvel modificada. A primeira média móvel modificada é calculada como uma média móvel simples. Valores subseqüentes são calculados adicionando o novo valor e subtraindo a última média da soma resultante. E forldquoexponentialquot, calcula a média móvel exponencialmente ponderada. A média móvel exponencial é uma média móvel ponderada que reduz as influências aplicando mais peso aos dados recentes () factor de redução 2 (n1) ou r forldquorunningquot, esta é uma média móvel exponencial com um factor de redução de 1n mesmo que a média modificada. Vector o mesmo comprimento como série de tempo x. HwB e-mail: lthwborchersgooglemailgtZero Lag Moving Filtro Médio Estratégia de Negociação (Entrada 038 Sair) I. Estratégia de negociação Desenvolvedor: John Ehlers e Ric Way. Fonte: Ehlers, J. Way, R. (2010). Zero Lag (bem, quase). Conceito: Tendência seguindo estratégia de negociação baseada em filtros de média móvel. Objetivo da Pesquisa: Verificar o desempenho da Média Móvel Zero Lag (ZLMA). Especificação: Tabela 1. Resultados: Figura 1-2. Filtro de Comércio: Longas Transações: A Média Móvel de Deslocamento Zero (ZLMA) atravessa a Média Móvel Exponencial (EMA). Operações Curtas: A Média Móvel de Deslocamento Zero (ZLMA) cruza sob Média Móvel Exponencial (EMA). Carteira: 42 mercados de futuros de quatro grandes setores de mercado (commodities, moedas, taxas de juros e índices de ações). Dados: 36 anos desde 1980. Plataforma de Teste: MATLAB. II. Teste de Sensibilidade Todos os gráficos 3-D são seguidos por gráficos de contorno em 2D para o Fator de Lucro, Índice de Sharpe, Índice de Desempenho de Úlcera, CAGR, Drawdown Máximo, Ganhe Média Razão de Perdas. A imagem final mostra a sensibilidade da curva de equidade. Variáveis ​​Testadas: LookBack, Threshold (Definições: Tabela 1): Figura 1 Desempenho da Carteira (Entradas: Tabela 1 Comission amp Slippage: 0). Média Móvel Exponencial (EMA): Alfa 2 (LookBack 1) EMAi Alpha Closei (1 Alfa) EMAi 1 Índice: i Barra Actual. (ZLMA): Alfa 2 (LookBack 1) ZLMAi Alfa (Ganho de EMAi (Closei ZLMAi 1)) (1 Alfa) ZLMAi 1 Índice: i Barra Actual. Ganho Variável (da fórmula ZLMA): Se a variável Gain for zero, o ZLMA se torna apenas um EMA. Se o ganho for suficientemente grande, o ZLMA controla o preço para todos os fins práticos (isto é, atraso mínimo e suavização mínima). Portanto, buscamos um valor de Ganho que seja um compromisso satisfatório. Para obter a menor quantidade de erro (Error Closei ZLMAi), um loop procura o melhor valor de Gain variando a variável Gain do GainLimit inferior ao GainLimit superior. O valor padrão para a variável GainLimit é 5 (este valor é pesquisado na próxima entrada do blog). LookBack 60, 1000, Passo 20 GainLimit 5 Sinal Longo: ZLMAi atravessa EMAi, e 100LeastError ATRi gt Índice de Limiar: i Current Bar. Sinal curto: ZLMAi cruza sob EMAi, e 100LeastError ATRi gt Índice de limiar: i Barra atual. Observação: Erro Closei ZLMAi. O LeastError é um erro para o melhor valor de Ganho encontrado através de um loop que é executado bar-por-barra do GainLimit inferior para o GainLimit superior. No artigo original. O LeastError não é normalizado pelo ATR (Average True Range), mas por um preço de fechamento. Isso não é adequado para os testes em contratos futuros contínuos e, portanto, a fórmula original foi ajustada. Modo: O sistema de inversão de duas fases (longshort). Threshold 0, 200, Step 5 Trades Longos: Uma compra no open é colocada após um Long Signal. Short Trades: A venda no aberto é colocado após um Short Signal Parar Perda Saída: ATR (ATRLength) é o Average True Range durante um período de ATRLength. ATRStop é um múltiplo de ATR (ATRLength). Long Trades: Um stop de venda é colocado na entrada ATR (ATRLength) ATRStop. Curtas: Uma parada de compra é colocada na entrada ATR (ATRLength) ATRStop. ATRLength 20 ATRStop 6 LookBack 60, 1000, Passo 20 Limiar 0, 200, Passo 5 Tabela 2 Entradas: Tabela 1 Dimensionamento fracionário fixo: 1 Comissionamento amp Deslizamento: 100 Volta Redonda. V. Research Ehlers, J. Way, R. (2010). Zero Lag (bem, quase): Todos os filtros de suavização e médias móveis têm atraso. É uma lei. O atraso é necessário porque o alisamento é feito usando dados passados. Portanto, a média inclui os efeitos dos dados várias barras atrás. Neste artigo mostramos como remover uma quantidade selecionada de atraso de uma média móvel exponencial (EMA). Remover todo o lag não é necessariamente uma coisa boa porque com nenhum lag o indicador apenas seguirá para fora o preço que você está filtrando. Ou seja, a quantidade de lag removido é uma compensação com a quantidade de suavização que você está disposto a renunciar. VI. Classificação: Zero Lag Moving Average Filter Trading Estratégia VII. Resumo A estratégia de negociação com base na média móvel Zero Lag não desempenha significativamente melhor do que a estratégia baseada na média móvel Hull ou algumas outras alternativas. ALFA 20 TM Sistema de Negociação CFTC REGRA 4.41: RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES. DESCONHECIDO UM REGISTO DE DESEMPENHO REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM A NEGOCIAÇÃO REAL. TAMBÉM, SENDO QUE OS COMÉRCIOS NÃO FORAM EXECUTADOS, OS RESULTADOS PODERÃO TER OU NÃO COMPENSADO PELO IMPACTO, SE HOUVER, DE CERTOS FATORES DE MERCADO, COMO A FALTA DE LIQUIDEZ. OS PROGRAMAS SIMULADOS DE NEGOCIAÇÃO EM GERAL SÃO TAMBÉM SUJEITOS AO FATO QUE SÃO PROJETADOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ SENDO SENDO QUE QUALQUER CONTA PODERÁ OU É POSSÍVEL CONSEGUIR LUCROS OU PERDAS SIMILARES Àqueles MOSTRADOS. DIVULGAÇÃO DE RISCO: GOVERNO DOS EUA EXIGÊNCIA DE ISENÇÃO DE RESPONSABILIDADE CFTC REGRA 4.41Moving Médias em R Para o melhor de meu conhecimento, R não tem uma função interna para calcular médias móveis. Usando a função de filtro, no entanto, podemos escrever uma função curta para médias móveis: Podemos então usar a função em qualquer dado: mav (dados) ou mav (dados, 11) se quisermos especificar um número diferente de pontos de dados Do que o padrão 5 plotando obras como esperado: plot (mav (dados)). Além do número de pontos de dados sobre os quais a média, também podemos alterar o argumento de lados das funções de filtro: sides2 usa ambos os lados, sides1 usa apenas valores passados. O que são RC Filtering e Exponential Averaging e como eles diferem A resposta para a segunda parte da questão é que eles são o mesmo processo Se um vem de um fundo eletrônico, em seguida, RC Filtering (Ou RC Smoothing) é a expressão usual. Por outro lado uma abordagem baseada em estatísticas de séries temporais tem o nome de média exponencial, ou usar o nome completo ponderada exponencial média móvel. Isso também é conhecido como EWMA ou EMA. Uma vantagem chave do método é a simplicidade da fórmula para calcular a próxima saída. É preciso uma fração da saída anterior e uma menos essa fração vezes a entrada atual. Algebricamente no tempo k a saída suavizada y k é dada por Como mostrado mais adiante esta fórmula simples enfatiza eventos recentes, suaviza as variações de alta freqüência e revela tendências de longo prazo. Observe que há duas formas da equação de média exponencial, uma acima e uma variante Ambas estão corretas. Consulte as notas no final do artigo para obter mais detalhes. Nesta discussão usaremos apenas a equação (1). A fórmula acima é por vezes escrita de forma mais limitada. Como é derivada esta fórmula e qual é a sua interpretação Um ponto chave é como podemos selecionar. Para olhar para esta uma maneira simples é considerar um filtro de baixa passagem RC. Agora, um filtro passa-baixo RC é simplesmente uma resistência em série R e um condensador paralelo C como ilustrado abaixo. A equação da série de tempo para este circuito é O produto RC tem unidades de tempo e é conhecido como a constante de tempo, T. Para o circuito. Suponha que representamos a equação acima em sua forma digital para uma série de tempo que tem dados tomados a cada h segundos. Esta é exatamente a mesma forma que a equação anterior. Comparando os dois relacionamentos para um temos que reduz à relação muito simples. Daí a escolha de N é guiada por qual constante de tempo escolhemos. Agora a equação (1) pode ser reconhecida como um filtro passa-baixa ea constante de tempo tipifica o comportamento do filtro. Para ver o significado da Constante de Tempo, precisamos olhar para a característica de freqüência deste filtro RC de passa baixa. Em sua forma geral isto é Expressando em módulo e forma de fase temos onde o ângulo de fase é. A freqüência é chamada freqüência de corte nominal. Fisicamente pode ser mostrado que a esta frequência a potência no sinal foi reduzida em metade e a amplitude é reduzida pelo factor. Em termos de dB esta frequência é onde a amplitude foi reduzida em 3dB. Claramente, à medida que a constante de tempo T aumenta, então a freqüência de corte diminui e aplicamos mais suavização aos dados, ou seja, eliminamos as freqüências mais altas. É importante notar que a resposta de freqüência é expressa em radianssegundo. Isso é há um fator de envolvido. Por exemplo, escolher uma constante de tempo de 5 segundos dá uma freqüência de corte efetiva de. Um uso popular do alisamento de RC é simular a ação de um medidor tal como usado em um Medidor de Nível de Som. Geralmente são tipificados por sua constante de tempo, como 1 segundo para tipos S e 0,125 segundos para tipos F. Para estes 2 casos, as frequências de corte efectivas são 0,16 Hz e 1,27 Hz, respectivamente. Na verdade, não é a constante de tempo que normalmente desejamos selecionar, mas aqueles períodos que desejamos incluir. Suponha que temos um sinal onde desejamos incluir características com um P segundo período. Agora um período P é uma freqüência. Poderíamos então escolher uma constante de tempo T dada por. No entanto, sabemos que perdemos cerca de 30 da saída (-3dB) em. Assim, escolher uma constante de tempo que corresponde exatamente às periodicidades que desejamos manter não é o melhor esquema. Geralmente, é melhor escolher uma freqüência de corte ligeiramente maior, digamos. A constante de tempo é então que, em termos práticos, é semelhante a. Isso reduz a perda para cerca de 15 nesta periodicidade. Portanto, em termos práticos para reter eventos com uma periodicidade de ou maior, em seguida, escolher uma constante de tempo de. Isso inclui os efeitos das periodicidades de até cerca de. Por exemplo, se quisermos incluir os efeitos de eventos acontecendo com dizer um período de 8 segundos (0,125Hz), então escolha uma constante de tempo de 0,8 segundos. Isto proporciona uma frequência de corte de aproximadamente 0,2 Hz, de modo que o nosso período de 8 segundos está bem na banda de passagem principal do filtro. Se estivéssemos a amostragem dos dados a 20 timesecond (h 0,05) então o valor de N é (0,80.05) 16 e. Isso dá algumas dicas sobre como definir. Basicamente, para uma taxa de amostragem conhecida, ela tipifica o período de média e seleciona quais flutuações de alta freqüência serão ignoradas. Observando a expansão do algoritmo podemos ver que ele favorece os valores mais recentes, e também por que é referido como ponderação exponencial. Nós temos Substituindo por y k-1 dá Repetindo este processo várias vezes leva a Porque está no intervalo, então, claramente os termos para a direita tornam-se menores e se comportam como uma decrescente exponencial. Essa é a saída atual é tendenciosa para os eventos mais recentes, mas quanto maior nós escolhemos T, então o viés menos. Em resumo vemos que a fórmula simples enfatiza eventos recentes suaviza eventos de alta freqüência (curto período) que revelam tendências de longo prazo Precaução Existem duas formas da equação de média exponencial que aparecem na literatura. Ambos são corretos e equivalentes. A primeira forma como mostrado acima é (A1) A forma alternativa é 8230 (A2) Observe o uso de na primeira equação e na segunda equação. Em ambas as equações e são valores entre zero e unidade. Em termos físicos, significa que a escolha da forma que se usa depende de como se quer pensar em tomar como a equação da fração de alimentação (A1) ou Como a fração da equação de entrada (A2). A primeira forma é ligeiramente menos complicada em mostrar a relação de filtro RC, e leva a uma compreensão mais simples em termos de filtro. Analista Principal de Processamento de Sinais do Prosig Dr. Colin Mercer foi anteriormente no Instituto de Pesquisas de Som e Vibração (ISVR) da Universidade de Southampton, onde fundou o Data Analysis Center. Em seguida, ele prosseguiu com a fundação de Prosig em 1977. Colin se aposentou como Analista de Processamento de Sinais em Prosig em dezembro de 2016. Ele é Engenheiro Agrónomo e Membro da British Computer Society. Eu acho que você quer mudar o 8216p8217 para o símbolo de pi. Marco, obrigado por apontar isso. Acho que este é um dos nossos artigos mais antigos que foi transferido de um antigo documento de processamento de texto. Obviamente, o editor (eu) não conseguiu detectar que o pi não tinha sido transcrita corretamente. Ele será corrigido em breve. Eu acho que existe um erro na fórmula para T. Deve ser T h (N-1), não T (N-1) h. Mike, obrigado por perceber isso. Acabei de verificar novamente para Dr. Mercer8217s nota técnica original em nosso arquivo e parece que houve erro feito ao transferir as equações para o blog. Vamos corrigir o post. Obrigado por nos deixar saber Obrigado obrigado obrigado. Você pode ler 100 textos DSP sem encontrar nada dizendo que um filtro de média exponencial é o equivalente a um filtro R-C. Hmm, você tem a equação para um filtro EMA correto não é Yk aXk (1-a) Yk-1 em vez de Yk aYk-1 (1-a) Xk Alan, Ambas as formas da equação aparecem na literatura e Ambos os formulários estão corretos como mostrarei abaixo. O ponto que você faz é importante porque usar a forma alternativa significa que a relação física com um filtro RC é menos aparente, além disso a interpretação do significado de um mostrado no artigo não é apropriado para a forma alternativa. Primeiro vamos mostrar que ambas as formas estão corretas. A forma da equação que eu usei é ea forma alternativa que aparece em muitos textos é Note no acima Eu usei latex 1latex na primeira equação e latex 2latex na segunda equação. A igualdade de ambas as formas da equação é demonstrada matematicamente abaixo de passos simples de cada vez. O que não é o mesmo é o valor usado para latex latex em cada equação. Em ambas as formas latex latex é um valor entre zero e unidade. Primeiro reescreva a equação (1) substituindo o latex 1latex pelo látex látex. Isto dá latexy y (1 - beta) xklatex 8230 (1A) Agora defina latexbeta (1 - 2) látex e por isso também temos latex 2 (1 - beta) de látex. Substituindo estes na equação (1A) dá latexyk (1 - 2) y 2xklatex 8230 (1B) E finalmente re-arranjar dá Esta equação é idêntica à forma alternativa dada na equação (2). Coloque mais simplesmente látex 2 (1 - 1) de látex. Em termos físicos, isso significa que a escolha da forma que se usa depende de como se quer pensar em tomar o latexalphalatex como a equação da fração de feed back (1) ou como a fração da equação de entrada (2). Como mencionado acima eu usei a primeira forma, pois é um pouco menos pesado em mostrar a relação de filtro RC, e leva a uma compreensão mais simples em termos de filtro. No entanto omitindo o acima é, na minha opinião, uma deficiência no artigo como outras pessoas poderiam fazer uma inferência incorreta para uma versão revista aparecerá em breve. Sempre me perguntei sobre isso, obrigado por descrevê-lo tão claramente. Eu acho que outra razão a primeira formulação é agradável é mapas alfa para 8216smoothness8217: uma maior escolha de alfa significa uma saída 8216more smooth8217. Michael Obrigado pela observação 8211 Vou acrescentar ao artigo algo nessas linhas, pois é sempre melhor, em minha opinião, relacionar-se com aspectos físicos. Dr. Mercer, excelente artigo, obrigado. Tenho uma pergunta sobre a constante de tempo quando usado com um detector rms como em um medidor de nível de som que você se refere no artigo. Se eu usar suas equações para modelar um filtro exponencial com Constante de Tempo 125ms e usar um sinal de passo de entrada, eu realmente obter uma saída que, após 125ms, é 63.2 do valor final. No entanto, se eu quadrado o sinal de entrada e colocar isso através do filtro, então eu vejo que eu preciso dobrar a constante de tempo para que o sinal de chegar a 63,2 do seu valor final em 125ms. Você pode me informar se isso é esperado. Muito Obrigado. Ian Ian, Se você quadrado um sinal como uma onda senoidal, em seguida, basicamente, você está dobrando a freqüência de sua fundamental, bem como a introdução de lotes de outras freqüências. Como a frequência foi, com efeito, dobrada, então está sendo reduzida 8217 por uma quantidade maior pelo filtro passa-baixo. Em consequência, leva mais tempo para atingir a mesma amplitude. A operação de quadratura é uma operação não linear, então eu não acho que ela sempre dobrará precisamente em todos os casos, mas tenderá a dobrar se tivermos uma freqüência baixa dominante. Observe também que o diferencial de um sinal quadrado é o dobro do diferencial do sinal 8220un-squared8221. Eu suspeito que você pode estar tentando obter uma forma de quadrado médio suavização, que é perfeitamente bem e válido. Pode ser melhor aplicar o filtro e, em seguida, quadrado como você sabe o corte eficaz. Mas se tudo o que você tem é o sinal quadrado, em seguida, usando um fator de 2 para modificar o seu filtro de valor alfa irá aproximá-lo de volta para a freqüência de corte original, ou colocá-lo um pouco mais simples definir sua freqüência de corte em duas vezes o original. Obrigado pela sua resposta Dr. Mercer. Minha pergunta era realmente tentar obter o que é realmente feito em um rms detector de um medidor de nível de som. Se a constante de tempo for definida para 8216fast8217 (125 ms) eu teria pensado que intuitivamente você esperaria um sinal de entrada sinusoidal para produzir uma saída de 63,2 do seu valor final após 125ms, mas desde que o sinal está sendo quadrado antes de chegar ao 8216mean8217 Detecção, ele vai realmente ter duas vezes o tempo que você explicou. O objetivo principal do artigo é mostrar a equivalência da filtragem RC e da média exponencial. Se estamos discutindo o tempo de integração equivalente a um verdadeiro integrador retangular, então você está correto que há um fator de dois envolvidos. Basicamente, se temos um verdadeiro integrador retangular que integra para Ti segundos o tempo equivalente RC integator para alcançar o mesmo resultado é 2RC segundos. Ti é diferente do constante RC 8216 constante 8217 T que é RC. Assim, se temos uma constante de tempo 8216Fast8217 de 125 ms, que é RC 125 ms, então isso é equivalente a um verdadeiro tempo de integração de 250 msec Obrigado pelo artigo, foi muito útil. Existem alguns trabalhos recentes em neurociência que usam uma combinação de filtros EMA (EMA de curta janela EMI 8211 de longa janela EMA) como um filtro passa-banda para análises de sinal em tempo real. Eu gostaria de aplicá-los, mas eu estou lutando com os tamanhos de janela diferentes grupos de pesquisa têm utilizado e sua correspondência com a freqüência de corte. Let8217s dizer que eu quero manter todas as freqüências abaixo de 0,5Hz (aprox) e que eu adquiro 10 amostras em segundo. Isso significa que fp 0.5Hz P 2s T P100.2 h 1fs0.1 Portanto, o tamanho da janela I deve estar usando deve ser N3. É este raciocínio correto Antes de responder à sua pergunta eu tenho que comentar sobre o uso de dois filtros de alta passagem para formar um filtro passa banda. Presumivelmente, eles funcionam como dois fluxos separados, então um resultado é o conteúdo de látex latexf para meia taxa de amostragem eo outro é o conteúdo de látex latexf dizer a metade taxa de amostragem. Se tudo o que está sendo feito é a diferença nos níveis quadrados médios como indicando a potência na faixa de látex latex para latex latex, então pode ser razoável se as duas freqüências de corte são suficientemente distantes, mas eu espero que as pessoas que usam esta técnica Estão tentando simular um filtro de banda mais estreito. Na minha opinião, isso não seria confiável para um trabalho sério e seria motivo de preocupação. Apenas para referência um filtro passa banda é uma combinação de um filtro passa-alta de baixa freqüência para remover as baixas freqüências e um filtro passa-baixa de alta freqüência para remover as altas freqüências. Existe naturalmente uma forma de passagem baixa de um filtro RC e, consequentemente, uma EMA correspondente. Talvez, embora o meu julgamento seja excessivamente crítico sem conhecer todos os fatos. Então, por favor, me envie algumas referências aos estudos que você mencionou para que eu critique como apropriado. Talvez eles estão usando um passe baixo, bem como um filtro de alta passagem. Agora voltando-se para a sua pergunta real sobre como determinar N para uma dada freqüência de corte de alvo, eu acho que é melhor usar a equação básica T (N-1) h. A discussão sobre os períodos foi destinada a dar às pessoas uma sensação do que estava acontecendo. Então veja a derivação abaixo. Temos os relacionamentos latexT (N-1) hlatex e latexT12 latex onde latexfclatex é a freqüência de corte nocional e h é o tempo entre amostras, claramente latexh 1 látex onde latexfslatex é a taxa de amostragem em samplessec. A reorganização de T (N-1) h numa forma adequada para incluir a frequência de corte, latexfclatex e a taxa de amostragem, latexfslatex, é mostrada abaixo. Assim, usando latexfc 0.5Hzlatex e latexfs 10latex samplessec para que latex (fcfs) 0.05latex dá Então, o valor inteiro mais próximo é 4. Re-organizar o acima temos Então, com N4 temos latexfc 0.5307 Hzlatex. Utilizando N3 dá-se um latexfclatex de 0,318 Hz. Nota com N1 temos uma cópia completa sem filtragem.

No comments:

Post a Comment