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

 
mytarmailS #:

porque no es para eso.

¿Por qué nadie escribe sitios web en C++?

Cada lenguaje tiene su cometido, por eso hay tantos.

Yo sólo elegí lo que me resultaba más familiar, más parecido a mql, y lo que me resultaba menos familiar (no conocido) se llamaba jerky. Y deberías haber estudiado...

probablemente no sepas lo suficiente...C++ backend esta muy demandado y es casi de los trabajos mas caros.

 
Maxim Kuznetsov #:

probablemente no seas del todo consciente...C++ backend está muy demandado y es casi el trabajo más caro.

probablemente no eres plenamente consciente de que un sitio web no es sólo backend ;)

 

No todo el mundo sigue el desarrollo de MQL5, pero tiene métodos estándar para matrices y vectores.

Estos son los métodos estándar del lenguaje, no bibliotecas de terceros. Con la introducción de los tipos matrices/vectores/complejos, el lenguaje se ha vuelto muy poderoso para el análisis estadístico y las matemáticas pesadas.

Función

Acción

Categoría

Activación

Calcula los valores de la función de activación y escribe en el vector/matriz pasado

Aprendizaje automático

ArgMax

Devuelve el índice del valor máximo

Estadísticas

ArgMin

Devuelve el índice del valor mínimo

Estadísticas

ArgSort

Devuelve el índice ordenado

Manipulaciones

Asignar

Copia una matriz, vector o array con conversión automática

Inicialización

Promedio

Calcula una media ponderada de valores de matrices/vectores.

Estadísticas

Cholesky

Calcula la descomposición Cholesky

Transformaciones

Recorte

Restringe los elementos de matriz/vector a un rango especificado de valores aceptables

Manipulaciones

Col

Devuelve un vector columna. Escribe el vector en la columna especificada

Manipulaciones

Cols

Devuelve el número de columnas de la matriz

Características

Comparar

Compara los elementos de dos matrices/vectores con una precisión especificada

Manipulaciones

CompararPorDígitos

Compara elementos de dos matrices/vectores para que coincidan con precisión de dígitos significativos

Manipulaciones

Cond

Calcula el número condicional de una matriz

Características

Convolucionar

Devuelve una convolución lineal discreta de dos vectores

Derivadas

Copiar

Devuelve una copia de una matriz/vector dado

Manipulaciones

CopiarCuotas

Obtiene las series históricas de la estructura MqlRates del símbolo-periodo especificado en la cantidad especificada en una matriz o vector

Inicialización

CopiarTicks

Obtiene los ticks de la estructura MqlTick en una matriz o vector

Inicialización

CopyTicksRange

Obtiene a una matriz o vector de ticks de la estructura MqlTick en el rango de fechas especificado.

Inicialización

CorrCoef

Calcula el coeficiente de correlación de Pearson (coeficiente de correlación lineal)

Derivados

Correlacionar

Calcula la correlación cruzada de dos vectores

Derivadas

Cov

Calcula la matriz de covarianza

Productos

CumProd

Devuelve el producto acumulativo de los elementos de la matriz/vector, incluyendo los elementos a lo largo del eje dado.

Estadísticas

SumaCum

Devuelve la suma acumulada de los elementos de la matriz/vector, incluyendo los elementos a lo largo del eje dado.

Estadísticas

Derivada

Calcula los valores de la derivada de la función de activación y los escribe en el vector/matriz pasado

Aprendizaje automático

Det

Calcula el determinante de una matriz cuadrada no degenerada

Características

Diag

Extrae una diagonal o construye una matriz diagonal

Manipulaciones

Punto

Producto escalar de dos vectores

Derivadas

Eig

Calcula los valores propios y los vectores propios derechos de una matriz cuadrada

Transformaciones

EigVals

Calcula los valores propios de una matriz general

Transformaciones

Ojo

Devuelve una matriz con unos en la diagonal y ceros en el resto

Inicialización

Rellenar

Rellena una matriz o vector existente con un valor dado

Inicialización

Plano

Permite acceder a un elemento de matriz utilizando un único índice en lugar de dos índices

Manipulaciones

Completa

Crea y devuelve una nueva matriz rellena con el valor especificado.

Inicialización

GeMM

Multiplicación general de dos matrices (General Matrix Multiply)

Productos

Hsplit

División horizontal de una matriz en varias submatrices. Igual que Split con eje=0.

Manipulaciones

Identidad

Crea una única matriz del tamaño especificado

Inicialización

Init

Inicializa una matriz o vector

Inicialización

Interior

Producto interior de dos matrices

Derivadas

