Class CmsTradeCalculations
- java.lang.Object
-
- com.opengamma.strata.measure.cms.CmsTradeCalculations
-
public class CmsTradeCalculations extends Object
Calculates pricing and risk measures for constant maturity swap (CMS) trades.This provides a high-level entry point for CMS pricing and risk measures. CMS pricing uses swaption volatilities with the SABR model. Additional model parameters must be specified using
CmsSabrExtrapolationParams.Each method takes a
ResolvedCmsTrade, whereas application code will typically work withCmsTrade. CallCmsTrade::resolve(ReferenceData)to convertCmsTradetoResolvedCmsTrade.
-
-
Constructor Summary
Constructors Constructor Description CmsTradeCalculations(SabrExtrapolationReplicationCmsTradePricer tradePricer)Creates an instance specifying the SABR pricer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiCurrencyScenarioArraycurrencyExposure(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates currency exposure across one or more scenarios.MultiCurrencyAmountcurrencyExposure(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates currency exposure for a single set of market data.MultiCurrencyScenarioArraycurrentCash(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates current cash across one or more scenarios.MultiCurrencyAmountcurrentCash(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates current cash for a single set of market data.static CmsTradeCalculationsof(CmsSabrExtrapolationParams cmsParams)Obtains an instance specifying the SABR extrapolation parameters.MultiCurrencyScenarioArraypresentValue(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates present value across one or more scenarios.MultiCurrencyAmountpresentValue(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates present value for a single set of market data.ScenarioArray<CurrencyParameterSensitivities>pv01RatesCalibratedBucketed(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates present value sensitivity across one or more scenarios.CurrencyParameterSensitivitiespv01RatesCalibratedBucketed(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates present value sensitivity for a single set of market data.MultiCurrencyScenarioArraypv01RatesCalibratedSum(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates present value sensitivity across one or more scenarios.MultiCurrencyAmountpv01RatesCalibratedSum(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates present value sensitivity for a single set of market data.ScenarioArray<CurrencyParameterSensitivities>pv01RatesMarketQuoteBucketed(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates present value sensitivity across one or more scenarios.CurrencyParameterSensitivitiespv01RatesMarketQuoteBucketed(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates present value sensitivity for a single set of market data.MultiCurrencyScenarioArraypv01RatesMarketQuoteSum(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)Calculates present value sensitivity across one or more scenarios.MultiCurrencyAmountpv01RatesMarketQuoteSum(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)Calculates present value sensitivity for a single set of market data.
-
-
-
Constructor Detail
-
CmsTradeCalculations
public CmsTradeCalculations(SabrExtrapolationReplicationCmsTradePricer tradePricer)
Creates an instance specifying the SABR pricer.- Parameters:
tradePricer- the pricer forResolvedCmsTrade
-
-
Method Detail
-
of
public static CmsTradeCalculations of(CmsSabrExtrapolationParams cmsParams)
Obtains an instance specifying the SABR extrapolation parameters.- Parameters:
cmsParams- the parameters for SABR pricing of CMS- Returns:
- the trade calculations
-
presentValue
public MultiCurrencyScenarioArray presentValue(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, ScenarioMarketData marketData)
Calculates present value across one or more scenarios.- Parameters:
trade- the traderatesLookup- the lookup used to query the market dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the present value, one entry per scenario
-
presentValue
public MultiCurrencyAmount presentValue(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities volatilities)
Calculates present value for a single set of market data.- Parameters:
trade- the traderatesProvider- the market datavolatilities- the swaption volatilities- Returns:
- the present value
-
pv01RatesCalibratedSum
public MultiCurrencyScenarioArray pv01RatesCalibratedSum(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesCalibratedSum
public MultiCurrencyAmount pv01RatesCalibratedSum(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the present value sensitivity
-
pv01RatesCalibratedBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01RatesCalibratedBucketed(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesCalibratedBucketed
public CurrencyParameterSensitivities pv01RatesCalibratedBucketed(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the present value sensitivity
-
pv01RatesMarketQuoteSum
public MultiCurrencyScenarioArray pv01RatesMarketQuoteSum(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesMarketQuoteSum
public MultiCurrencyAmount pv01RatesMarketQuoteSum(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the present value sensitivity
-
pv01RatesMarketQuoteBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01RatesMarketQuoteBucketed(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01RatesMarketQuoteBucketed
public CurrencyParameterSensitivities pv01RatesMarketQuoteBucketed(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the present value sensitivity
-
currencyExposure
public MultiCurrencyScenarioArray currencyExposure(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the currency exposure, one entry per scenario
-
currencyExposure
public MultiCurrencyAmount currencyExposure(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the currency exposure
-
currentCash
public MultiCurrencyScenarioArray currentCash(ResolvedCmsTrade trade, RatesMarketDataLookup ratesLookup, SwaptionMarketDataLookup swaptionLookup, 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 dataswaptionLookup- the lookup used to query the swaption market datamarketData- the market data- Returns:
- the current cash, one entry per scenario
-
currentCash
public MultiCurrencyAmount currentCash(ResolvedCmsTrade trade, RatesProvider ratesProvider, SwaptionVolatilities 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 swaption volatilities- Returns:
- the current cash
-
-