计算商品价格波动的算法
Algorithm to calculate the price volatility of a commodity
我正在尝试设计一种算法来计算商品价格波动的波动程度。
我希望它的工作方式是,如果一种商品的价格不断上涨和下跌,它应该比商品价格逐渐上涨然后迅速下跌的情况具有更高的分数。
这是我的意思的一个例子:
商品A:1 -> 2 -> 3 -> 2 -> 1 -> 3 -> 4 -> 2 -> 1
商品B:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 2
商品C:1 -> 2 -> 3 -> 4 -> 5 -> 4 -> 3 -> 2-> 1
商品A有一个'wave'的规律,它的价格有规律地上涨和下跌。
商品B有一个类似'cliff'的形态,先涨后跌。
商品C有'hill'的规律,先涨后跌。
A应获得最高排名,其次是C,其次是B。商品价格跟随的波浪模式越多,其排名就应该越高。
对可以做到这一点的算法有什么建议吗?
谢谢!
我的方法看起来像这样。
对于我的算法,我正在考虑上面的例子。
A: 1 -> 2 -> 3 -> 2 -> 1 -> 3 -> 4 -> 2 -> 1
B: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 2
C: 1 -> 2 -> 3 -> 4 -> 5 -> 4 -> 3 -> 2-> 1
现在我将压缩这些列表,压缩是指获取递增或递减序列的起始值和结束值。
因此,在压缩列表后,列表将如下所示。
A: 1 -> 3 -> 1 -> 4 -> 1
B: 1 -> 8 -> 2
C: 1 -> 5 -> 1
完成后,我取第 i 和 i+1 个元素之间的差值,然后取平均值,根据平均值,我给它们排名。
所以 i 和 i+1 元素之间的区别看起来像这样
2 2 3 3
A: 1 --> 3 --> 1 --> 4 --> 1
7 6
B: 1 --> 8 --> 2
4 4
C: 1 --> 5 --> 1
现在让我们对这个差值求和并取平均值。
A: (2+2+3+3)/4 = 2.5
B: (7+6)/2 = 6.5
C: (4+4)/2 = 4
现在我们可以根据这个平均值分配排名
A < C < B
希望对您有所帮助!
我正在尝试设计一种算法来计算商品价格波动的波动程度。
我希望它的工作方式是,如果一种商品的价格不断上涨和下跌,它应该比商品价格逐渐上涨然后迅速下跌的情况具有更高的分数。
这是我的意思的一个例子:
商品A:1 -> 2 -> 3 -> 2 -> 1 -> 3 -> 4 -> 2 -> 1
商品B:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 2
商品C:1 -> 2 -> 3 -> 4 -> 5 -> 4 -> 3 -> 2-> 1
商品A有一个'wave'的规律,它的价格有规律地上涨和下跌。
商品B有一个类似'cliff'的形态,先涨后跌。
商品C有'hill'的规律,先涨后跌。
A应获得最高排名,其次是C,其次是B。商品价格跟随的波浪模式越多,其排名就应该越高。
对可以做到这一点的算法有什么建议吗?
谢谢!
我的方法看起来像这样。
对于我的算法,我正在考虑上面的例子。
A: 1 -> 2 -> 3 -> 2 -> 1 -> 3 -> 4 -> 2 -> 1
B: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 2
C: 1 -> 2 -> 3 -> 4 -> 5 -> 4 -> 3 -> 2-> 1
现在我将压缩这些列表,压缩是指获取递增或递减序列的起始值和结束值。
因此,在压缩列表后,列表将如下所示。
A: 1 -> 3 -> 1 -> 4 -> 1
B: 1 -> 8 -> 2
C: 1 -> 5 -> 1
完成后,我取第 i 和 i+1 个元素之间的差值,然后取平均值,根据平均值,我给它们排名。
所以 i 和 i+1 元素之间的区别看起来像这样
2 2 3 3
A: 1 --> 3 --> 1 --> 4 --> 1
7 6
B: 1 --> 8 --> 2
4 4
C: 1 --> 5 --> 1
现在让我们对这个差值求和并取平均值。
A: (2+2+3+3)/4 = 2.5
B: (7+6)/2 = 6.5
C: (4+4)/2 = 4
现在我们可以根据这个平均值分配排名
A < C < B
希望对您有所帮助!