Inversa

Calcula la inversa (multiplicativa) de una matriz cuadrada no degenerada por el método de Jordaan-Gauss

Soluciones

Kron

Devuelve el producto Kronecker de dos matrices, una matriz y un vector, un vector y una matriz, o dos vectores

Productos

Pérdida

Calcula los valores de la función de pérdida y los escribe en el vector/matriz introducido

Aprendizaje automático

LstSq

Devuelve la solución por mínimos cuadrados de ecuaciones algebraicas lineales (para matrices no cuadradas o degeneradas)

Soluciones

LU

Factorización LU de una matriz como producto de una matriz triangular inferior y una matriz triangular superior

Transformaciones

LUP

Factorización LUP con permutación parcial, que se refiere a la descomposición LU sólo con permutación de filas: PA=LU

Transformaciones

MatMul

Producto matricial de dos matrices

Derivadas

Max

Devuelve el valor máximo de una matriz/vector

Estadísticas

Media

Calcula la media aritmética de los valores de los elementos

Estadísticas

Mediana

Calcula la mediana de los elementos de matrices/vectores

Estadísticas

Mínimo

Devuelve el valor mínimo de la matriz/vector

Estadística

Norma

Devuelve la norma de la matriz o vector

Características

Unos

Crea y devuelve una nueva matriz llena de unos

Inicialización

Exterior

Calcula el producto exterior de dos matrices o dos vectores

Productos

Percentil

Devuelve el percentil especificado de los elementos de la matriz/vector o elementos a lo largo del eje especificado.

Estadísticas

PInv

Calcula una matriz pseudoinversa utilizando el método de Moore-Penrose

Soluciones

Potencia

Eleva una matriz cuadrada a grado entero

Productos

Prod

Devuelve el producto de elementos de matriz/vector, que también puede realizarse para un eje dado

Estadísticas

Ptp

Devuelve el rango de valores de matriz/vector o el eje de matriz dado

Estadísticas

QR

Calcula la factorización qr de una matriz

Transformaciones

Cuantil

Devuelve el cuantil especificado de los valores o elementos de la matriz/vector a lo largo del eje especificado

Estadísticas

Rango

Devuelve el rango de la matriz utilizando el método de Gauss

Características

Métrica de regresión

Calcula la métrica de regresión como el error de desviación de la línea de regresión trazada sobre el conjunto de datos especificado

Estadísticas

Reformar

Cambia la forma de una matriz sin modificar sus datos

Manipulaciones

Redimensionar

Devuelve una nueva matriz con la forma y el tamaño modificados

Manipulaciones

Fila

Devuelve un vector fila. Escribe el vector en la fila especificada

Manipulaciones

Filas

Devuelve el número de filas de la matriz

Características

Tamaño

Devuelve el tamaño del vector

Características

SLogDet

Calcula el signo y el logaritmo del determinante de la matriz

Características

Resolver

Resuelve una ecuación matricial lineal o un sistema de ecuaciones algebraicas lineales

Soluciones

Ordenar

Ordenar por ubicación

Manipulaciones

Espectro

Calcula el espectro de una matriz como el conjunto de sus valores propios a partir del producto AT*A

Características

Dividir

Divide una matriz en varias submatrices

Manipulaciones

Std

Devuelve la desviación estándar de los valores de los elementos de la matriz/vector o de los elementos a lo largo de un eje determinado.

Estadísticas

Suma

Devuelve la suma de elementos de matriz/vector que también puede realizarse para el eje o ejes dados

Estadísticas

SVD

Descomposición de valores singulares

Transformaciones

IntercambiarColumnas

Intercambia las columnas de una matriz

Manipulaciones

IntercambiarFilas

Intercambia las filas de una matriz

Manipulaciones

Trazado

Devuelve la suma de las diagonales de la matriz

Características

Transponer

Transpone (intercambia ejes) y devuelve la matriz modificada

Manipulaciones

Tri

Construye una matriz con unos en la diagonal dada y por debajo y ceros en el resto.

Inicialización

TriL

Devuelve una copia de la matriz con elementos a cero sobre la k-ésima diagonal. Matriz triangular inferior

Manipulaciones

TriU

Devuelve una copia de la matriz con los elementos a cero por debajo de la k-ésima diagonal. Matriz triangular superior

Manipulaciones

Var

Calcula la varianza de los valores de los elementos de la matriz/vector

Estadísticas

Vsplit

División vertical de una matriz en varias submatrices. Igual que Split con eje=1

Manipulaciones

Ceros

Crea y devuelve una nueva matriz llena de ceros

Inicialización

