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
- 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.
- 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>`.
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.
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
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.
The actual implementation uses the Intrinio `historical_data` end point and ask for CSV format. At the moment of development, the key they provided and the one used in the test has a limit of 1 call per second for the historical_data` end point`, now the key only free access 1 call per minute.
This commit is the fastest fix for the test failing but is impractical for any user with a free account. Maybe a better solution is to implement `historical_data` end point and but asking for the JSON (default) format. This implies implementing reading the data from JSON and implement paging in the `BaseData.Read` method.