es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

algoritmo para encontrar el primer precio golpeado al final del día. algoritmo de búsqueda

Tengo una serie de precios a lo largo del día. Necesito determinar si el precio en cada momento del tiempo subirá primero un 50% o bajará un 50% al final del día.

Actualmente solo se me ocurre usar fuerza bruta: comparar el precio actual con cada uno de los precios siguientes hasta cumplir con el requisito anterior o recorrer todos los precios del día.

¿Existen métodos buenos para resolver el problema? ¡Muchas gracias de antemano!

Hay seis movimientos de precio al final del día.
precio=[1, 1.3, 0.9, 1.5, 0.65, 3]
etiqueta=[1, -1, 1, -1, 1]
Explicación:
en t0, el precio es 1 y primero sube a 1.5 en lugar de bajar a 0.5, por lo que la etiqueta es 1.
en t1, el precio es 1.3 y primero baja a 0.65 en lugar de subir a 1.95, por lo que la etiqueta es -1.
en t2, el precio es 0.9 y primero sube a 1.5 (0.9*1.5=1.35) en lugar de bajar a 0.45 (0.9*0.5), por lo que la etiqueta es 1.
en t3, el precio es 1.5 y primero baja a 0.65 (1.5*0.5=0.75) en lugar de subir a 3, por lo que la etiqueta es -1.
en t4, el precio es 0.65 y primero sube a 3 (0.65*1.5=0.975) en lugar de bajar a 0.325 (0.65*0.5), por lo que la etiqueta es 1.
Si el cambio de precio se encuentra dentro del rango -50% - +50%, la etiqueta será 0.
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una posible solución a este problema es utilizar un algoritmo de búsqueda binaria. Primero, calcule los límites superiores e inferiores de los posibles cambios de precio. Por ejemplo, si el precio inicial es 100, el límite superior para el aumento de precio sería 150 y el límite inferior para la disminución de precio sería 50. Luego, para cada punto de tiempo, realice una búsqueda binaria dentro de estos límites para determinar si el precio primero aumentará un 50% o disminuirá un 50%. Este enfoque puede ser potencialmente más rápido que la fuerza bruta, ya que reduce la cantidad de comparaciones necesarias. Otra posible solución sería utilizar un algoritmo de aprendizaje automático, como un árbol de decisiones, para predecir si el precio subirá o bajará basándose en datos históricos. Esto podría ser especialmente útil si hay múltiples factores que influyen en los cambios de precio a lo largo del día, como las tendencias del mercado o los eventos de noticias.

Comments are closed.