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

 

Y las variantes que son cercanas en amplitud se generalizarán de esta manera. Por ejemplo, si divide una ficha por la mitad 3 veces, obtendrá trozos de 0 a 0,25, de 0,25 a 0,5, de 0,5 a 0,75 y de 0,75 a 1.

Así, una hoja contendrá todas las variantes con esta característica, por ejemplo, de 0,5 a 0,75: tendrá 0,5 y 0,55 y 0,64 y 0,72. Es una buena generalización en amplitud. Las redes neuronales probablemente hagan lo mismo debido a las estaciones f de activación no lineales.

Pero no hay una generalización por tiempo en el árbol.

Aparentemente, deberíamos poner en un patrón de 20 características y trozos de 10 características estirándolos y trozos de 50 características comprimiéndolos, y una docena de variantes intermedias también.

 
mytarmailS:

no...

interpolar/extrapolar es lo mismo que atornillar con ventanas de distinto tamaño, las mismas pérdidas.

¿Te das cuenta del tiempo que consume? Por cada iteración.

es muy rápido. Tiene una plantilla de 1000 caracteres. Hay que interpolar las muestras más pequeñas al tamaño del patrón.

7 microsegundos serán suficientes.

Pero tal vez sea necesario correlacionar los patrones más pequeños entre sí (pequeño punto por punto en el eje x), entonces será más rápido. Entonces es mejor comprimir los grandes e interpolar los pequeños.

ZS. Si, por ejemplo, el patrón es 490 y la plantilla es 500, puede añadir 10 Nan en una fila al azar (o mejor distribuidos uniformemente), y luego interpolar

y si necesitas reducirlo aún más fácil, en la aproximación lineal a trozos estableces el número de trozos igual a 500, si el patrón > 500

Y no necesita una gran variedad de tamaños de ventanas. De 200 a 800 allí... en pasos de 20-50. Todo volará. O tal vez no, ni siquiera sé por qué es necesario ) pero en vídeo es rápido, pero los patrones son terriblemente feos.

 

Solía buscar multifractales, es decir, el fractal actual forma parte de otro mayor, similar a él. Entonces tomo una continuación de la mayor y la predigo. Bueno, a veces funciona, a veces no, porque tienden a deformarse mucho, aunque en general son similares.

Es decir, basta con tomar el último tramo del gráfico de n barras y tomar el último tramo grande de n+100500 barras. Encuentre lo que el pequeño se correlaciona con el trozo grande y vea lo que viene después de ese trozo, luego llévelo al futuro. Si hay más de una coincidencia, haz una media. Pero también hice prebarras afines porque el ángulo de inclinación también cambia.

 
Maxim Dmitrievsky:

es muy rápido. Tienes una plantilla de 1.000 caracteres. Hay que interpolar las muestras más pequeñas al tamaño de la plantilla

7 microsegundos serán suficientes.

Pero tal vez sea necesario correlacionar los patrones más pequeños entre sí (pequeño por punto en el eje x), entonces será más rápido. Entonces es mejor comprimir los grandes e interpolar los pequeños.

ZS. Si, por ejemplo, el patrón es 490 y la plantilla es 500, puede añadir 10 Nan en una fila al azar (o mejor distribuidos uniformemente), y luego interpolar

y si necesitas reducirlo aún más fácil, en la aproximación lineal a trozos estableces el número de trozos igual a 500, si el patrón > 500

Y no necesita una gran variedad de tamaños de ventanas. De 200 a 800 allí... en pasos de 20-50. Todo volará. O tal vez no, ni siquiera sé por qué es necesario ) pero las muestras de vídeo son rápidas, pero los patrones son terriblemente feos.

¿Tienes algo en alglib para comprimir y descomprimir los gráficos?

Veo algunos sobre la interpolación. ¿Cuál es mejor para nosotros? ¿Cuál es más rápido?

 

Creo que lo he encontrado. Directamente de una cuadrícula se obtiene otra.

https://www.alglib.net/interpolation/spline3.php

Interpolación rápida de cuadrículas por lotes

función spline1dconvcubic

Esta función resuelve el siguiente problema: dada una tabla de valores de la función y[]
en los antiguos nodos x[] y en los nuevos nodos x2[], calcula y devuelve una tabla de valores de la función
y2[] (calculada en x2[]).

