I am working on an algo which requires getting equities' IV once a day at the end of the trading day. The suggestion I received told me to save a copy of the `slice` received in OnData and deal with its data in the scheduled event. Problem is - I also need IV (and potentially greeks) and just running it naively without any logic takes a lot of time when 100 of ETFs is tracked.

To be fair - server appears to process a lot of data and quite quick. It is just amount of data pumped for each minute is astronomical. I wonder how it can be optimized.

What I really need at this time is IV of single ATM CALL and OTM PUT for 7 days before making a decision. And then wait for 4 weeks.

Any ideas are appreciated.