我有一个包含表格中股票价值的数据库,例如:
id - unique id for this entry
stockId - ticker symbol of the stock
value - price of the stock
timestamp - timestamp of that price
我想在数据库条目的24小时,7天和1个月的时间范围内创建单独的数组,每个数组包含一个股票图表的数据点。 对于一些stockIds,我每小时只有几个数据点,而其他数据点可能是数百或数千个。
我的问题: 什么是将可能的许多数据点“聚合”成几个的好算法 - 例如,对于我希望每小时最多10个数据点的24小时图表。如何处理异常高/低值?
股票图表的常用方法是什么?
感谢您阅读!
答案 0 :(得分:1)
一些选项:(假设每小时10分,即大约每6分钟一次)
每隔6分钟,选择最接近期间中心的数据点
每6分钟一段时间,取一段时间内的平均值
在一小时内,找到每4分钟的最大值和最小值,并在这些相应的集合中选择5个最小值和5个最小值(4分钟是随机选择的。)
我最初想要选择5个最小点和5个最大点,使得每个最大点相距至少8分钟,并且类似于最小点数。
这里8分钟是这样我们没有把所有的积分叠加在一起。为什么8分钟?在均匀分布时60/5 = 12 minutes
,所以只需稍微移动一下就可以得到8分钟。
但是,就实施而言,4分钟的方法会更简单,并且应该给出类似的结果。
你必须看看哪一个给你最理想的结果。最后一个可能会给出整个时期变化的适当指示,而第二个可能会有一个更稳定的图表。第一个可能会更不稳定。