Commit Graph

2692 Commits

Author SHA1 Message Date
Jared Broad e86155c117 Shuffle init to set environment path inline 2019-07-28 15:12:54 -07:00
Jared Broad 1e8fdba3d9 Revert to master 2019-07-28 14:32:04 -07:00
Jared Broad 5a2adf2065 Remove lock, additional benchmarking 2019-07-28 10:57:22 -07:00
Jared Broad 2dd94f3687 Optimize python load times 2019-07-28 10:33:37 -07:00
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 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
Jared 92ff37f1c9 Merge pull request #3402 from gsalaz98/feature-3401-improve-tradingeconomics-downloaders
Improves TradingEconomics Downloaders
2019-07-24 13:35:19 -07: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
Gerardo Salazar 920010b242 Add rategate to all requests so that we don't run over rate limits
Improve logging across all TradingEconomics Downloaders

Add retries to HTTP requests due to occassional failure

Added skipping of duplicates, skipping of
fields with no actual value, temp file writing, temp file moving

Write to proper output directory

Update data directory structure

Update GetSource in BaseData implementation for TradingEconomics

Parallelize data processing and writing to disk
2019-07-16 12:02:47 -07:00
Oleg Sheyner 06a8d22f23 #3386 Trade Builder creates incorrect trades: finalize fixes + add regression tests 2019-07-11 12:52:02 -04:00
Oleg Sheyner bb020fc5ff Fix #3386 2019-07-11 12:52:02 -04:00
Alexandre Catarino c34e966409 Merge branch 'master' into feature-3351-alphastreams-fee-model 2019-07-10 22:57:09 +01:00
AlexCatarino 6b3993f4aa Improve Unsupported SecurityType Message 2019-07-10 22:55:33 +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 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 d5e148b05c Adds Psychsignal data converter and custom data implementation 2019-07-09 17:45:31 -07:00
Martin Molinero 64d43c1487 Add Insight.ReferenceValueFinal 2019-07-09 17:53:58 -03: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 b273487fcc BUG #3021: Refactor NotificationManager
* Moves _liveMode check into Allow method for stream-lined Email/Sms/Web
* Updates default _resetTime to default(DateTime) to make explicit the first
  invocation semantics
* Updates _resetTime increment to be hourly instead of rounded hours as this
  caused strange behavior in the units tests when too close to the hour
* Synchronizes Allow method to avoid potential race conditions with += on
  _count and setting of the _resetTime
2019-07-08 02:52:04 -04:00
Douglas Stridsberg efdcc4eab3 ArgumentException changed to ArgumentOutOfRangeException 2019-07-07 15:28:21 +01:00
Douglas Stridsberg b350dd99a8 Formatting changes 2019-07-07 14:22:05 +01:00
Douglas Stridsberg 70edce26ef Made RollingWindow exceptions more verbose
This should help users better understand the source of their RollingWindow errors.
2019-07-07 14:13:22 +01:00
Gerardo Salazar 2033c7873b Update outdated DotNetZip dependency in nuspec files 2019-07-02 18:02:23 -07:00
Jared a0b02b6549 Merge pull request #3341 from voidale/master
Add missing GDAX currency pairs
2019-07-02 09:54:17 -07: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
Mark Uretsky 8564dbb70e Add missing GDAX currency pairs 2019-06-24 21:32:42 +02: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 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 e7b8ba4dee Merge pull request #3268 from AlexCatarino/feature-3200-tradingeconomics
Implements Trading Economics Data
2019-06-20 13:33:51 -07:00
Jared 2eeb718c72 Merge pull request #3325 from gsalaz98/bug-3324-fix-failing-sec-report-deserialization-null-value-formercompanies
Fix Handling of Potential Null Values In SEC Report Submissions
2019-06-20 12:09:53 -07:00
AlexCatarino 66a0c7377d Addresses Reviews
- Changes the destination folder
- Remove Symbol converter
- Refactors Get method to return `Task<string>`
  - Since `HttpRequester` returns `Task<string>`, it makes more sense to pass this result than returning a `IEnumerable<string>`.
2019-06-20 10:35:56 +01:00
AlexCatarino 6ce48315a6 Implements Trading Economics Data Downloader
Implements an interface for all Trading Economics Data
- Adds Trading Economics Calendar Downloader and program to be used in the Toolbox.
- Adds Trading Economics Indicators Downloader and program to be used in the Toolbox.
- Adds Trading Economics Earnings Downloader and program to be used in the Toolbox.
2019-06-20 10:34:01 +01:00
Gerardo Salazar 7ed94c0a35 Update SECDataConverter to not write null values
Update SECReport* to ignore null values
2019-06-19 14:44:48 -07:00
Martin Molinero f6b5e92a96 Add conditional optimization flag 2019-06-19 16:11:15 -03:00
Gerardo Salazar a04d8dc0ab Fix potential null value in field FormerCompanies
Update data to reflect changes

Add missing AAPL data point we originally intended to include
2019-06-19 11:09:47 -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 ff6d1a814f Fix issue where SECDataConverter would fatally fail 2019-06-18 17:54:33 -07:00
Martin Molinero e8660d9f52 Address reviews 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 5a304a4cb5 Change path of alternative data folder
Delete converter because an existing utility already existed

Moved code from factory to converter class as statics

Add rankandfile as a CIK to ticker mapping source
2019-06-17 16:45:54 -07: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