public void LoadInterestRateVolCurveTest() { CreateATMRateVolCurve("AUD", "3M", IrVolInstruments, IrVolValues, IrStrikes); var curve = (CapVolatilityCurve)CurveEngine.LoadVolatilityCurve(Market, "AUD", "3M", null); Assert.IsNotNull(curve); // 3M does exist Assert.AreEqual("3M", curve.GetPricingStructureId().Properties.GetString("IndexTenor", true)); //var baseDate = curve.GetBaseDate(); //var expiration = VolatilitySurfaceHelper.GetDimensionValues(curve.GetVolatilityMatrix().dataPoints?.point, //CubeDimension.Expiration); //var expiryArray = new List<TimeDimension>(); //var valArray = new List<Decimal>(); //Debug.Print(baseDate.ToString(CultureInfo.InvariantCulture)); //foreach (var expiry in expiration) //{ // //Temporary // if (expiry is TimeDimension timeDimension) // { // expiryArray.Add(timeDimension); // } // //var date = expiry as DateTime? ?? baseDate.AddDays(1); // //expiryArray.Add(date); // Debug.Print(expiry.ToString()); //} ////var term = VolatilitySurfaceHelper.GetDimensionValues(curve.GetVolatilityMatrix().dataPoints?.point, ////CubeDimension.Strike); //var termPoints = TermPointsFactory.Create(expiryArray, valArray); //var termCurve = new TermCurve { point = termPoints }; //var output = XmlSerializerHelper.SerializeToString(termCurve); //Debug.Print(output); }
public void LoadInterestRateVolCurveWithStrikeTest() { CreateStrikeRateVolCurve("AUD", "3M", IrVolInstruments2, IrVolValues2, IrStrikes2); var curve = CurveEngine.LoadVolatilityCurve(Market, "AUD", "3M", null); Assert.IsNotNull(curve); // 3M does exist Assert.AreEqual("3M", curve.GetPricingStructureId().Properties.GetString("IndexTenor", true)); }