Supongamos que quiere calcular el retorno de un solo periodo . Dejemos que p0
sea el precio inicial y p1
sea el precio final del periodo.
La fórmula más común es
(p1 - p0) / p0
Pero también veo a veces que la gente utiliza
(p1 / p0) - 1
Algebraicamente, ambas formas son equivalentes. Sin embargo, a la hora de escribir código informático, ¿hay alguna diferencia?
Desde el punto de vista del rendimiento, ambas formas implican 1 división y 1 sustracción, por lo que deberían tener un rendimiento similar. (¿Quizás la primera forma sólo necesita 3 registros mientras que la segunda necesita 4?)
Desde el punto de vista de la precisión, ¿hay alguna diferencia? ¿Una forma tiene menor error de punto flotante que la otra? Supongamos que se utiliza un tipo de punto flotante de 64 bits (por ejemplo, numpy float64 o Java double).
No estoy seguro de si el lenguaje utilizado es importante, pero si crees que puede serlo, ahora suelo utilizar Python (Pandas), R o Java. Y si estoy usando Pandas o R, el retorno se suele calcular como una operación vectorial.