Discusión sobre el artículo "Usamos algoritmos de optimización para ajustar los parámetros del asesor sobre la marcha"

 

Artículo publicado Usamos algoritmos de optimización para ajustar los parámetros del asesor sobre la marcha:

El artículo analizará diversos aspectos prácticos relacionados con el uso de algoritmos de optimización para encontrar los mejores parámetros de un asesor sobre la marcha, y también virtualizar las operaciones comerciales y la lógica del asesor. El lector puede usar este artículo a modo de instrucciones para implementar algoritmos de optimización en un asesor comercial.

A menudo me preguntan cómo aplicar algoritmos de optimización a los asesores y a las estrategias en general. En este artículo me gustaría repasar los aspectos prácticos del uso de algoritmos de optimización.

En el mundo financiero actual, donde cada milisegundo puede marcar una diferencia esencial, el trading algorítmico se hace cada vez más necesario. Los algoritmos de optimización desempeñan un papel fundamental en la creación de estrategias comerciales eficaces. Quizá algunos escépticos crean que los algoritmos de optimización y el comercio no tienen puntos en común. Sin embargo, en este artículo mostraremos cómo pueden interactuar estas dos áreas y qué beneficios podemos obtener haciendo esto.

Para los tráders principiantes, comprender los principios básicos de los algoritmos de optimización puede suponer una poderosa herramienta para encontrar transacciones rentables y minimizar riesgos. Y para los profesionales experimentados, un conocimiento profundo en esta área puede abrir nuevos horizontes y ayudarles a crear sofisticadas estrategias comerciales que superen sus expectativas.

Laauto-optimizaciónen un asesor comercial es el proceso mediante el cual el asesor adapta los parámetros de su estrategia comercial para lograr un mejor rendimiento basándose en los datos históricos y las condiciones actuales del mercado.

Autor: Andrey Dik

 
Es asombroso. Dime, ¿es posible un algoritmo así en Python?
 

input string   InpKPeriod_P        = "18|9|3|24";  //STO K period:      it is necessary to optimize
input string   InpUpperLevel_P  = "96|88|2|98"; //STO upper level: it is necessary to optimize

Tenga en cuenta que los parámetros se declaran con tipo cadena, los parámetros son compuestos e incluyen valorespor defecto, valorinicial de la optimización ,paso y valor final de la optimización .

Yo recomendaría utilizar el formato MQ de dicha cadena.
input string   InpKPeriod_P     = "18||9||3||24||N";  //STO K periodo: es necesario optimizar
input string   InpUpperLevel_P  = "96||88||2||98||Y"; //STO nivel superior: es necesario optimizar
 
Yevgeniy Koshtenko #:
Es asombroso. Dime, ¿este algoritmo es posible en Python?
Sí, por supuesto.
 
fxsaber #:
Yo recomendaría utilizar el formato MQ para dicha cadena.
Sí, puedes hacerlo así, sólo tienes que añadir una comprobación de banderas en el registro de cadena de parámetros, depende del propietario.
 

Parece incorrecto tener dos implementaciones diferentes de la operación - en real y virtual - es fácil suponer la no identidad. Idealmente, debería ser el mismo método llamado desde OnTick directamente con el entorno real o desde el optimizador con el entorno virtual.

Y sigue faltando el paralelismo de la optimización. Lo lógico sería ejecutar cada grupo/roy/y-otros-agentes-analógicos-independientes en una copia separada del Asesor Experto, es decir, un hilo dedicado(por ejemplo).

 
Stanislav Korotky #:

Parece incorrecto tener dos implementaciones diferentes de la operación - en real y virtual - es fácil asumir la no identidad. Idealmente debería ser el mismo método llamado desde OnTick directamente con entorno real o desde optimizador con entorno virtual.

Y sigue faltando el paralelismo de la optimización. Lo lógico sería ejecutar cada grupo/roy/y-otros-agentes-analógicos-independientes en una copia separada del Asesor Experto, es decir, un hilo dedicado(por ejemplo).

Sí, por supuesto, estoy de acuerdo con todo.

Pero la tarea era mostrar un ejemplo realmente muy simple disponible para una amplia gama de usuarios, incluidos los que no están familiarizados con la programación.

Y así, por supuesto, lo ideal es que necesites la identidad completa de virtual y real, y puedes paralelizar todo fácilmente si tienes toda la lógica en virtual.

 

Por último, un buen ejemplo de aplicación de sus artículos sobre optimización.

Gracias.

 
Aleksandr Slavskii #:

Bueno, por fin, un buen ejemplo de aplicación de sus artículos de optimización.

Gracias.

Gracias por su atención a mis artículos.
 
Acertar en el diseño es un gran punto de partida para mostrar por dónde debe ir la inteligencia artificial (que, aunque no tiene nada que ver con EA, porque no son redes neuronales y no es autoaprendizaje), con una estrategia lógica, y añadimos esto, y es realmente beneficioso, la autooptimización, esto es lo que nos acercará al modo de inteligencia humana, porque nos permite tomar decisiones a corto plazo, y en base a lo que está pasando en el momento. el momento, teniendo las mejores condiciones, instantáneas.
 

Interesante artículo, ¡debería aumentar el interés en la serie de artículos publicados por usted!

Por supuesto, la desventaja de la aplicación propuesta es la falta de universalidad del enfoque, es decir, es necesario reescribir completamente el Asesor Experto existente e introducir en él un probador virtual con muchas funciones. Por supuesto, la ventaja del enfoque es la velocidad aceptable de trabajo debido a los indicadores virtuales.

¿Ha intentado utilizar no rangos de gráficos para la optimización, sino conjuntos de tales ajustes previamente seleccionados para cada indicador/predictor? Este enfoque reduce significativamente el área de búsqueda, pero entiendo que no todos los algoritmos funcionarán correctamente, ya que no hay un cambio suave de parámetro a parámetro, ¿o no es crucial?

¿Hay algún artículo previsto sobre otras posibilidades de aplicación de algoritmos, en la línea expuesta en este artículo:

  • Gestión de carteras. Los algoritmos de optimización pueden ayudar a determinar la asignación óptima de activos en una cartera para alcanzar determinados objetivos. Por ejemplo, pueden utilizarse técnicas de optimización como la optimización de la varianza media (matriz de varianza media) para hallar el conjunto de activos más eficiente dados los rendimientos y el riesgo esperados. Esto puede incluir la determinación de la combinación óptima de acciones, bonos y otros activos, así como la optimización del tamaño de las posiciones y la diversificación de la cartera.
  • Selección de los mejores instrumentos de negociación. Los algoritmos de optimización pueden ayudar a seleccionar los mejores instrumentos o activos de negociación. Por ejemplo, los algoritmos de optimización pueden utilizarse para clasificar los activos en función de diversos criterios, como la rentabilidad, la volatilidad o la liquidez.