It's important we see the before/after and the data used to make the change.
This will aid in debugging potential misapplications of split/dividend events.
Adds reference price to dividend/split
Adds GetSplitsAndDividends to FactorFile
Adds Apply methods to FactorFile/FactorFileRow
Updates factor files to include reference prices
This follows the pattern used by delisting events, where we send a warning event
before the start of trading on the trading day before the split will happen. This
change also adds a SplitType enum having a Warning and SplitOccurred values.
The Price property, used in the Clone method, was previously mapped to the SplitFactor property, showed as ReferencePrice in OnData(Splits). Now Value, Price and ReferencePrice properties all point to the same price value, SplitFactor property is unchanged.
This includes updating all usages of symbol as a security identifier to use the new type.
The type includes a unique field, SID, as well as the current ticker's value. This allows
for consistent addressability while also allowing the ticker to evolve over time with the
mapping changes.
Effort was made to maintain compile and runtime backwards compatibility.
This change adds OnData(Delisting data) event handler to the algorithm and is fired when a security gets delisted.
Likewise, when a security is delisted, data will stop being sent into the algorithm and if the algorithm has any
holdings then a MarketOnClose order is submitted at midnight on the last day of trading. If you require that the
algorithm does not sell its shares, then you must cancel the MarketOnClose order before close of trading.
The existing method signatures have been made obsolete in favor of something slightly simpler and more deterministic.
The new methods accept a bool isLiveMode flag instead of the DataFeedEndpoint.
The GetSource method returns a new type: SubscriptionDataSource, which combines the source string and the SubscriptionTransportMedium.
Existing sub-types of BaseData have been updated with the new signatures. IBaseData has not been touch as it is mostly unused by LEAN infrastructure.
Updates SubscriptionDataReader to use IStreamReader
Adds FactorFile and MapFile helpers
Adds support for Raw, Adjusted, and TotalReturn data normalization and portfolio application