Package org.jquantlib.termstructures

Examples of org.jquantlib.termstructures.BlackVolTermStructure.blackVariance()


        strike = underlyingLevel;
        y = Math.log(strike / forwardValue);
        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

 
View Full Code Here


        y = Math.log(strike / forwardValue);
        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

        // time derivative
View Full Code Here

        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

        // time derivative
        /*@Time*/ final double t = time;
View Full Code Here

        /*@Time*/ final double t = time;
        /*@Time*/ double dt;
        double wpt, wmt, dwdt;
        if (t == 0.0) {
            dt = 0.0001;
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
            QL.require(wpt >= w , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - w) / dt;
        } else {
            dt = Math.min(0.0001, t / 2.0);
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
View Full Code Here

            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
            QL.require(wpt >= w , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - w) / dt;
        } else {
            dt = Math.min(0.0001, t / 2.0);
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
            wmt = bTS.blackVariance(/*@Time*/ (t - dt), strike, true);
            QL.ensure(wpt >= w , "decreasing variance at strike"); // TODO: message
            QL.ensure(w >= wmt , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - wmt) / (2.0 * dt);
        }
View Full Code Here

            QL.require(wpt >= w , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - w) / dt;
        } else {
            dt = Math.min(0.0001, t / 2.0);
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
            wmt = bTS.blackVariance(/*@Time*/ (t - dt), strike, true);
            QL.ensure(wpt >= w , "decreasing variance at strike"); // TODO: message
            QL.ensure(w >= wmt , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - wmt) / (2.0 * dt);
        }

View Full Code Here

        strike = underlyingLevel;
        y = Math.log(strike / forwardValue);
        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

 
View Full Code Here

        y = Math.log(strike / forwardValue);
        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

        // time derivative
View Full Code Here

        dy = ((y != 0.0) ? y * 0.000001 : 0.000001);
        strikep = strike * Math.exp(dy);
        strikem = strike / Math.exp(dy);
        w = bTS.blackVariance(time,  strike, true);
        wp = bTS.blackVariance(time, strikep, true);
        wm = bTS.blackVariance(time, strikem, true);
        dwdy = (wp - wm) / (2.0 * dy);
        d2wdy2 = (wp - 2.0 * w + wm) / (dy * dy);

        // time derivative
        /*@Time*/ final double t = time;
View Full Code Here

        /*@Time*/ final double t = time;
        /*@Time*/ double dt;
        double wpt, wmt, dwdt;
        if (t == 0.0) {
            dt = 0.0001;
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
            QL.require(wpt >= w , "decreasing variance at strike"); // TODO: message
            dwdt = (wpt - w) / dt;
        } else {
            dt = Math.min(0.0001, t / 2.0);
            wpt = bTS.blackVariance(/*@Time*/ (t + dt), strike, true);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.