Class IborCapFloorTradeCalculations
- java.lang.Object
-
- com.opengamma.strata.measure.capfloor.IborCapFloorTradeCalculations
-
public class IborCapFloorTradeCalculations extends Object
Calculates pricing and risk measures for cap/floor trades.This provides a high-level entry point for cap/floor pricing and risk measures.
Each method takes a
ResolvedIborCapFloorTrade
, whereas application code will typically work withIborCapFloorTrade
. CallCapFloorTrade::resolve(ReferenceData)
to convertCapFloorTrade
toResolvedIborCapFloorTrade
.
-
-
Field Summary
Fields Modifier and Type Field Description static IborCapFloorTradeCalculations
DEFAULT
Default implementation.
-
Constructor Summary
Constructors Constructor Description IborCapFloorTradeCalculations(VolatilityIborCapFloorTradePricer tradePricer)
Creates an instance.
-
Method Summary
-
-
-
Field Detail
-
DEFAULT
public static final IborCapFloorTradeCalculations DEFAULT
Default implementation.
-
-
Constructor Detail
-
IborCapFloorTradeCalculations
public IborCapFloorTradeCalculations(VolatilityIborCapFloorTradePricer tradePricer)
Creates an instance.In most cases, applications should use the
DEFAULT
instance.- Parameters:
tradePricer
- the pricer forResolvedIborCapFloorTrade
-
-
Method Detail
-
presentValue
public MultiCurrencyScenarioArray presentValue(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates present value across one or more scenarios.- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the present value, one entry per scenario
-
presentValue
public MultiCurrencyAmount presentValue(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates present value for a single set of market data.- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the present value
-
pv01RatesCalibratedSum
public MultiCurrencyScenarioArray pv01RatesCalibratedSum(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.This is the sensitivity of present value to a one basis point shift in the calibrated curves. The result is the sum of the sensitivities of all affected curves.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesCalibratedSum
public MultiCurrencyAmount pv01RatesCalibratedSum(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates present value sensitivity for a single set of market data.This is the sensitivity of present value to a one basis point shift in the calibrated curves. The result is the sum of the sensitivities of all affected curves.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the present value sensitivity
-
pv01RatesCalibratedBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01RatesCalibratedBucketed(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.This is the sensitivity of present value to a one basis point shift in the calibrated curves. The result is provided for each affected curve and currency, bucketed by curve node.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesCalibratedBucketed
public CurrencyParameterSensitivities pv01RatesCalibratedBucketed(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates present value sensitivity for a single set of market data.This is the sensitivity of present value to a one basis point shift in the calibrated curves. The result is provided for each affected curve and currency, bucketed by curve node.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the present value sensitivity
-
pv01RatesMarketQuoteSum
public MultiCurrencyScenarioArray pv01RatesMarketQuoteSum(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.This is the sensitivity of present value to a one basis point shift in the market quotes used to calibrate the curves. The result is the sum of the sensitivities of all affected curves.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesMarketQuoteSum
public MultiCurrencyAmount pv01RatesMarketQuoteSum(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates present value sensitivity for a single set of market data.This is the sensitivity of present value to a one basis point shift in the market quotes used to calibrate the curves. The result is the sum of the sensitivities of all affected curves.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the present value sensitivity
-
pv01RatesMarketQuoteBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01RatesMarketQuoteBucketed(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.This is the sensitivity of present value to a one basis point shift in the market quotes used to calibrate the curves. The result is provided for each affected curve and currency, bucketed by curve node.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datamarketData
- the market datacapFloorLookup
- the lookup used to query the cap/floor market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesMarketQuoteBucketed
public CurrencyParameterSensitivities pv01RatesMarketQuoteBucketed(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates present value sensitivity for a single set of market data.This is the sensitivity of present value to a one basis point shift in the market quotes used to calibrate the curves. The result is provided for each affected curve and currency, bucketed by curve node.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the present value sensitivity
-
currencyExposure
public MultiCurrencyScenarioArray currencyExposure(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates currency exposure across one or more scenarios.The currency risk, expressed as the equivalent amount in each currency.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the currency exposure, one entry per scenario
-
currencyExposure
public MultiCurrencyAmount currencyExposure(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates currency exposure for a single set of market data.The currency risk, expressed as the equivalent amount in each currency.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the currency exposure
-
currentCash
public MultiCurrencyScenarioArray currentCash(ResolvedIborCapFloorTrade trade, RatesMarketDataLookup ratesLookup, IborCapFloorMarketDataLookup capFloorLookup, ScenarioMarketData marketData)
Calculates current cash across one or more scenarios.The sum of all cash flows paid on the valuation date.
- Parameters:
trade
- the traderatesLookup
- the lookup used to query the market datacapFloorLookup
- the lookup used to query the cap/floor market datamarketData
- the market data- Returns:
- the current cash, one entry per scenario
-
currentCash
public MultiCurrencyAmount currentCash(ResolvedIborCapFloorTrade trade, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
Calculates current cash for a single set of market data.The sum of all cash flows paid on the valuation date.
- Parameters:
trade
- the traderatesProvider
- the market datavolatilities
- the cap/floor volatilities- Returns:
- the current cash
-
-