Los promedios móviles son indicadores financieros que se utilizan para analizar los valores de las acciones durante un largo período de tiempo. es decir, se calcula el valor promedio para ese largo período. Los promedios móviles exponenciales (EMA) son un tipo de promedios móviles. Ayuda a los usuarios a filtrar el ruido y producir una curva suave. En Medias Móviles 2 son muy populares.
- Promedio móvil simple
- Media Móvil Exponencial
El promedio móvil simple solo calcula el valor promedio al realizar una operación media en datos dados, pero cambia de un intervalo a otro. Pero mientras que en el promedio móvil exponencial también se usa el promedio simple para calcular su promedio, pero le da más peso al valor recién agregado ya que el último valor tiene más peso.
Fórmula
EMA de hoy =( Valor de hoy *(Constante/ (1+Núm. de días)) )+( EMA de ayer *(1-(Constante/(1+Número de días))) )
El valor de la media móvil exponencial para hoy se calcula utilizando el valor anterior de la media móvil exponencial. Aquí los valores más antiguos tienen menos ponderación y los valores más nuevos obtienen más ponderación. Esta disminución en el peso de los valores se calcula usando un valor constante llamado Decaimiento. Entonces, a medida que aumenta el número de días, el valor se vuelve menos significativo. Ayuda a prevenir las fluctuaciones de valores.
Usando el método ewm en Pandas
El método de la media ponderada exponencial se utiliza para calcular la EMA, que toma una constante de caída como parámetro.
Sintaxis
NombreDeTramaDeDatos.ewm(com=valor)
Ejemplo 1:
Como la gráfica de los valores de EMA se suaviza poco en comparación con los valores originales de las existencias, esto indica la naturaleza de los promedios móviles exponenciales.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe stockValues = pd.DataFrame( {'Stock_Values': [60, 102, 103, 104, 101, 105, 102, 103, 103, 102]}) # finding EMA # use any constant value that results in # good smoothened curve ema = stockValues.ewm(com=0.4).mean() # Comparison plot b/w stock values & EMA plt.plot(stockValues, label="Stock Values") plt.plot(ema, label="EMA Values") plt.xlabel("Days") plt.ylabel("Price") plt.legend() plt.show()
Producción
Ejemplo 2:
En el siguiente código, tomaremos el mismo DataFrame que usamos anteriormente con un valor com diferente , que es un valor más alto en comparación con el anterior. Se pasará como argumento al método ewm.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe stockValues = pd.DataFrame( {'Stock_Values': [60, 102, 103, 104, 101, 105, 102, 103, 103, 102]}) # finding EMA # used constant value as 0.8 ema = stockValues.ewm(com=0.8).mean() # Comparison plot b/w stock values & EMA plt.plot(stockValues, label="Stock Values", color="black") plt.plot(ema, label="EMA Values", color="red") plt.xlabel("Days") plt.ylabel("Price") plt.legend() plt.show()
Producción
Ejemplo 3:
Aquí consideraremos el mismo DataFrame que usamos en los 2 ejemplos anteriores con un valor com diferente que es casi cero , pasado como argumento al método ewm.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe stockValues = pd.DataFrame( {'Stock_Values': [60, 102, 103, 104, 101, 105, 102, 103, 103, 102]}) # finding EMA # com value=0.1 (0 approx) ema = stockValues.ewm(com=0.1).mean() # Comparison plot b/w stock values & EMA plt.plot(stockValues, label="Stock Values", color="blue") plt.plot(ema, label="EMA Values", color="green") plt.xlabel("Days") plt.ylabel("Price") plt.legend() plt.show()
Producción
Publicación traducida automáticamente
Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA