示例#1
0
        public Cenario CalculaCenario(Cenario cenario)
        {
            for (int i = 0; i < cenario.Parametros.Length; i++)
            {
                decimal resultado = (cenario.Parametros[i].X - cenario.Parametros[i].PrecoExec) / cenario.Parametros[i].Vega;
                resultado         *= resultado;
                cenario.Resultado += resultado;
            }

            if (cenario.Resultado == 0.0m)
            {
                cenario.Print();
            }

            return(cenario);
        }
示例#2
0
        public void Modula(ParametrosPerna[] parametrosPernas)
        {
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            List <Cenario> cenarios = new List <Cenario>();

            PreparaCenarios(cenarios, parametrosPernas);

            //foreach (Cenario cenario in cenarios)
            //{
            //    if (cenario == null)
            //    {
            //        cenario.Print();
            //    }

            //    CalculaCenario(cenario);
            //}

            Cenario melhorCenario = cenarios.OrderBy(s => s.Resultado).FirstOrDefault();

            Console.WriteLine("ModulacaoSync");
            Console.WriteLine();

            Console.WriteLine($"Cenarios: {cenarios.Count}");
            Console.WriteLine();

            melhorCenario.Print();
            Console.WriteLine();

            stopWatch.Stop();

            Console.WriteLine($"ExecutionTime: {stopWatch.ElapsedMilliseconds}");
            Console.WriteLine();
        }