Commit Graph

2073 Commits

Author SHA1 Message Date
Jared d09a9caf8b Merge pull request #3434 from QuantConnect/performance-3403-finefundamental-source-resolution-v2
Improve FineFundamental backtesting source resolution performance
2019-07-26 10:19:17 -07:00
Martin Molinero 0ee2102bb1 Fix or ignore failing unit tests 2019-07-26 12:46:02 -03:00
Martin Molinero b6e9498b9e Improve FineFundamental backtesting performance
- Reduce the amount of `Path.Combine()` usages -> it has a peformance
overhead
- Improving `FineFundamentalSubscriptionFactory` GetSource algorithm,
now it will not check if each file exists while finding the appropriate,
since we already iterated the directory before
- `DefaultDataProvider` will not check if file exists since `new
FileStream` performance the same operation internally
2019-07-25 22:35:28 -03:00
AlexCatarino 83d9d6d850 Fix Equity Fee Logic for AlphaStreamsFeeModel
Since cashbook receives a fee for a short equity positions, the fee is negative.
2019-07-25 17:06:15 +01:00
AlexCatarino 84d548b5f2 Adds Custom Python Indicator Support for QCAlgorithm.PlotIndicator
In order to add support custom python indicators for `QCAlgorithm.PlotIndicator`, we created a `PythonIndicator` class that wraps the custom python indicator. In `QCAlgorithm`, the reference of the wrapper is saved into a dictionary keyed by the python indicator handle.
2019-07-23 22:02:33 +01:00
Stefano Raggi e39791ac6c Upgrade RestSharp library from v105.2.3 to v106.6.10 2019-07-17 10:28:35 +02:00
Jared 22b0a0703b Merge pull request #3349 from gsalaz98/feature-3213-add-psychsignal-custom-data-implementation-algorithm-and-converter
Adds Psychsignal Data Downloader/Converter and Custom Data Implementation With Example Algorithm
2019-07-16 16:32:46 -07:00
Jared 7a2c35435c Merge pull request #3397 from QuantConnect/fxcm-exchange-timezone-mhdb-change
FXCM exchange timezone MHDB change
2019-07-16 15:37:19 -07:00
Martin Molinero 9f26a22a0b FXCM exchange timezone MHDB change 2019-07-15 14:03:59 -03:00
Jared a22a0bef7f Merge pull request #3336 from QuantConnect/bug-3335-live-equity-data-synchronizing-enumerator
Fix LiveEquityDataSynchronizingEnumerator for input data after the current time
2019-07-14 13:03:48 -07:00
Oleg Sheyner 06a8d22f23 #3386 Trade Builder creates incorrect trades: finalize fixes + add regression tests 2019-07-11 12:52:02 -04:00
AlexCatarino 1495345b88 Removes Alternative Data Files
Use `.keep` file as a place holder to keep folder structure.
2019-07-11 00:12:01 +01:00
Alexandre Catarino c34e966409 Merge branch 'master' into feature-3351-alphastreams-fee-model 2019-07-10 22:57:09 +01:00
Jared ee1ebcebe1 Merge pull request #3374 from mchandschuh/bug-3021-notify-email-fails-when-message-is-null
Provide unit tests for NotificationManager, NotitificationEmail and default message/subject
2019-07-10 14:47:49 -07:00
Martin Molinero f7665bf596 Address reviews
- Adding missing header file
- Adding string.Empty as default value for email data/message and subject. If null will use string.Empty
2019-07-10 18:44:28 -03:00
AlexCatarino aa85c7028e Remove LIBOR dependency
Borrowing costs will be modelled separately.
2019-07-10 21:46:46 +01:00
AlexCatarino 8a479e07c2 Refactors AlphaStreamsFeeModel
- Refactors and symplifies `AlphaStreamsFeeModel`.
- LIBOR is represented by `Security` since it can be updated
- Improve unit tests.
2019-07-10 17:01:33 +01:00
Jack Simonson 27f183fcd3 Create AlphaStreams Fee Model 2019-07-10 17:01:33 +01:00
Martin Molinero 38e8621bb9 Serialized Insight has default values 2019-07-10 11:33:42 -03:00
Gerardo Salazar b11c14a1e9 Address mchandschuh's review #2 2019-07-09 17:46:15 -07:00
Gerardo Salazar a9a11fc848 Address Mike's review 2019-07-09 17:46:15 -07:00
Gerardo Salazar 4a83793067 Address review 2019-07-09 17:46:15 -07:00
Gerardo Salazar 859bdb1cad Add unit tests to ensure raw files download with same date as file date 2019-07-09 17:45:31 -07:00
Martin Molinero 64d43c1487 Add Insight.ReferenceValueFinal 2019-07-09 17:53:58 -03:00
Stefano Raggi e9739064e6 Fix LiveEquityDataSynchronizingEnumerator for input data after the current time
Previously the enumerator would get stuck and stop emitting data if one of the underlying enumerators returned a data point with the time greater than the current time. The existing unit test would only emit the first data point for the two underlying streams.

The enumerator has been updated to support data points in the future and the unit test has been extended to assert both data point counts and values.
2019-07-09 16:49:50 +02:00
Michael Handschuh eeae2e291e BUG #3021: Validate email addresses in NotificationEmail
* Adds Validate class in util with accompanying regular expressions
* Provides tests for NotificationEmail and Validate.EmailAddress
* Provides default values for NotificationEmail Subject and Message
  These default values resolve the underlying issue of #3021 w/out
  needing to modify external sources (such as impl of IMessagingHandler)
