コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }