public RelinkableOptionletVolatilityStructureHandle(OptionletVolatilityStructure arg0) : this(NQuantLibcPINVOKE.new_RelinkableOptionletVolatilityStructureHandle__SWIG_0(OptionletVolatilityStructure.getCPtr(arg0)), true)
 {
     if (NQuantLibcPINVOKE.SWIGPendingException.Pending)
     {
         throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
     }
 }
 public void linkTo(OptionletVolatilityStructure arg0)
 {
     NQuantLibcPINVOKE.RelinkableOptionletVolatilityStructureHandle_linkTo(swigCPtr, OptionletVolatilityStructure.getCPtr(arg0));
     if (NQuantLibcPINVOKE.SWIGPendingException.Pending)
     {
         throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
     }
 }
        public OptionletVolatilityStructure __deref__()
        {
            OptionletVolatilityStructure ret = new OptionletVolatilityStructure(NQuantLibcPINVOKE.OptionletVolatilityStructureHandle___deref__(swigCPtr), true);

            if (NQuantLibcPINVOKE.SWIGPendingException.Pending)
            {
                throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
        public OptionletVolatilityStructure __deref__()
        {
            global::System.IntPtr        cPtr = NQuantLibcPINVOKE.OptionletVolatilityStructureHandle___deref__(swigCPtr);
            OptionletVolatilityStructure ret  = (cPtr == global::System.IntPtr.Zero) ? null : new OptionletVolatilityStructure(cPtr, true);

            if (NQuantLibcPINVOKE.SWIGPendingException.Pending)
            {
                throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Ejemplo n.º 5
0
        public void testCapletPricing()
        {
            //"Testing caplet pricing...";

            //SavedSettings backup;

            const int size = 10;

            #if QL_USE_INDEXED_COUPON
            const double tolerance = 1e-5;
            #else
            const double tolerance = 1e-12;
            #endif

            IborIndex index = makeIndex();
            LiborForwardModelProcess process = new LiborForwardModelProcess(size, index);

            // set-up pricing engine
            OptionletVolatilityStructure capVolCurve = makeCapVolCurve(Settings.evaluationDate());

            Vector variances = new LfmHullWhiteParameterization(process, capVolCurve).covariance(0.0, null).diagonal();

            LmVolatilityModel volaModel = new LmFixedVolatilityModel(Vector.Sqrt(variances), process.fixingTimes());

            LmCorrelationModel corrModel = new LmExponentialCorrelationModel(size, 0.3);

            IAffineModel model = (IAffineModel)(new LiborForwardModel(process, volaModel, corrModel));

            Handle <YieldTermStructure> termStructure = process.index().forwardingTermStructure();

            AnalyticCapFloorEngine engine1 = new AnalyticCapFloorEngine(model, termStructure);

            Cap cap1 = new Cap(process.cashFlows(),
                               new InitializedList <double>(size, 0.04));
            cap1.setPricingEngine(engine1);

            const double expected   = 0.015853935178;
            double       calculated = cap1.NPV();

            if (Math.Abs(expected - calculated) > tolerance)
            {
                Assert.Fail("Failed to reproduce npv"
                            + "\n    calculated: " + calculated
                            + "\n    expected:   " + expected);
            }
        }
Ejemplo n.º 6
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(OptionletVolatilityStructure obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
 public void linkTo(OptionletVolatilityStructure arg0) {
   NQuantLibcPINVOKE.RelinkableOptionletVolatilityStructureHandle_linkTo(swigCPtr, OptionletVolatilityStructure.getCPtr(arg0));
   if (NQuantLibcPINVOKE.SWIGPendingException.Pending) throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
 }
 public RelinkableOptionletVolatilityStructureHandle(OptionletVolatilityStructure arg0) : this(NQuantLibcPINVOKE.new_RelinkableOptionletVolatilityStructureHandle__SWIG_0(OptionletVolatilityStructure.getCPtr(arg0)), true) {
   if (NQuantLibcPINVOKE.SWIGPendingException.Pending) throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
 }
Ejemplo n.º 9
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(OptionletVolatilityStructure obj) {
   return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }
 public OptionletVolatilityStructure __deref__() {
   OptionletVolatilityStructure ret = new OptionletVolatilityStructure(NQuantLibcPINVOKE.OptionletVolatilityStructureHandle___deref__(swigCPtr), true);
   if (NQuantLibcPINVOKE.SWIGPendingException.Pending) throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve();
   return ret;
 }