Esper : Групповые тиковые данные по безопасности, найти максимум и минимум дня. А затем выполнить дальнейшие вычисления

Я не могу решить определенную проблему в Esper. Я должен проверить, увеличивается ли текущее значение тика со вчерашнего максимального значения. Вот код, который возвращает мне максимум и минимум каждые 24 часа.

insert into
DayEnd
select
max(last) as high,
min(last) as low,
security
from
Tick.std:groupwin(security).win:time_batch(1440 minutes) group by security;

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


person Ahmad.Masood    schedule 22.09.2013    source источник


Ответы (1)


Пакетное окно не подходит для такого большого пакетного окна. Это связано с тем, что пакетное окно сохраняет все события.

Вместо этого используйте объявление контекста. Контексты позволяют определить жизненный цикл анализа. Ниже приведен пример, а другие примеры приведены в шаблонах решений. Этот пример представляет собой 2 оператора, версия 4.10, синтаксис не проверен:

создать контекст Batch24Hour, поскольку start @now заканчивается через 24 часа;

контекст Batch24Hour выбирает максимальное (последнее) как высокое, минимальное (последнее) как низкое, безопасность из группы Tick с помощью вывода безопасности при завершении;

person user650839    schedule 22.09.2013
comment
Хорошо, я понял твою точку зрения. Это лучше для пользовательского контекста. Но я все еще не понимаю, как я буду использовать это высокое значение и проверять, будет ли на следующий день тик выше этого значения или нет. Я должен сделать это для каждой ценной бумаги (я новичок в Esper, поэтому может потребоваться небольшое подробное объяснение). - person Ahmad.Masood; 23.09.2013