public class BlackFxSingleBarrierOptionProductPricer extends Object
This function provides the ability to price an ResolvedFxSingleBarrierOption.
All the computation is based on the counter currency of the underlying FX transaction. For example, price, PV and risk measures of the product will be expressed in USD for an option on EUR/USD.
| Modifier and Type | Field and Description |
|---|---|
static BlackFxSingleBarrierOptionProductPricer |
DEFAULT
Default implementation.
|
| Constructor and Description |
|---|
BlackFxSingleBarrierOptionProductPricer()
Creates an instance.
|
| Modifier and Type | Method and Description |
|---|---|
MultiCurrencyAmount |
currencyExposure(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the currency exposure of the FX barrier option product.
|
double |
delta(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the delta of the FX barrier option product.
|
FxRate |
forwardFxRate(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider)
Calculates the forward exchange rate.
|
double |
gamma(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the gamma of the FX barrier option product.
|
double |
impliedVolatility(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the implied Black volatility of the FX barrier option product.
|
CurrencyAmount |
presentValue(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the present value of the FX barrier option product.
|
CurrencyAmount |
presentValueDelta(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the present value delta of the FX barrier option product.
|
CurrencyAmount |
presentValueGamma(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the present value gamma of the FX barrier option product.
|
PointSensitivityBuilder |
presentValueSensitivityModelParamsVolatility(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Computes the present value sensitivity to the black volatility used in the pricing.
|
PointSensitivityBuilder |
presentValueSensitivityRatesStickyStrike(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the present value sensitivity of the FX barrier option product.
|
CurrencyAmount |
presentValueTheta(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the present value theta of the FX barrier option product.
|
double |
price(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the price of the FX barrier option product.
|
double |
theta(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the theta of the FX barrier option product.
|
double |
vega(ResolvedFxSingleBarrierOption option,
RatesProvider ratesProvider,
BlackFxOptionVolatilities volatilities)
Calculates the vega of the FX barrier option product.
|
public static final BlackFxSingleBarrierOptionProductPricer DEFAULT
public BlackFxSingleBarrierOptionProductPricer()
public CurrencyAmount presentValue(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The present value of the product is the value on the valuation date. It is expressed in the counter currency.
The volatility used in this computation is the Black implied volatility at expiry time and strike.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic double price(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The price of the product is the value on the valuation date for one unit of the base currency
and is expressed in the counter currency. The price does not take into account the long/short flag.
See presentValue(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) for scaling and currency.
The volatility used in this computation is the Black implied volatility at expiry time and strike.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic PointSensitivityBuilder presentValueSensitivityRatesStickyStrike(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The present value sensitivity of the product is the sensitivity of presentValue(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) to
the underlying curves.
The volatility is fixed in this sensitivity computation, i.e., sticky-strike.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic CurrencyAmount presentValueDelta(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The present value delta is the first derivative of presentValue(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to spot.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic double delta(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The delta is the first derivative of price(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to spot.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic CurrencyAmount presentValueGamma(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The present value gamma is the second derivative of presentValue(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to spot.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic double gamma(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The delta is the second derivative of price(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to spot.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic PointSensitivityBuilder presentValueSensitivityModelParamsVolatility(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The result is a single sensitivity to the volatility used. This is also called Black vega.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic double vega(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The delta is the first derivative of price(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to Black volatility.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic CurrencyAmount presentValueTheta(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The present value theta is the negative of the first derivative of presentValue(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with time parameter.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic double theta(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
The theta is the negative of the first derivative of price(com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption, com.opengamma.strata.pricer.rate.RatesProvider, com.opengamma.strata.pricer.fxopt.BlackFxOptionVolatilities) with respect to time parameter.
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerpublic FxRate forwardFxRate(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider)
option - the option productratesProvider - the rates providerpublic double impliedVolatility(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerIllegalArgumentException - if the option has expiredpublic MultiCurrencyAmount currencyExposure(ResolvedFxSingleBarrierOption option, RatesProvider ratesProvider, BlackFxOptionVolatilities volatilities)
option - the option productratesProvider - the rates providervolatilities - the Black volatility providerCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.