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

 
Valeriy Yastremskiy #:

Un límite de tiempo reducirá la probabilidad.

Sí, pero todavía se pueden encontrar patrones en 3-5 días con un 100% de probabilidad de activación (lo he comprobado).

Aleksey Nikolayev #:

Sí, bueno, la mitad del problema está resuelto, la otra mitad es dónde poner un stop loss.

Esto no es un TS, sólo una idea

 
Aleksey Nikolayev #:

Oh, mira quién está aquí) Ya sabes cómo calcular la ACF del SB, ¿no? A diferencia de smartlab, aquí no puedes prohibirme esa pregunta)

Hola Alexey, ¿podría responder a su pregunta sin preguntar? Es que he estado leyendo mucho sobre cómo lo preguntas, y no me he podido aguantar, porque la solución me parecía muy sencilla.

He creado una serie normalizada de números a partir de valores aleatorios ( 1 o -1).

Y un gráfico de acciones clásico a partir de él, sumando todos los valores anteriores para el punto actual.


Entonces para la serie normalizada la autocorrelación tenderá a cero.

Y para las series del gráfico de acciones, la autocorrelación tenderá a la unidad.


Pero sólo con una longitud de serie suficiente, obtuve los siguientes resultados cuando la serie de 100 000 números es suficiente:

0,0010599888334729966 (datos normalizados)

0.9999708433220806 (non-normalized).

Para una serie de 100 números:

0.018773466833541926

0.9367627243658354

De 10:

-0,499999999999999999 (estos valores cambian con cada nueva serie de forma aleatoria)

-0,14285714285714285 (estos valores cambian con cada nueva serie de forma aleatoria)


Estos son sólo casos especiales, pero como se puede ver, con un tamaño de serie pequeño puede mostrar autocorrelación dentro de límites aleatorios muy amplios .

Dicho esto, estaautocorrelación no es una propiedad del proceso que genera los datos (en el que no hay autocorrelación), lo que dificulta la medición y evaluación del proceso en este caso.

A continuación adjunto mi código Python, por si alguien quiere comprobar de repente los cálculos.

import numpy as np
import random

def autocorr(x, t=1):
    return np.corrcoef(np.array([x[:-t], x[t:]]))[0][1]

SB_numbers = []
for i in range (1, 100000):
    r = random.randint(0, 1)
    if r == 0:
        r = -1
    SB_numbers.append(r)
#print(SB_numbers)
    
SB_time_series = []
price = 0
for el in SB_numbers:
    price = price + el
    SB_time_series.append(price)
#print(SB_time_series)
    

    
print('numbers autocorr:',autocorr(SB_numbers, 1))
print('time_series autocorr::',autocorr(SB_time_series, 1))
 
LenaTrap #:

Hola Alexey, ¿podría responder a su pregunta sin preguntar? Es que he estado leyendo mucho como lo preguntas, y no he podido soportarlo, porque la solución me parecía muy sencilla.

He creado una serie normalizada de números a partir de valores aleatorios ( 1 o -1).

Y un gráfico de acciones clásico a partir de él, sumando todos los valores anteriores para el punto actual.


Entonces para la serie normalizada la autocorrelación tenderá a cero.

Y para las series del gráfico de acciones, la autocorrelación tenderá a la unidad.


Pero sólo con una longitud de serie suficiente, obtuve los siguientes resultados cuando la serie consta de 100 000 números:

0,0010599888334729966 (datos normalizados)

0.9999708433220806 (non-normalized).

Para una serie de 100 números:

0.018773466833541926

0.9367627243658354

De 10:

-0,499999999999999999 (estos valores cambian con cada nueva serie de forma aleatoria)

-0,14285714285714285 (estos valores cambian con cada nueva serie al azar)


Estos son sólo casos especiales, pero como se puede ver, con un tamaño de serie pequeño puede mostrar autocorrelación dentro de límites aleatorios muy amplios .

Dicho esto, estaautocorrelación no es una propiedad del proceso que genera los datos (en el que no hay autocorrelación), lo que dificulta la medición y evaluación del proceso en este caso.

A continuación adjunto mi código Python, por si alguien de repente quiere comprobar los cálculos.

