/** * Obtains an identifier used to find bond future volatilities. * * @param name the name * @return an identifier for the volatilities */ public static BondFutureVolatilitiesId of(String name) { return new BondFutureVolatilitiesId(BondFutureVolatilitiesName.of(name)); }
/** * Obtains an instance from the specified name. * <p> * Names may contain any character, but must not be empty. * * @param name the name * @return the name instance */ @FromString public static BondFutureVolatilitiesName of(String name) { return new BondFutureVolatilitiesName(name); }
@Override public int compareKey(PointSensitivity other) { if (other instanceof BondFutureOptionSensitivity) { BondFutureOptionSensitivity otherOption = (BondFutureOptionSensitivity) other; return ComparisonChain.start() .compare(volatilitiesName.toString(), otherOption.volatilitiesName.toString()) .compare(expiry, otherOption.expiry) .compare(futureExpiryDate, otherOption.futureExpiryDate) .compare(strikePrice, otherOption.strikePrice) .compare(futurePrice, otherOption.futurePrice) .compare(currency, otherOption.currency) .result(); } return getClass().getSimpleName().compareTo(other.getClass().getSimpleName()); }
@Override public CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities) { CurrencyParameterSensitivities sens = CurrencyParameterSensitivities.empty(); for (PointSensitivity point : pointSensitivities.getSensitivities()) { if (point instanceof BondFutureOptionSensitivity) { BondFutureOptionSensitivity pt = (BondFutureOptionSensitivity) point; if (pt.getVolatilitiesName().equals(getName())) { sens = sens.combinedWith(parameterSensitivity(pt)); } } } return sens; }
@Override public BondFutureVolatilitiesName getName() { return BondFutureVolatilitiesName.of(surface.getName().getName()); }
public void coverage() { BondFutureOptionSensitivity test1 = BondFutureOptionSensitivity.of( NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); coverImmutableBean(test1); BondFutureOptionSensitivity test2 = BondFutureOptionSensitivity.of( BondFutureVolatilitiesName.of("FOO-BOND-FUT"), OPTION_EXPIRY + 1, date(2015, 9, 28), 0.985, 0.995, USD, SENSITIVITY); coverBeanEquals(test1, test2); }
BondFutureOptionSensitivity a2 = BondFutureOptionSensitivity.of( NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); BondFutureOptionSensitivity b = BondFutureOptionSensitivity.of(BondFutureVolatilitiesName.of("FOO-BOND-FUT"), OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); BondFutureOptionSensitivity c = BondFutureOptionSensitivity.of(