25 using System.Collections.Generic;
39 string startDateString,
41 string symbolCountString,
43 string securityTypeString,
44 string resolutionString,
45 string dataDensityString,
46 string includeCoarseString,
47 string quoteTradeRatioString,
49 string hasIpoPercentageString,
50 string hasRenamePercentageString,
51 string hasSplitsPercentageString,
52 string hasDividendsPercentageString,
53 string dividendEveryQuarterPercentageString,
54 string optionPriceEngineName,
55 string volatilityModelResolutionString,
56 string chainSymbolCountString,
69 quoteTradeRatioString,
71 hasIpoPercentageString,
72 hasRenamePercentageString,
73 hasSplitsPercentageString,
74 hasDividendsPercentageString,
75 dividendEveryQuarterPercentageString,
76 optionPriceEngineName,
77 volatilityModelResolutionString,
78 chainSymbolCountString,
82 if (settings.Start.Year < 1998)
84 Log.
Error($
"RandomDataGeneratorProgram(): Required parameter --start must be at least 19980101");
96 security.SetMarketPrice(
new Tick(settings.Start, security.Symbol, 100, 100));
97 security.SetMarketPrice(
new OpenInterest(settings.Start, security.Symbol, 10000));
103 if (security is
Option option)
106 _interestRateProvider.GetRiskFreeRate(settings.Start, settings.End));
114 securityManager.SetSecurityService(securityService);
117 generator.Init(settings, securityManager);
120 if (settings.IncludeCoarse && settings.SecurityType ==
SecurityType.Equity)
122 Log.
Trace(
"RandomDataGeneratorProgram(): Launching coarse data generator...");
127 if (!Console.IsInputRedirected)
129 Log.
Trace(
"RandomDataGeneratorProgram(): Press any key to exit...");