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

 
mytarmailS #:

.

También he descubierto que los encabezados de la tabla (nombres de columna) se guardan entre comillas, ¿cómo puedo desactivarlo?

 

¿Qué hace este código? Para hacerlo más rápido, debería convertir todas las columnas al mismo tipo de datos (float 32, 16 - no es necesario, será más lento) y calcular coRRR a través de arrays rápidos.

si hablamos de la corrección real del kaRma

 
Aleksey Vyazmikin #:

Su script consume casi 9 gigabytes de RAM en mi muestra, pero parece que funciona, los archivos se guardan. Ni siquiera sé dónde se utiliza la memoria, mientras que la muestra toma un poco más de un gigabyte.

¿Entonces?

R mal probablemente)

Aleksey Vyazmikin #:

También he encontrado un problema - los encabezados en la tabla (nombres de columna) se guardan entre comillas - ¿cómo desactivarlo?

¿qué hiciste para resolver el problema?

 
mytarmailS #:

¿Y qué?

R es malo, supongo).

¿qué hiciste para resolver el problema?

Malo/bueno es un juicio demasiado crítico.

Es obvio que el código del paquete no es eficiente en memoria pero puede ser rápido, o el script copia toda la tabla\selección muchas veces.

Y lo que hiciste - encontraste el problema y lo reportaste a un profesional esperando ayuda.

 
Maxim Dmitrievsky #:

¿Qué hace este código? Por velocidad, deberías convertir todas las columnas al mismo tipo de datos (float 32, 16 - no es necesario, será más lento) y calcular el número de columnas usando arrays rápidos.

si hablamos de la corrección real del kaRma

Por lo que tengo entendido, no existe el concepto de diferentes tipos de datos (int, float, etc.) en R en absoluto. Y, reducirá el tamaño de la memoria, pero no afectará mucho a la velocidad. En tarjetas de video, sí, habrá un aumento.

 
Aleksey Vyazmikin #:

Según tengo entendido, en R no existe el concepto de diferentes tipos de datos (int, float, etc.). Y, reducirá el tamaño de la memoria, pero no afectará mucho a la velocidad. En las tarjetas de vídeo, sí, habrá un aumento.

Todo está ahí. Afectará catastróficamente a la velocidad. Los dataframes son las bestias más lentas y con más sobrecarga.

No se trata de tarjetas de video, se trata de entender que esas cosas no cuentan a través de dataframes en un estado sobrio.

 
Aleksey Vyazmikin #:

Consejo: ¿Es necesario utilizar vectores de 100.000 observaciones para ver la correlación entre ellos?

Busco vectores muy correlacionados, es decir, con una correlación superior a 0,9.
 
De nada.
 
Aleksey Vyazmikin #:

Tu script lleva funcionando más de un día y todavía no ha creado ni un solo archivo basado en los resultados del cribado. No sé, ¿quizá sea el momento de desactivarlo?

Depende del zhekez y del tamaño de la muestra. Si su procesador es multinúcleo, paralelice la ejecución. A continuación se muestra una variante de la ejecución en paralelo

##----parallel--------------------------
library("doFuture")
registerDoFuture()
plan(multisession)
require(foreach)
bench::bench_time(
foreach(i = 1:length(cor.test.range))%dopar%{
    get.findCor(dt, cor.coef = cor.test.range[i])
}-> res
)
#  process     real
# 140.62 ms    2.95 m
#
 bench::bench_time(
for(i in 1:length(cor.test.range)){
    paste0("train1_" , cor.test.range[i]*10 , ".csv") %>%
        paste0(patch , .) %>% fwrite(res[[i]], .)
}
)
#  process    real
# 156 ms   157 ms

Cuatro veces más rápida que la serie. Hardware y software

sessionInfo()
#  AMD FX-8370 Eight-Core Processor
#  R version 4.1.3 (2022-03-10)
#  Platform: x86_64-w64-mingw32/x64 (64-bit)
#  Running under: Windows 10 x64 (build 19044)
#
#  Matrix products: default
#
#  locale:
#     [1] LC_COLLATE=Russian_Russia.1251  LC_CTYPE=Russian_Russia.1251    LC_MONETARY=Russian_Russia.1251
# [4] LC_NUMERIC=C                    LC_TIME=Russian_Russia.1251
#
#  attached base packages:
#     [1] stats     graphics  grDevices utils     datasets  methods   base
#
#  other attached packages:
#     [1] doFuture_0.12.2 future_1.28.0   foreach_1.5.2   fstcore_0.9.12  tidyft_0.4.5
#
#  loaded via a namespace (and not attached):
#     [1] Rcpp_1.0.9        codetools_0.2-18  listenv_0.8.0     digest_0.6.30     parallelly_1.32.1 magrittr_2.0.3
# [7] bench_1.1.2       stringi_1.7.8     data.table_1.14.4 fst_0.9.8         iterators_1.0.14  tools_4.1.3
# [13] stringr_1.4.1     import_1.3.0.9003 parallel_4.1.3    compiler_4.1.3    globals_0.16.1

Suerte

 
Maxim Dmitrievsky #:

está todo ahí. La velocidad se verá catastróficamente afectada. Los dataframes son las bestias más lentas con gran sobrecarga.

No se trata de tarjetas de video, se trata de entender que esas cosas no cuentan a través de dataframes en un estado sobrio.

¿Qué se entiende por "dataframes" - explicar a los ignorantes en este idioma.