2019-07-08 02:52:04 -04:00
Michael Handschuh fb6b87392c BUG #3021: Add NotificationManagerTests
Adds basic test coverage for default NotificationManager.
* Confirms correct notification type added to Messages
* Confirms rate limit set at 30 (unable to fully test due to hard-coded
  and non-abstracted rate limit logic (could upgrade to RateGate as ctor
  parameter to aid unit testing here)
2019-07-08 02:52:04 -04:00
Stefano Raggi 43a16c3580 Add retry logic to LiveOptionChainProvider.GetOptionContractList 2019-07-03 18:31:42 +02:00
Martin Molinero e1482c50c2 Validate TimeRules.Every TimeSpan
- Will verify `TimeSpan` is not zero or less, adding unit tests.
2019-06-28 13:02:21 -07:00
Jared 433edaa1d4 Merge pull request #3331 from Martin-Molinero/bug-2865-on-end-of-day-not-fired
Fix OnEndOfDay not fired - Undeterministic ScheduledEvent triggering
2019-06-21 09:10:34 -07:00
AlexCatarino bb5cec3a49 Address Review and Fix Unit Tests 2019-06-21 13:14:47 +01:00
AlexCatarino 7b81f1a64d Implements Estimize Equity Endpoints Alternative Data
- Release: Financial releases for the specified company
- Estimate: Financial estimates for the specified company
- Consensus: Consensus of the specified release

For each equity endpoint, we create a `BaseData`, a Downloader and add unit tests.
2019-06-21 13:14:47 +01:00
Martin Molinero a92bee5bf1 Fix OnEndOfDay not fired
- Adding `IRealTimeHandler.OnSecurityChanged()` will be used to update
the `OnEndOfDay` security related scheduled events
- Adding `BaseRealTimeHandler.cs` to reduce code duplication in the
`Backtesting` and `LiveTrading` `RealTimeHandlers`
- Adding CSharp and Python regression tests
- Deprecating `OnEndOfDay()` callback because of two reasons, mainly
because Python does not support two methods with the same name, but also
because different assets have different market close times.
- `ScheduledEvents` set at the same time will now be deterministic
2019-06-20 17:35:28 -03:00
Jared bf29323df3 Merge pull request #3318 from QuantConnect/fxcm-update-jun-2019-2
Update FxcmBrokerage for TLS 1.2 support (resubmit)
2019-06-19 11:13:42 -07:00
Jared 40da80357b Merge pull request #3314 from QuantConnect/bug-3287-universe-selection-schedule
Adding PredicateTimeProvider for live mode
2019-06-19 10:58:26 -07:00
Gerardo Salazar f93c7d8b53 Add unit tests to cover changes 2019-06-19 10:08:27 -07:00
Stefano Raggi 36bfa46002 Remove unnecessary IKVM binding redirects 2019-06-19 09:24:53 +02:00
Stefano Raggi ec66c8e415 Update FxcmBrokerage for TLS 1.2 support
These changes are required to connect and receive data properly since the TLS 1.2 server upgrade on 6/16/2019. This also required upgrading the IKVM libraries for C#/Java interop.
2019-06-18 18:35:11 +02:00
Stefano Raggi 74cdc4a767 Revert "Update FxcmBrokerage for TLS 1.2 support" 2019-06-18 18:03:12 +02:00
Stefano Raggi ca60e1c03b Update FxcmBrokerage for TLS 1.2 support
These changes are required to connect and receive data properly since the TLS 1.2 server upgrade on 6/16/2019. This also required upgrading the IKVM libraries for C#/Java interop.
2019-06-18 15:40:49 +02:00
Martin Molinero e8660d9f52 Address reviews 2019-06-17 23:40:56 -03:00
Martin Molinero 760e32cf65 Add unit test for Coarse Scheduled Selection
- New unit test fails in master
- Adjust lower invalid time limit to 5 AM
2019-06-17 23:40:56 -03:00
Martin Molinero 65201cb808 Adding StepTimeProvider for live
- Adding new `StepTimeProvider` that will advance time based on a
desired custom evaluator.
- Live trading `Options`, `Futures` and `Coarse` data will use a
`FrontierAwareEnumerator` + `StepTimeProvider`. This will allow to hold
the selection data until its the desired time
- `Universe.CanRemoveMember` will round the members time in the universe
based on the `UniverseSettings.MinimumTimeInUniverse`
2019-06-17 23:40:55 -03:00
Gerardo Salazar 3c04d922c2 Address reviews 2019-06-17 16:45:53 -07:00
Gerardo Salazar 2ad1f19f85 Implements Sec Custom Data, ToolBox Application, and Sample Algorithm 2019-06-17 16:45:53 -07:00
Jared 8cebf10483 Merge pull request #3315 from Martin-Molinero/bug-3273-quandl-unit-test-hangs
Retry file operation in Quandl unit test
2019-06-17 09:18:54 -07:00
Jared ff19bd266c Merge pull request #3312 from QuantConnect/bug-datamanager-remove-utcnow-usage
Remove usage of DateTime.UtcNow in DataManager
2019-06-17 09:15:23 -07:00
Martin Molinero f91fe853e1 Retry unit test file operation 2019-06-17 12:03:10 -03:00
Stefano Raggi 5143645fe6 Fix LiveTradingDataFeed handling of Auxiliary data at Tick resolution 2019-06-14 23:18:17 +02:00
Stefano Raggi c9d8abf30e Add new BrokerageSetupHandler unit test 2019-06-14 22:02:24 +02:00