Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 3184

 
Maxim Dmitrievsky #:

Aún así significa que hay más alfa en las garrapatas.

Sólo podemos asegurar que cuando se trabaja con ticks hay más información que cuando se trabaja con barras. Por lo tanto, es lógico trabajar con ticks con capacidades computacionales adecuadas.

 
mytarmailS #:

La primera fila es la original (arriba a la izquierda), todas las demás son simulaciones basadas en las características de la primera fila

Yo no utilizaría ninguna de las simulaciones. Lo que hacen

  1. Encontrar varias (digamos 100) características estadísticas en el historial de barras.
  2. Generar series de barras de forma que esas 100 características estadísticas coincidan.

Es absurdo que 100 valores puedan describir una serie original de millones de valores. Parece una herramienta de teóricos, pero no de profesionales.


Elalgoritmo propuesto funciona con ticks. Los volúmenes de los ticks coinciden en las barras recibidas, los diferenciales coinciden. Idéntica reacción brusca ante las noticias, idéntico comportamiento de los rollover, etc.

Parece que todo está bien. Pero no puedo enseñar scalping incluso después de tal aleatorización. Y hasta ahora no tengo ninguna explicación para ello.


Publicaría un script EX5 que crea el símbolo aleatorio necesario, pero las reglas del foro lo prohíben. Todavía no estoy listo para crear una entrada de blog para ello. Si alguien está interesado en darle vueltas, que se ponga en contacto conmigo.

 
fxsaber #:

no era algo que hubiera que resolver.

Me gustaría resolver lo siguiente.


Tarea.

Aleatorizar un símbolo real escalable para que siga siendo escalable.


Objetivo.

Monte Carlile.

 
fxsaber #:
Pero fue un completo fracaso, lo que como mínimo me hizo preguntarme, ¿qué tenía la historia real que hacía que escalara perfectamente?

Creo que la diferencia es la serialidad o repetitividad de las barras/ticks consecutivos. Durante una tendencia la mayoría de ellas van en la misma dirección, el randomiser las hace de media en 1.

 
Forester #:

Creo que la diferencia está en la serialidad o repetitividad de las barras/ticks consecutivos. Durante una tendencia la mayoría de ellos están en una dirección, el randomiser les hace en promedio en 1.

Hay varias hipótesis. Por si acaso he comprobado MathRand ejecutando este script en un símbolo real y otro aleatorio.

#property script_show_inputs

input datetime inFrom = D'2023.01.01';

double GetAvgPrice( const MqlTick &Tick )
{
  return((Tick.bid + Tick.ask) / 2);
}

void OnStart()
{
  MqlTick Ticks[];
  
  int Amount1 = 0;
  int Amount2 = 0;
  
  for (uint i = CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, inFrom * 1000) - 1; (bool)i--;)
  {
    const double Diff = NormalizeDouble(GetAvgPrice(Ticks[i]) - GetAvgPrice(Ticks[i + 1]), 8);
    
    if (Diff > 0)
      Amount1++;
    else if (Diff < 0)
      Amount2++;
  }
  
  Print(Amount1);
  Print(Amount2);
}

Ambos símbolos mostraron casi los mismos valores. Curiosamente, Cantidad1 ~ Cantidad2. Es decir, la tendencia no está formada por el número de incrementos de un carácter, sino por los valores absolutos de los propios incrementos.

En el algoritmo de aleatorización actual, la secuencia de valores absolutos de los incrementos no cambia.

 
fxsaber #:

Hay varias hipótesis. Por si acaso he comprobado MathRand ejecutando este script en un símbolo real y aleatorio.

Ambos símbolos mostraron casi los mismos valores. Curiosamente, Cantidad1 ~ Cantidad2. Es decir, la tendencia no está formada por el número de incrementos de un símbolo, sino por los valores absolutos de los propios incrementos.

Cantidad1 - Cantidad2 es más bien volatilidad. Tendencia es si se suman muchos. En los datos reales las tendencias son una, en los datos aleatorios (hasta aproximadamente through1), las tendencias son más bien valores atípicos aleatorios aumentando la volatilidad. Supongo que tienen una amplitud muchas veces menor que las reales.

UPD: No había visto que ahí tienes ~ en lugar de -.

Sobre ~. Su rave aproximada significa sólo eso, real bien mezclado, promediado en 1.
 
fxsaber #:

Ni una sola simulación que yo utilizaría. Lo que hacen:

  1. Encontrar varias (sean 100) características estadísticas en el historial de barras.
  2. Generar una serie de barras para que estas 100 características estadísticas coincidan.

Esabsurdo que 100 valores puedan describir una serie original de millones de valores. Parece una herramienta de teóricos, pero no de profesionales.

Es absurdo sorprenderse por algo con lo que no se está familiarizado y llamarlo absurdo.....

¿Está familiarizado con los algoritmos de reducción de la dimensionalidad? ¿algoritmos de compresión?

fxsaber #:

Elalgoritmo propuesto trabaja con ticks. Los volúmenes de los ticks coinciden en las barras recibidas, los spreads coinciden. Idéntica reacción brusca ante noticias, idéntico comportamiento de rollover, etc.

Parece que todo está bien. Pero no puedo enseñar scalping incluso después de tal aleatorización. Y hasta ahora no tengo ninguna explicación para ello.

Aquí está la respuesta a lo bien que su aleatorización simula el proceso real del mercado.....

fxsaber #:

Tarea.

Aleatorizar un símbolo real scalpable para que siga siendo scalpable.

Y aquí hay una función de criterio/adecuación para crear una simulación de fila adecuada

 
mytarmailS #:

Es absurdo sorprenderse por lo desconocido y llamarlo absurdo ....

En esos datos artificiales como una señal - funciones periódicas, para el análisis de los cuales 1-2-10 períodos son suficientes (cada 50 bares, por ejemplo, la misma función (absolutamente), pero con diferente ruido, después de 50 de nuevo, etc.). En los datos de mercado no hay función periódica, por lo que tenemos que analizar todo....

 
mytarmailS #:

¿Conoce los algoritmos de reducción de la dimensionalidad? ¿Los algoritmos de compresión?

Sí.

Esto es lo bien que su aleatorización simula el proceso real del mercado...

Sí.

Y aquí tienes una función de criterio/adecuación para crear una simulación adecuada de una serie.

Por desgracia, no está claro qué parámetros de entrada de la aleatorización para optimizar.

 
fxsaber #:

Existen varias hipótesis.

He comparado la característica "beneficio potencial máximo". No observé diferencias significativas.

Razón de la queja: