如何对数据根据股票做采样?每个股票都需要100个样本,保证顺序,且第一个和最后一个数据一定要。

如题,比如说我想针对我的数据做一个采样,采样的方式是每个品种,每天的数据中采样100个,这种怎么处理呢?

每个品种的数据量不同,我希望如果某个ticker是1000个那就10个左右采样一次,某个ticker有10000个的话就100个左右采样一次。

请先 登录 后评论

1 个回答

Shena Mao

可以用context by针对品种分组,然后用having,对每一个组内的数据用rowNo()函数进行过滤输出。

例子如下,对一组数据根据id的种类每组采样20个样本:

a = table(rand(`a`b`c,2000) as id, rand(50.0,2000) as price,1..2000 as rowno)
select * from a context by id having rowNo(id) in (0 join (rowNo(id).max()/18*1..18) join (rowNo(id).max()))
请先 登录 后评论