Friday, 26 May 2017

Algoritmo De Média Móvel Ponderada Exponencialmente


Eu tenho uma série de tempo de preços das ações e deseja calcular a média móvel em uma janela de dez minutos (ver diagrama abaixo). Como os carrapatos de preços ocorrem esporadicamente (isto é, eles não são periódicos), parece mais justo calcular uma média móvel ponderada no tempo. No diagrama há quatro mudanças de preços: A, B, C e D, com os últimos três ocorrendo dentro da janela. Observe que, como B só ocorre algum tempo na janela (digamos 3 minutos), o valor de A ainda contribui para a computação. Na verdade, tanto quanto posso dizer, o cálculo deve basear-se unicamente nos valores de A, B e C (não D) e as durações entre eles eo próximo ponto (ou no caso de A: a duração entre o início Da janela de tempo e B). Inicialmente D não terá qualquer efeito, pois sua ponderação de tempo será zero. Isto é correto Assumindo que isto está correto, minha preocupação é que a média móvel seja mais atrasada do que o cálculo não ponderado (o que representaria o valor de D imediatamente). No entanto, o cálculo não ponderado tem suas próprias desvantagens: Têm tanto efeito sobre o resultado quanto os outros preços, apesar de estarem fora da janela de tempo. Uma onda repentina de carrapatos de preço rápido seria fortemente tendenciosa a média móvel (embora talvez isso seja desejável) Alguém pode oferecer qualquer conselho sobre qual abordagem parece melhor, ou se há uma abordagem alternativa (ou híbrida) vale a pena considerar pediu 14 de abril às 21: 35 Seu raciocínio está correto. O que você quer usar a média para embora Sem saber que é difícil dar qualquer conselho. Talvez uma alternativa seria considerar sua média corrente A, e quando um novo valor V entrar, calcule a nova média A para ser (1-c) AcV, onde c está entre 0 e 1. Desta forma, os carrapatos mais recentes têm Uma influência mais forte, eo efeito de carrapatos velhos dissipa ao longo do tempo. Você poderia até mesmo ter c depender do tempo desde os carrapatos anteriores (c tornando-se menor como os carrapatos se aproximar). No primeiro modelo (ponderação) a média seria diferente cada segundo (como as leituras velhas começam o peso mais baixo e as leituras novas mais altamente) assim que seu sempre mudar que não pode ser desejável. Com a segunda abordagem, os preços fazem saltos súbitos à medida que novos preços são introduzidos e os antigos desaparecem da janela. As duas sugestões vêm do mundo discreto, mas você pode encontrar uma inspiração para o seu caso particular. Dê uma olhada no suavização exponencial. Nesta abordagem você introduz o fator de suavização (01) que permite alterar a influência dos elementos recentes no valor da previsão (os elementos mais antigos são atribuídos ponderes exponencialmente decrescentes): Eu criei uma animação simples de como a suavização exponencial acompanharia o Uma série de tempo uniforme x1 1 1 1 3 3 2 2 2 1 com três diferentes: Tenha também um olhar para algumas das técnicas de aprendizagem de reforço (olhar para os diferentes métodos de desconto), por exemplo TD-aprendizagem e Q-Learning. Sim, a média móvel será, naturalmente, lag. Isto é porque seu valor é informação histórica: ele resume amostras do preço nos últimos 10 minutos. Esse tipo de média é inerentemente laggy. Tem um construído em deslocamento de cinco minutos (porque uma média da caixa sem deslocamento seria baseada em - 5 minutos, centrada na amostra). Se o preço estiver em A por um longo tempo e depois muda uma vez para B, leva 5 minutos para que a média atinja (AB) 2. Se você quer a média de uma função lisa sem qualquer mudança no domínio, o peso tem Para ser distribuído uniformemente ao redor do ponto de amostragem. Mas isso é impossível de fazer para os preços que ocorrem em tempo real, uma vez que os dados futuros não está disponível. Se você quiser uma mudança recente, como D, para ter um impacto maior, use uma média que dê um peso maior a dados recentes, ou um período de tempo mais curto, ou ambos. Uma forma de suavizar os dados é simplesmente utilizar um único acumulador (o estimador suavizado) E e tomar amostras periódicas dos dados S. E é actualizado como se segue: i. e. Uma fração K (entre 0 e 1) da diferença entre a amostra de preço atual S e o estimador E é adicionada a E. Suponha que o preço tenha sido em A por um longo tempo, de modo que E esteja em A, e então subitamente muda Para B. O estimador começará a mover-se em direção a B de forma exponencial (como aquecimento, carga descarga de um capacitor, etc). Em primeiro lugar ele vai fazer um grande salto, e, em seguida, cada vez menores incrementos. O quão rápido ele se move depende de K. Se K é 0, o estimador não se move de todo, e se K é 1 ele se move instantaneamente. Com K você pode ajustar quanto peso você dá ao estimador versus a nova amostra. Mais peso é dado às amostras mais recentes implicitamente, ea janela de amostra basicamente se estende ao infinito: E é baseado em cada amostra de valor que já ocorreu. Embora, naturalmente, os muito antigos têm quase nenhuma influência sobre o valor atual. Um método muito simples, bonito. Respondeu Apr 14 12 at 21:50 Este é o mesmo que Tom39s resposta. Sua fórmula para o novo valor do estimador é (1 - K) E KS. Que é algébricamente o mesmo que E K (S - E). É uma função de mistura quotlinear entre o estimador de corrente E ea nova amostra S onde o valor de K 0, 1 controla a mistura. Escrevê-lo dessa maneira é bom e útil. Se K é 0,7, tomamos 70 de S e 30 de E, o que é o mesmo que adicionando 70 da diferença entre E e S de volta a E. ndash Kaz 14 de abril de 12 às 22:15 Em Toms expansão resposta, a fórmula (Tn - t n-1) T, ou seja, a é uma razão de delta do tempo de chegada sobre o intervalo de média v 1 (use o método anterior) ) Ou v (1 - u) a (interpolação linear, ou vu (próximo ponto) Mais informações podem ser encontradas na página 59 do livro An Introduction To High Frequency Finance. Exploring A Volatilidade Média Móvel Ponderada Exponencialmente é a medida mais comum De risco, mas vem em vários sabores. Em um artigo anterior, nós mostramos como calcular a volatilidade histórica simples. (Para ler este artigo, consulte Usando a volatilidade para medir o risco futuro.) Usamos os dados reais de preço das ações da Google para calcular Volatilidade diária com base em dados de estoque de 30 dias. Neste artigo, Melhorar a volatilidade simples e discutir a média móvel exponencialmente ponderada (EWMA). Histórico vs. Volatilidade implícita Primeiro, vamos colocar esta métrica em um pouco de perspectiva. Há duas abordagens gerais: volatilidade histórica e implícita (ou implícita). A abordagem histórica pressupõe que o passado é um prólogo que medimos a história na esperança de que ela seja preditiva. A volatilidade implícita, por outro lado, ignora a história que resolve pela volatilidade implícita nos preços de mercado. Espera que o mercado conheça melhor e que o preço de mercado contenha, mesmo que implicitamente, uma estimativa consensual da volatilidade. Se focarmos apenas as três abordagens históricas (à esquerda acima), elas têm duas etapas em comum: Calcular a série de retornos periódicos Aplicar um esquema de ponderação Primeiro, nós Calcular o retorno periódico. Isso é tipicamente uma série de retornos diários onde cada retorno é expresso em termos continuamente compostos. Para cada dia, tomamos o log natural da razão dos preços das ações (ou seja, preço hoje dividido pelo preço de ontem, e assim por diante). Isso produz uma série de retornos diários, de u i para u i-m. Dependendo de quantos dias (m dias) estamos medindo. Isso nos leva ao segundo passo: é aqui que as três abordagens diferem. No artigo anterior (Usando a Volatilidade para Avaliar o Risco Futuro), mostramos que, sob algumas simplificações aceitáveis, a variância simples é a média dos retornos quadrados: Note que isto soma cada um dos retornos periódicos e depois divide esse total pela Número de dias ou observações (m). Então, é realmente apenas uma média dos retornos periódicos quadrados. Dito de outra forma, cada retorno ao quadrado é dado um peso igual. Portanto, se alfa (a) é um fator de ponderação (especificamente, um 1m), então uma variância simples é algo como isto: O EWMA Melhora na Variância Simples A fraqueza desta abordagem é que todos os retornos ganham o mesmo peso. O retorno de ontem (muito recente) não tem mais influência na variância do que nos últimos meses. Esse problema é corrigido usando-se a média móvel exponencialmente ponderada (EWMA), na qual retornos mais recentes têm maior peso na variância. A média móvel exponencialmente ponderada (EWMA) introduz lambda. Que é chamado de parâmetro de suavização. Lambda deve ser inferior a um. Sob essa condição, em vez de pesos iguais, cada retorno ao quadrado é ponderado por um multiplicador da seguinte forma: Por exemplo, RiskMetrics TM, uma empresa de gestão de risco financeiro, tende a usar um lambda de 0,94 ou 94. Neste caso, o primeiro Mais recente) é ponderado por (1-0.94) (. 94) 0 6. O próximo retomo ao quadrado é simplesmente um lambda-múltiplo do peso anterior neste caso 6 multiplicado por 94 5.64. E o terceiro dia anterior peso é igual a (1-0,94) (0,94) 2 5,30. Esse é o significado de exponencial em EWMA: cada peso é um multiplicador constante (isto é, lambda, que deve ser menor que um) do peso dos dias anteriores. Isso garante uma variância que é ponderada ou tendenciosa em direção a dados mais recentes. (Para saber mais, consulte a Planilha do Excel para a Volatilidade do Google.) A diferença entre simplesmente volatilidade e EWMA para o Google é mostrada abaixo. A volatilidade simples pesa efetivamente cada retorno periódico em 0.196, como mostrado na coluna O (tivemos dois anos de dados diários sobre os preços das ações, ou seja, 509 retornos diários e 1509 0.196). Mas observe que a Coluna P atribui um peso de 6, então 5.64, então 5.3 e assim por diante. Essa é a única diferença entre a variância simples e EWMA. Lembre-se: Depois de somarmos toda a série (na coluna Q) temos a variância, que é o quadrado do desvio padrão. Se queremos a volatilidade, precisamos nos lembrar de tomar a raiz quadrada dessa variância. Sua significativa: A variância simples nos deu uma volatilidade diária de 2,4, mas a EWMA deu uma volatilidade diária de apenas 1,4 (veja a planilha para mais detalhes). Aparentemente, volatilidade Googles estabeleceu-se mais recentemente, portanto, uma variância simples pode ser artificialmente elevada. A variação de hoje é uma função da variação dos dias de Pior Você observará que nós necessitamos computar uma série longa de pesos exponencial declinando. Nós não faremos a matemática aqui, mas uma das melhores características do EWMA é que a série inteira convenientemente reduz a uma fórmula recursiva: Recursivo significa que as referências de variância de hoje (ou seja, é uma função da variação dias anteriores). Você pode encontrar esta fórmula na planilha também, e produz o mesmo resultado exato que o cálculo de longhand Diz: A variância de hoje (sob EWMA) iguala a variância de ontem (ponderada por lambda) mais o retorno ao quadrado de ontem (pesado por um lambda negativo). Observe como estamos apenas adicionando dois termos juntos: ontem variância ponderada e ontem ponderado, retorno ao quadrado. Mesmo assim, lambda é nosso parâmetro de suavização. Um lambda mais alto (por exemplo, como o RiskMetrics 94) indica um declínio mais lento na série - em termos relativos, vamos ter mais pontos de dados na série e eles vão cair mais lentamente. Por outro lado, se reduzimos o lambda, indicamos maior decaimento: os pesos caem mais rapidamente e, como resultado direto da rápida decomposição, são usados ​​menos pontos de dados. (Na planilha, lambda é uma entrada, para que você possa experimentar com sua sensibilidade). Resumo A volatilidade é o desvio padrão instantâneo de um estoque ea métrica de risco mais comum. É também a raiz quadrada da variância. Podemos medir a variância historicamente ou implicitamente (volatilidade implícita). Ao medir historicamente, o método mais fácil é a variância simples. Mas a fraqueza com variância simples é todos os retornos obter o mesmo peso. Então, enfrentamos um trade-off clássico: sempre queremos mais dados, mas quanto mais dados temos, mais nosso cálculo é diluído por dados distantes (menos relevantes). A média móvel exponencialmente ponderada (EWMA) melhora a variância simples, atribuindo pesos aos retornos periódicos. Ao fazer isso, podemos usar um grande tamanho de amostra, mas também dar maior peso a retornos mais recentes. (Para ver um tutorial de filme sobre este tópico, visite o Bionic Turtle.) A abordagem EWMA tem uma característica atraente: requer relativamente poucos dados armazenados. Para atualizar nossa estimativa em qualquer ponto, precisamos apenas de uma estimativa prévia da taxa de variância e do valor de observação mais recente. Um objetivo secundário da EWMA é acompanhar mudanças na volatilidade. Para valores pequenos, observações recentes afetam prontamente a estimativa. Para valores próximos de um, a estimativa muda lentamente com base em mudanças recentes nos retornos da variável subjacente. O banco de dados RiskMetrics (produzido por JP Morgan e disponibilizado ao público) utiliza o EWMA para atualizar a volatilidade diária. IMPORTANTE: A fórmula EWMA não assume um nível de variância médio de longo prazo. Assim, o conceito de volatilidade significa reversão não é capturado pela EWMA. Os modelos ARCHGARCH são mais adequados para esta finalidade. Um objetivo secundário da EWMA é acompanhar mudanças na volatilidade, portanto, para valores pequenos, observação recente afeta prontamente a estimativa e para valores próximos de um, a estimativa muda lentamente para mudanças recentes nos retornos da variável subjacente. O banco de dados RiskMetrics (produzido pela JP Morgan) e disponibilizado ao público em 1994, utiliza o modelo EWMA para atualizar a estimativa diária de volatilidade. A empresa descobriu que, em toda uma gama de variáveis ​​de mercado, este valor fornece a previsão da variância que se aproxima da taxa de variação realizada. As taxas de desvio realizadas num determinado dia foram calculadas como uma média igualmente ponderada dos 25 dias subsequentes. Da mesma forma, para calcular o valor ótimo de lambda para o nosso conjunto de dados, precisamos calcular a volatilidade realizada em cada ponto. Existem vários métodos, então escolha um. Em seguida, calcule a soma de erros quadrados (SSE) entre EWMA estimativa e volatilidade realizada. Finalmente, minimizar o SSE variando o valor lambda. Parece simples É. O maior desafio é concordar com um algoritmo para calcular a volatilidade realizada. Por exemplo, o pessoal da RiskMetrics escolheu os 25 dias subseqüentes para calcular a taxa de variação realizada. No seu caso, você pode escolher um algoritmo que utiliza o Volume Diário, HILO e ou OPEN-CLOSE preços. Q 1: Podemos usar EWMA para estimar (ou prever) a volatilidade mais de um passo à frente A representação da volatilidade EWMA não assume uma volatilidade média de longo prazo e, portanto, para qualquer horizonte de previsão além de um passo, a EWMA retorna uma constante valor:

No comments:

Post a Comment