Commit Graph

15 Commits

Author SHA1 Message Date
Martin Molinero 2f4929e685 Update regression algorithms 2019-09-29 21:50:44 -03:00
Martin Molinero 10fd48417b Adding new TimeSlice TimePulse
- `SubscriptionSynchronizer` will emit a `TimeSlice.TimePulse` before
performing any universe selection on each time loop. This will advance
`Algorithm.Time` which will allow universe selection data time and
`Algorithm.Time` to be aligned.
- Updating Regression algorithms that were using `algorithm.Time` in the
selection method.
- Coarse selection will start from the algorithms start date (not in the
next day)
- Adding regression algorithm
2019-08-07 14:45:39 -03:00
Martin Molinero cb4c574eeb Adjust algorithms statistics 2019-08-06 21:35:25 -03:00
Stefano Raggi 875666f42d Fix date bug in BaseDataCollectionSubscriptionEnumeratorFactory
This bug was causing coarse data to be shifted ahead one day and was introduced in PR #2996
2019-04-02 20:43:23 +02:00
Stefano Raggi 9104655084 Update expected stats for regression algorithms using coarse data 2019-03-12 15:29:56 +01:00
Michael Handschuh 380caa5203 Add IRegressionAlgorithmDefinition.CanRunLocally
This flag indicates whether or not the local regression test system,
via RegressionTests.AlgorithmStatisticsRegression should run a given
IRegressionAlgorithmDefinition
2018-07-18 15:57:11 -04:00
Martin Molinero 96dc5e8673 Moving IRegressionAlgorithmDefinition to QuantConnect.Common 2018-07-03 13:34:27 -03:00
Michael Handschuh 8402b6f01e Update factor files to 2018.06.04
It's important that we keep the factor files consistent with respect to
the date that they were generated. This enables us to run the regression
algorithms in the cloud and get the same results by using the factor files
from the correct date.
2018-06-07 12:16:45 -04:00
Michael Handschuh 9ee61f425c Refactor regression algorithm to IRegressionAlgorithmDefinition
A mechanical refactoring was performed to make algorithms currently used in
regression algorithms to implement IRegressionAlgorithmDefinition, which allows
algorithms to define their own expected statistics and what languages should be
run as part of regression. The type name of the  C# type is used to determine the
file/model name for python. This was for simplicity, but if needed, could later be
refactored to expose more information, but for now the convention of keeping names
the same makes sense and just works easily.
2018-06-05 12:10:50 -04:00
Michael Handschuh 5d69b2a5e2 Remove disposed security data from TimeSlice
If we pull data and on the same time step that security gets removed,
we can still get that data in OnData(Slice) even though it was removed.
This change filters out removed securities by tracking a reference to
the subscription's disposed flag. Another change was made to wait until
the end of the time step to dispose of subscriptions.

Add IDataFeed.GetSubscription(SubscriptionDataConfig)
2018-05-24 17:40:29 -04:00
Michael Handschuh 891ab365ab Reverse a day when reading fine data
The fine enumerator factor accepts a 'date'. This date is that day
that the data is produced, so the emit time on that data is midnight
the following day. When we go to read the fine data we can't use the
current time because that's the 'emit time' -- instead we need to back
the time up a full day to find the correct start time. In addition,
the fine data was being read using UTC time stamps which led to even
more confusion here -- this change resolves both issues.

In addition to the above, the security.Fundamentals property wasn't being
properly set for the first time step when a security is selected due to
a bug in the subscription synchronizer not clearing out the universeData
in preparation for another loop (in the event changes != None).
2018-04-27 14:54:07 -04:00
Michael Handschuh eabd2fffb7 Update CoarseFineFundamentalRegressionAlgorithm to use fine data
This change adds a requirement to the test that we're able to access the fine
fundamental data via the Security.Fundamentals property.
2018-04-24 19:12:32 -04:00
Michael Handschuh d1b9c8fde6 Change date range to where we have data
This regression algorithm covered dates for which there is no coarse
fundamental data, leading to potential oversights when making changes.
2018-04-24 15:32:58 -04:00
Jared Broad 61043d9d98 Tagged algorithms for QCU 2017-09-20 15:44:51 -04:00
Stefano Raggi 4b4e72b26a Add coarse/fine fundamental regression algorithm 2016-08-16 18:09:53 +02:00