//-------------------------------------------------------------------------
        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);
        }
コード例 #3
0
 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;
 }
コード例 #4
0
            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);
            }
コード例 #5
0
 //-------------------------------------------------------------------------
 /// <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));
 }
コード例 #6
0
 /// <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));
 }
コード例 #7
0
 //-------------------------------------------------------------------------
 /// <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)));
 }
コード例 #8
0
 private BondFutureVolatilitiesId(BondFutureVolatilitiesName name)
 {
     JodaBeanUtils.notNull(name, "name");
     this.name = name;
 }