Документация по MQL5: Методы матриц и векторов
Документация по MQL5: Методы матриц и векторов
  • www.mql5.com
Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
mytarmailS #:

Pues genial, así se pretendía.....

Pero ¿por qué estos ataques pasivo-agresivos a R todo el tiempo? Es el mejor lenguaje para sus tareas, para eso fue diseñado,

Python es un lenguaje genérico con la pretensión de ser fácil de aprender...


Lo principal no es eso, sino hacer tratos bonitos con la ayuda de algoritmos.


No necesito tus tratos, ¡necesito backtests!
El trading no es ciencia, es más situacional. Las operaciones de hoy son +, las de mañana son -.
Había un arbitraje normal cuando podías comprar flores para las mujeres y coches para ti, y luego de alguna manera se desinfló. Y no importa que estadística uses, Mikola no hará una flor de piedra.

Otro problema con las neuronas es la elección de los modelos. Uno funciona desde hace un año, los otros se los lleva el viento. Luego un egipcio te grita que le has engañado. ¿Qué vas a hacer? Es la naturaleza de las cosas. Y las estadísticas, de alguna manera, vuelven a pasar de largo. Así que la elección era obvia - para la máxima simplicidad y comodidad.
 
Maxim Dmitrievsky #:
No necesito tus tratos, ¡necesito tus backtests!
El trading no es ciencia, es más situacional. Las operaciones de hoy suben, las de mañana
Con todo mi conocimiento, no sé cómo algoritmizarlo, sólo tengo una comprensión de la situación y eso es todo...
El MO es como un indicador, y el 99% del robot intelectual detrás de mí ...

1) O es así y funciona.

2 ) o todo es automático y nunca funciona.


por ahora estoy sentado en 1) pero soñando con 2)

 
mytarmailS #:
Con todos mis conocimientos, no sé cómo algoritmizarlo, sólo tengo una comprensión de la situación y eso es todo....
IO es como un indicador, y el 99% del robot inteligente está detrás de mí ...

1) O es eso, y funciona.

2) O es todo en automático y nunca funciona.


Estoy sentado en 1) pero estoy soñando con 2).

Averigua cómo validar mejor tu artesanía FF y será automático. Es una idea genial.
 
Maxim Dmitrievsky #:
Averigua cómo validar mejor tu oficio de FF y será automático. Es una idea genial.

Simplemente lo validas como un algoritmo normal.

No lo digo como un descubrimiento, lo inventé hace más de un año...

El hombre preguntó cómo entrenar AMO para obtener beneficios, yo sólo le mostré cómo...

 
mytarmailS #:

sólo tienes que validarlo como un algoritmo normal.

No estoy hablando de ello como un descubrimiento, inventé esta cosa hace más de un año....

El hombre preguntó cómo entrenar AMO con fines de lucro, te acabo de mostrar cómo.

No va a funcionar como uno normal. Necesitas algún auto-tuning complicado para datos desconocidos, filtrar señales de ruido, etc. para hacer más o menos lo mismo que un humano.
 
mytarmailS #:


El hombre me preguntó cómo entrenar a AMO para obtener beneficios, yo sólo le mostré cómo.

No puedo entender lo que, pero algo protesta en mí en contra de su idea con un objetivo en forma de un equilibrio.


Todo es muy similar a la negociación en la historia: aquí compró, y aquí vendió ... y te sientas allí todo inteligente y rico.


Y luego vas al comercio real, comprar, y el mercado se da la vuelta y un centenar de pips en la otra dirección. Esto es exactamente lo que observo en mi TS. Hay pocos casos así, no más del 10% de todos, pero todo se va por la cola.


De su idea se deduce que se puede eludir, es decir, predecir realmente los movimientos fuertes del mercado a expensas de la penalización, pero es imposible, porque los movimientos fuertes son la base de la no estacionariedad de los mercados financieros.


PS.

El zigzag mencionado es el mismo equilibrio, pero marcado en largos y cortos.

 
Maxim Dmitrievsky #:
No funcionaría como uno normal. Se necesita un autoajuste inteligente para datos desconocidos, filtrado de señales de ruido, etc. para hacer más o menos lo mismo que un humano.

Sí, lo he hecho y he pensado lo mismo.

Sí, con ese filtro el resultado en la prueba fue mucho más fiable.


Concretamente con FF en beneficios, hice algo así como una simulación Monte Carlo sobre el saldo actual y si las previsiones de las simulaciones en el test eran todas en crecimiento, era como un filtro de que el saldo actual encontrado crecerá en el futuro. Lo que se confirmó...

Razón de la queja: