コード例 #1
0
        protected override void executeIntermediateStep(int step)
        {
            Dividend dividend = events_[step] as Dividend;

            if (dividend == null)
            {
                return;
            }
            DividendAdder adder = new DividendAdder(dividend);

            sMin_   = adder.value(sMin_);
            sMax_   = adder.value(sMax_);
            center_ = adder.value(center_);
            intrinsicValues_.transformGrid(adder.value);

            intrinsicValues_.sample(payoff_.value);
            prices_.transformGrid(adder.value);

            initializeOperator();
            initializeModel();

            initializeStepCondition();
            stepCondition_.applyTo(prices_.values(), getDividendTime(step));
        }
コード例 #2
0
ファイル: FDDividendEngine.cs プロジェクト: Yenyenx/qlnet
        protected override void executeIntermediateStep(int step)
        {
            Dividend dividend = events_[step] as Dividend;
            if (dividend == null) return;
            DividendAdder adder = new DividendAdder(dividend);
            sMin_ = adder.value(sMin_);
            sMax_ = adder.value(sMax_);
            center_ = adder.value(center_);
            intrinsicValues_.transformGrid(adder.value);

            intrinsicValues_.sample(payoff_.value);
            prices_.transformGrid(adder.value);

            initializeOperator();
            initializeModel();

            initializeStepCondition();
            stepCondition_.applyTo(prices_.values(), getDividendTime(step));
        }