我有资产价格的数据,有些价格是 0。我计算回报的公式是 ((curPrice/prevPrice)-1)*100。如果之前的价格为零,最好的方法是什么?将百分比增加视为 100% 是否有效?
以下是有效的吗?
previousPrice == 0 ? return 100 : ((curPrice/prevPrice)-1)*100;
我有资产价格的数据,有些价格是 0。我计算回报的公式是 ((curPrice/prevPrice)-1)*100。如果之前的价格为零,最好的方法是什么?将百分比增加视为 100% 是否有效?
以下是有效的吗?
previousPrice == 0 ? return 100 : ((curPrice/prevPrice)-1)*100;
不。如果之前是 1,当前是 1000,您将返回 99900% 随着 previousPrice 接近 0,百分比增加接近无限。
相反,您应该做的是以不同的方式描述更改。例如,您说现在的价格是 X,没有参考百分比增长。
正如彼得所说,如果先前的价格为 0,则百分比回报没有任何意义。因此,您应该简单地忽略先前价格为 0 的任何情况。否则,您从其他公式得到的结果将没有多大意义.
执行此操作的一种方法是在这种情况下返回“N/A”,以及用于计算目的的“N/A”值或在这些情况下也返回“N/A”。通过这种方式,您可以限制此类情况的影响,但添加“在适用的情况下”之类的警告并不是一个坏主意。IE:“在适用的情况下,平均回报是 X”,因为任何包含无穷大的数字列表(除非它可能是无限列表)的平均值是无穷大。