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

 
Maxim Dmitrievsky #:
Incluso del nombre pérdida ph-y es la pérdida ph-y entre los valores de referencia y el modelo

¿De qué lado está el manguito de beneficio aquí

De hecho, estamos pasando del ámbito de la MO al ámbito más general de la optimización. Aun así, "ganar lo máximo posible" no es exactamente lo mismo que "acertar lo máximo posible".

 
Andrey Dik #:

1. v

2. he aquí una figura, como la curva de una hipotética función de aprendizaje.

¿Estás satisfecho de que la cuadrícula se detendrá en el extremo local 1? ¿O tal vez 2? ¿O qué, 3, como en el medio? Así que no sabemos de antemano cuántos extremos locales hay, puede haber 100500 o incluso más. Por eso es importante tratar de encontrar el mayor de todos los extremos locales que el algoritmo es capaz de alcanzar.

Es muy bonito y demostrable en el sentido de justificar la búsqueda de un máximo global.

Pero esto es en la historia.

¿Y si añadimos una barra a la derecha? ¿Seguiría siendo bello? ¿O se colapsaría? El mercado no es estacionario. ¿Crees que el probador? Lo encuentra, es hermoso, en color...

 
Maxim Dmitrievsky #:
En genética, tomamos variables y las maximizamos en un criterio. No se puede hacer eso aquí, porque es una clasificación. No hay relación entre el beneficio y las etiquetas de clase. En el mejor de los casos, obtendrás tonterías. Es por eso que tales criterios se colocan en eval_metrics.
La calidad de la clasificación puede ser evaluada de alguna manera, por lo que maximizar esta evaluación es el objetivo de la optimización.
 
Maxim Dmitrievsky #:
Incluso del nombre pérdida ph-y es la pérdida ph-y entre los valores de referencia y el modelo

¿De qué lado está el manguito de beneficio aquí

hay un manguito

 
Andrey Dik #:
La calidad de la clasificación puede evaluarse de alguna manera. Por lo tanto, maximizar esta evaluación es el objetivo de la optimización
Pues bien, se minimiza la pérdida entre el original y el entrenado. Es posible añadir una pequeña deducción en forma de beneficio normalizado, por supuesto, probar, pero ¿es necesario?
 
СанСаныч Фоменко #:

Muy bonito y demostrable en el sentido de justificar la búsqueda de un máximo global.

Pero está en la historia.

¿Y si añadimos una barra a la derecha? ¿Se mantendría la belleza? ¿O se desplomaría? El mercado no es estacionario. ¿Crees que el probador? Lo encuentra, es hermoso, en color...

No importa si es en la historia o en el futuro. Y el probador en sí no tiene nada que ver.

Lo que importa es la propiedad de un algoritmo (un algoritmo de optimización individual o como parte de una red) para encontrar el óptimo global de un criterio de evaluación. Subrayo: el criterio de evaluación. El criterio de evaluación no es necesariamente y/o únicamente el beneficio. Puede ser cualquier cosa, por ejemplo, el criterio de evaluación de trabajo en OOS no es un criterio (minimizar la diferencia entre la muestra y OOS)? - es sólo una idea. Los criterios pueden ser cualquier cosa y de cualquier complejidad. Es importante entender que el criterio de "Beneficio" es una cosa muy gullida y discreta, por lo que la gente intenta idear criterios de evaluación más suaves y monótonos, lo que generalmente mejora la calidad de la optimización en sí y del entrenamiento neuronal en particular.

Así que, volviendo a lo que dibujé en el cuadro muy artístico, una clara ilustración del hecho de que en condiciones en las que no se conocen ni el número ni las características de los extremos locales, la única salida es buscar en la medida de lo posible el que sea posible en condiciones de capacidades computacionales limitadas.

Meseta: sí, existe tal noción, pero no está relacionada con la optimización, sino que se trata de clasificar conjuntos similares de parámetros por algún atributo. Buscar una meseta estable es una tarea compleja aparte.

 

Finalmente conseguí mi propia función de pérdida, la derivada se representa como un producto de Sharpe, error y pesos.

is_max_optimal=False indica que el valor es decreciente, pero como también multipliqué por -1, ocurre lo contrario.

class SharpeObjective(object):
  def calc_ders_range(self, approxes, targets, weights):
    assert len(approxes) == len(targets)
    if weights is not None:
      assert len(weights) == len(approxes)

    result = []
    for index in range(len(targets)):
      preds = [approxes[i] for i in range(len(targets))]
      preds = [i if i>0 else -1*i for i in preds]
      sharpe = np.mean(preds)/np.std(preds)
      der1 = targets[index] - approxes[index]
      der2 = -1

      if weights is not None:
        der1 = -1 * sharpe * der1 * weights[index]
        der2 = der2 * weights[index]

      result.append((der1, der2))
    return result

class Sharpe(object):
    def get_final_error(self, error, weight):
        return error

    def is_max_optimal(self):
        return False

    def evaluate(self, approxes, target, weight):
        assert len(approxes) == 1
        assert len(target) == len(approxes[0])
        preds = np.array(approxes[0])
        target = np.array(target)
        preds = [i if i > 0 else -1*i for i in preds]
        sharpe = np.mean(preds)/np.std(preds)
        return sharpe, 0

model = CatBoostRegressor(learning_rate=0.1, loss_function=SharpeObjective(), eval_metric=Sharpe())
 
Evgeni Gavrilovi #:

Finalmente obtuvo su propia función de pérdida, la derivada se representa como un producto de Sharpe, error y ponderaciones.

is_max_optimal=False indica que el valor es decreciente, pero como también he multiplicado por -1, lo contrario es cierto.

¿Mejoraron los resultados del entrenamiento?)
 
Maxim Dmitrievsky #:
¿Han mejorado sus resultados de aprendizaje)?

No, desgraciadamente.

Ahora mismo estoy mirando la página web de López de Prado . https://quantresearch.org/Patents.htm.

Tiene una nueva patente, publicada en septiembre (Tactical Investment Algorithms through Monte Carlo Backtesting).

Muchas ideas valiosas, por ejemplo hace hincapié en nowcasting (predicción a corto plazo).

Cita: "Las predicciones a corto plazo son estadísticamente más fiables que las predicciones a largo plazo".

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3562025

Principales conclusiones de la pandemia de coronavirus.

¿Qué lecciones podemos extraer de esta crisis?

1. Más nowcasting , menos forecasting

2. Desarrollar teorías, no reglas comerciales

3. Evitar las estrategias de todo régimen

 
Evgeni Gavrilovi #:

No, por desgracia.

Ahora estoy mirando la página web de López de Prado . https://quantresearch.org/Patents.htm.

Tiene una nueva patente, publicada en septiembre (Tactical Investment Algorithms through Monte Carlo Backtesting).

Muchas ideas valiosas, por ejemplo hace hincapié en nowcasting (previsión a corto plazo).

Cita: "Las predicciones a corto plazo son estadísticamente más fiables que las predicciones a largo plazo".

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3562025

Principales resultados de la pandemia de coronavirus.

¿Qué lecciones podemos extraer de esta crisis?

1. más nowcasting , menos forecasting

2. Desarrollar teorías, no reglas comerciales

3. Evitar estrategias allregime

Gracias por recordármelo, hace tiempo que no lo consulto.