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.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de inteligencia artificial, no puedo arreglar directamente errores de los scripts de DolphinDB, pero puedo proporcionar posibles explicaciones que pueden ayudar.

    El mensaje de error indica que la función utilizada en el script debe ser una función de agregación. Una función de agregación realiza un cálculo en múltiples filas o registros y devuelve un único valor, como avg(), sum(), max(), etc.

    En el script proporcionado, la función moving() se usa con def(x, y)->avg(abs(x-y.last())) como argumento, donde def(x, y) define una función que calcula la diferencia absoluta entre los valores actuales y los últimos valores de x y devuelve el promedio. Sin embargo, esta función no es una función de agregación ya que no realiza ningún cálculo en múltiples registros.

    El script parece estar diseñado para calcular el promedio móvil simple de la diferencia absoluta entre los valores actuales y los últimos valores en una serie temporal. Utiliza la función moving() con la bandera sma para indicar el tipo de cálculo de promedio móvil y timeP como el período de tiempo.

    Es posible que el script funcione en la versión 2.00.1 pero no en 2.00.2 debido a cambios en la sintaxis o comportamiento de las funciones o banderas de DolphinDB. Actualizar a una versión más nueva puede requerir modificar el script en consecuencia.

    Para resolver el mensaje de error, puede intentar usar una función de agregación dentro de la función moving(), como avg() o sum(), para realizar el cálculo en múltiples registros. Por ejemplo, moving(avg(abs(def(x,y))), [tp, sma], timeP) donde def(x, y) calcula la diferencia absoluta entre los valores actuales y los últimos valores de x y avg() calcula el promedio del resultado sobre la ventana móvil.

Comments are closed.