私は、市場のプロバイダとシンボルの範囲について、注文された価格と数量のデータを持つマーケットデータテーブルを持っています。KDB - 市場データテーブルの列を折り畳む
b:([]symbol:();provider:();px1:();px2:();px3:();qty1:();qty2:();qty3:())
PX1は数量qty1でブックの上部で
、PX2次最良価格等のサンプルデータは、次に
`EURUSD;`EBS;1.1;1.2;1.3;1000000;2000000;4000000
であってもよい私はPX [n]と数量を縮小したい[N]列を単一の列に変換します。
rb:([]symbol:();provider:();px:();qty:())
サンプルデータを読み込みます。
EURUSD, EBS, 1.1, 1000000
EURUSD, EBS, 1.2, 2000000
EURUSD, EBS, 1.3, 4000000
これを達成するための最良の方法は何でしょうか。初心者として私は辞書を使うという考え方に沿って考えていました。
q)px:book `px1`px2`px3
q)qty:book `qty1`qty2`qty3
q)d:`px`qty!(px;qty)
q)flip d
px qty
-----------
1.1 1000000
1.2 2000000
1.3 4000000
...もっと良い方法があると確信しています。
" '' '(' symbol'''provider#b)を使ってシンボル列とプロバイダ列に価格と数量列の順序付けを維持するために '' raze flip b ['px1'px2'px3' '' #3''' – user3576050