Commit Graph

11 Commits

Author SHA1 Message Date
Martin Molinero 7aafdef827 MapFile and FactorFile data feed resolution
- Moving `MapFile` and `FactorFile` resolution to the data feed stack so
that they do not add a performance overhead to the algorithm thread.
- Create logging string messaged only if required.
- Calculate `FactorFileRow.PriceScaleFactor` the least amount of times
2019-06-12 17:48:47 -03:00
Gerardo Salazar 645bb031b3 Improved random generation to more closely match sample factor files
Fixed bug where factor file reference price output had very high
precision

Fixed bug where map file had a useless entry before the final line if
the asset was not delisted

Fixed bug where program would crash because of NextPrice reaching its
maximum attempts. Fixed by removing call to NextPrice and using another
generation method.
2019-04-02 21:25:10 -07:00
Gerardo Salazar 55f8376c53 Create mapping, IPO, delisting, splits, and dividends random generation
Created random-seed argument for rdg in order to let the user get deterministic output

Update documentation in 'FactorFileRow.cs' to accurately reflect factor
file structure

Update CSV generation for FactorFile so that it uses FactorFileRow's CSV
generator

Add FinancialCalendar to make it easier to implement logic regarding
financial quarters

Add mapping events to RandomDataGenerator

Update MapFileRow ToCsv method to correctly emit the ticker as lowercase

Fix bug in FactorFile where we would get the same initial data point twice
when we converted it to CSV

Create new method to convert a MapFile to CSV

Create new method to write MapFile to disk as CSV

Add unit test to test for successful CSV generation in MapFile

Add new files to project

Add FinancialCalendar unit tests

Create new class to handle generation of dividends, splits, and maps
2019-04-02 21:25:10 -07:00
Michael Handschuh d04666f690 Round factors using quantquote precision
Adds rounding of price and scale factors when writing a factor file
row to csv. The precision provided is the same that is used by quant
quote in their raw files
2018-08-27 14:10:41 -04:00
Michael Handschuh 9e306e76c7 Add FactorFileRow.ToCsv(source) and fix Apply(Dividend) bug
The time check in FactorFileRow.Apply(Dividend) was not using the previous
trading date for comparison.

Added a 'source' parameter to FactorFileRow.ToCsv() for tracking each row's
data source.
2018-08-27 13:53:04 -04:00
Michael Handschuh 57affafdc2 Implement 'live' factor files
Adds reference price to dividend/split
Adds GetSplitsAndDividends to FactorFile
Adds Apply methods to FactorFile/FactorFileRow
Updates factor files to include reference prices
2018-08-14 17:58:44 -04:00
Andrew efd5845a3e Added ability to specify cache data folder 2017-09-14 16:31:43 -04:00
Stefano Raggi 301b9e14fb Handle factor files with INF values
Before this PR, backtesting some symbols fails with an error when parsing the factor file.

Some factor files have INF split values, indicating that the stock has so many splits that prices can't be calculated with correct numerical precision.

To allow backtesting these symbols, we need to move the starting date forward when reading the data.

Known symbols: GBSN, JUNI, NEWL
2017-02-17 20:35:57 +01:00
Juan Manuel Alvarez b3494afc47 Constants renamed to Globals.
Globals values can be reloaded from configuration.
2016-03-12 01:07:31 -03:00
snugs b1b7bdfb60 Changes to support IFactorFileProvider impls 2015-12-16 18:45:22 -05:00
QuantConnect 785e94d209 Tidy up of the ToolBox project to reduce duplicated code 2015-10-08 17:56:49 -04:00