- Adding new ISecurityService and its implementation SecurityService.
Expose by SecurityManager.
This class will expose a method for creating new securities. The
SecurityManager is exposing this new interface, calling _securityService
internally, so Future/OptionUniverseSelectionModel.cs can use it
- Replacing all usages of SecurityManager.CreateSecurity for new
ISecurityService
- Modifying `Cash.cs` and `CashBook.cs` `EnsureCurrencyDataFeeds()` to
return newly added `SubscriptionDataConfig` instead of `Security`. This
will avoid using `Security.Subscriptions` at call site.
- Moving old SecurityManager.CreateSecurity into new
SecurityServiceTests.cs
When indicators received data from securities that were subscribed as QuoteBar or TickType.Quote, they were consolidated as TradeBars.
Tick were consolidated into TradeBar even when period were zero. Tick object information was lost in the process. With this fix, Tick keeps being Tick.
Adds tests for ResolveConsolidator to verify the consistency between input and output type
TradeBar -> TradeBar
QuoteBar -> QuoteBar
TickType.Trade -> TickType.Trade or TradeBar
TickType.Quote -> TickType.Quote or TradeBar