标签: kdb

是否有一个很好的算法来检查指定时间段内的数据变化?

我们有大约7k的金融产品,其收盘价理论上应该在规定的时间段内(例如一周或一个月的时间段)在一定的百分比范围内上下移动.

我可以访问存储这些历史价格的内部系统(不是关系数据库!).我想制作一份报告,列出任何价格在这段时间内根本没有移动或低于10%的产品.

我不能只将第一个值(第1天)与结束时的价值(第n天)进行比较,因为价格可能会回到最后一天的价格,这会导致产品价格误报.当然可能在两者之间飙升.

在合理的计算时间内是否有任何已建立的算法?

java algorithm kdb

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

将Notepad ++语法高亮文件转换为vim(或者有没有人有aq/kdb + vim语法高亮文件?)

我有一个语法突出显示q/kdb +语言的文件,我想将它转换为vim兼容文件,所以我的q代码看起来不会比平常更难看.

是否有可用于将notepad ++ xml语法高亮文件自动转换为vi版本的实用程序?我环顾四周,但找不到任何东西.

或者,是否有人有vim q语法高亮文件?

vim notepad++ kdb vim-syntax-highlighting

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

使用变量将数据库路径传递到\ l或.Ql

我正在编写一个在特定路径中加载数据库并对其进行一些处理的aq脚本。db的位置当前在脚本中进行了硬编码,但是我想将db路径作为参数传递,并从变量的路径中加载它。

当前看起来像这样:

q) \l /path/to/dbDir        #Works
Run Code Online (Sandbox Code Playgroud)

我发现.Ql应该让我们使用变量来执行此操作,因此我尝试在脚本中使用以下内容,

dbPath:`$.z.x 0
.Q.l hsym dbPath            #Fails
Run Code Online (Sandbox Code Playgroud)

当使用参数/ path / to / dbDir运行时,该脚本始终会因一些不可读的内容而失败,并且:

':/path/to/dbDir: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

kdb q-lang

4
推荐指数
2
解决办法
1815
查看次数

如何从kdb表中删除随机行?

如何从kdb表中删除前10行?我想删除从前面返回的前10行:

select [10] from mytable
Run Code Online (Sandbox Code Playgroud)

我尝试使用带有i索引的删除,但行数不会减少:

count mytable
2201784
delete from mytable where i < 10
count mytable
2201784
Run Code Online (Sandbox Code Playgroud)

delete语句也会向我的Q控制台返回一些行,不知道那是什么行.

kdb

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

KDB连接select/exec语句中的字符串

我有一个带有列的表T Sym:`IBM`MSFT`GOOG... 想要最简单的方法来创建newColumn形式的新列:"IBM_Buy","MSFT_Buy","GOOG_Buy",...

以下似乎没有做到这一点: select ((string Sym),"_Buy") from T

string kdb

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

KDB +查询 - 实现不喜欢

我不得不使用不喜欢KDB +查询中的操作,但不知道如何使用它.我可以使用like运算符,即 http:// kdbserver:8001 /?从orderDetails中选择符号"X*"此查询成功给出结果.

如何使用/实现不喜欢相同的查询?

kdb

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

KDB +/Q:关于内部函数中未使用的参数

我有这个功能 f

f:{{z+x*y}[x]/[y]}
Run Code Online (Sandbox Code Playgroud)

我可以在f没有第三个参数的情况下调用,但是我得到了,但是如果{z+x*y}没有第三个参数,内部能够完成吗?

k kdb

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

Kdb - 要加倍或浮动的字符串

我正在尝试将字符串转换为KDB中的double或float - 字符串包含一个带有" 2,228,25amount "格式的数字(金额) - 我使用的东西就像"j"$amount我得到50 44 50 50 56 46 50 53的返回值.如何将该字符串转换为正确的数字?谢谢

kdb q-lang

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

kdb/q如何从列表中删除条目

我试图用相同的列连接几个csv.

getDataFromCsv :{[fn];
    if[not () ~key hsym fn; data: ("zSzzSISSIIIIIffffff"; enlist "\t") 0:fn;
    ... do stuff...
    :data];}

getFiles:{[dates;strat];root:"/home/me/data_";:{x: `$x, ssr[string y; "."; ""], ".csv"}[root] each dates;}


getData:{[dates;strat];`tasks set ([]c:());files:getFiles[dates;strat];:getDataFromCsv each files;}
Run Code Online (Sandbox Code Playgroud)

这样做我得到一个表的列表,其中一些条目为空,没有文件

[0] = ([] c1;c2;c2 ...
[1] = ([] c1;c2;c2 ...
[2] = ([] c1;c2;c2 ...
[3] = ([] c1;c2;c2 ...
[4] = ([] c1;c2;c2 ...
[5] = ::
[6] = ([] c1;c2;c2 ...
Run Code Online (Sandbox Code Playgroud)

有了这些条目,我无法对列表进行调整以获得包含所有条目的表格.我该如何删除那些空条目?

kdb

4
推荐指数
2
解决办法
308
查看次数

Comparison of sublist and take operator(#) in q kdb

While fetching a subset of data from a table when I use sublist or take operator(#), most of the times take operator is slow compared to sublist function.

5 observations posted in comment after querying table t in hdb which consists of 231131 rows and 71 cols.

\t 10000 10 sublist select from t where date=.z.d-5 /Time taken - 62j 92j 68j  63j 65j 
\t 10000 10#select from t where date=.z.d-5 / Time taken - 544j 546j 567j 569j 585j …
Run Code Online (Sandbox Code Playgroud)

kdb

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

标签 统计

kdb ×10

q-lang ×2

algorithm ×1

java ×1

k ×1

notepad++ ×1

string ×1

vim ×1

vim-syntax-highlighting ×1