protected GeneralizedBlackScholesProcess GetStochasticProcess(DateTime d, MarkitSurface marketData)
        {
            // Spot level
            Handle <Quote> spotLevel = new Handle <Quote>(new SimpleQuote(marketData.impliedSpot));

            // Risk free rate (term structure)
            Handle <YieldTermStructure> riskFreeTS = marketData.riskFree_FwdCrv();

            // Dividend yield (term structure)
            Handle <YieldTermStructure> dividendTS = marketData.dividend_FwdCrv();

            // Volatility ATM Forward (term structure)
            BlackVarianceCurve             atmf_vol_curve = marketData.ATMF_Vol_TS(d);
            Handle <BlackVolTermStructure> volatilityTS   = new Handle <BlackVolTermStructure>(atmf_vol_curve);

            // Return
            return(new GeneralizedBlackScholesProcess(spotLevel, dividendTS, riskFreeTS, volatilityTS));
        }