Example #1
0
        private static void CreateStrikeRateVolCurve(string currency1, string indexTenor, string[] instruments, decimal[] marketvalues, decimal[] additionalforwards)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("Instrument", "AUD-Xibor-" + indexTenor);
            properties.Set("PricingStructureType", "CapVolatilityCurve");
            properties.Set("ReferenceCurveUniqueId", "Market." + Market + ".DiscountCurve.GBP-LIBOR-SENIOR");
            properties.Set("ReferenceCurrency2CurveId", "Market." + Market + ".DiscountCurve.GBP-LIBOR-SENIOR");
            properties.Set("Currency", currency1);
            properties.Set("IndexTenor", indexTenor);
            properties.Set("IndexName", "AUD-BBR-BBSW");
            properties.Set("MarketName", Market);
            properties.Set("StrikeQuoteUnits", StrikeQuoteUnitsEnum.DecimalRate.ToString());
            properties.Set("MeasureType", MeasureTypesEnum.Volatility.ToString());
            properties.Set("QuoteUnits", QuoteUnitsEnum.LogNormalVolatility.ToString());
            properties.Set("Algorithm", "Linear");
            properties.Set("QuotationSide", QuotationSideEnum.Mid.ToString());
            properties.Set("Timing", QuoteTimingEnum.Close.ToString());
            properties.Set("ValuationDate", DateTime.Today);
            properties.Set("BusinessCenter", "Sydney");
            properties.Set("Strike", 0.025m);
            properties.Set("BaseDate", DateTime.Today);
            var    volCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, marketvalues, additionalforwards));
            string name     = volCurve.GetPricingStructureId().UniqueIdentifier;
            Market market   = volCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }
Example #2
0
        private static void CreateDiscountCurve(string currency1, string[] instruments, decimal[] values)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("PricingStructureType", "DiscountCurve");
            properties.Set("CreditInstrumentId", "LIBOR");
            properties.Set("CreditSeniority", "SENIOR");
            properties.Set("CurveName", currency1 + "-LIBOR-SENIOR");
            properties.Set("Currency", currency1);
            properties.Set("MarketName", Market);
            properties.Set("BaseDate", DateTime.Today);
            var    rateCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, values));
            string name      = rateCurve.GetPricingStructureId().UniqueIdentifier;
            Market market    = rateCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }
Example #3
0
        private static void CreateRateCurve(string currency1, string indexTenor, string[] instruments, decimal[] values)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("CurveName", "AUD-BBR-BBSW-" + indexTenor);
            properties.Set("PricingStructureType", "RateCurve");
            properties.Set("Currency", currency1);
            properties.Set("IndexTenor", indexTenor);
            properties.Set("IndexName", "AUD-BBR-BBSW");
            properties.Set("MarketName", Market);
            properties.Set("BaseDate", DateTime.Today);
            var    rateCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, values));
            string name      = rateCurve.GetPricingStructureId().UniqueIdentifier;
            Market market    = rateCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }
Example #4
0
        private static void CreateFxCurve(string currency1, string currency2, string[] instruments, decimal[] values)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("CurveName", "FxCurve" + currency1 + "-" + currency2);
            properties.Set("PricingStructureType", "FxCurve");
            properties.Set("Currency", currency1);
            properties.Set("Currency2", currency2);
            properties.Set("CurrencyPair", currency1 + "-" + currency2);
            properties.Set("QuoteBasis", "Currency2PerCurrency1");
            properties.Set("MarketName", Market);
            properties.Set("BaseDate", DateTime.Today);
            var    fxCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, values));
            string name    = fxCurve.GetPricingStructureId().UniqueIdentifier;
            Market market  = fxCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }
Example #5
0
        private static void CreateBondDiscountCurve(string currency1, string[] instruments, decimal[] values)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("PricingStructureType", "BondDiscountCurve");
            properties.Set("Currency", currency1);
            properties.Set("CreditInstrumentId", "WATC");
            properties.Set("CreditSeniority", "SENIOR");
            properties.Set("MarketName", Market1);
            properties.Set("Algorithm", "LinearZero");
            properties.Set("MarketQuote", "YieldToMaturity");
            properties.Set("BaseDate", new DateTime(2010, 3, 1));
            var    bondCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, values));
            string name      = bondCurve.GetPricingStructureId().UniqueIdentifier;
            Market market    = bondCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }
Example #6
0
        private static void CreateBondFinancingBasisCurve(string currency1, string[] instruments, decimal[] values)
        {
            NamedValueSet properties = new NamedValueSet();

            properties.Set("PricingStructureType", "BondFinancingBasisCurve");
            properties.Set("ReferenceBond", "Govt.WATC.Fixed.7.15/10/2019");
            properties.Set("ReferenceCurveUniqueId", "Market." + Market + ".DiscountCurve.GBP-LIBOR-SENIOR");
            properties.Set("CurveName", "AUD-GC-SECURED");
            properties.Set("Currency", currency1);
            properties.Set("BondType", "AGB");
            properties.Set("CreditSeniority", "SECURED");
            properties.Set("CreditInstrumentId", "GC");
            properties.Set("MarketName", Market);
            properties.Set("Algorithm", "LinearZero");
            properties.Set("MarketQuote", "YieldToMaturity");
            properties.Set("BaseDate", new DateTime(2010, 3, 1));
            var    bondCurve = CurveEngine.CreatePricingStructure(properties, ProcessValues(instruments, values));
            string name      = bondCurve.GetPricingStructureId().UniqueIdentifier;
            Market market    = bondCurve.GetMarket();

            CurveEngine.SaveCurve(market, name, properties, new TimeSpan(0, 1, 0));
        }