ee4f8fee82
- `TimeSliceFactory` will avoid creating empty collections - `ExecutionModels` will check target collection count before trying to enumerate - Reduce calls to .`TotalPortfolioValue` - `SecurityValues` will only be created when required - `TimeKeeper` will use TimeZone unique Id as dictionary key. The TimeZone hash is expensive. - `AlgorithmManager` will avoid calling `DateTime.UtcNow`, `ConvertFromUtc()` and `RoundDownInTimeZone()`