¡No es asunto de Mashka! - página 6

 
a Neutrón

Vaya, nuestros modelos son ligeramente diferentes. Una pequeña pregunta: para suavizar las diferencias, ¿se puede pasar de predecir la " MA ideal" a predecir las cotizaciones, es decir, utilizar su MA para "restaurar" las cotizaciones?


Y permítanme recordarles algunas cosas más:

  • mi horizonte de previsión se selecciona de forma adaptativa y el modelo no permite introducirlo, de lo contrario perdería su sentido
  • el valor de una ventana móvil de mi MA también se selecciona de forma adaptativa en cada intervalo
 

¡No puedes prescindir del gran Al!

Tienes que pensar, y cómo hacerlo he terminado... me voy a la cama.

 

Si no se "rompen" los modelos, veo lo siguiente

  • predecir citas
  • predecir el clásico MA con retardo (confieso que me estoy confundiendo con la terminología: MA ideal, profundidad de inmersión, ... :o)).

O tendré que rebuscar en todo y predecir el MA ideal, pero no es pronto y no lo necesito. El modelo supone generar dicha MA sólo para la cuenta atrás actual, algo así como un "filtrado adaptativo".


PD: vale, ya lo resolveremos mañana, pero de momento esperaré con ale... :o)

 

Bien, ¡predecimos la cita!

Se puede utilizar cualquier método y algoritmo. El único requisito es que el código no debe "mirar al futuro". Este requisito no es tan trivial de aplicar como puede parecer a primera vista. Por ejemplo, puede ser de naturaleza oculta relacionada con el tratamiento de Altas y Bajas. Estos valores cambian durante la construcción de la barra hasta el momento en que se cierra, por lo que procesar el Alto y el Bajo en el historial equivale a "espiar". Sugiero utilizar sólo los precios de apertura y construir la nube de previsión no por los valores absolutos de BP, sino por los incrementos de las series previstas e iniciales.

Además la previsión de una serie de precios en sí misma es una tarea MUY difícil, como consecuencia estaremos comparando el valor del ángulo de la pendiente de la línea de regresión en el área de cero (hasta el 10%). Así que sugiero construir primero la regresión para el BP de Venus y asegurarnos de que obtenemos un cero con una precisión superior al 1% en una muestra de 10000 predicciones, que será un criterio de corrección del código. Sí, predice correctamente con 1 barra de antelación y como cociente propongo tomar la serie Open Minute (como la más predecible) del par EURGBP el año 2004 por ejemplo.


¿Qué te parece?


Este es el aspecto del problema de predicción utilizando el MA común (retardado) con una ventana de 10 barras:

En el lado izquierdo se ve la fila de minutaje y su MA descendente que predice una barra por delante, en el centro - eje de abscisas - fila de incrementos de los precios de apertura: dBid[i]=(Open[i]-Open[i-1]), eje de ordenadas - incrementos de la MA. La línea azul es una regresión lineal trazada sobre la nube de previsión. Su pendiente muestra la calidad de la previsión, si su tangente es igual a 1 o al 100% (45 grados) tenemos una previsión completamente precisa, si tiende a cero no tenemos previsión. Justo encima del gráfico anterior, la tangente de la pendiente es del 3%, es decir, ¡no está prediciendo! El caso es que he utilizado una estadística de 1000 previsiones, el error será de 1/SQRT(1000), es decir, apenas un 3%.

La figura de la derecha muestra la capacidad de pronóstico (tangente) del MA retardado en función de la anchura de la ventana en barras. Puede ver que el valor predictivo de la herramienta tiende a cero a medida que aumenta la ventana de promediación.

 

En general estoy de acuerdo, pero...

Можно использовать любой метод и алгоритм его реализации. Неприменное требование - код не должен "заглядыват" в будущее. Это требование не так тривиально выполнить, как может показаться на первый взгляд. Например, это может носить скрытый характер связанный с обработкой High и Low. Эти величины изменяются в процессе построения бара вплоть до момента его закрытия, поэтому обработка на истории High и Low равносильна "подглядыванию". Предлагаю использовать только цены открытия и строить прогнозное облако не по абсолютным значениям ВР, а по значениям приращений прогнозного и исходного рядов.

Para recuperar los datos, utilizo la funciónGetHistoryProcess(cb, window), que excluye la posibilidad de mirar hacia el futuro. La función GetFutureProcess(cb, window) se utiliza para comprobar el resultado.


