Esempio n. 1
0
        // calibrated sum PV01 for one scenario
        internal MultiCurrencyAmount pv01CalibratedSum(ResolvedIborFutureOptionTrade trade, RatesProvider ratesProvider, IborFutureOptionVolatilities volatilities)
        {
            NormalIborFutureOptionVolatilities normalVols = checkNormalVols(volatilities);
            PointSensitivities pointSensitivity           = tradePricer.presentValueSensitivityRates(trade, ratesProvider, normalVols);

            return(ratesProvider.parameterSensitivity(pointSensitivity).total().multipliedBy(ONE_BASIS_POINT));
        }
Esempio n. 2
0
        // unit price for one scenario
        internal double unitPrice(ResolvedIborFutureOptionTrade trade, RatesProvider ratesProvider, IborFutureOptionVolatilities volatilities)
        {
            // mark to model
            NormalIborFutureOptionVolatilities normalVols = checkNormalVols(volatilities);

            return(tradePricer.price(trade, ratesProvider, normalVols));
        }
Esempio n. 3
0
        // present value for one scenario
        internal CurrencyAmount presentValue(ResolvedIborFutureOptionTrade trade, RatesProvider ratesProvider, IborFutureOptionVolatilities volatilities)
        {
            // mark to model
            double settlementPrice = this.settlementPrice(trade, ratesProvider);
            NormalIborFutureOptionVolatilities normalVols = checkNormalVols(volatilities);

            return(tradePricer.presentValue(trade, ratesProvider, normalVols, settlementPrice));
        }
Esempio n. 4
0
        // market quote bucketed PV01 for one scenario
        internal CurrencyParameterSensitivities pv01MarketQuoteBucketed(ResolvedIborFutureOptionTrade trade, RatesProvider ratesProvider, IborFutureOptionVolatilities volatilities)
        {
            NormalIborFutureOptionVolatilities normalVols       = checkNormalVols(volatilities);
            PointSensitivities             pointSensitivity     = tradePricer.presentValueSensitivityRates(trade, ratesProvider, normalVols);
            CurrencyParameterSensitivities parameterSensitivity = ratesProvider.parameterSensitivity(pointSensitivity);

            return(MARKET_QUOTE_SENS.sensitivity(parameterSensitivity, ratesProvider).multipliedBy(ONE_BASIS_POINT));
        }