public virtual void Build() { _calendar = Parsers.ParseCalendar(_strCalendar); _convention = Parsers.ParseBusinessDayConvention(_strConvention); _eom = Parsers.ParseBool(_strEom); _dayCounter = Parsers.ParseDayCounter(_strDayCounter); _settlementDays = Parsers.ParseInteger(_strSettlementDays); }
public virtual void Build() { _dayCounter = Parsers.ParseDayCounter(_strDayCounter); _compounding = _strCompounding == string.Empty ? QLNet.Compounding.Continuous : Parsers.ParseCompounding(_strCompounding); _compoundingFrequency = _strCompoundingFrequency == string.Empty ? Frequency.Annual : Parsers.ParseFrequency(_strCompoundingFrequency); if (_tenorBased) { _tenorCalendar = Parsers.ParseCalendar(_strTenorCalendar); _spotLag = Convert.ToInt32(_strSpotLag); _spotCalendar = Parsers.ParseCalendar(_strSpotCalendar); _rollConvention = Parsers.ParseBusinessDayConvention(_strRollConvention); _eom = Parsers.ParseBool(_strEom); } }
public virtual void Build() { _fixedCalendar = Parsers.ParseCalendar(_strFixedCalendar); _fixedFrequency = Parsers.ParseFrequency(_strFixedFrequency); _fixedConvention = Parsers.ParseBusinessDayConvention(_strFixedConvention); _fixedDayCounter = Parsers.ParseDayCounter(_strFixedDayCounter); _index = Parsers.ParseIborIndex(_strIndex); if (_hasSubPeriod) { _floatFrequency = Parsers.ParseFrequency(_strFloatFrequency); //_subPeriodsCouponType = Parsers.ParseSubPeriodsCouponType(_strSubPeriodsCouponType); } else { _floatFrequency = Frequency.NoFrequency; //_subPeriodsCouponType = QuantExt::SubPeriodsCoupon::Compounding; } }
public override void FromXML(XmlNode node) { CheckNode(node, "SwaptionVolatility"); _curveID = GetChildValue(node, "CurveId", true); _curveDescription = GetChildValue(node, "CurveDescription", true); string dim = GetChildValue(node, "Dimension", true); if (dim == "ATM") { _dimension = Dimension.ATM; } else if (dim == "Smile") { _dimension = Dimension.Smile; } else { Utils.QL_FAIL("Dimension " + dim + " not recognized"); } string volType = GetChildValue(node, "VolatilityType", true); if (volType == "Normal") { _volatilityType = VolatilityType.Normal; } else if (volType == "Lognormal") { _volatilityType = VolatilityType.Lognormal; } else if (volType == "ShiftedLognormal") { _volatilityType = VolatilityType.ShiftedLognormal; } else { Utils.QL_FAIL("Volatility type " + volType + " not recognized"); } string extr = GetChildValue(node, "Extrapolation", true); _extrapolate = true; _flatExtrapolation = true; if (extr == "Linear") { _flatExtrapolation = false; } else if (extr == "Flat") { _flatExtrapolation = true; } else if (extr == "None") { _extrapolate = false; } else { Utils.QL_FAIL("Extrapolation " + extr + " not recognized"); } _optionTenors = GetChildrenValuesAsPeriods(node, "OptionTenors", true); _swapTenors = GetChildrenValuesAsPeriods(node, "SwapTenors", true); string cal = GetChildValue(node, "Calendar", true); _calendar = Parsers.ParseCalendar(cal); string dc = GetChildValue(node, "DayCounter", true); _dayCounter = Parsers.ParseDayCounter(dc); string bdc = GetChildValue(node, "BusinessDayConvention", true); _businessDayConvention = Parsers.ParseBusinessDayConvention(bdc); _shortSwapIndexBase = GetChildValue(node, "ShortSwapIndexBase", true); _swapIndexBase = GetChildValue(node, "SwapIndexBase", true); // optional smile stuff _smileOptionTenors = GetChildrenValuesAsPeriods(node, "SmileOptionTenors", false); _smileSwapTenors = GetChildrenValuesAsPeriods(node, "SmileSwapTenors", false); _smileSpreads = GetChildrenValuesAsDoublesCompact(node, "SmileSpreads", false); }
public virtual void Build() { // First check that we have an overnight index. _index = (OvernightIndex)Parsers.ParseIborIndex(_strIndex); Utils.QL_REQUIRE(_index != null, () => "The index string, " + _strIndex + ", does not represent an overnight index."); _spotLag = Parsers.ParseInteger(_strSpotLag); _fixedDayCounter = Parsers.ParseDayCounter(_strFixedDayCounter); _paymentLag = _strPaymentLag == string.Empty ? 0 : Parsers.ParseInteger(_strPaymentLag); _eom = _strEom == string.Empty ? false : Parsers.ParseBool(_strEom); _fixedFrequency = _strFixedFrequency == string.Empty ? Frequency.Annual : Parsers.ParseFrequency(_strFixedFrequency); _fixedConvention = _strFixedConvention == string.Empty ? BusinessDayConvention.Following : Parsers.ParseBusinessDayConvention(_strFixedConvention); _fixedPaymentConvention = _strFixedPaymentConvention == string.Empty ? BusinessDayConvention.Following : Parsers.ParseBusinessDayConvention(_strFixedPaymentConvention); //_rule = _strRule == string.Empty ? DateGeneration.Rule.Backward : Parsers.ParseDateGenerationRule(_strRule); }