Note:windowed-aggregated-in-Scidb
2015-08-19 15:00 wendy# 阅读(142) 评论(0) 收藏 举报文章摘要:
1、计算经济里面很重要的操作是将数据聚集到更长的间隔上分析,比如从分钟到一天。Scidb很适合这类操作。
2、金融时间序列:噪音,稀疏稠密,很少在raw data 上处理,因此将raw data 聚合操作,只取每个interval的最后一个值参与操作是广泛的用法。
3、三种操作:
3、三种操作:
window 长度固定
variable window 出现空值时找到不是空值作为wnidow的边界
regrid 直观的将数据在某维度上从细粒度聚合到粗粒度,改变的值是属性和该维度。
window 和 variable window 有重复的区域出现,regrid没有。
window 和regrid都可以多维度上聚合,即为子数组形式。
regrid和window 相当于在一个范围内选取了某一代表,修改其属性值,区别在于,regrid没有内容重叠,window有内容重叠。window也是聚合几个cell但是每个interval之间是有重叠的部分的。window和regrid出来的interval都是一个多维的子数组。
4、一般操作:operation:average count max min stdev var first_value last_value top_5 median
4、可以做不同粒度上的聚合操作。
5、可以做不同维度上的聚合操作。
6、已经聚合的数据可以再处理。
5、可以做不同维度上的聚合操作。
6、已经聚合的数据可以再处理。
股票数据的例子:
对于股票数据,用三维数组存储,维度为[exchange_index,symbol_index,day_index],每个cell都有属性:<op,hi,lo,cl,vo>,分别代表open(first) high(max) low(min) close(last) volume(sum)。五天的数据需要聚合:regrid结果会减少数据量,相当于在day这个维度上压缩。而window的结果不会减少数据量,但是window中的每个cell其实已经代表了五天的数据聚合,只不过是有重复计算的部分。
查询语言:
select max(day),...
into regriddedArray from rawdata
regrid as (partition by day_id 5)
5指的是每5天换做一天。
select max(day),...
into agregateArray
from rawdata
fixed window as (partition by day_id 1 preceding and 1 following)
(partition by symbol_id 0 preceding and 1 following)
1preceding 和 1following 为了确定centroid 的位置,即window操作interval 的中心,这个及3个cell。
0receding 和 1following 涉及2个cell。
浙公网安备 33010602011771号