示例#1
0
 public ResetStrikeOption(Date startDate,
                          Date maturityDate,
                          OptionExercise exercise,
                          OptionType optionType,
                          ResetStrikeType resetStrikeType,
                          double strike,
                          InstrumentType underlyingInstrumentType,
                          ICalendar calendar,
                          IDayCount dayCount,
                          CurrencyCode payoffCcy,
                          CurrencyCode settlementCcy,
                          Date[] exerciseDates,
                          Date[] observationDates,
                          Date strikefixingDate,
                          double notional               = 1,
                          DayGap settlementGap          = null,
                          Date optionPremiumPaymentDate = null,
                          double optionPremium          = 0)
     : base(startDate: startDate, maturityDate: maturityDate, exercise: exercise, optionType: optionType, strike: new double[] { strike },
            underlyingInstrumentType: underlyingInstrumentType, calendar: calendar, dayCount: dayCount,
            settlementCcy: settlementCcy, payoffCcy: payoffCcy, exerciseDates: exerciseDates, observationDates: observationDates,
            notional: notional, settlementGap: settlementGap, optionPremiumPaymentDate: optionPremiumPaymentDate, optionPremium: optionPremium)
 {
     ResetStrikeType  = resetStrikeType;
     StrikeFixingDate = strikefixingDate;
 }
示例#2
0
            public ResetStrikeOptionCalculator(
                OptionType optionType, ResetStrikeType resetstrikeType, InstrumentType underlyingProductType,
                double strike, double spotPrice,
                double exerciseInYears, double strikefixingInYears,
                double sigma, double riskFreeRate, double dividendRate, double notional)
            {
                _optionType      = optionType;
                _resetstrikeType = resetstrikeType;
                _X            = strike;
                _S            = spotPrice;
                _T            = exerciseInYears;
                _t            = strikefixingInYears;
                _sigma        = sigma;
                _r            = riskFreeRate;
                _dividendRate = dividendRate;

                if (FuturesProducts.Contains(underlyingProductType))
                {
                    _b = 0.0;
                }
                else
                {
                    _b = riskFreeRate - dividendRate;
                }

                _notional = notional;
            }