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)); }
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)); }
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)); }
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)); }
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)); }
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)); }