Commit Graph

35 Commits

Author SHA1 Message Date
Martin-Molinero f39acceadc Load fine fundamental from data cache folder (#4995)
* Load fine fundamental from data cache folder

* Add daily backwards lookup for live fine
2020-12-04 18:28:24 -08:00
Gerardo Salazar e5b5f80d9d Fixes "0" group code value for FixturesAndAppliances (#4820)
* Fixes "0" group code value for FixturesAndAppliances

* Address review: fixes wrong variable name
2020-10-05 20:12:27 -03:00
Rahul 5c5979a3ec Update to MarketCap 2020-01-13 17:50:43 -08:00
AlexCatarino 87b7f229c3 Use FineFundamental.Value for Market Cap Calculations
Uses `MarketCap = Value * EarningReports.BasicAverageShares.ThreeMonths`. Since the previous calculations as using `BasicEPS` that can be negative, market cap got negative values which is not realistic.

Moves `MarketCap` code from the generated file to  another one that shares the partial class.
2020-01-06 18:52:53 +00:00
AlexCatarino 9fa415a454 Adds Null Check for MarketCap Calculation
Returns zero if any of the members are null.
2020-01-04 02:39:28 +00:00
AlexCatarino 76c70f1ea2 Adds MarketCap Member to FineFundamental Class
Adds `MarketCap` member to `FineFundamental` class that represents the aggregate market value of a company represented in dollar amount.

Changes `CoarseFineFundamentalRegressionAlgorithm` (C# and Python) to select securities based in its market capitalization. Same result as selecting by P/E ratio.
2020-01-04 00:33:29 +00:00
Martin Molinero a3526fee84 Add ConstituentUniverseDefinitions 2019-11-21 12:28:51 -03:00
Juan José D'Ambrosio 0b20f2c9fc Fix issue ion documentation 2019-11-15 15:22:55 +00:00
Juan José D'Ambrosio df85d8d876 Update MorningStar helper class with latest clasification
There were updates in categories and codes.
Include documentation from MorningStar documentation.
2019-11-15 13:13:16 +00:00
Michael Handschuh d709d1c4e0 Update Common to respect CA1304 and CA1305
Updates all occurrences of parsing/ToString-ing to go through the new
StringExtensions methods that use CultureInfo.InvariantCulture

See #3045
2019-09-12 14:13:24 -04:00
Michael Handschuh 141eaa1fee Add missing license banner 2019-08-16 18:07:30 -03:00
Juan José D'Ambrosio 910c330950 Fix issue updating MultiPeriodField 2019-08-13 18:08:38 +00:00
Martin Molinero 6bcbd726a9 Fine memory footprint improvementes
- Will use an array as store, the most efficient collection memory wise.
Holding a custom internal `struct PeriodField`
- Will store period as a byte number, not a string
- By default the collection will be null and created on demand
- Adding more unit tests
2019-08-02 13:16:54 -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
Juan José D'Ambrosio 5caf86c4be Fix bad naming in MorningStart Industry name 2019-06-06 22:11:09 +00:00
Juan José D'Ambrosio 0e083e4183 Implement helper classes for MorningStar AssetClassification package 2019-04-22 22:09:21 +00:00
Martin Molinero 771256fd2c Fix live coarse data subscription
- When subscribing to `Coarse` data the `LiveTradingDataFeed` will use
the normalized `CoarseFundamental Universe Symbol` for that market ->
not using the random GUID
- Adding unit tests which reproduce issue.
2019-04-17 17:18:33 -03: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
Stefano Raggi 177ae2def7 Add new methods to MultiPeriodField class
Also added MultiPeriodField unit tests
2018-10-31 20:45:54 +01:00
Stefano Raggi 80878291b0 Logic change for UpdateValues in FineFundamental classes 2018-08-01 01:04:17 +02:00
Stefano Raggi a8d9535b73 FineFundamental class update July 2018 2018-07-10 17:45:55 +02:00
Stefano Raggi e91193c42a Update FineFundamental class with MorningStar updates
The FineFundamental class is updated to the latest field definitions from MorningStar.
2018-05-07 21:34:03 +02:00
Michael Handschuh 58efd4ae6a Store universe data in security cache
Universe data is piped through the TimeSlice and saved in the
security cache in the algorithm manager for consumption by the
algorithm.

This change includes an update to SecurityCache.AddData to preclude
us from setting the security price using auxiliary data. Tests were
updated accordingly.
2018-04-24 18:23:01 -04:00
Michael Handschuh 21b5e1ff17 Add Fundamentals to Security
Fundamentals defines a merged view of coarse/fine universes
2018-04-24 15:32:58 -04:00
Stefano Raggi 4948a2bf60 Add null checks in Morningstar autogenerated classes 2016-11-09 12:01:06 +01:00
Stefano Raggi 8660c0687a Enable FineFundamental to be used with AddData 2016-11-02 14:05:24 +01:00
Stefano Raggi 0dcddba321 Use lowercase symbol in FineFundamental.GetSource 2016-07-29 23:13:51 +02:00
Stefano Raggi d4359a943e Update fundamental classes for non-ASCII characters in XML comments 2016-07-20 01:17:00 +02:00
Stefano Raggi e7a49b362b Add fine fundamental data classes 2016-07-20 00:07:45 +02:00
snugs a642e734fd Rename Fundamental namespace to UniverseSelection 2015-10-07 12:54:26 -04:00
snugs 32d81af072 Change coarse selector to return symbol
This is less restrictive and the engine really doesn't need the
actual coarse data, just needs to know what symbols to request
data for
2015-10-01 13:44:27 -04:00
snugs c67ff638f4 Renames Symbol.SID to Symbol.Permtick
Coming soon we'll have a full SID system, so renames to make backwards compatibility easier
2015-09-20 23:14:53 -04:00
snugs e1938baafe Clean up using directives 2015-09-01 22:17:35 -04:00
snugs df79ce30c2 Adds the Symbol type
This includes updating all usages of symbol as a security identifier to use the new type.
The type includes a unique field, SID, as well as the current ticker's value. This allows
for consistent addressability while also allowing the ticker to evolve over time with the
mapping changes.

Effort was made to maintain compile and runtime backwards compatibility.
2015-09-01 22:17:10 -04:00
snugs 844a040be5 Initial impl of coarse universe selection
Adds concept of Subscription to contain everything a data feed needs in order to process  single data feed item
Moves preparation of all data to data feed thread, algo thread receives data in format it needs
QCAlgorithm.SetUniverse( func ) allows selection based on market/symbol/dollar volume/price
Remove laziness from Slice as optimization, no order by in real time handler
2015-08-06 17:52:23 -04:00