Tuesday 17 October 2017

Alternativa Media Móvil


Descargar movAv. m (ver también movAv2 - una versión actualizada que permite la ponderación) Descripción Matlab incluye funciones llamadas movavg y tsmovavg (series de tiempo de movimiento promedio) en la caja de herramientas financiera, movAv está diseñado para replicar la funcionalidad básica de estos. El código aquí proporciona un buen ejemplo de gestión de índices dentro de bucles, lo que puede ser confuso para empezar. Ive deliberadamente mantenido el código corto y simple para mantener este proceso claro. MovAv realiza una media móvil simple que se puede utilizar para recuperar datos ruidosos en algunas situaciones. Funciona tomando la media de la entrada (y) sobre una ventana de tiempo de deslizamiento, cuyo tamaño está especificado por n. Cuanto mayor es n, mayor es la cantidad de suavizado que el efecto de n es relativo a la longitud del vector de entrada y. Y efectivamente (bueno, una especie de) crea un filtro de frecuencia de paso bajo - vea la sección de ejemplos y consideraciones. Debido a que la cantidad de suavizado proporcionada por cada valor de n es relativa a la longitud del vector de entrada, siempre vale la pena probar diferentes valores para ver cuál es apropiado. Recuerde también que n puntos se pierden en cada promedio si n es 100, los primeros 99 puntos del vector de entrada no contienen suficientes datos para un promedio de 100 puntos. Esto puede evitarse de alguna manera mediante el apilamiento de promedios, por ejemplo, el código y el gráfico de abajo comparan varios promedios de ventana de longitud diferentes. Observe cómo el 1010pt liso es comparado a un solo promedio 20pt. En ambos casos se pierden 20 puntos de datos en total. Crear xaxis x1: 0.01: 5 Generar ruido noiseReps 4 ruido repmat (randn (1, ceil (numel (x) / noiseReps)), noiseReps, 1) (X) 10noise (1: length (x)) Medias de Perfrom: y2 movAv (y, 10) 10 pt y3 movAv (y2, 10) 1010 pt y4 movAv (y, 20) 20 pt y5 movAv (y, 40) 40 (X, y, y2, y3, y4, y5, y6) leyenda (datos sin procesar, 10pt media móvil, 1010pt, 20pt, 40pt, 100pt) xlabel (x) ylabel (Y) title (Comparación de promedios móviles) movAv. m función de ejecución del programa movAv (y, n) La primera línea define el nombre de las funciones, entradas y salidas. La entrada x debe ser un vector de datos para realizar el promedio en, n debe ser el número de puntos para realizar el promedio sobre la salida contendrá los datos promediados devueltos por la función. Prealocar la salida outputNaN (1, numel (y)) Encontrar el punto medio de n midPoint round (n / 2) El trabajo principal de la función se realiza en el bucle for, pero antes de comenzar se preparan dos cosas. En primer lugar la salida se pre-asignó como NaNs, esto sirvió dos propósitos. En primer lugar, la prealocación es generalmente una buena práctica ya que reduce la memoria que hace malabarismos Matlab tiene que hacer, en segundo lugar, hace que sea muy fácil colocar los datos promediados en una salida del mismo tamaño que el vector de entrada. Esto significa que el mismo xaxis se puede usar más adelante para ambos, lo cual es conveniente para trazar, alternativamente los NaNs pueden ser removidos más adelante en una línea de código (output output) (La variable midPoint será usada para alinear los datos en el vector de salida. N 10, se perderán 10 puntos porque, para los primeros 9 puntos del vector de entrada, no hay suficientes datos para tomar un promedio de 10. Como la salida será más corta que la entrada, debe alinearse correctamente. Se utiliza para que se pierda una cantidad igual de datos al inicio y al final y la entrada se mantenga alineada con la salida por los tampones NaN creados al asignar previamente la salida para un rango de 1: length (y) - n Find index para tomar el promedio (A: b) ban Calcula la media de salida (amidPoint) media (y (a: b)) end En el bucle for sí mismo, se toma una media sobre cada segmento consecutivo de la entrada. Definido como 1 hasta la longitud de la entrada (y), menos los datos que se perderán (n) Si la entrada tiene 100 puntos de largo y n es 10, el bucle se ejecutará desde (a) 1 hasta 90. Esto Significa a proporciona el primer índice del segmento a promediar. El segundo índice (b) es simplemente un-1. Así que en la primera iteración, a1. N10. Así que b 11-1 10. El primer promedio se toma sobre y (a: b). O x (1:10). El promedio de este segmento, que es un valor único, se almacena en la salida en el índice amidPoint. O 156. En la segunda iteración, a2. B 210-1 11. Así que la media se toma sobre x (2:11) y se almacena en la salida (7). En la última iteración del bucle para una entrada de longitud 100, a91. B 9010-1 100 de modo que la media se toma en x (91: 100) y se almacena en la salida (95). Esto deja salida con un total de n (10) valores de NaN en el índice (1: 5) y (96: 100). Ejemplos y consideraciones Las medias móviles son útiles en algunas situaciones, pero no siempre son la mejor opción. Aquí hay dos ejemplos donde theyre no necesariamente óptimo. Calibración de micrófono Este conjunto de datos representa los niveles de cada frecuencia producida por un altavoz y grabada por un micrófono con una respuesta lineal conocida. La salida del altavoz varía con la frecuencia, pero podemos corregir esta variación con los datos de calibración - la salida se puede ajustar en el nivel para tener en cuenta las fluctuaciones en la calibración. Observe que los datos brutos son ruidosos - esto significa que un pequeño cambio en la frecuencia parece requerir un cambio grande, errático, en el nivel a tener en cuenta. ¿Es esto realista o es esto un producto del entorno de grabación Es razonable en este caso aplicar una media móvil que suaviza la curva de nivel / frecuencia para proporcionar una curva de calibración que es ligeramente menos errática. Pero ¿por qué no es esto óptimo en este ejemplo? Más datos serían mejores - múltiples calibraciones se promediarían juntos destruirían el ruido en el sistema (siempre y cuando sea aleatorio) y proporcionarían una curva con menos detalles sutiles perdidos. El promedio móvil sólo puede aproximarse a esto, y puede quitar algunos suelos y picos de frecuencia más alta de la curva que realmente existen. Las ondas sinusoidales El uso de un promedio móvil en las ondas sinusoidales destaca dos puntos: La cuestión general de elegir un número razonable de puntos para realizar el promedio. Su simple, pero hay métodos más eficaces de análisis de señales que el promedio de las señales oscilantes en el dominio del tiempo. En este gráfico, la onda sinusoidal original se representa en azul. Se añade ruido y se representa como la curva naranja. Un promedio móvil se realiza en números diferentes de puntos para ver si la onda original puede ser recuperada. 5 y 10 puntos proporcionan resultados razonables, pero no eliminan el ruido por completo, cuando un mayor número de puntos comienzan a perder detalle de amplitud como el promedio se extiende en diferentes fases (recuerde que la onda oscila alrededor de cero y media (-1 1) 0) . Un enfoque alternativo sería construir un filtro de paso bajo que se pueda aplicar a la señal en el dominio de la frecuencia. No voy a entrar en detalles ya que va más allá del alcance de este artículo, pero como el ruido es considerablemente más alta frecuencia que la frecuencia fundamental de las ondas, sería bastante fácil en este caso para construir un filtro de paso bajo que eliminará la frecuencia alta BALTIMORE (Stockpickr) - En el mundo del análisis técnico, el promedio móvil, o MA, bien puede ser el indicador más popular por ahí. Pero con demasiada frecuencia, los técnicos nacientes del mercado sólo tienen una comprensión pasajera del mensaje que las líneas añadidas en sus cartas técnicas les están diciendo. Hoy, estaban echando un vistazo a cómo funcionan las medias móviles - y cómo pueden señalar los oficios en el mundo real. Los promedios móviles apenas quedan relegados al mundo del comercio. De hecho, es una herramienta estadística común que se utiliza para interpretar conjuntos de datos de series de tiempo grandes haciendo puntos de datos fragmentados relacionados con el conjunto matemáticamente, moviendo promedios son suavizar las operaciones que incluso los valores atípicos estadísticos y dar una imagen más clara sobre el conjunto de datos que se está mirando. Lo que significa esencialmente es que las medias móviles pueden tomar un elemento potencialmente volátil como un precio de las acciones, y dar a los inversores un gráfico que es mucho más indicativo del movimiento de las poblaciones en general. MA corte a través del ruido del mercado. Para decirlo simplemente, el promedio móvil es sólo un promedio móvil - es decir, es el precio promedio de una acción durante un número dado de días. Cada día, los datos más recientes se añaden a la media móvil y los datos de los últimos días disminuyen. Moving Average Weighting Woes Pero los técnicos pronto descubrieron una falla importante en este simple promedio móvil (SMA): ponderación. Después de todo, los datos de precios de casi un año atrás (en el caso de la siempre popular media móvil de 200 días) no eran tan relevantes para el mercado de hoy como el precio de ayer, pero ambos tenían un impacto igual sobre el valor de la media móvil. Para remediar eso, la media móvil exponencial, o EMA, se convirtió en una alternativa popular. A diferencia de la media móvil simple, donde los precios de cada día tuvo el mismo impacto, la EMA se calcula de tal manera que cada significación de días disminuye exponencialmente. Mientras que otros esquemas de ponderación existen, la SMA y EMA son de lejos el más popular en uso por los analistas técnicos de hoy. El período de tiempo de la media móvil es también un elemento crucial. Las alternativas más populares incluyen los promedios móviles de 9 días, 50 días y 200 días (simples o exponenciales, dependiendo de la aplicación, así como la preferencia de los comerciantes). Pero mientras que las medias móviles diarias, que representan un precio de las existencias sobre los X días que se arrastran, son comunes, su esencial recordar que las medias móviles se pueden utilizar para cualquier timeframe. El indicador del canal de Fibonacci: Una alternativa a la media móvil El flujo de Fibonacci es un Tendencia siguiente al indicador diseñado como una alternativa a los indicadores de la media móvil tradicional. La gran ventaja sobre la media móvil tradicional es que el indicador de flujo es independiente del tiempo. Un promedio móvil de 200 días en un gráfico diario, por ejemplo, es probablemente de poco uso en un gráfico mensual. Este indicador es de hecho independiente del marco de tiempo, no hay necesidad de realizar ajustes basados ​​en el intervalo. El cálculo para trazar el flujo es, sin embargo, completamente diferente al de un promedio móvil. En cambio, los niveles de retraimiento de precios de Fibonacci están en el centro del cálculo, pero en lugar de trazar los niveles manualmente con líneas horizontales, este indicador se está ajustando constantemente a los movimientos de precios que finalmente se muestran como una sola línea similar a una media móvil. Cuando el indicador se utiliza con cualquiera de los estudios de barra de reconocimiento de patrón opcional que va a terminar con una poderosa y completa herramienta de comercio simple. Código disponible en Trade Stations EasyLanguage. Java y Python.

No comments:

Post a Comment