Esta función da el mismo resultado que llamar a Spline1DBuildCubic () seguido de
una secuencia de llamadas a Spline1DDiff (), pero puede ser varias veces más rápida cuando
llama a X[] y X2[] ordenados.

PARÁMETROS DE ENTRADA:
X-nodos del spline antiguo
Valores de la función Y
X2-nodos del spline nuevo

PARÁMETROS ADICIONALES:
N-número de puntos:
* N>
=2
* si se establece, sólo se utilizan los primeros N puntos de X/Y
* si no se establece, se determina automáticamente por las dimensiones X/Y
(len (X) debe ser igual a len (Y))
BoundLType - tipo de condición límite para el límite izquierdo
BoundL-condición límite izquierda (primera o segunda derivada,
dependiendo del BoundLType)
BoundRType - tipo de condición límite para el límite derecho
BoundR-condición límite derecha (primera o segunda derivada,
dependiendo del tipo Boundr) xml-ph-0009@de
* N2>=2
* si se especifica, sólo se utilizan los primeros N2 puntos de X2
* si no se especifica, se determina automáticamente por el tamaño de X2

PARÁMETROS DE SALIDA:
F2-valores de las funciones en X2[]

BUNDR

La subrutina ordena automáticamente los puntos, por lo que el llamante puede pasar un array sin ordenar.
Los valores de la función se reordenan correctamente cuando se devuelven, por lo que F2[I] es siempre
igual a S(X2[I]) independientemente del orden de los puntos.

ESTABLECIMIENTO DE LOS VALORES LÍMITE:

Los parámetros BoundLType/BoundRType pueden tener los siguientes valores:
* -1, que corresponde a condiciones límite periódicas (cíclicas).
En este caso:
* tanto BoundLType como BoundRType deben ser iguales a -1.
* BoundL/BoundR se ignoran
* Y[last] se ignora (asumiendo que es igual a Y[first]).
* 0, que corresponde a un spline parabólico-completo
(se ignoran BoundL y/o BoundR).
* 1, que corresponde a la condición de contorno de la primera derivada
* 2, que corresponde a la condición de contorno de la segunda derivada
* El valor por defecto es BoundType=0

TASKS WITH PERIODIC Boundary Conditions:

TASKS con condiciones de contorno periódicas tienen Y[first_point]=Y[last_point].
Sin embargo, esta subrutina no requiere que se especifiquen valores iguales para
primer y último punto - automáticamente los fuerza a ser iguales mediante
copiando Y[primer_punto] (correspondiente a la X [] más a la izquierda) a
Y[último_punto]. Sin embargo, se recomienda pasar valores consecutivos de Y [],
es decir, hacer que Y[primer_punto]=Y[último_punto].

-- PROYECTO DRAFT --
Copyright 03.09.2010 Bochkanov Sergey

Spline interpolation and fitting - ALGLIB, C++ and C# library
  • www.alglib.net
Cubic spline interpolation/fitting is a fast, efficient and stable method of function interpolation/approximation. ALGLIB package provides you with dual licensed (open source and commercial) implementation of spline-related functionality in several programming languages, including our flagship products: ALGLIB for C++, a high performance C++...
 
elibrarius:

¿Hay algo en el alglibe para comprimir y descomprimir los gráficos?

Sobre la interpolación, veo varias. ¿Cuál es la mejor opción para nosotros? ¿Y cuál es más rápido?

El lineal es el más rápido, los otros pueden ser más precisos
 

Filtrado adaptativo

Idea para ts. Montar el sistema en un "mashka", "mashka" cambiar de forma adaptativa con ns.

 
Rorschach:

Filtrado adaptativo

Idea para ts. Montar el sistema en un "mashka", "mashka" cambiar de forma adaptativa con ns.

¿a qué esperas?

 
mytarmailS:

¿a qué esperas?

¿qué hay en los nuevos datos?

 
Maxim Dmitrievsky:

¿Qué pasa con los nuevos datos?

Que yo recuerde el TS ha estado funcionando durante un tiempo y ha muerto...

La filtración en el sentido habitual (herramientas, filtros, etc.) es siempre un retraso, un retraso en el mercado es un drenaje....

Deberías crear un paradigma diferente (sin retrasos), niveles por ejemplo...

Razón de la queja: