Monday 23 October 2017

Média Móvel Exponencial Postgresql


Eu li a discussão que você mencionou. É aplicável ao PostgreSQL uma vez que é permitido criar uma função agregada definida pelo usuário usando o SQL no PostgreSQL, mas não é permitido no SQL Server. Usar o CTE recursivo é uma maneira viável no SQL Server, mas percebo que a maneira CTE pode resultar em mais varredura de tabela do que as funções da janela. Então, faço essa publicação para perguntar se é possível calcular a média móvel exponencial usando a função de janela do SQL Server 2012, assim como calcular a média móvel simples. Ndash xiagao1982 14 de abril 13 às 2:53 Primeiro, você calcula o EMA (SMA (x)) em vez do EMA (x). Em segundo lugar, o seu quotsmoothing constantquot é, na verdade, o valor beta da minha fórmula, e não o alfa. Com essas duas mudanças, o SQLFiddle parece assim: sqlfiddle6191921 No entanto, ainda há uma pequena diferença entre o resultado real e o resultado esperado. Eu voltaria e veria se a sua definição EMA corresponde ao que eu conheço. Ndash Sebastian Meine 7 de maio 13 às 13:46 Eu apenas olhei o formulário na planilha que você anexou e está fora da definição EMA padrão. Minha fórmula calcula a média móvel exponencial das últimas dez linhas. A planilha calcula primeiro a média padrão nas últimas dez linhas e, em seguida, a média móvel ponderada exponencialmente irrestrita em todas as médias. Isso segue o formulário aqui: en. wikipedia. orgwikiEWMAchart ndash Sebastian Meine 7 de maio 13 às 13: 52 Estou tentando implementar uma média móvel exponencial (EMA) no postgres, mas como eu verificar a documentação e pensar sobre isso, mais eu tento mais confuso Eu sou. A fórmula para EMA (x) é: parece ser perfeita para um agregador, manter o resultado do último elemento calculado é exatamente o que tem que ser feito aqui. No entanto, um agregador produz um único resultado (como reduzir ou dobrar) e aqui precisamos de uma lista (uma coluna) de resultados (como mapa). Eu tenho verificado como os procedimentos e as funções funcionam, mas o AFAIK produz uma única saída, não uma coluna. Eu já vi muitos procedimentos e funções, mas na verdade não consigo descobrir como isso interage com a álgebra relacional, especialmente quando faz algo assim, uma EMA. Não tive sorte pesquisando os internets até agora. Mas a definição de um EMA é bastante simples, espero que seja possível traduzir essa definição para algo que funciona no postgres e é simples e eficiente, porque mudar para o NoSQL será excessivo no meu contexto. Isso está calculando a agregação que produz o resultado em cada linha para cada sublista dos dados de entrada. Porque parece que está usando o agregador até a linha n, retornando o resultado e depois indo para a linha 0 para calcular a agregação até a linha n1 novamente. Existe alguma maneira de usar a acumulação ou alguma variável estática (como em C) para que isso seja calculado uma vez Obrigado. Ndash Trylks 20 de janeiro 12 às 11:59 Não, ele está usando o valor acumulado. Se você executar a consulta com o comando quotraise infoquot descomentado, você poderá ver que a função só é chamada uma vez para cada saída de linha. O Postgresql produz o valor do estado em cada linha (se houver um finalfunc definido, que seria chamado para transformar o estado em um valor de saída). Ndash araqnid 20 de janeiro 12 às 12:04 ErwinBrandstetter: Eu revertei a maioria das mudanças - no caso do formato da primeira parte (âncora) da consulta, o EMA (x1) pode ser claramente representado com uma única linha - isso Corespnds para a linha única definindo-o na questão. No caso da parte recursiva da consulta, usei mn-1 na condição de junção para indicar a equivalência do relacionamento com EMA (xn-1) na pergunta, mesmo que este seja menos performante se o desempenho for um Questão, o OP pode alterar a condição de associação para ser como você sugeriu. Ndash Mark Bannister 16 de janeiro 12 às 9: 27 Média móvel expressiva - EMA BREAKING Down Média móvel exponencial - EMA As EMA de 12 e 26 dias são as médias de curto prazo mais populares e são usadas para criar indicadores como a convergência média móvel Divergência (MACD) e o oscilador de preço percentual (PPO). Em geral, as EMA de 50 e 200 dias são usadas como sinais de tendências a longo prazo. Os comerciantes que empregam análises técnicas consideram que as médias móveis são muito úteis e perspicaz quando aplicadas corretamente, mas criam estragos quando usadas incorretamente ou são mal interpretadas. Todas as médias móveis comumente usadas na análise técnica são, por sua própria natureza, indicadores de atraso. Conseqüentemente, as conclusões extraídas da aplicação de uma média móvel a um gráfico de mercado específico devem ser para confirmar um movimento de mercado ou para indicar sua força. Muitas vezes, no momento em que uma linha de indicador de média móvel fez uma mudança para refletir um movimento significativo no mercado, o ponto ótimo de entrada no mercado já passou. Um EMA serve para aliviar esse dilema até certo ponto. Como o cálculo EMA coloca mais peso sobre os dados mais recentes, ele abraça a ação do preço um pouco mais apertado e, portanto, reage mais rápido. Isso é desejável quando um EMA é usado para derivar um sinal de entrada comercial. Interpretando o EMA Como todos os indicadores de média móvel, eles são muito mais adequados para mercados de tendências. Quando o mercado está em uma tendência de alta forte e sustentada. A linha indicadora EMA também mostrará uma tendência de alta e vice-versa para uma tendência descendente. Um comerciante vigilante não só prestará atenção à direção da linha EMA, mas também a relação da taxa de mudança de uma barra para a próxima. Por exemplo, como a ação de preço de uma forte tendência de alta começa a achatar e reverter, a taxa de troca de EMAs de uma barra para a próxima começará a diminuir até que a linha do indicador aplique e a taxa de mudança seja zero. Devido ao efeito de atraso, até este ponto, ou mesmo algumas barras anteriores, a ação de preço já deveria ter sido revertida. Portanto, segue que a observação de uma diminuição consistente na taxa de mudança da EMA poderia ser usada como um indicador que poderia contrariar ainda mais o dilema causado pelo efeito de atraso das médias móveis. Os usos comuns das EMA EMAs são comumente usados ​​em conjunto com outros indicadores para confirmar movimentos significativos no mercado e avaliar sua validade. Para os comerciantes que comercializam mercados intradía e de rápido movimento, o EMA é mais aplicável. Muitas vezes, os comerciantes usam EMAs para determinar um viés de negociação. Por exemplo, se um EMA em um gráfico diário mostra uma forte tendência ascendente, uma estratégia de comerciantes intradía pode ser trocar apenas do lado longo em um gráfico intradía.

No comments:

Post a Comment