我有资产价格数据,有些价格是0.我计算回报的公式是((curPrice / prevPrice)-1)* 100。如果之前的价格为零,最好的方法是什么?将百分比增加视为100%是否有效?
以下内容是否有效?
previousPrice == 0 ? return 100 : ((curPrice/prevPrice)-1)*100;
答案 0 :(得分:4)
没有。如果前面是1并且当前是1000,那么你将返回99900%。当previousPrice接近0时,百分比增加接近无限。
你应该做的是以不同的方式描述变化。例如你说价格现在是X,而没有提到增加的百分比。
答案 1 :(得分:0)
正如彼得所提到的,如果之前的价格为0,则百分比回报没有任何意义。因此,您应该忽略前一个价格为0的任何情况。否则,您从其他公式得到的结果将不会有很多意思。
这样做的一种方法是在这种情况下返回“N / A”,并且为了计算目的返回“N / A”值或在这些情况下返回“N / A”。通过这种方式,您可以限制此类案例的影响,但添加“适用的地方”之类的警告并不是一个坏主意。 IE:“平均回报是X,在适用的情况下”,因为包含无穷大的任何数字列表的平均值(除非它可能是无限列表)是无穷大。