Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 214
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
PS. Y paralelizar el cálculo de lm(). Este es el momento adecuado para hacerlo.
Gracias.
He visto cómo paralelizar una operación en un bucle mediante foreach %dopar%. No sé cómo engancharlo en un bucle oculto en DT. No sé si puede ser más rápido o no.
Gracias.
He visto cómo paralelizar una operación en un bucle mediante foreach %dopar%. No sé cómo se puede unir a un bucle oculto en DT. Y no sé si sería más rápido.
Lo que quería decir era esta parte del código.
{
lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F], formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]
Foreach() en lugar de lapply
Hay algo que no funciona en los gráficos que tardan varias decenas de segundos en construirse.
Echa un vistazo a este paquete ("nhstplot"). Es rápido de dibujar y creo que es bastante bueno.
Hay algo que no funciona en los gráficos que tardan varias decenas de segundos en construirse.
Echa un vistazo a este paquete ("nhstplot"). Es rápido de dibujar y creo que es bastante bueno.
Ahh. Lo probaré, gracias. Resulta que el bucle lapply será sustituido por un bucle paralelo. Y todo gira en un bucle DT con 1000 iteraciones.
O hay otra forma de saltarse estas 1000 iteraciones a través de foreach.
Le echaré un vistazo, por supuesto. Pero ¿dónde está la semitransparencia aquí, dónde están los cientos de objetos superpuestos? Haz la prueba en condiciones difíciles y entonces entenderemos si es más rápido o no.
Con una tarjeta gráfica OpenGL se puede conseguir un dibujo rápido y semitransparente. En R hay una librería rgl para esto, es más para 3d, pero si puedes hacer proyección ortogonal, y dibujar líneas, será justo lo que necesitas. No lo pude averiguar de inmediato, hay que leer la documentación.
Lo tengo:
Es bastante fácil dibujar líneas semitransparentes, sólo necesitas una tabla con coordenadas X e Y. También se podría añadir una tercera columna Z para conseguir la tridimensionalidad.
for(i in 1:1000){
lines3d(cbind(1:1000, cumsum(rnorm(1000))), col="blue", alpha=0.1)
}
Pero de todos modos resultó ser lento. A juzgar por procesexplorer - el vídeo es utilizado por el 5% solamente, mientras que un procesador lógico es el 100%. Creo que R es demasiado lento en la alimentación de datos en OpenGL, mucho más lento de lo que puede recibir. De alguna manera salió así.
Sólo por desorden :) hazlo, maximiza la ventana a pantalla completa, y gira la "figura" con el botón izquierdo del ratón.
for(i in 1:100){
lines3d(cbind(cumsum(rnorm(100)), cumsum(rnorm(100)), cumsum(rnorm(100))), alpha=0.2)
}
Por fin he hecho el primer intento de la idea del cluster que anuncié antes, es una prueba, sólo para ver qué pasa, los predictores son simples
serie móvil de 5 valores OHLC + volumen + volatil 6 predictores de 5 valores cada uno
aprendizaje de la historia 100 000 bares
cada predictor se normalizó, por supuesto) y luego se agrupó en 100 clusters, perdón por la tontería
El objetivo fue creado de la nada (en este momento me acabo de sentar), simplemente tomé la inversión en esta forma: El objetivo es un extremo superior a las 4 velas anteriores y superior a las 10 velas siguientes.
Empecé a buscar patrones repetitivos...
Lo mejor que he encontrado con esos no predictores es el siguiente patrón
91 6 30 41 91 100 0.4 9
in(open high low close volum) son los números de grupos que caracterizan este patrón
target_avg - es la probabilidad de que mi inversión se active en este patrón. No pude encontrar ningún patrón con un 80-90% de probabilidad de activación según estos predictores
target_count - elnúmero de veces que el patrón fue capturado en el historial, no he encontrado ningún patrón significativo, que fuera capturado 30-50 veces usando estos predictores
Lo mejor que he encontrado con estos predictores es un patrón, en el que la inversión (objetivo) se activa el 40% de las veces y sólo hay 9 observaciones (número de patrones)
Así que es tal vez la única pieza de información útil, el requerido "NO BLOW", que puede ser extraído de este conjunto de predictores y explica sólo una razón para la inversión y aún eso es el 40% de ella y diferentes razones para diferentes inversiones y definitivamente no hay 10 o 30 de ellos imho.
Y ahora piensa en cómo el algoritmo MO puede explicar todos los movimientos del mercado con esos predictores, es imposible, porque los predictores sólo pueden explicar el 2% y el resto es ruido...
además, no hay control de la recurrencia estadística, es decir, la IR puede tomar una decisión basada en una o dos observaciones, y eso es cierto de hecho en la gran mayoría de los casos, por debajo del 95% de los casos
En fin, divago... vamos a seguir en un patrón, después de haber estimado la calidad de las entradas en una nueva muestra voy a decir así, que lejos no el Mercedes, pero si se trata de un Zaporozhets matado entonces este enfoque un nueve sólo de una fábrica
La calidad de las entradas es mucho mejor, más clara, menos errores...
y lo otro es que el patrón completo es...
91 6 30 41 91 100
cuando ejecuté el reconocimiento en los nuevos datos de 50 000 velas el algoritmo no pudo encontrar ningún patrón de este tipo, simplemente no apareció ))
Tuve que recortar el patrón y dejar sólo los precios
91 6 30 41 91 100
Ya he encontrado unos 20 de estos patrones
aquí están las entradas en el patrón, no he elegido nada "ala mejor de las entradas" acaba de tomar fotos como es en la secuencia en la que se hicieron las ofertas, no todas las ofertas, por supuesto, sólo los primeros, para que pueda evaluar
el eqiti es bonito, aunque el riesgo es mayor de lo previsto
recuerde, es sólo un patrón, y sólo pantalones cortos
Si alguien necesita el código, lo posteo, aunque lo dudo, ya está muy claro214 páginas es mucho para estudiar/aprender. Cada uno de ellos trata de algo diferente y no siempre es fácil de entender).
¿Es posible resumir todas estas páginas en un solo post, aunque no sea muy corto? Tipo: objetivo fijado, métodos de solución, resultados, conclusiones.
Permítanme decir de entrada que mi modelo de mercado es un proceso aleatorio (movimiento browniano), o más bien la suma de varios (pueden ser muchos) de estos movimientos con retroalimentación. Y predecir algo o buscar patrones que no sean estadísticos es un ejercicio absolutamente inútil. Es decir, no existe ningún predictor significativo, al menos a efectos especulativos.