小编Ter*_*rry的帖子

kdb中的线性回归

这是我构建线性回归的方法,但是当我包含两列以上时,我的代码不起作用.

// Load relevant columns into memory
//
t:?[`data;enlist(=;`date;dat);0b;(ind,dep)!ind,dep];


X:9h$enlist[count[t]#1],t ind;
beta:inv[X mmu flip X] mmu X mmu 9h$t dep;

res:(`yInt,ind)!beta;
Run Code Online (Sandbox Code Playgroud)

ind是符号中的独立字段名称,dep是符号中的依赖字段名称.这部分inv[X mmu flip X]不起作用.如果我为ind包含两个以上的字段,那么将会有一行是空白的,我不能这样做inv.我不确定如何为自变量包含更多列/字段.

regression kdb

2
推荐指数
1
解决办法
2064
查看次数

在分区表中更新

我试图将空值更新为0f,以便它可以用于聚合.

以下是我的代码:

update x:0f from data where date=2016.07.01,null x;
Run Code Online (Sandbox Code Playgroud)

但它不能在分区表上工作,我怎么能在分区表上更新?

sql kdb partition

2
推荐指数
1
解决办法
330
查看次数

如何以方便的方式在kdb中创建日期列表?

有什么办法可以输入两个日期,并且将创建一个包括它们自己之间的日期列表?

例如。我想要2017.01.01 2017.01.02 .... 2017.01.10

我现在正在做的是

2017.01.01 + til 10
Run Code Online (Sandbox Code Playgroud)

但我想输入类似

2017.01.01;2017.01.10 
Run Code Online (Sandbox Code Playgroud)

它可以包含所有日期列表。

kdb

2
推荐指数
1
解决办法
1262
查看次数

如何查询此表以从符号列表中选择?

我想从符号列表中过滤掉包含 `1 的记录

示例表:

tab:([]a:((``1`2);`a;b);c:1 2 3);
Run Code Online (Sandbox Code Playgroud)

我试过这个:

select from tab where a = `1
Run Code Online (Sandbox Code Playgroud)

还有这个:

select from tab where `1 in raze a
Run Code Online (Sandbox Code Playgroud)

这些都不起作用。

kdb

2
推荐指数
1
解决办法
90
查看次数

如何在kdb中的一个字段中查询多个符号?

如果我只在过滤器中放入一个符号,如何选择特定记录?

Eg:
tab:([]a:1 2 3;b:(`abc`bde;`efg`rte;`dqw`gds))
1   (`abc`bde)
2   (`efg`rte)
3   (`dqw`gds)
Run Code Online (Sandbox Code Playgroud)

我想过滤,abc所以只返回:

1   (`abc`bde)
Run Code Online (Sandbox Code Playgroud)

select from tab where b=`abc 不管用.

kdb

1
推荐指数
1
解决办法
317
查看次数

在这种情况下,如何在 kdb 中编写正确的查询?

我想从我的表中获取所有价格为 0 的组,IE 仅当该组中的所有价格都为 0 时才应返回。

我的查询和表看起来像这样。

tab:([]grp:`a`b`c`c`a`a`a;price:0 20 0 1 0 0 0)
select grp from tab where distinct price = 0
Run Code Online (Sandbox Code Playgroud)

输出应该只是`a因为`a是唯一一个所有价格都为 0 的组。

kdb

1
推荐指数
2
解决办法
120
查看次数

比较两个不同实例中的表

我想比较所有表和模式在两个不同的实例中是相同的.我怎么能够遍历那个?

schemas:
(0# tab) ~ (h"0#tab")
Run Code Online (Sandbox Code Playgroud)

但是有10个表.什么是比较模式的最快方法?

kdb

0
推荐指数
1
解决办法
142
查看次数

运行函数时如何跳过 kdb 中的错误?

func:raze {select compTypeOrigin from .get.order[2021.10.01;string x]}

list:(``abc`def`ggh``eef)
Run Code Online (Sandbox Code Playgroud)

当我运行这个函数时它起作用了

raze {select compTypeOrigin from .get.order[2021.10.01;string x]} `abc
Run Code Online (Sandbox Code Playgroud)

但当它为空时(`),我收到类型错误,可能是由于函数 .get.order

我尝试使用受保护的评估来运行该函数

@[func;each list[0 + til 6];show]
Run Code Online (Sandbox Code Playgroud)

但它不起作用我怎样才能跳过该错误?

kdb

0
推荐指数
1
解决办法
774
查看次数

修改订阅的表名

我有一个订阅 TP 的引擎。TP中的表名称称为TradeTab。当我在引擎中订阅时,我希望该表名为 TradeRec。这怎么可能做到呢?

h(`.u.sub;`TradeTab;`long$til 10)
Run Code Online (Sandbox Code Playgroud)

kdb

0
推荐指数
1
解决办法
170
查看次数

kdb查询:按时间和类别对Id进行分组

我想统计Id的数量并将它们按类别分组在特定时间下

样本数据:

tab:([]time:1000?.z.t;category:1000?`a`b`c`d;id:1000?`abc`cdb`jiw`opw`jiofsef`lksfj)
Run Code Online (Sandbox Code Playgroud)

我期待的结果就像

按组划分的 ID 时间编号

00:00 - 05:00 300

05:00 - 12:00 100

12:00 - 17:00 200

17:00 - 24:00 400

这里的时间差距可能不完全相同。任何想法?

这就是我到目前为止所得到的:

select count id by category from tab
Run Code Online (Sandbox Code Playgroud)

kdb

0
推荐指数
1
解决办法
61
查看次数

标签 统计

kdb ×10

partition ×1

regression ×1

sql ×1