private void SetProperties()
 {
     switch (PricingStructureType)
     {
     case PricingStructureTypeEnum.BondDiscountCurve:
     case PricingStructureTypeEnum.BondCurve:
         string creditInstrumentId = PropertyHelper.ExtractCreditInstrumentId(Properties);
         string creditSeniority    = PropertyHelper.ExtractCreditSeniority(Properties);
         CreditInstrumentId = ProductTypeHelper.InstrumentIdHelper.Parse(creditInstrumentId);
         CreditSeniority    = ProductTypeHelper.CreditSeniorityHelper.Parse(creditSeniority);
         break;
     }
 }
示例#2
0
        private void SetProperties()
        {
            switch (PricingStructureType)
            {
            case PricingStructureTypeEnum.RateCurve:
            case PricingStructureTypeEnum.RateBasisCurve:
                ForecastRateIndex = ProductTypeHelper.ForecastRateIndexHelper.Parse(Index, IndexTenor);
                break;

            case PricingStructureTypeEnum.RateSpreadCurve:
                ForecastRateIndex         = ProductTypeHelper.ForecastRateIndexHelper.Parse(Index, IndexTenor);
                ReferenceCurveTypeAndName = PropertyHelper.ExtractReferenceCurveName(Properties);
                ReferenceCurveUniqueId    = PropertyHelper.ExtractReferenceCurveUniqueId(Properties);
                break;

            case PricingStructureTypeEnum.DiscountCurve:
                string creditInstrumentId = PropertyHelper.ExtractCreditInstrumentId(Properties);
                string creditSeniority    = PropertyHelper.ExtractCreditSeniority(Properties);
                CreditInstrumentId = ProductTypeHelper.InstrumentIdHelper.Parse(creditInstrumentId);
                CreditSeniority    = ProductTypeHelper.CreditSeniorityHelper.Parse(creditSeniority);
                break;

            case PricingStructureTypeEnum.RateXccyCurve:
                //ForecastRateIndex = ForecastRateIndexHelper.Parse(Index, IndexTenor);
                string discountInstrumentId = PropertyHelper.ExtractCreditInstrumentId(Properties);
                string discountSeniority    = PropertyHelper.ExtractCreditSeniority(Properties);
                CreditInstrumentId                 = ProductTypeHelper.InstrumentIdHelper.Parse(discountInstrumentId);
                CreditSeniority                    = ProductTypeHelper.CreditSeniorityHelper.Parse(discountSeniority);
                ReferenceCurveTypeAndName          = PropertyHelper.ExtractReferenceCurveName(Properties);
                ReferenceCurveUniqueId             = PropertyHelper.ExtractReferenceCurveUniqueId(Properties);
                ReferenceFxCurveTypeAndName        = PropertyHelper.ExtractReferenceFxCurveName(Properties);
                ReferenceFxCurveUniqueId           = PropertyHelper.ExtractReferenceFxCurveUniqueId(Properties);
                ReferenceCurrency2CurveTypeAndName = PropertyHelper.ExtractReferenceCurrency2CurveName(Properties);
                ReferenceCurrency2CurveId          = PropertyHelper.ExtractReferenceCurrency2CurveId(Properties);
                break;

            case PricingStructureTypeEnum.InflationCurve:
                ForecastRateIndex = ProductTypeHelper.ForecastRateIndexHelper.Parse(Index, IndexTenor);
                var inflationLag = PropertyHelper.ExtractInflationLag(Properties);
                if (inflationLag != "Unknown")
                {
                    InflationLag = PeriodHelper.Parse(inflationLag);
                }
                break;

            case PricingStructureTypeEnum.XccySpreadCurve:
                PricingStructureType = PricingStructureTypeEnum.RateSpreadCurve;
                break;
            }
        }