我们有大约7k的金融产品,其收盘价理论上应该在规定的时间段内(例如一周或一个月的时间段)在一定的百分比范围内上下移动.
我可以访问存储这些历史价格的内部系统(不是关系数据库!).我想制作一份报告,列出任何价格在这段时间内根本没有移动或低于10%的产品.
我不能只将第一个值(第1天)与结束时的价值(第n天)进行比较,因为价格可能会回到最后一天的价格,这会导致产品价格误报.当然可能在两者之间飙升.
在合理的计算时间内是否有任何已建立的算法?
我有一个语法突出显示q/kdb +语言的文件,我想将它转换为vim兼容文件,所以我的q代码看起来不会比平常更难看.
是否有可用于将notepad ++ xml语法高亮文件自动转换为vi版本的实用程序?我环顾四周,但找不到任何东西.
或者,是否有人有vim q语法高亮文件?
我正在编写一个在特定路径中加载数据库并对其进行一些处理的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表中删除前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控制台返回一些行,不知道那是什么行.
我有一个带有列的表T Sym:`IBM`MSFT`GOOG... 想要最简单的方法来创建newColumn形式的新列:"IBM_Buy","MSFT_Buy","GOOG_Buy",...
以下似乎没有做到这一点:
select ((string Sym),"_Buy") from T
我不得不使用不喜欢KDB +查询中的操作,但不知道如何使用它.我可以使用like运算符,即 http:// kdbserver:8001 /?从orderDetails中选择符号"X*"此查询成功给出结果.
如何使用/实现不喜欢相同的查询?
我有这个功能 f
f:{{z+x*y}[x]/[y]}
Run Code Online (Sandbox Code Playgroud)
我可以在f没有第三个参数的情况下调用,但是我得到了,但是如果{z+x*y}没有第三个参数,内部能够完成吗?
我正在尝试将字符串转换为KDB中的double或float - 字符串包含一个带有" 2,228,25amount "格式的数字(金额) - 我使用的东西就像"j"$amount我得到50 44 50 50 56 46 50 53的返回值.如何将该字符串转换为正确的数字?谢谢
我试图用相同的列连接几个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)
有了这些条目,我无法对列表进行调整以获得包含所有条目的表格.我该如何删除那些空条目?
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)