public void FactorFile_CanBeCreatedFromYahooData_Successfully() { var yahooEvents = _yahooDataDownloader.DownloadSplitAndDividendData(_symbol, Parse.DateTime("01/01/1980"), DateTime.MaxValue); var factorFile = _factorFileGenerator.CreateFactorFile(yahooEvents.ToList()); Assert.IsTrue(factorFile.Permtick == _symbol.Value); }
/// <summary> /// Generate a LEAN Factor File from IVol Dividends.csv and Splits.csv files /// </summary> /// <param name="symbol"></param> /// <param name="factorFilePath"></param> private static void GenerateFactorFile(Symbol symbol, string factorFilePath) { var splitFile = _sourceMetaDirectory + Path.DirectorySeparatorChar + symbol.Value + "Splits.csv"; var dividendFile = _sourceMetaDirectory + Path.DirectorySeparatorChar + symbol.Value + "Dividends.csv"; var list1 = PopulateSplitsAndSpecialDividends(splitFile); var list2 = PopulateRegularDividends(dividendFile); var parsedFactors = list1.Concat(list2).ToList(); parsedFactors.OrderByDescending(x => x.Time); var factorFileGenerator = new FactorFileGenerator(symbol, factorFilePath); factorFileGenerator.CreateFactorFile(parsedFactors).WriteToCsv(symbol); }