У меня есть две разные системы, помещающие данные в таблицу kdb. Они обусловлены потоком цен. Я хотел бы сравнить полученные значения, чтобы в конечном итоге отметить большие различия. Я очень новичок в kdb, и мне трудно даже разработать запрос отправной точки.
В конечном итоге я хотел бы взять период времени (вероятно, минуту), найти строку для каждой системы в течение этого периода времени, где цена вождения одинакова, и сравнить полученные значения.
Однако хорошей отправной точкой для меня было бы понять, как захватить первую строку в течение периода времени для каждой системы и сравнить/объединить.
Спасибо.
Упрощенные примеры данных
Пример: -
System | Time | driver | result1 | result2
systemA.instrument1| 11:59:59| 101.4 | 3.4 | 4.6
systemA.instrument1| 12:00:01| 101.5 | 3.8 | 4.8
systemA.instrument1| 12:00:02| 101.6 | 3.3 | 2.3
systemA.instrument2| 12:00:02| 106.6 | 11.1 | 11.3
systemA.instrument1| 12:00:05| 101.7 | 3.9 | 5.6
systemB.instrument1| 12:00:09| 101.1 | 3.2 | 7.8
systemB.instrument1| 12:00:14| 101.2 | 3.9 | 3.4
systemB.instrument1| 12:00:17| 101.3 | 3.1 | 8.9
systemB.instrument2| 12:00:19| 106.5 | 11.2 | 11.4
systemB.instrument1| 12:00:58| 101.7 | 3.9 | 9.3
systemB.instrument1| 12:00:59| 101.7 | 3.3 | 3.4
systemB.instrument1| 12:01:03| 101.4 | 3.1 | 5.6
Мне нужны данные только с 12:00:00 до 12:00:59
Единственный соответствующий драйвер между SystemA и SystemB Instrument1 — 101.7. Я бы хотел, чтобы они использовались, и разница между показанными результатами. Для инструмента 2 драйвер никогда не совпадает, поэтому я хочу использовать цены драйверов, наиболее близкие между системами.
results | driver | driver diff | result1diff | result2diff
instrument1 | 101.7 | 0 | 0 | 3.7
instrument2 | | 0.1 | 0.1 | 0.1