public void testZSpreadedObs() { // Testing observability of zero-spreaded term structure CommonVars vars = new CommonVars(); SimpleQuote me = new SimpleQuote(0.01); Handle <Quote> mh = new Handle <Quote>(me); RelinkableHandle <YieldTermStructure> h = new RelinkableHandle <YieldTermStructure>(vars.dummyTermStructure); YieldTermStructure spreaded = new ZeroSpreadedTermStructure(h, mh); Flag flag = new Flag(); spreaded.registerWith(flag.update); h.linkTo(vars.termStructure); if (!flag.isUp()) { QAssert.Fail("Observer was not notified of term structure change"); } flag.lower(); me.setValue(0.005); if (!flag.isUp()) { QAssert.Fail("Observer was not notified of spread change"); } }
public void testZSpreaded() { // Testing consistency of zero-spreaded term structure CommonVars vars = new CommonVars(); double tolerance = 1.0e-10; Quote me = new SimpleQuote(0.01); Handle <Quote> mh = new Handle <Quote>(me); YieldTermStructure spreaded = new ZeroSpreadedTermStructure(new Handle <YieldTermStructure>(vars.termStructure), mh); Date testDate = vars.termStructure.referenceDate() + new Period(5, TimeUnit.Years); DayCounter rfdc = vars.termStructure.dayCounter(); double zero = vars.termStructure.zeroRate(testDate, rfdc, Compounding.Continuous, Frequency.NoFrequency).rate(); double spreadedZero = spreaded.zeroRate(testDate, rfdc, Compounding.Continuous, Frequency.NoFrequency).rate(); if (Math.Abs(zero - (spreadedZero - me.value())) > tolerance) { QAssert.Fail("unable to reproduce zero yield from spreaded curve\n" + " calculated: " + (spreadedZero - me.value()) + "\n" + " expected: " + zero); } }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ZeroSpreadedTermStructure obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ZeroSpreadedTermStructure obj) { return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; }