Commit Graph

254 Commits

Author SHA1 Message Date
Martin Molinero ec7a8fa906 Bump PythonNet to 1.0.5.29 2019-11-13 17:33:32 -03:00
Martin Molinero c6ab54f6d2 Bump PythonNet to 1.0.5.28 2019-11-12 16:06:55 -03:00
AlexCatarino fb76003048 Adds New Static Members to LiquidETFUniverse
New members represent the different ETF categories. Each one has a `List<Symbol>` for Long and Inverse ETFs.
2019-11-07 17:01:15 +00:00
Martin Molinero 2f9814f2f9 Add SetHoldings for collection of targets
- Adding `SetHoldings` implemenetation for a collection of portfolio
targets
- Adding regression test
- Some performance improvements
2019-11-05 13:47:42 -03:00
AlexCatarino 5bb28b44a8 Adds Examples for Train Feature
- Adds Python version of `TrainingInitializeRegressionAlgorithm`;
- Adds C# version of `TrainingExampleAlgorithm`;
- Removes `TrainingScheduledRegressionAlgorithm`.
2019-10-28 17:49:53 +00:00
AlexCatarino c37b450a2e Adds Python Support
- Adds PyObject overload to `ScheduleManager.TrainingNow` and `ScheduleManager.Training`
- Adds `QCAlgorithm.Train` helper method
- Adds Python algorithm showing how to use the helper method.
2019-10-19 14:52:34 -04:00
AlexCatarino a18bd953ac Implements ConfidenceWeightedPortfolioConstructionModel
- Adding new `ConfidenceWeightedPortfolioConstructionModel` (C# / Py) that will
generate percent `Targets` based on the latest active `Insight` `Confidence` per
`Symbol`.
   - Will ignore `Insights` that have no `Confidence`.(unit tested)
   - 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. (unit tested)
   - Adding unit tests
   - Adding a new regression test framework algorithm (C#/Py)
   -**Note**: `ConfidenceWeightedPortfolioConstructionModel` inherits from the `InsightWeightingPortfolioConstructionModel`. Protect method `GetValue` was implemented in `IWPCM` to enable the choice of `Insight` member.
2019-10-18 20:47:06 +01:00
Martin Molinero 0d171a2e70 Add SmartInsider performance benchmark
- Adjust Sec performance benchmark algorithm
2019-10-16 12:15:00 -03:00
Jared 7160be5974 Merge pull request #3723 from QuantConnect/bug-3722-python-applysplit-call
Python ApplySplit - PythonNet update
2019-10-15 15:23:11 -07:00
Martin Molinero b35bc31f51 Version bump 1.0.5.26 2019-10-15 18:43:33 -03:00
Jared de19f7e7d8 Merge pull request #3710 from gsalaz98/feature-cboe-vix-basedata
Implement CBOE BaseData class
2019-10-14 18:18:14 -07:00
Martin Molinero 3fe7838f09 Add Sec report perf branchmark
- Add Sec report performance benchmarks C# and Py
- Add missing `using(Py.Gil)`
2019-10-14 16:53:53 -03:00
Gerardo Salazar e6f0135943 Address reviews - add python algorithm and rename algorithm to
CachedAlterantiveDataAlgorithm
2019-10-11 12:01:45 -07:00
Jared e2e796f736 Merge branch 'master' into feature-add-sec-demonstration-algorithm 2019-10-07 14:32:48 -07:00
Jared 38fef12717 Merge branch 'master' into feature-add-smartinsider-demonstration-algorithm 2019-10-07 13:39:30 -07:00
Gerardo Salazar 5d62c03a0f Add SEC demonstration algorithms (C# and Python) 2019-10-07 11:02:21 -07:00
Gerardo Salazar 77ea64bf97 Adds demonstration algorithms for USTreasuryYieldCurveRate (C# and Py) 2019-10-04 17:28:52 -07:00
Gerardo Salazar 7f267ed55b Adds Smart Insider demonstration algorithms (C# and Python) 2019-10-04 17:10:01 -07:00
Jared def14b9a1f Merge pull request #3669 from QuantConnect/feature-3650-etf-basket-modules
Improves ETF Basket Universe Selection Models
2019-10-03 16:06:18 -07:00
AlexCatarino ff00e9e776 Adds Regression Algorithms for InceptionDateUniverseSelectionModel
Adds Regression Algorithms to show `CustomUniverseSelectionModel` and `InceptionDateUniverseSelectionModel` in action.
2019-10-03 23:32:16 +01:00
Gerardo Salazar 48f6372a6a Adds PsychSignal demonstration algorithms 2019-10-03 14:59:14 -07:00
Jared d5050ff6d5 Merge branch 'master' into feature-add-tradingeconomics-data-demo-algorithms 2019-10-03 13:22:14 -07:00
Gerardo Salazar ba21d1e1bb Adds Trading Economics demonstration algorithms 2019-10-03 13:20:07 -07:00
Gerardo Salazar db3f0df01b Self review: Rename Tiingo algorithms from TiingoNLPDemonstrationAlgorithm to
TiingoNewsAlgorithm
2019-10-03 12:06:04 -07:00
Gerardo Salazar b61377cd37 Adds demonstration Tiingo NLP Algorithms
* Adds `AltData` folder to Algorithm.CSharp|Python
2019-10-03 11:35:56 -07:00
Martin Molinero d1abefc1fe Add TiingoNews.HistoricalCrawlOffset - Rename
- Add `TiingoNews.HistoricalCrawlOffset`, timespan to add for
backtesting
- Rename:  remove `Data` from `TiingoNewsData` and rename `TiingoDailyData` to `TiingoPrice`
2019-10-02 13:11:31 -03:00
Michael Handschuh 362826988f Improve DynamicSecurityData usability
Adds IRegisteredSecurityDataTypesProvider to track all the data types
registered in the algorithm. Using this data, we can detect if it's
possible that we'll eventually have a property of a certain type name.
For example, consider I wish to use security.Data.TradeBar but we haven't
received any trade bars yet. Before this change a KeyNotFoundException
would be raised, but since we can determine that we expect to have trade
bars, we can detect this and return an empty list when we haven't received
any data yet. This also removes the need to constantly do a HasData<T>()
check before accessing the dynamic members.

Closes #3620
2019-09-30 19:06:21 -04:00
Gerardo Salazar 56462f0283 Address reviews from Mike and Martin
* Added better documentation for AddData methods
* Added new regression algorithms for adding in OnSecuritiesChanged
* Changed regression algorithms to add data that exists
* Styling and logging fixes
2019-09-24 10:34:35 -03:00
Gerardo Salazar 4b0ed03b4f Added new regression algorithms
* Deleted regression algorithms because they tested behavior similar to
other existing regression algorithms
* Fixed new bug in regression algorithm due to AddData changes
* Added unit tests for wrapt version and package existence

* Fix issue where data would be set to raw normalization mode
2019-09-24 10:34:35 -03:00
Gerardo Salazar 48e4d3660a Add unit tests for AddData for changes 2019-09-24 10:34:35 -03:00
AlexCatarino 35d32ed9f4 More Tests for PR#3484 2019-09-24 10:34:35 -03:00
Martin Molinero e7ca829a0d PythonNet bump 1.0.5.25 2019-09-23 19:45:46 -03:00
Martin Molinero f96cb2a0cf Bump PythonNet to 1.0.5.24 2019-09-10 12:11:42 -03:00
Martin Molinero e396c3ef10 Bump PythonNet to 1.0.5.23 2019-09-05 23:55:30 -03:00
Martin Molinero f00049f709 Bump PythonNet to 1.0.5.22 2019-09-03 16:05:12 -03:00
Gerardo Salazar e6a510d803 Add Mapfile support for custom data sources 2019-08-20 16:56:02 -03:00
Michael Handschuh c7df4e9fb3 Add StringExtensions and Parse utilizing CultureInfo.InvariantCulture
Adds static methods of the form Parse.<TypeName>(string str) that use
CultureInfo.InvariantCulture. These are to be used when parsing strings.
It's still safe (from the CA1304/CA1305 perspective) to use the ToDecimal
extension method for decimals.

Adds string extension methods for common operations that will now require
CultureInfo.InvariantCulture. These are to be used when converting values
to strings, such as ToStringInvariant()/ToStringInvariant(format), but also
useful for searching within strings, StartsWithInvariant, EndsWithInvariant
 and IndexOfInvariant.
2019-08-16 18:08:28 -03:00
Michael Handschuh 703f915182 Configure QuantConnect.ruleset in all projects
The initial ruleset is specifically aimed at addressing #3045. When we'd like
to start addressing other issues available via the FxCopAnalyzers, we can update
the action in QuantConnect.ruleset. A nice way to do it is to first set it to
warning, then go through the solution, project-by-project, fixing each warning.
At the end you can flip it to error and ensure it still builds. Moving forward,
any changes will fail if they violate the rule.

In support of #3045, we'll be configuring the following rules:
> CA1304: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304-specify-cultureinfo?view=vs-2017
> CA1305: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305-specify-iformatprovider?view=vs-2017
2019-08-16 18:08:18 -03:00
Michael Handschuh c42057809d Add Microsoft.CodeAnalysis.FxCopAnalyzers to all projects
FxCop has various rulesets for enforcing things within our codebase.
For this particular issue, we'll be enforcing CA1304 and CA1305 to
ensure we're always using an IFormatProvider or a CultureInfo where
applicable.

Linked Issue: #3045
2019-08-16 18:08:05 -03:00
Jared 73a1a319fa Merge pull request #3379 from AlexCatarino/pr3368
While-lists Python Libraries
2019-08-14 16:05:11 -07:00
Gerardo Salazar 436a72f435 Implements SmartInsider custom data source
Implements Smart Insider data converter ToolBox application

Includes example algorithms demonstrating use of data
2019-08-05 13:42:08 -07:00
Martin Molinero 1983f36792 Allow Python selection to return unchanged
- We will now check if python selection method returned `Universe.Unchanged`
- Removing `ToList()` call on fine and coarse data before sending it to
the python algorithm
- Adding regression algorithms
2019-07-31 15:36:07 -03:00
Gerardo Salazar e3e3fc710a Add python example algorithm
Address reviews
2019-07-30 10:13:31 -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
AlexCatarino cdca13a6f6 Creates Unit Tests for Python Packages
Verify whether python packages can ne imported and used with unit test instead of algorithm
2019-07-09 23:33:33 +01:00
Daniel Chen 6e76f5742d Add new machine learning demonstration algorithms 2019-07-05 14:10:29 -07: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