//------------------------------------------------------------------------- public virtual void test_compareKey() { BondFutureOptionSensitivity a1 = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); 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(NAME, OPTION_EXPIRY + 1, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); BondFutureOptionSensitivity d = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, date(2015, 9, 28), STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); BondFutureOptionSensitivity e = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, FUTURE_EXPIRY, 0.995, FUTURE_PRICE, GBP, SENSITIVITY); BondFutureOptionSensitivity f = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, 0.975, GBP, SENSITIVITY); BondFutureOptionSensitivity g = BondFutureOptionSensitivity.of(NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, USD, SENSITIVITY); ZeroRateSensitivity other = ZeroRateSensitivity.of(GBP, 2d, 32d); assertEquals(a1.compareKey(a2), 0); assertEquals(a1.compareKey(b) > 0, true); assertEquals(b.compareKey(a1) < 0, true); assertEquals(a1.compareKey(c) < 0, true); assertEquals(c.compareKey(a1) > 0, true); assertEquals(a1.compareKey(d) < 0, true); assertEquals(d.compareKey(a1) > 0, true); assertEquals(a1.compareKey(e) < 0, true); assertEquals(e.compareKey(a1) > 0, true); assertEquals(a1.compareKey(f) > 0, true); assertEquals(f.compareKey(a1) < 0, true); assertEquals(a1.compareKey(g) < 0, true); assertEquals(g.compareKey(a1) > 0, true); assertEquals(a1.compareKey(other) < 0, true); assertEquals(other.compareKey(a1) > 0, true); }
//------------------------------------------------------------------------- public virtual 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); }
private BondFutureOptionSensitivity(BondFutureVolatilitiesName volatilitiesName, double expiry, LocalDate futureExpiryDate, double strikePrice, double futurePrice, Currency currency, double sensitivity) { JodaBeanUtils.notNull(volatilitiesName, "volatilitiesName"); JodaBeanUtils.notNull(expiry, "expiry"); JodaBeanUtils.notNull(futureExpiryDate, "futureExpiryDate"); JodaBeanUtils.notNull(currency, "currency"); this.volatilitiesName = volatilitiesName; this.expiry = expiry; this.futureExpiryDate = futureExpiryDate; this.strikePrice = strikePrice; this.futurePrice = futurePrice; this.currency = currency; this.sensitivity = sensitivity; }
public override Builder set(string propertyName, object newValue) { switch (propertyName.GetHashCode()) { case 2100884654: // volatilitiesName this.volatilitiesName = (BondFutureVolatilitiesName)newValue; break; case -1289159373: // expiry this.expiry = (double?)newValue.Value; break; case -1119821404: // futureExpiryDate this.futureExpiryDate = (LocalDate)newValue; break; case 50946231: // strikePrice this.strikePrice = (double?)newValue.Value; break; case -518499002: // futurePrice this.futurePrice = (double?)newValue.Value; break; case 575402001: // currency this.currency = (Currency)newValue; break; case 564403871: // sensitivity this.sensitivity = (double?)newValue.Value; break; default: throw new NoSuchElementException("Unknown property: " + propertyName); } return(this); }
//------------------------------------------------------------------------- /// <summary> /// Obtains an instance based on the security ID. /// </summary> /// <param name="volatilitiesName"> the name of the volatilities </param> /// <param name="expiry"> the time to expiry of the option as a year fraction </param> /// <param name="futureExpiryDate"> the expiry date of the underlying future </param> /// <param name="strikePrice"> the strike price of the option </param> /// <param name="futurePrice"> the price of the underlying future </param> /// <param name="sensitivityCurrency"> the currency of the sensitivity </param> /// <param name="sensitivity"> the value of the sensitivity </param> /// <returns> the point sensitivity object </returns> public static BondFutureOptionSensitivity of(BondFutureVolatilitiesName volatilitiesName, double expiry, LocalDate futureExpiryDate, double strikePrice, double futurePrice, Currency sensitivityCurrency, double sensitivity) { return(new BondFutureOptionSensitivity(volatilitiesName, expiry, futureExpiryDate, strikePrice, futurePrice, sensitivityCurrency, sensitivity)); }
/// <summary> /// Obtains an identifier used to find bond future volatilities. /// </summary> /// <param name="name"> the name </param> /// <returns> an identifier for the volatilities </returns> public static BondFutureVolatilitiesId of(BondFutureVolatilitiesName name) { return(new BondFutureVolatilitiesId(name)); }
//------------------------------------------------------------------------- /// <summary> /// Obtains an identifier used to find bond future volatilities. /// </summary> /// <param name="name"> the name </param> /// <returns> an identifier for the volatilities </returns> public static BondFutureVolatilitiesId of(string name) { return(new BondFutureVolatilitiesId(BondFutureVolatilitiesName.of(name))); }
private BondFutureVolatilitiesId(BondFutureVolatilitiesName name) { JodaBeanUtils.notNull(name, "name"); this.name = name; }