type() публичный Метод

public type ( ) : Type
Результат System.Type
Пример #1
0
        protected override PathPricer <IPath> pathPricer()
        {
            Exercise exercise = arguments_.exercise;

            Utils.QL_REQUIRE(exercise.type() == Exercise.Type.European, () => "only european exercise is supported");

            double exerciseTime = process_.time(exercise.lastDate());

            return(new HestonHullWhitePathPricer(exerciseTime, this.arguments_.payoff, (HybridHestonHullWhiteProcess)process_));
        }
Пример #2
0
        public static FdmStepConditionComposite vanillaComposite(DividendSchedule cashFlow,
                                                                 Exercise exercise,
                                                                 FdmMesher mesher,
                                                                 FdmInnerValueCalculator calculator,
                                                                 Date refDate,
                                                                 DayCounter dayCounter)
        {
            List <List <double> >           stoppingTimes  = new List <List <double> >();
            List <IStepCondition <Vector> > stepConditions = new List <IStepCondition <Vector> >();

            if (!cashFlow.empty())
            {
                FdmDividendHandler dividendCondition =
                    new FdmDividendHandler(cashFlow, mesher,
                                           refDate, dayCounter, 0);

                stepConditions.Add(dividendCondition);
                stoppingTimes.Add(dividendCondition.dividendTimes());
            }

            Utils.QL_REQUIRE(exercise.type() == Exercise.Type.American ||
                             exercise.type() == Exercise.Type.European ||
                             exercise.type() == Exercise.Type.Bermudan,
                             () => "exercise type is not supported");
            if (exercise.type() == Exercise.Type.American)
            {
                stepConditions.Add(new FdmAmericanStepCondition(mesher, calculator));
            }
            else if (exercise.type() == Exercise.Type.Bermudan)
            {
                FdmBermudanStepCondition bermudanCondition =
                    new FdmBermudanStepCondition(exercise.dates(),
                                                 refDate, dayCounter,
                                                 mesher, calculator);
                stepConditions.Add(bermudanCondition);
                stoppingTimes.Add(bermudanCondition.exerciseTimes());
            }

            return(new FdmStepConditionComposite(stoppingTimes, stepConditions));
        }
Пример #3
0
        protected override PathPricer <IPath> controlPathPricer()
        {
            HybridHestonHullWhiteProcess process = process_ as HybridHestonHullWhiteProcess;

            Utils.QL_REQUIRE(process != null, () => "invalid process");

            HestonProcess hestonProcess = process.hestonProcess();

            Utils.QL_REQUIRE(hestonProcess != null, () =>
                             "first constituent of the joint stochastic process need to be of type HestonProcess");

            Exercise exercise = this.arguments_.exercise;

            Utils.QL_REQUIRE(exercise.type() == Exercise.Type.European, () => "only european exercise is supported");

            double exerciseTime = process.time(exercise.lastDate());

            return(new HestonHullWhitePathPricer(exerciseTime, this.arguments_.payoff, process));
        }