Commit Graph

239 Commits

Author SHA1 Message Date
AlexCatarino 966eaa8e10 Adds AccordVectorMachinesAlgorithm algorithm
This algorithm is an example on how to use Accord VectorMachines Learning.
2019-07-19 20:13:13 +01: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
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
AlexCatarino 5b34e2519a Adds TradingEconomicsCalendarIndicatorAlgorithm
Adds C# and Python version of TradingEconomicsCalendarIndicatorAlgorithm to show how TradingEconomics data can be added to an algorithm.
2019-06-20 10:35:56 +01:00
Gerardo Salazar 2ad1f19f85 Implements Sec Custom Data, ToolBox Application, and Sample Algorithm 2019-06-17 16:45:53 -07:00
Martin Molinero 2c1cf0fa93 Address reviews
- Adding new regression test algorithm
- `SecurityPortfolioManager` will subscribe to the `CashBook.Updated`
event to invalidate the `TotalPortfolioValue
2019-06-07 17:51:30 -03:00
Jared a2a63ae058 Merge pull request #3016 from QuantConnect/feature-3015-add-weight-to-insights
Add Insight optional Weight
2019-06-04 16:52:48 -07:00
Martin Molinero 97c2889cc2 Fix Orders Placed in OnOrderEvent
- The `BacktestingBrokerage` will also verify there are no more pending
orders when deciding if it needs to continue scanning
2019-05-28 14:38:12 -03:00
Jack Simonson 543abd77c5 Delete DailyFx class
Deleted DailyFx class and associated references in algorithms and tests
2019-05-22 09:36:19 -07:00
Jack Simonson 21f0222fa8 Add template algorithms
Two demonstration algorithms showing how to incorporate Python into a C# algorithm and vice versa
2019-05-14 16:50:13 -07:00
Alexandre Catarino 3f00762bfd Adds Custom Data from US Energy Information Administration (eia.gov) (#3136)
New custom data class USEnergyInformation with new demonstration algorithms, the updated config file for users to set their EIA token.

Adds `CloseTime` to represent the time that the data period end. `EndTime` represents, in turn, the time the data is emitted. There is an offset between `CloseTime` and `EndTime` that is defined by the difference between the last bar as emitted and its time. 

In live mode, if the `USEnergyInformation.Reader` returns null, the `CollectionSubscriptionDataSourceReader.Read` method will pull for new data constantly. Therefore it should return an empty `BaseDataCollection` object.
2019-04-30 17:22:11 -07:00
Martin Molinero 968adcea32 Adding InsightWeightingPortfolioConstructionModel
- Adding new `InsightWeightingPortfolioConstructionModel` that will
generate percent `Targets` based on the latest active `Insight` `Weight` per
`Symbol`.
   - Will ignore `Insights` that have no `Weight`.
   - If the sum of all the last active `Insight` per `Symbol` is bigger than 1, it
will factor down each target percent holdings proportionally so the sum is 1.
- Adding unit tests
- Adding a new regression test framework algorithm
- Note most of the code, including tests, are reused from the
`EqualWeightingPortfolioConstructionModel`
2019-04-24 11:05:14 -03:00
AlexCatarino c3de660551 Updates pythonnet to 1.0.5.20 2019-04-23 23:15:14 +01:00
Stefano Raggi e5028e087f Remove usage of DateTime.UtcNow in buying power models (#3115)
Remove usage of DateTime.UtcNow in buying power models

In PR#3013 we added support for fee models with history, so the new changes to the GDAXFeeModel exposed this bug, breaking a couple of regression tests (issue #3044)

Update regression stats for EmitInsightCryptoCashAccountType

* Fix typos

Add missing time keeper in CashBuyingPowerModelTests
2019-04-23 07:38:39 -07:00
AlexCatarino 3c019cdbda Adds SmaCrossUniverseSelectionAlgorithm
This algorithm is an example for WarmUpIndicator method usage
2019-04-18 23:29:51 +01:00
Jared b7de35df78 Merge pull request #3100 from Martin-Molinero/performance-3096-add-stateful-stateless-coarse-universe-selection
Adding new Coarse performance benchmarks
2019-04-18 14:31:18 -07:00
Martin Molinero b5c216f7f3 Adding new Coarse performance benchmarks
- Adding stateless and stateful coarse universe selection benchmarks.
Will be used to benchmark future performance improvement.
2019-04-18 12:47:49 -03:00
AlexCatarino bd9f1c9154 Adds Regression Algorithm 2019-04-17 18:11:48 +01:00
AlexCatarino b366f5b2b5 Adds C# and Python examples 2019-04-09 17:59:46 +01:00
Jared d32d1bc90d Merge pull request #3066 from Martin-Molinero/feature-3065-adduniverseselectionmodel
Implement AddUniverseSelectionModel
2019-04-08 14:00:11 -07:00
Jared 16124d17f7 Merge pull request #3059 from AlexCatarino/feature-3058-python-manual-universe-selection-model
Implements the Python Version of ManualUniverseSelectionModel
2019-04-08 13:35:40 -07:00
Martin Molinero 91f19f781d Implement AddUniverseSelectionModel
- Implementing `QCAlgorithm.AddUniverseSelectionModel`
- Adding C#/Py regression algorithms using the new API
- Modifying `ManualUniverSelectionModels` symbol, adding hash of
the selected `Symbol.Values`
- Modifying `Coarse` and `Fine` symbol, adding random GUID
- Adding `NullUniverseSelectionModel`
2019-04-08 16:58:42 -03:00
Martin Molinero 4d108094e5 Implement QCAlgorithm.AddRiskManagement
- Implemention `QCAlgorithm.AddRiskManagement`
- Adding Py/C# regression test algoririthms
- Moving `CompositeRiskManagementModel` from `Framework` to `Algorithm`
project
2019-04-08 10:53:06 -03:00
AlexCatarino a0dce83b72 Implements G10CurrencySelectionModel
Implements `G10CurrencySelectionModel` as an example of a selection model with a fixed list of securities.
2019-04-05 23:16:46 +01:00
Martin Molinero 68d9f48c2d Address reviews
- Adding new `CompositeAlphaModel.AddAlphaModel()`
- Adding C#/Py regression algorithms using the new `QCAlgorith.AddAlphaModel()`
- Improving exception message
- Add python version of `QCAlgorith.AddAlphaModel()`
2019-04-05 18:34:18 -03:00
Martin Molinero cfa08a11fb Address reviews
- Removing `using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm`
- Removing `QCAlgorithmFrameworkBridge`
- Removing `IsFrameworkAlgorithm`
- Making `EmitInsightBasedOnFill` private. Adding new
`IOrderEventProvider` exposing an `event` to which `QCAlgorithm` will
subscribe.
- `AccountType.Cash` algorithms will be allowed to manually trade and
emight insights manually or with alpha model.
2019-04-03 21:55:44 -03:00
Martin Molinero 19f1806ddc Address review: readd Framework project 2019-04-03 21:55:43 -03:00
Martin Molinero 32ac3146b4 Merge Framework and Classic Algorithms
- Merging Framework and Bridge algorithms into classic QCAlgorithm
class.
- Removing Framework project, VS17 and VS15
2019-04-03 21:54:32 -03:00
AlexCatarino 45eb639dfa Adds Example Algorithm of Expiry Helper Class Usage in Alpha Models 2019-04-03 22:08:52 +01:00
AlexCatarino da6519b9f4 Updates pythonnet to 1.0.5.19
Updates PythonNet to 1.0.5.19
 - Related  https://github.com/QuantConnect/pythonnet/pull/28/
2019-04-02 17:17:40 +01:00
Jared c5d4be415c Merge pull request #3033 from QuantConnect/feature-3032-update-pythonnet
Updates pythonnet to 1.0.5.18
2019-03-28 11:11:39 -07:00
Jared 9bf537a9b3 Merge pull request #3030 from QuantConnect/feature-3029-order-based-insight-autogeneration
Emiting Insights based on Order Fills
2019-03-28 10:04:54 -07:00
AlexCatarino 6d2460d8ed Updates pythonnet to 1.0.5.18
- Updates PythonNet to 1.0.5.18
  - Cherry picks the memory leak fix from upstream/pythonnet
2019-03-28 00:47:38 +00:00
Martin Molinero 5b04cfe202 Emiting Insights based on Fills
- Classic Algorithms will emight insights based on order fills.
   - To be able to update generated insights closed time, we will not
   clone emitted insights.
   - `InsightAnalysisContext` will update `AnalysisEndTimeUtc` when the
   Insight period is closed and the period is `EndOfTimeTimeSpan`
- Adding new regression algorithm asserting on the new emitted insights
- Adding unit tests
- `LiveTradingResultHandler` will store `AlphaRunTimeStatistics`
- Making `DefaultAlphaHandler.ProcessAsynchronousEvents` virtual to
facilitate cloud changes
2019-03-26 16:09:22 -03:00
Stefano Raggi d215d0a9f7 Add CfdTimeZonesRegressionAlgorithm 2019-03-14 12:13:14 +01:00
Jared 84b93d6e7c Merge pull request #2996 from QuantConnect/coarse-fundamental-updates
Remove Potential Look-Ahead Bias in Backtesting with Coarse Fundamental Data
2019-03-12 12:02:45 -07:00
Stefano Raggi c53ceaba09 Add CoarseNoLookAheadBias regression algorithm 2019-03-12 14:40:11 +01:00
AlexCatarino 89817a7b96 Adds GasAndCrudeOilEnergyCorrelationAlpha
- Adds C# version
- Some improments in python version
  - Refactors the CorrelationPairsSelection
  - Replace history request for rolling window
2019-03-05 23:01:07 +00:00
AlexCatarino df6bdedd64 Adds GreenblattMagicFormulaAlpha
- Adds C# version
- Minor improments in python version
2019-03-05 22:53:38 +00:00
AlexCatarino 6ca82fd196 Further Fixes From Peer-Review 2019-03-02 01:06:09 +00:00
AlexCatarino 774b32bc5f Apply Fixes Suggested by Peer-Review 2019-03-02 00:34:12 +00:00
AlexCatarino 0423e3d54d Adds C# version of IntradayReversalCurrencyMarkets 2019-03-01 14:55:08 +00:00
AlexCatarino 0df49f1126 Adds C# Version of Alpha Stream Examples
- GlobalEquityMeanReversionIBSAlpha
- MeanReversionLunchBreakAlpha
- PumpAndDumpAlpha
- TripleLeveragedETFPairVolatilityDecayAlphaAlgorithm
2019-03-01 14:55:08 +00:00
IlshatGaripov c970ec5a01 Changes upon review request:
- license header
- warm up
- 0 fee model
- renaming
2019-02-28 13:51:43 +03:00
IlshatGaripov 9b2e8249df Adding new algorithm and Alpha Model. Dual Thrust is a concept. UXVY is a traded asset. 2019-02-27 23:25:28 +03:00
Martin Molinero 9651df9900 Updating the ScheduledEventBenchmark
- Renaming files from `Schedule...` to `Scheduled...` to match algorithm
name.
- Removed `ScheduledEvents` set every 5 seconds
- Increased the every day `ScheduledEvents` from 200 to 600
2019-02-22 18:57:08 -03:00
AlexCatarino d91cad3123 Updates pythonnet to 1.0.5.17
- Updates PythonNet to 1.0.5.17
  -  Improve performance by adding new `interop` `type` cache holding a `bool`, true if its an `exception`. And adding a `setter` and `getter` cache for the `propertyobject`. Closes #2925.
  - Decimal parsing allows numeric string in exponential notation. Closes #2918 #2919.

Closes #2929
2019-02-22 17:46:59 +00:00