Está calculando la muestra ACF. Lo que se pide es el ACF. No hace mucho tiempo, Valeriy Yastremskiy publicó en este hilo enlaces a manuales de econometría que contienen fórmulas de ACF para ruido blanco y procesos estacionarios AR(1). Si no me equivoco, esta función se designaba allí con la letra griega gamma. Uno se pregunta cuál sería la fórmula para el SB.

 
¿Por qué necesitamos fórmulas si operamos con una muestra?
 
secret #:
¿Por qué necesitamos fórmulas si operamos por muestra?

Negociamos con los precios. La suposición de que los precios son una muestra es una abstracción y una teorización.

 
Aleksey Nikolayev #:

Estás contando el ACF selectivo. Lo que se pide es el ACF. No hace mucho tiempo, Valeriy Yastremskiy publicó en este hilo enlaces a tutoriales sobre econometría, donde se daban las fórmulas ACF para el ruido blanco y el proceso estacionario AR(1). Si no me equivoco, esta función se designaba allí con la letra griega gamma. La pregunta es qué fórmula sería para el SB

Consideroel coeficiente de correlación de Pearson, que parece ser el estándar para evaluar la presencia de autocorrelación. Desgraciadamente no estoy muy seguro de lo que quieres decir exactamente, escribes un término muy corto "AFC" = función de autocorrelación? Entonces, ¿qué es exactamente lo que no le satisface del coeficiente de Pearson? En mi opinión, la estimación se ha hecho correctamente.

[1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1]
[1, 2, 3, 2, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1, 2, 3]
-----------
[19 -2  1 -4 -1 -4  3 -4  5  0  3 -2 -1 -4 -1  0  3  2  1]
[42 28 19 12 12 10 15 14 14 12 13  8  8  6 11 14 14  8  3]

¿Es eso lo que te gustaría conseguir?


En realidad no es una muestra. Se trata de una serie de datos generados por un proceso. Así que es completo y no se corta, si el proceso trabajó 10 ticks entonces obtenemos un conjunto de datos de 10 elementos, completamente generados por este proceso desde el principio hasta el final.
 
LenaTrap #:

Consideroel coeficiente de correlación de Pearson, que parece ser el estándar para evaluar la presencia de autocorrelación. Lamentablemente no estoy muy seguro de lo que quieres decir exactamente, escribes un término muy corto "AFC" = función de autocorrelación? Entonces, ¿qué es exactamente lo que no le satisface del coeficiente de Pearson? En mi opinión, la estimación se ha hecho correctamente.

¿Es eso a lo que quieres llegar?

Está intentando sustituir el ACF por su estimación muestral. Comience por definir el ACF, no cómo aproximarse a partir de la implementación disponible (muestra).

Ejemplo. Sea Xi el ruido blanco. Entonces su ACF = COV(Xj,Xk)/sqrt( COV(Xj,Xj)* COV(Xk,Xk)) - es una función de los dos índices j y k, que es igual a uno si j==k y cero cuando j!=k.
 
Aleksey Nikolayev #:

Negociamos con los precios. La suposición de que los precios son una muestra es una abstracción y una teorización.

Teorizar es comerciar con fórmulas)
 
Aleksey Nikolayev #:

Está intentando sustituir el ACF por su estimación muestral. Comience por definir el ACF, no cómo aproximarse a partir de una implementación disponible (muestra).

Permítanme explicar de nuevo mis conclusiones:

Para una estimación general del AFC sobre un proceso de paseo aleatorio es necesario:

- tomar una muestra lo más grande posible (100.000 mil en mi caso)

- utilizar datos normalizados

Conclusión: el coeficiente de Pearson es cero, todo lo demás es un error de estimación del proceso a partir de la muestra.

Es decir, el proceso de paseo aleatorio no tiene autocorrelación alguna.

Es igual a 0. ( 0,0010599888334729966 ) donde 0 es la autocorrelación real y 0,00105 es el error.

 
secreto #:
La teorización es el comercio de fórmulas)

La tabla de multiplicar también es una fórmula. Por lo tanto, su afirmación debe interpretarse de la siguiente manera: negociar con fórmulas con las que se está familiarizado es practicar, y con las que no se está familiarizado es teorizar)

Razón de la queja: