Example #1
0
        public double[,] Analytic(Parameters parameters, Types.OptionType optionType)
        {
            var pVArray = default(double[, ]);

            switch (optionType)
            {
            case Types.OptionType.Vanilla:
                pVArray =
                    OptionVanilla.MakeAnalyticPVArray(
                        new double[parameters.TNum, parameters.XNum[0]],
                        parameters.BoundaryPrice,
                        parameters.Strike,
                        parameters.Maturity,
                        parameters.DomesticRate,
                        parameters.ForeignRate,
                        parameters.Volatility,
                        parameters.IsCall);
                break;

            case Types.OptionType.Barrier:
                pVArray =
                    OptionBarrier.MakeAnalyticPVArray(
                        new double[parameters.TNum, parameters.XNum[0]],
                        parameters.BoundaryPrice,
                        parameters.Strike,
                        parameters.Maturity,
                        parameters.DomesticRate,
                        parameters.ForeignRate,
                        parameters.Volatility,
                        parameters.Barrier,
                        parameters.IsCall);
                break;
            }
            return(pVArray);
        }