А BalanceQuantity-это по тек. скрипту или по всему портфелю? Неудобно будет каждый раз переводить время со сделками. Хорошо был бы параметр не по времени, а по тому сколько дней хранить сделки.
И как вариант-этот IEnumerable переделать в IQueryable и подтягивать сделки из БД только когда пользователь к ним обратится. Таким образом, Вы бы:1) не перегружали память( при скальпировании сделок будет очень много в день-есть ли смысл за много дней их хранить? пользователь ведь может не знать что Вы их все храните) и если вы перед выполнением скрипта из БД подтягиваете большой массив-то еще напрягаете жесткий и ЦП 2) Пользователь смог бы делать отчеты или что он там хочет за любой период-ведь все сделки в БД, а там места поболее.