kdb中的Select语句不工作
我对KDB中给出奇怪结果的select语句有问题。该数据为OPRA数据。i、 e.上市期权交换数据。查询的目的是在10分钟的时间间隔内给出特定的kdb中的Select语句不工作,select,kdb,Select,Kdb,我对KDB中给出奇怪结果的select语句有问题。该数据为OPRA数据。i、 e.上市期权交换数据。查询的目的是在10分钟的时间间隔内给出特定的练习价格和练习日期的最后一次询问价格。这张桌子只有一天。因此,该语句如下所示(并给出空结果): 如果我将语句更改为查看是否有适合查询的数据,我会尝试: select last ASK_PRICE,EXERCISE_PRICE by 10 xbar TRADE_TIME.minute from trade where EXERCIS
练习价格
和练习日期
的最后一次询问价格。这张桌子只有一天。因此,该语句如下所示(并给出空结果):
如果我将语句更改为查看是否有适合查询的数据,我会尝试:
select
last ASK_PRICE,EXERCISE_PRICE by 10 xbar TRADE_TIME.minute
from
trade
where
EXERCISE_PRICE>12 and EXPIRATION_DATE=2014.01.18
我得到以下结果,结果中显示的练习价格为12,但值也小于12。结果被截断:
minute ASK_PRICE EXERCISE_PRICE (the table header)
09:50 6.2 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 11 12 12 12 12 13 14 14 14 14 14 24 24 24 24 24 24 24 24 17 17 17 10 10
请注意,结果中的ASK_PRICE
为6.2,其余值为EXERCISE_PRICE
。也就是说,时间段09:50的所有EXERCISE\u PRICE
值
所以,当我指定>12时,为什么会得到小于12的值,这真的不清楚。当我指定=12时,我什么也得不到
表中的元信息将列EXERCISE\u PRICE
作为f类型,列EXERCISE\u DATE
作为d,列TRADE\u TIME
作为t,列ASK\u PRICE
作为f 您的查询中似乎存在隐藏的错误。
在where子句中使用和相当于运行:
"where EXERCISE_PRICE>(12 and EXPIRATION_DATE=2014.01.18)"
这是因为kdb+从右向左求值-尝试使用,
(逗号)分隔where条件
q)select last ASK_PRICE,EXERCISE_PRICE by 10 xbar TRADE_TIME.minute from trade where EXERCISE_PRICE>12 , EXPIRATION_DATE=2014.01.18
谢谢你的解决方案奏效了。我花了很多时间对此挠头。如果答案满足您的问题,请将其标记为已接受(您也可以投票),以帮助其他人找到它。
q)select last ASK_PRICE,EXERCISE_PRICE by 10 xbar TRADE_TIME.minute from trade where EXERCISE_PRICE>12 , EXPIRATION_DATE=2014.01.18