Parámetros de la función:

  • cb - recuento actual
  • ventana - tamaño de la muestra

Aquí está su código:


Fuente de datos

GetHistoryProcess(cb, window)

GetFutureProcess(cb, window)


Se supone que la "barra actual" es la barra en el momento en que está completamente formada. En otras palabras, una cita está "a punto de entrar" que se convertirá en abierta.

Además, la previsión de la serie de precios en sí es una tarea MUY difícil, por lo que compararemos el valor de la pendiente de la línea de regresión en la zona de cero (hasta el 10%). Así que sugiero construir primero una regresión para Venera BP y asegurarnos de que obtenemos un cero con una precisión superior al 1% en una muestra de 10000 predicciones, que será un criterio de corrección del código. Sí, predecir correctamente 1 barra por delante y como cociente propongo tomar una serie de Minutos Abiertos (como el más predecible) del par EURGBP el año 2004 por ejemplo.

También puede utilizar el proceso de Wiener, pero qué diferencia hay - seguirá teniendo el mismo problema, la barra actual no se ha formado "completamente".

Este es el aspecto del problema de predicción utilizando el MA común (retardado) con una ventana de 10 barras:

Tienes que decidir qué hacer con el horizonte, yo lo tengo seleccionado de forma adaptativa. Tal vez deberíamos añadir una característica adicional, por ejemplo, el número total de muestras de previsión o la duración media de la previsión, algo así.

En el lado izquierdo tenemos la línea de minutos y su MA decreciente que predice una barra por delante, en el centro - el eje de abscisas es la serie de incrementos de los precios de apertura: dBid[i]=(Open[i]-Open[i-1]), el eje de ordenadas son los incrementos de la MA. La línea azul es una regresión lineal trazada sobre la nube de previsión. Su pendiente muestra la calidad de la previsión, si su tangente es igual a 1 o al 100% (45 grados) tenemos una previsión completamente precisa, si tiende a cero no tenemos previsión. Justo encima del gráfico anterior, la tangente de la pendiente es del 3%, es decir, ¡no está prediciendo! La cosa es que he utilizado una estadística de 1000 predicciones, el error estará en 1/SQRT(1000) es decir, justo en la región del 3%.

No estoy de acuerdo, tracemos el gráfico de dispersión sólo por precios (por valores absolutos). No me gusta el incremento. Hay que entender que si partimos de incrementos, éstos se concentrarán cerca de cero. Intenta hacer un gráfico de dispersión de precios para tu proceso aleatorio.


Adenda: Mi opinión es que se debe predecir el valor absoluto del precio o de la MA. ¿Está de acuerdo?

 
grasn:

Se supone que la "barra actual" es la barra en el momento en que está completamente formada. En otras palabras, una cita está "a punto de llegar" y se abrirá.

Puedes hacerlo en el proceso Wiener, pero a quién le importa - seguirás teniendo el mismo problema, la barra actual no se ha formado "correctamente".

Así que, para ser claros, construimos BPs SOLO desde Open.


Tenemos que decidir qué hacer con el horizonte, lo tengo seleccionable de forma adaptativa. Tal vez deberíamos añadir alguna característica adicional, como el número total de muestras de previsión o la duración media de la previsión o algo parecido.

Esto no forma parte de la tarea. Puedes trabajar con el horizonte que quieras, pero no mires hacia adelante y no utilices nada más que los precios de apertura del bar. Pero! Sólo debe utilizar "1 barra hacia adelante" como vector de previsión.


No estoy de acuerdo, construyamos un gráfico de dispersión utilizando sólo los precios (valores absolutos). No me gusta el incremento. Tienes que darte cuenta de que si confías en los incrementos, se concentrarán cerca de cero. Intenta hacer un gráfico de dispersión de precios para tu proceso aleatorio.

Lo siento, no te entiendo aquí.

Nuestra tarea es predecir una serie de precios de apertura. Pues hazlo. A continuación, una vez obtenida esta serie con 10.000 muestras, la compararemos con la original. Y para estimar la eficacia de la previsión, construyamos dos series de incrementos y veamos inmediatamente los fallos de previsión. Simple. ¡Claro!

¿Me equivoco? De qué sirve comparar curvas integrales deslavadas. Mira de nuevo mis fotos en el post anterior. La primera imagen muestra una curva suave que se curva alrededor de una serie de citas... Y sólo analizando el número de sus incrementos (segunda fig.) queda claro que no sirve para nada. Sergey, es un buen criterio. No te resistas.

