Class FraTradeCalculations
- java.lang.Object
-
- com.opengamma.strata.measure.fra.FraTradeCalculations
-
public class FraTradeCalculations extends Object
Calculates pricing and risk measures for forward rate agreement (FRA) trades.This provides a high-level entry point for FRA pricing and risk measures.
Each method takes a
ResolvedFraTrade
, whereas application code will typically work withFraTrade
. CallFraTrade::resolve(ReferenceData)
to convertFraTrade
toResolvedFraTrade
.
-
-
Field Summary
Fields Modifier and Type Field Description static FraTradeCalculations
DEFAULT
Default implementation.
-
Constructor Summary
Constructors Constructor Description FraTradeCalculations(DiscountingFraTradePricer tradePricer)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ScenarioArray<CashFlows>
cashFlows(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates cash flows across one or more scenarios.CashFlows
cashFlows(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates cash flows for a single set of market data.MultiCurrencyScenarioArray
currencyExposure(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates currency exposure across one or more scenarios.MultiCurrencyAmount
currencyExposure(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates currency exposure for a single set of market data.CurrencyScenarioArray
currentCash(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates current cash across one or more scenarios.CurrencyAmount
currentCash(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates current cash for a single set of market data.ScenarioArray<ExplainMap>
explainPresentValue(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Explains the present value calculation across one or more scenarios.ExplainMap
explainPresentValue(ResolvedFraTrade trade, RatesProvider ratesProvider)
Explains the present value calculation for a single set of market data.DoubleScenarioArray
parRate(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates par rate across one or more scenarios.double
parRate(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates par rate for a single set of market data.DoubleScenarioArray
parSpread(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates par spread across one or more scenarios.double
parSpread(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates par spread for a single set of market data.CurrencyScenarioArray
presentValue(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value across one or more scenarios.CurrencyAmount
presentValue(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value for a single set of market data.ScenarioArray<CurrencyParameterSensitivities>
pv01CalibratedBucketed(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.CurrencyParameterSensitivities
pv01CalibratedBucketed(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value sensitivity for a single set of market data.MultiCurrencyScenarioArray
pv01CalibratedSum(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.MultiCurrencyAmount
pv01CalibratedSum(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value sensitivity for a single set of market data.ScenarioArray<CurrencyParameterSensitivities>
pv01MarketQuoteBucketed(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.CurrencyParameterSensitivities
pv01MarketQuoteBucketed(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value sensitivity for a single set of market data.MultiCurrencyScenarioArray
pv01MarketQuoteSum(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value sensitivity across one or more scenarios.MultiCurrencyAmount
pv01MarketQuoteSum(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value sensitivity for a single set of market data.
-
-
-
Field Detail
-
DEFAULT
public static final FraTradeCalculations DEFAULT
Default implementation.
-
-
Constructor Detail
-
FraTradeCalculations
public FraTradeCalculations(DiscountingFraTradePricer tradePricer)
Creates an instance.In most cases, applications should use the
DEFAULT
instance.- Parameters:
tradePricer
- the pricer forResolvedFraTrade
-
-
Method Detail
-
presentValue
public CurrencyScenarioArray presentValue(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates present value across one or more scenarios.- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value, one entry per scenario
-
presentValue
public CurrencyAmount presentValue(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates present value for a single set of market data.- Parameters:
trade
- the traderatesProvider
- the market data- Returns:
- the present value
-
explainPresentValue
public ScenarioArray<ExplainMap> explainPresentValue(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Explains the present value calculation across one or more scenarios.This provides a breakdown of how present value was calculated, typically used for debugging and validation.
- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value explanation, one entry per scenario
-
explainPresentValue
public ExplainMap explainPresentValue(ResolvedFraTrade trade, RatesProvider ratesProvider)
Explains the present value calculation for a single set of market data.This provides a breakdown of how present value was calculated, typically used for debugging and validation.
- Parameters:
trade
- the traderatesProvider
- the market data- Returns:
- the present value explanation
-
pv01CalibratedSum
public MultiCurrencyScenarioArray pv01CalibratedSum(ResolvedFraTrade trade, RatesMarketDataLookup lookup, 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 tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01CalibratedSum
public MultiCurrencyAmount pv01CalibratedSum(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the present value sensitivity
-
pv01CalibratedBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01CalibratedBucketed(ResolvedFraTrade trade, RatesMarketDataLookup lookup, 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 tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01CalibratedBucketed
public CurrencyParameterSensitivities pv01CalibratedBucketed(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the present value sensitivity
-
pv01MarketQuoteSum
public MultiCurrencyScenarioArray pv01MarketQuoteSum(ResolvedFraTrade trade, RatesMarketDataLookup lookup, 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 tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01MarketQuoteSum
public MultiCurrencyAmount pv01MarketQuoteSum(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the present value sensitivity
-
pv01MarketQuoteBucketed
public ScenarioArray<CurrencyParameterSensitivities> pv01MarketQuoteBucketed(ResolvedFraTrade trade, RatesMarketDataLookup lookup, 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 tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the present value sensitivity, one entry per scenario
-
pv01MarketQuoteBucketed
public CurrencyParameterSensitivities pv01MarketQuoteBucketed(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the present value sensitivity
-
parRate
public DoubleScenarioArray parRate(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates par rate across one or more scenarios.- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the par rate, one entry per scenario
-
parRate
public double parRate(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates par rate for a single set of market data.- Parameters:
trade
- the traderatesProvider
- the market data- Returns:
- the par rate
-
parSpread
public DoubleScenarioArray parSpread(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates par spread across one or more scenarios.- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the par spread, one entry per scenario
-
parSpread
public double parSpread(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates par spread for a single set of market data.- Parameters:
trade
- the traderatesProvider
- the market data- Returns:
- the par spread
-
cashFlows
public ScenarioArray<CashFlows> cashFlows(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates cash flows across one or more scenarios.The cash flows provide details about the payments of the trade.
- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the cash flows, one entry per scenario
-
cashFlows
public CashFlows cashFlows(ResolvedFraTrade trade, RatesProvider ratesProvider)
Calculates cash flows for a single set of market data.The cash flows provide details about the payments of the trade.
- Parameters:
trade
- the traderatesProvider
- the market data- Returns:
- the cash flows
-
currencyExposure
public MultiCurrencyScenarioArray currencyExposure(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates currency exposure across one or more scenarios.The currency risk, expressed as the equivalent amount in each currency.
- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the currency exposure, one entry per scenario
-
currencyExposure
public MultiCurrencyAmount currencyExposure(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the currency exposure
-
currentCash
public CurrencyScenarioArray currentCash(ResolvedFraTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData)
Calculates current cash across one or more scenarios.The sum of all cash flows paid on the valuation date.
- Parameters:
trade
- the tradelookup
- the lookup used to query the market datamarketData
- the market data- Returns:
- the current cash, one entry per scenario
-
currentCash
public CurrencyAmount currentCash(ResolvedFraTrade trade, RatesProvider ratesProvider)
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 data- Returns:
- the current cash
-
-