KDBのselect文に奇妙な結果が生じる問題があります。データはOPRAデータです。すなわち、リストされたオプションはデータを交換する。照会の目的は、特定のEXERCISE_PRICE
およびEXERCISE_DATE
の最後のASK_PRICEを10分間隔で与えることです。テーブルには1日しかありません。だから、声明は次のようになります(と空の結果が得られます):kdbのselect文が機能しない
select
last ASK_PRICE by 10 xbar TRADE_TIME.minute
from
trade
where
EXERCISE_PRICE=12 and EXPIRATION_DATE=2014.01.18
私は、クエリに合うかもしれないデータがあるかどうかを確認するために見えるようにステートメントを変更する場合は、私が試した:
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のEXERCISE_PRICE
が表示されている次の結果が表示されますが、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_PRICE
です。
12を指定すると、12より下の値が得られるのはなぜなのでしょうか。なぜ12を指定すると何も得られません。
テーブルのメタ情報は、タイプF、カラムdとEXERCISE_DATE
、カラムTとしてTRADE_TIME
及びfとしてASK_PRICE
としてカラムEXERCISE_PRICE
が得られます。
ありがとうございました。ソリューションが機能しました。私はこれについて私の頭を傷つけるのに多くの時間を費やしました。 – patrick
回答があなたの質問を満たしていれば、他の人がそれを見つけるのを助けるために、それを受け入れられたものとしてマークしてください(またあなたもアップアップするかもしれません)。 – mkierc