/** * Converts this sensitivity to an {@code FxForwardSensitivity}. * <p> * The time series, fixing date and FX index are lost by this conversion. * Instead, maturity date and currency pair are contained in {@link FxForwardSensitivity}. * * @return the FX forward sensitivity */ public FxForwardSensitivity toFxForwardSensitivity() { return FxForwardSensitivity.of( observation.getCurrencyPair(), referenceCurrency, observation.getMaturityDate(), currency, sensitivity); }
public void test_of() { FxIndexObservation test = FxIndexObservation.of(GBP_USD_WM, FIXING_DATE, REF_DATA); assertEquals(test.getIndex(), GBP_USD_WM); assertEquals(test.getFixingDate(), FIXING_DATE); assertEquals(test.getMaturityDate(), MATURITY_DATE); assertEquals(test.getCurrencyPair(), GBP_USD_WM.getCurrencyPair()); assertEquals(test.toString(), "FxIndexObservation[GBP/USD-WM on 2016-02-22]"); }
/** * Obtains an instance from the observation, reference currency and sensitivity value. * <p> * The sensitivity currency is defaulted to be the counter currency of queried currency pair. * * @param observation the rate observation, including the fixing date * @param referenceCurrency the reference currency * @param sensitivity the value of the sensitivity * @return the point sensitivity object */ public static FxIndexSensitivity of(FxIndexObservation observation, Currency referenceCurrency, double sensitivity) { CurrencyPair obsPair = observation.getCurrencyPair(); boolean inverse = referenceCurrency.equals(obsPair.getCounter()); CurrencyPair queriedPair = inverse ? obsPair.inverse() : obsPair; Currency sensiCurrency = queriedPair.getCounter(); return new FxIndexSensitivity(observation, referenceCurrency, sensiCurrency, sensitivity); }