Peter
Peter

性别: 注册于 2024-01-26

向TA求助
20金币数
110 经验值
0个粉丝
主页被访问 66 次

8 个回答

0 赞同

请问下dolphindb中如何对context by分组后的第一行数据进行修改?

// 方案一:使用 contextby 函数(仅支持内存表)update tt set ret = (close - open)/open where contextby(rowNo,instrument,[instrument,tradingday])=0// 方案二:使用 iif 函数(支持内存表和分布式表)UPDATE tt SET ret = iif(rowNo(instrument) == 0, (close - open) / open, NULL) CONTEXT BY instrument, trading...

回答于 2024-01-26 21:02

0 赞同

请问在dolphindb中如何查询一个SQL语句涉及的分区数目?

可以使用 sqlDS,根据输入的 SQL 元代码创建数据源列表。如果 SQL 查询中的数据表有 n 个分区,sqlDS 生成 n 个数据源。具体代码如下: sqlDS(<select * from trades where date=2019.01.02>).size() 返回结果为3,与期望一致。 分区分别为:20190102/C、20190102/IBM、20190102/MS

回答于 2024-01-26 21:01

0 赞同

根据每组数据最后一条记录排名,选出排名第1的该组的所有记录

结合 atImax 函数和嵌套查询可以实现,脚本如下: t[t.bb == EXEC atImax(aa,bb) FROM (SELECT * FROM t CONTEXT BY bb LIMIT -1)]

回答于 2024-01-26 18:43

0 赞同

想算一下因子值和未来收益的corr,问一下有没有往后滚的窗口或函...

使用 mcorr 和 move 函数可以实现,脚本如下: mcorr(t['rollmean'], move(t['roll_ret'], -60), 60)

回答于 2024-01-26 18:41

0 赞同

如何获取字典一组键值的最后一个元素

// 方案一:使用 each 函数 def mytest(d,codeList){ return each(x->d[x].tail(), codeList) } mytest(d, codeList) // 方案二:使用 transpose 函数 d.transpose().tail()[codeList]性能测试数据量:100,000个键的字典测试方案:通过 timer 函数统计100次计算的耗时,计算单次平均耗时测试结果方案一:9.27ms方案...

回答于 2024-01-26 18:39

0 赞同

dolphindb计算非重复组合数

// 方案一:去重后数据个数size(SELECT count(*) FROM t GROUP BY symbol, date)// 方案二:适用内存表,总数减去重复的行数t[!isDuplicated([t.symbol, t.date])].size() 性能测试 数据量:10,000,000 行 x 2 列的表 测试方案:通过 timer 函数统计10次计算的耗时,计算单次平均耗时 测试结果 方案一:0.23s 方案二...

回答于 2024-01-26 18:37

0 赞同

如何计算一个表的各个列有多少NULL值?

// 方案一:使用 each 函数table(t.colNames() as name, each(x->x.size() - x.count(), t.values()) as nullCount)// 方案二:使用 isNull 函数sum(t.isNull()) 性能测试数据量:10,000,000 行 x 3 列的表测试方案:通过 timer 函数统计100次计算的耗时,计算单次平均耗时测试结果方案一:21.43ms方案二:34.33ms数据...

回答于 2024-01-26 18:27

0 赞同

如何根据不同的Tag,使用不同的聚合函数计算Value?

根据不同的tag选择不同的自定义聚合函数,可以实现,脚本如下: defg func1(tag, value): call(dict(`code1`code2`code3, [max, min, avg])[tag.first()], value) SELECT func1(tag, value) AS value FROM t PIVOT BY bar(time, 10m) AS time, tag

回答于 2024-01-26 18:24