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

 
Maxim Dmitrievsky #:
No podré hacerlo tan pronto, más cerca de la tarde, o el otro día.
Hace buen tiempo))))
 
Desbordamiento de memoria en TFs pequeños. La memoria se desborda con 16 osu y archivo swap (intercambio en un mac) de 30gig. Bueno, hay una matriz de correlación de 50k por 50k, por ejemplo.

Pandas y Nampay se cuelgan, no está diseñado para datos grandes. Probaré con dask. O filtrar el historial.

En resumen, que MO no tira de hardware ordinario, que este enfoque.
 
Maxim Dmitrievsky #:
Desbordamiento de memoria en TFs pequeños. La memoria se desborda con 16 osu y archivo swap (swap en un mac) de 30gig. Hay una matriz de correlación de 50k por 50k, por ejemplo.

Pandas y Nampay se cuelgan, no está diseñado para datos grandes. Probaré con dask. O filtrar el historial.

En resumen, que MO no tira de hardware ordinario, que este enfoque.
¿Estás haciendo cuantificación? El objetivo principal de la cuantificación es reducir el tamaño de los datos. 4 byte float a 1 byte uchar o char.
16g matriz se convertirá en 4g.
.


Y todos los cálculos se realizan en la memoria RAM - es necesario añadir más. La memoria es barata hoy en día.

 
Forester #:
¿Cantifica? El objetivo principal de la cuantificación es reducir el tamaño de los datos. 4 byte float a 1 byte uchar o char.
16g matriz se convertirá en 4g.
.


Y todos los cálculos se realizan en la memoria RAM - es necesario añadir más. La memoria es barata hoy en día.

No sé cómo calcular la correlación.

No es tan fácil añadir memoria a un macbook). Sigue siendo extremadamente ineficiente para series temporales, necesito rehacerlo de alguna manera

Sobre todo porque bajaré otra TF y necesitaré 5 veces más recursos.

¿Será eficiente calcularlo a través de SQL?

 
Maxim Dmitrievsky #:

No sé cómo calcular la correlación después

No es fácil añadir memoria a un macbook ) Sigue siendo muy ineficiente para series temporales, necesito rehacerlo de alguna manera

Sobre todo porque bajaré a un TF inferior y necesitaré 5 veces más recursos.

Hay una función de cálculo de doble correlación en alglib. Creo que puedes cambiar todas las variables a char/uchar y todo funcionará. Hay docenas de otras funciones usadas que necesitan ser rehechas también. Y de CMatrixDouble pasar a arrays dinámicos u otra cosa.

Pearson product-moment correlation matrix                        |
//| INPUT PARAMETERS:                                                |
//|     X   -   array[N,M], sample matrix:                           |
//|             * J-th column corresponds to J-th variable           |
//|             * I-th row corresponds to I-th observation           |
//|     N   -   N>=0, number of observations:                        |
//|             * if given, only leading N rows of X are used        |
//|             * if not given, automatically determined from input  |
//|               size                                               |
//|     M   -   M>0, number of variables:                            |
//|             * if given, only leading M columns of X are used     |
//|             * if not given, automatically determined from input  |
//|               size                                               |
//| OUTPUT PARAMETERS:                                               |
//|     C   -   array[M,M], correlation matrix (zero if N=0 or N=1)  |
//+------------------------------------------------------------------+
static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n,
                                    const int m,CMatrixDouble &c)


Y si tienes un programa casero, tendrás que hacer la cuantificación también, si no tienes un paquete ya hecho que lo haga.

 
Maxim Dmitrievsky #:
¿sería eficiente leer a través de SQL?
No lo sé.
 
Maxim Dmitrievsky #:
Desbordamiento de memoria en TFs pequeños. La memoria se desborda con 16 osu y archivo de intercambio (swap en un mac) 30gig. Hay una matriz de correlación 50k por 50k, por ejemplo.

Pandas y Nampay se cuelgan, no está diseñado para datos grandes. Probaré con dask. O filtrar el historial.

En resumen, que MO no tira de hardware ordinario, que este enfoque.

¿Por qué siquiera necesita una matriz de correlación?

Hay un patrón, hay una matriz de la historia para comparar el patrón con, ¿cuál es el problema?

 
mytarmailS #:

¿Para qué se necesita una matriz de correlaciones?

Hay un patrón, hay una matriz de historia con la que comparar el patrón, ¿cuál es el problema?

No hay patrón, los patrones son buscados por la matriz de correlación.

 
Maxim Dmitrievsky #:

¿sería eficiente leer a través de SQL?

nunca en mi vida

....

Prueba apache Arrow o DuckDB.

pero aún así RAM es la forma más rápida.

.....

El problema en si se resuelve con G...feo, tu problema es la matriz cor., que no es necesaria.

 
Forester #:

Hay una función de cálculo de doble correlación en alglib. Creo que basta con cambiar todas las variables a char/uchar y todo funcionará. Hay docenas de otras funciones usadas que también deberían rehacerse. Y de CMatrixDouble deberiamos cambiar a arrays dinamicos u otra cosa.

Pearson product-moment correlation matrix                        |
//| INPUT PARAMETERS:                                                |
//|     X   -   array[N,M], sample matrix:                           |
//|             * J-th column corresponds to J-th variable           |
//|             * I-th row corresponds to I-th observation           |
//|     N   -   N>=0, number of observations:                        |
//|             * if given, only leading N rows of X are used        |
//|             * if not given, automatically determined from input  |
//|               size                                               |
//|     M   -   M>0, number of variables:                            |
//|             * if given, only leading M columns of X are used     |
//|             * if not given, automatically determined from input  |
//|               size                                               |
//| OUTPUT PARAMETERS:                                               |
//|     C   -   array[M,M], correlation matrix (zero if N=0 or N=1)  |
//+------------------------------------------------------------------+
static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n,
                                    const int m,CMatrixDouble &c)


Y si tienes un programa casero, tendrás que hacer la cuantificación también, si no tienes un paquete ya hecho que lo haga.

Creo que soy tonto... es muy rápido calcular a través de Nampai ) es largo y consume memoria calcular a través de Panda. Lo comprobaré todo más tarde.

Razón de la queja: