2184 Commits

Author SHA1 Message Date
Martin Molinero 8d1a8d767b Remove depreceted projects
- Remove Java and VisualStudioPlugin deprecated projects
- Removing VS 15 solution file
- Nuget .nuspec fixes
2020-06-01 21:27:45 -03:00
AlexCatarino 7a9778f9fd Addresses Peer-Review
- Do not reuse parameter variables `start` and `end`. Create new variables with meaningful names and rename them to `startUtc` and `endUtc`.
- Use `EachTradeableDayInTimeZone` to calculate `tradableDates`.
- Adds another test/assertion in the regression algorithms to ensure tests in the scheduled event were performed.
2020-05-29 14:56:10 +01:00
AlexCatarino 8b1afdb083 Fixes History Request Data Time Zone
The tradable days of the history request should respect the data time zone since the data source files also do.

Upgrade `BasicTemplateFuturesHistoryAlgorithm` to a regression algorithm and add a schedule event to test history requests every hour.
2020-05-29 00:31:12 +01:00
Gerardo Salazar a20ac26eb7 Fixes rounding of Time property in SubscriptionData for data that has no time delta.
* The original implementation was made with the idea in mind that bars
    have a time range that they encompass. When the `Time` property is
    rounded down, the period added to `EndTime` ensures that the data
    will not have look-ahead bias.

    However, multiple data sources do not have a time range that the data
    applies to, and is actually point-in-time. For these kinds of
    data, rounding of the data is not preferred since they are supposed
    to represent a point in time.
2020-05-22 17:13:18 -07:00
Martin Molinero 8a63a1ac32 Rename Jupyter to Research add nuget
- Rename Jupyter to Research and add it's nuget package
2020-05-22 12:42:59 -03:00
Jared 7d5cb6c402 Merge pull request #4447 from QuantConnect/bug-add-backtest-exit-logs-fix-controls
Logging improvements
2020-05-21 17:10:29 -07:00
Martin Molinero 57ea4683d4 Log fixes
- Revert change in Controls getting settings from log, moving to the
  QuantBook
- Adding a couple of logs to BRH exit
2020-05-21 20:08:51 -03:00
Martin Molinero 9631cd6749 Fix nuget QC dependency version 2020-05-21 16:21:59 -03:00
Martin Molinero 09c17b71ed Add assembly description to nuspec
- Due to bug in nuget failing to replace description and copyright token, setting
  .nuspec description to match assembly description
2020-05-21 14:42:12 -03:00
Martin-Molinero 1d0d4f4d7b Add assembly descriptions (#4442)
Add assembly descriptions
2020-05-21 09:35:12 -07:00
Martin Molinero 891cf4d69b Update to .Net 4.6.2 2020-05-15 17:32:46 -03:00
Stefano Raggi b3cf6315de Add IncludeExpired flag to IDataQueueUniverseProvider.Lookup
This flag was added to enable history requests for expired futures and options contracts.
2020-05-13 11:38:53 +02:00
Martin Molinero 21475b327b Address reviews
- Add a comment explaning why we need to round down in data time zone
  and not exchange timezone.
- Keep subscription EndTime RoundDown by DataResolution since it won't
  change and it's expensive.
2020-05-08 15:57:13 -03:00
Martin Molinero f72bb3d513 Fix invalid round down operation
- RoundDown was being performed in exchange time zone but should be done
  in data time zone
2020-05-08 15:10:43 -03:00
Martin Molinero 63bf4e72a0 Revert "Revert "Fix market open missing FillForward bar""
This reverts commit 1ac8146eae.
2020-05-08 12:46:02 -03:00
Martin-Molinero c46b3c77b1 Merge pull request #4394 from QuantConnect/bug-zipdatacacheprovider-unhandled-exception
Fix unhandled exception in ZipDataCacheProvider
2020-05-08 12:21:17 -03:00
Stefano Raggi ad9949d460 Fix unhandled exception in ZipDataCacheProvider 2020-05-08 17:11:53 +02:00
Martin-Molinero 1ac8146eae Revert "Fix market open missing FillForward bar" 2020-05-08 11:38:59 -03:00
Martin Molinero 714b98f832 Performance improvements for Options
- Replace Enum to string operations on Options enums, since it's
  expensive
- Replace Enum IsDefined check since it uses reflection
- Improve OptionFilterUniverse linq operations
- Improve performance of SecurityIdentifier properties to avoid having
  to extract them from properties always
- Avoid calling ToList for already list data collections (it creates a
  copy)
- Avoid iterating over securities for which we have no holdings when
  calculating TPV or MarginUsed
2020-05-05 21:14:12 -03:00
Martin Molinero c226914322 Value types thread safety changes
- Refactor ZipDataCacheProvider to avoid value types thread issues, it
  will now use a timer. Add missing dispose calls.
- Synchronizer won't share the `SubscriptionFrontierTimeProvider`
  instance since it's not thread safe and shouldn't be called
- Fix BacktestingResultHandler `_daysProcessed` thread safety
- Fixing `RealTimeScheduleEventService` thread safety
2020-05-01 16:58:29 -03:00
Martin-Molinero eb5d380f5a Merge pull request #4356 from QuantConnect/bug-4338-value-type-thread-safety
Adding new ReferenceWrapper for structs
2020-05-01 12:16:07 -03:00
Martin Molinero 649b9f010f Fix thread race conditions reading and writing
- Fix for thread race condition reading and writing current time loop.
  Adding unit test
2020-05-01 11:47:19 -03:00
Martin Molinero 3e09d2f3c9 Adding new ReferenceWrapper
- Adding new ReferenceWrapper for structs, value types, to avoid thread
  race conditions while reading and writting. In C# reference type
  assignments are atomic, so it allows us avoid using locks.
2020-04-30 19:56:15 -03:00
Jared 5c4c256a0d Merge pull request #4354 from QuantConnect/bug-4155-quant-book-objectstore
Fix ObjectStore for QuantBook
2020-04-30 12:15:04 -07:00
Jared c939c68f21 Merge pull request #4350 from QuantConnect/feature-4348-extend-idqh
Add Dispose and IsConnected to IDataQueueHandler
2020-04-30 11:24:50 -07:00
Martin Molinero f86af05227 Fix for ObjectStore for QuantBook 2020-04-29 21:03:35 -03:00
Martin-Molinero 5625acbd6f Merge pull request #4328 from QuantConnect/refactor-future-symbol-market
Refactor Future Market
2020-04-28 19:40:04 -03:00
Martin-Molinero 571fc2e3b0 Merge pull request #4349 from QuantConnect/performance-tick-streamreader
Add StreamReader for Tick
2020-04-28 18:40:40 -03:00
Stefano Raggi e151991c91 Add timer dispose in FakeDataQueue.Dispose 2020-04-28 23:08:34 +02:00
Martin Molinero 88d4719327 Fixes for future market users
- Update consumers using Market.USA for future symbols
- Fix for SymbolPropertiesDatabase changes
2020-04-28 16:29:14 -03:00
Martin Molinero 075e82629a Add more unit tests
- Add more fill forward unit test including a weekend using different
combinations of resolutions
- Add required AIG second data file
- Avoid list in most common FF case
2020-04-28 15:23:07 -03:00
Martin Molinero bf1e4ae19c Fix market open FillForward
- Fix bar not being fill forward on market open
- Adding unit tests which fail in master
2020-04-28 15:23:06 -03:00
Martin Molinero 7a90f03eef Self review
- Avoid null fills case could happen on FillModel exception
- Smarter ConcurrentQueue.Count call at BaseResultHandler
2020-04-28 14:44:50 -03:00
Martin Molinero a8173589c7 Add StreamReader for Tick
- Add StreamReader Reader for Tick data type.
- Adding stream reader GetString extension, adding tests.
- BacktestingBrokerage will not create unnecessary order events
2020-04-28 13:32:40 -03:00
Stefano Raggi 7554babad8 Add Dispose and IsConnected to IDataQueueHandler 2020-04-28 17:39:13 +02:00
Martin Molinero 8e71e48c07 PythonSlice
- AlgorithmPythonWrapper will directly call base OnFrameworkData()
  implementation skipping going through python and it's overhead
- Small performance improvement for adding Tick data points into a Ticks
  collection
- For python always wrap slice with PythonSlice, so that slice.Get()
  works even when no custom data is present, adding test.
2020-04-27 19:03:03 -03:00
Martin Molinero 1fcd9588d6 Dispose Timers and threads in tests 2020-04-27 17:46:16 -03:00
Martin Molinero 9ee9cf9fc5 Address reviews 2020-04-27 17:46:10 -03:00
Martin Molinero e73e927c0f Enable parallel unit testing 2020-04-27 17:45:53 -03:00
Martin Molinero 97f8f50230 Add server statistics for backtesting 2020-04-24 20:33:19 -03:00
Martin Molinero b3970bdc3b Fixes and rebase
- FineFundamentalSubscriptionEnumeratorFactory will not emit empty fine
  points
2020-04-24 17:21:28 -03:00
Martin Molinero 89a73a5671 Fix and regression tests
- Fix FineFundamentalFilteredUniverse for a custom universe
- Adding regression test
2020-04-24 17:21:28 -03:00
Martin Molinero 47b5178c0b Reduce Result packet number and size
- Reduce ResultHandler amount of packets sent and their size.
- Only send order and orderEvents packet if there is actually data in them.
- Don't send Holdings fields if value is 0
- Don't send AlphaRuntimeStatistics fields if default values
2020-04-20 10:03:59 -03:00
Martin Molinero 793cc15cd3 Add optional intraday historical enumerator
- Adding new ConcatEnumerator that will join enumerators together
  secuentially. Adding unit tests
- SubscriptionDataReaderHistoryProvider will consume an optional
  intraday enumerator that will be concatenated with the existing
  SubscriptionDataReader
2020-04-15 10:48:04 -03:00
Martin Molinero 47795f1c90 Extend StreamReader for QuoteBars
- Adding performance tests for StreamReader QuoteBars
2020-04-10 15:39:51 -03:00
Martin Molinero 0173288f06 Batch algorithm logs
- Algorithms logs of the same type will be batched together when sent
- Increasing backtesting update to 3 seconds same as LiveTrading
- Increasing insight sending interval from 1 second to 3
- Reducing code duplication for retrieving and sending algorithm logs
2020-04-09 14:18:39 -03:00
Martin Molinero 7989d41aa7 Fix SecurityCache OHLC data type
- Fix for Equity SecurityCache OHLC default data type to be used. Will
  ignore QuoteBars
2020-04-08 19:31:37 -03:00
Martin Molinero 24b6cc6d9a Refactor Order and OrderEvent json
- Adding new SerializedOrderEvent and SerializedOrder with new
  JsonConverters
- Specifying OrderEvent json converter when storing, streaming data
- Adding unit tests
2020-04-07 17:40:25 -03:00
Martin Molinero 058c9e4eac Revert Crypto Hour/Daily QuoteBars
- Reverting removal of Crypto Hour/Daily QuoteBars
- Updating tests
- Adding unit test where Equities ignore QuoteBars
2020-04-06 10:33:02 -03:00
Martin Molinero 499248fe12 Revert "Revert "Adding Support for Equity L1 Quote Data""
This reverts commit 8cd8d206ca.
2020-04-06 10:32:59 -03:00