我有股票交易數據庫(名稱「TRADES」),我試着很長時間來做一個簡單的循環(與功能EACH),將所有數量都高於pre爲每個ISIN定義數量閾值。數據是這樣的:循環與QACH中的每一個KDB +
q) select TIME, PRICE, QUANTITY from TRADES where ISIN=`IT123
TIME PRICE QUANTITY
8:58:05 9.47 66
9:00:09 9.47 55
9:00:56 9.48 107
9:01:06 9.49 7
9:01:33 9.50 9
9:03:11 9.07 200
9:06:27 9.07 100
9:07:46 9.12 65...
起初,我嘗試了一個ISIN驗證碼:
q) myquant: ([] qu: 1 + til 100) //pre-define quantities from 1 to 100
q) f:{[x] (select sum QUANTITY from TRADES where ISIN=`IT123, QUANTITY> x)}
q) f each myquant.qu //use function EACH for all x that are in myquant
然後我得到一些象形文字......也許是因爲被錯誤地規定的名單?
我還需要做這些計算,不僅僅針對一個,而且針對我在數據庫中所有的ISIN(即「每個獨立的ISIN」)。
非常感謝您的幫助。
太好了,謝謝!也許你知道如何做多個循環,例如僅對ISIN的一個子集進行相同的計算(US0378331005,US5949181045)?而且,如果在某些minQty的情況下沒有總和數量時(如果minQty變得越來越大並且沒有數量求和),如何顯示0?再次感謝! – Linas