2016-09-06 2 views
3

У меня есть таблица с предложением/спросом для каждого склада/места. Что-то вроде:kdb/q здание NBBO от данных TAQ

taq:`time xasc ([] time:10:00:00+(100?1000);bid:30+(100?20)%30;ask:30.8+(100?20)%30;stock:100?`STOCK1`STOCK2;exhcnage:100?`NYSE`NASDAQ) 

Как я могу получить самое лучшее/ставку предложение от всех обменов, как о времени (в одну минуту ведра) для каждой акции?

Моя первоначальная мысль состоит в том, чтобы построить таблицу со строкой для каждой минуты/обмена/запаса и выполнить объединение данных taq. Тем не менее, мне кажется, что это решение грубой силы - так как это решаемая проблема, я решил, что спрошу, есть ли лучший способ.

ответ

4
select max bid, min ask by stock,1+minute from 0!select by 1 xbar time.minute,stock,exchange from taq 

Это даст вам максимальную ставку, мин спросить через обмены на 1-минутном интервале в колонке minute.

Единственная сложная вещь - select by 1 xbar time.minute. Когда вы будете выбирать без агрегации, он просто вернет последнюю строку. Так что это означает, что это select last time, last bid, last ask .... by 1 xbar time.minute и т. Д.

Итак, после того, как мы получим последние значения за минуту и ​​обмен, мы просто получаем min/max на биржах за эту минуту.

+0

Спасибо! не знал, что – user1167650

Смежные вопросы