Los adultos no necesitamos gafas de color de rosa :-)

 

Это не входит в задачу. Работай с каким хочешь горизонтом, только не заглядывай прирасчётах в будущее и не используй ничего кроме цен открытия бара. Но! прогнозный вектор построй только из расчёта "1 бар вперёд".


Aquí es donde no te entiendo (en negrita qué es exactamente), aclara qué es esto, es decir, que estamos renunciando al "vector de previsión completo".


No miraré al futuro, tienes mi palabra de honor.

Nuestro trabajo es predecir una serie de precios de apertura. Pues hazlo. Luego, cuando tengamos esta serie con 10.000 muestras, la comparamos con la inicial. Y para estimar la eficacia de la previsión construyamos dos series de incrementos y veamos los fallos de previsión inmediatamente. Simple. ¡Claro!

¿Me equivoco? De qué sirve comparar curvas integrales deslavadas. Mira de nuevo mis fotos en el post anterior. La primera imagen muestra una curva suave que se curva alrededor de una serie de citas... Y sólo analizando el número de sus incrementos (segunda fig.) queda claro que no sirve para nada. Sergey, es un buen criterio. No te resistas.

Trate de trazar y luego comparar los gráficos de dispersión de los incrementos y los valores absolutos de MA. Teóricamente, el ángulo de la pendiente y la cantidad de dispersión en relación con las líneas deregresión lineal debe ser el mismo para cada parcela. Y mira el resultado como los tipos reales miran a través de una mira de potro :o) ¿Será lo mismo para ti?


Importante

Seamos más específicos. Por lo tanto, ya hemos decidido - estamos pronosticando CERCA, todo lo que queda por hacer es resolverlo:

  • predecir la propia serie CLOSE
  • o algunos MA(el tamaño de mi ventana es adaptativo para cada predicción, parece que es el mismo para ti) que se construyen sobre este CIERRE.

Si el precio en sí mismo (es decir, CLOSE), me tomará tiempo para corregir la función de "reconstrucción del precio" por MA. Si analizamos la previsión de MA, creo que voy a empezar una pequeña prueba hoy, para 10-50 barras (se considera un minuto para un recuento)

 

Para evitar la arbitrariedad en la elección de Open, Close,(H-L)/2 utilizo el análisis de tick-flow, + el valor de la predicción lo considero no en el número de barras, sino en el tiempo. Y creo que la "MA ideal" no es la que tú utilizas. Debe utilizar la transformada de Fourier (PF), luego el umbral en el dominio de la frecuencia y la PF inversa, el resultado es una curva ideal con la estimación más plausible en el centro de la ventana. Y luego lo que se intenta hacer.

 

a grasn

Cerrar es cerrar. Es un trato.

Realmente no nos entendimos con el vector de predicción. Bueno, veamos.

No voy a repetir lo del "diagrama de dispersión de incrementos y valores absolutos", aquí todo está claro.


a Prival

Hay ciertas dificultades con las garrapatas - se necesita una historia grande, preferiblemente sin agujeros, etc. Estos requisitos son más fáciles de aplicar en archivos con horas o minutos.

En cuanto a la curva perfecta, comparemos el MEMA de dos carreras (que es lo que yo uso) y lo que dará el suavizado de Fourier. Sugiero que el criterio de "bondad" sea el valor de la desviación estándar de la cota y la suavidad de la propia curva: cuanto más pequeña sea la cota y más suave sea la curva, más pronunciada será.

 

a Neutron

Close так Close. Договорились.

Sería más fácil para mí MA en los valores CLOSE. Muy bien, mientras estoy construyendo el "restaurador de precios para MA" voy a hacer un par de pruebas para MA. Por cierto, no has mostrado los datos de los precios en ningún sitio, sólo has mostrado la predicción de los incrementos de MA. ¿Tienes este "restaurador"?

En cuanto al "gráfico de dispersión de incrementos y valores absolutos" no me repetiré, todo es obvio aquí.

Las comillas podrían haberse eliminado, es el nombre oficial en las estadísticas de lo que construimos. En vano ignoras mi pregunta, pero eso es asunto tuyo. Si lo hubieras construido, sabrías la diferencia significativa. Es exactamente el área de las cosas no obvias.


a Prival


Y parece que ya hemos definido aproximadamente los parámetros:

  • La pendiente de la regresión lineal
  • Desviación estándar: la utilizaremos para estimar "el valor de la dispersión" en relación con la recta. También podemos determinar la pendiente