Skip to main content

Exponencial Moving Average Postgresql


Estou tentando implementar uma média móvel exponencial (EMA) no postgres, mas conforme verifico a documentação e penso nisso, mais eu tento com mais confusão que eu sou. A fórmula para EMA (x) é: parece ser perfeita para um agregador, mantendo 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). Tenho verificado como os procedimentos e as funções funcionam, mas a 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 (âncora) parte da consulta, EMA (x1) pode ser claramente representada com uma única linha - isso Corespnds para a única linha 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 questão, mesmo que este seja menos performante se o desempenho for um Questão, o OP pode alterar a condição de junção para ser como você sugeriu. Ndash Mark Bannister 16 de janeiro às 9: 27 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 SQL no PostgreSQL, mas não é permitido no SQL Server. O uso de 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 simplesmente olhei para 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 às 13:52

Comments

Popular posts from this blog

Forex D Alembert

Codificação de ajuda com d8217Alembert Forex EA Eu tento codificar uma EA que lida com a progressão de dalembert (para todos que não conhecem a progressão dalembert: bettingexpertcasino. Lembert-system) O plano é começar com 0,01 lotes e SL 13 pips TP 14 pips. Cada vez que um comércio se encerra com uma perda, um novo comércio abre imediatamente com lotes adicionais de 0,01 e depois de um comércio de ganhos próximo comercial aberto imediatamente com 0,01 lotes menos do que o lotes antes até chegar em 0,01 lotes. 1. comércio 0,01 lotes perda 2. comércio 0,02 lotes perda 3. comércio 0,03 lotes perda 4. comércio 0,04 lotes perda 5. comércio 0,05 lotes ganhar 6. comércio 0,04 lotes ganhar 7. comércio 0,03 lotes ganhar 8. comércio 0,02 lotes ganhar 9. Comércio 0.01 lotes de vitórias Então, aqui está a minha primeira tentativa de código, mas não funciona no testador startegy. - (Por favor, não há comentários como quotBlow sua conta de distância. Blablaquot Apenas compartilhando uma estratégi...

Forex Steam V5 Download

Ebooks grátis pelo Projeto Gutenberg O Projeto Gutenberg oferece mais de 53.000 ebooks gratuitos: escolha entre livros epub grátis, livros gratuitos gratuitos, baixe-os ou leia-os on-line. Nós carregamos ebooks de alta qualidade: a maioria dos ebooks do Projeto Gutenberg foram publicados anteriormente por editores de boa-fé. Nós digitalizamos e revisamos com diligência com a ajuda de milhares de voluntários. Nenhuma taxa ou registro é necessário, mas se você encontrar o Projeto Gutenberg útil, pedimos que você dê uma pequena quantia para que possamos comprar e digitalizar mais livros, manter nossa presença on-line e melhorar os programas e ofertas do Projeto Gutenberg. Outras formas de ajudar a digitalizar mais livros. Gravando livros de áudio. Ou relatórios de erros. Muitos ebooks gratuitos estão disponíveis através dos nossos parceiros, afiliados e recursos. Termos de uso Nossos ebooks podem ser usados ​​livremente nos Estados Unidos porque a maioria não está protegida pela lei de di...

Detecção Ambulatorial Média Em Movimento

Os autores exploram a forma como os deslizamentos de ciclo nas medições da fase de suporte da Galileo podem ser mais efetivamente detectados usando quatro freqüências. INSUÍDOS DE INOVAÇÃO com Richard Langley MAIS SATÉLITES OU MAIS SINAIS Essa foi a pergunta colocada aos delegados no GNSS Election 08, o entretenimento estimulante e divertido oferecido no Jantar de liderança mundial do GPS, em conjunto com o encontro do Instituto das Navegações em Savannah, em setembro de 2008. Durante o debate antes das eleições, o Partido Satélite defendeu que a comunidade de usuários GNSS seria melhor atendida por mais satélites do que mais sinais. Eles argumentaram que mais satélites (mais do que aqueles na constelação GPS operacional) permitiriam um posicionamento mais contínuo e confiável em cidades, áreas montanhosas e outros ambientes difíceis e que os sinais legados do GPS eram suficientes. Greg Turetsky, um de seus candidatos, afirmou, eu manteria do ponto de vista econômico que é muito mais e...