8 votos

¿Existe una forma no recursiva de calcular la media móvil exponencial?

Quiero calcular la media móvil exponencial de muchas acciones de un gran universo invertible. Para ello, he visto la siguiente fórmula:

exponential moving average recursive formula

Debido a que hace referencia a la media móvil exponencial del día anterior, me parece que tendría que calcular la media móvil exponencial para cada día que se remonta al inicio del valor con el fin de obtener una ema precisa para hoy. Esto parece que requeriría demasiados cálculos para ser utilizado eficazmente. ¿Existe alguna forma de calcular una ema precisa que sea menos pesada desde el punto de vista computacional?

0 votos

Veo que no has aceptado una respuesta. ¿Qué información adicional necesita para aceptar una respuesta?

6voto

Joel Martinez Puntos 165

El objetivo de la fórmula recursiva es que puedas calcular fácilmente la EWMA actual si tienes la EWMA del último periodo.

De forma equivalente, puedes calcular todos los pesos directamente y sumarlos de esa forma. $$ \text{EWMA}_t = S_t(1-\lambda) + S_{t-1}(1-\lambda)\lambda + S_{t-2}(1-\lambda)\lambda^2 + \dots $$ donde $\lambda$ es su parámetro de suavización entre $0$ y $1$ . Los valores más altos indican una media más suave, mientras que los valores más bajos dan más peso a las observaciones recientes. En relación con tu post, $$ 1-\lambda=\frac{2}{T+1}. $$

Probablemente se haya dado cuenta de que ambas fórmulas requieren que se retroceda infinitamente para obtener la EWMA actual. Por supuesto, no podemos hacer eso, así que la pregunta ahora es ¿dónde se puede cortar?

La ventaja de la segunda formulación es que se puede obtener la vida media $\tau$ como $$ \lambda^\tau=\frac{1}{2} $$ o $$ \tau = \log_\lambda(1/2)=\frac{\ln(1/2)}{\ln(\lambda)} $$ Esto le da una orientación práctica sobre cuántos pasos debe retroceder realmente para obtener una buena estimación.

6voto

Muhammed Refaat Puntos 97

He estado esperando a que alguien hiciera esta pregunta ya que todos los métodos publicados con los que estoy familiarizado proponen pesos que convergen a $1$ sólo cuando el número de términos llega al infinito. Esto es bastante molesto, ya que requiere que utilicemos una estimación sesgada que subestime la verdadera media ponderada exponencialmente o que utilicemos información con fecha anterior para parametrizar el valor inicial.

Supongamos que tiene factores de ponderación en los que las ponderaciones retardadas son un factor de $\beta$ , donde:

$$\beta= e^{\frac{-\Delta t}{\tau}}$$

(Nota: $\beta[t]$ es el vector de ponderación canónico de una media móvil exponencial)

Para llegar a los pesos, queremos encontrar una serie tal que:

$${\Sigma}_{t=0}^{T=N}( \frac{\beta^{T-t}}{\Sigma\beta^{\Delta t}}) = 1$$

La suma de los pesos exponenciales brutos se puede encontrar mediante una expansión en serie:

$$\Sigma_{t=0}^{T=N} \beta^{\Delta t} = \frac{1-\beta^T}{1-\beta}$$

Por lo tanto, los pesos periódicos, $\omega_i$ se puede encontrar de la siguiente manera:

$$\omega_i = {\Sigma}_{t=0}^{T=N}\frac{\beta^{T-t}(1-\beta)}{1-\beta^T}$$ .

Si tenemos un vector de valores:

$$X_i = [X_1,\, X_2, \, ...X_N]$$

y un vector de pesos:

$$\omega_i = [\omega_1,\, \omega_2, \, ...\omega_N]$$

el producto punto de los dos vectores proporcionará una estimación insesgada de la media ponderada exponencialmente donde la suma de los pesos siempre es igual $1$ y donde no se requieren términos fuera de muestra para parametrizar el valor inicial. La recursión se limita únicamente a una serie finita del mismo tamaño que los datos que se van a ponderar.

$$\text{EWMA} = f(\omega_i \cdot X_i)= \Sigma (\omega_i * X_i)$$

Por favor, dígame si esto funciona para usted.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X