示例#1
0
 private ResolvedSwaptionTrade(TradeInfo info, ResolvedSwaption product, Payment premium)
 {
     JodaBeanUtils.notNull(product, "product");
     JodaBeanUtils.notNull(premium, "premium");
     this.info    = info;
     this.product = product;
     this.premium = premium;
 }
        //-------------------------------------------------------------------------
        public virtual void test_resolve()
        {
            Swaption         @base = sut();
            ResolvedSwaption test  = @base.resolve(REF_DATA);

            assertEquals(test.Expiry, ADJUSTMENT.adjust(EXPIRY_DATE, REF_DATA).atTime(EXPIRY_TIME).atZone(ZONE));
            assertEquals(test.LongShort, LONG);
            assertEquals(test.SwaptionSettlement, PHYSICAL_SETTLE);
            assertEquals(test.Underlying, SWAP.resolve(REF_DATA));
        }
示例#3
0
        //-------------------------------------------------------------------------
        public virtual void test_builder()
        {
            ResolvedSwaption test = sut();

            assertEquals(test.ExpiryDate, EXPIRY.toLocalDate());
            assertEquals(test.Expiry, EXPIRY);
            assertEquals(test.LongShort, LONG);
            assertEquals(test.SwaptionSettlement, PHYSICAL_SETTLE);
            assertEquals(test.Underlying, SWAP);
            assertEquals(test.Currency, USD);
            assertEquals(test.Index, USD_LIBOR_3M);
        }
 public override bool Equals(object obj)
 {
     if (obj == this)
     {
         return(true);
     }
     if (obj != null && obj.GetType() == this.GetType())
     {
         ResolvedSwaption other = (ResolvedSwaption)obj;
         return(JodaBeanUtils.equal(longShort, other.longShort) && JodaBeanUtils.equal(swaptionSettlement, other.swaptionSettlement) && JodaBeanUtils.equal(expiry, other.expiry) && JodaBeanUtils.equal(underlying, other.underlying));
     }
     return(false);
 }
示例#5
0
            public override Builder set(string propertyName, object newValue)
            {
                switch (propertyName.GetHashCode())
                {
                case 3237038:         // info
                    this.info_Renamed = (TradeInfo)newValue;
                    break;

                case -309474065:         // product
                    this.product_Renamed = (ResolvedSwaption)newValue;
                    break;

                case -318452137:         // premium
                    this.premium_Renamed = (Payment)newValue;
                    break;

                default:
                    throw new NoSuchElementException("Unknown property: " + propertyName);
                }
                return(this);
            }
示例#6
0
 internal static ResolvedSwaption sut2()
 {
     return(ResolvedSwaption.builder().expiry(EXPIRY.plusHours(1)).longShort(SHORT).swaptionSettlement(CASH_SETTLE).underlying(FixedIborSwapConventions.USD_FIXED_6M_LIBOR_3M.createTrade(LocalDate.of(2014, 6, 10), Tenor.TENOR_10Y, BuySell.BUY, 1d, FIXED_RATE, REF_DATA).Product.resolve(REF_DATA)).build());
 }
示例#7
0
 //-------------------------------------------------------------------------
 internal static ResolvedSwaption sut()
 {
     return(ResolvedSwaption.builder().expiry(EXPIRY).longShort(LONG).swaptionSettlement(PHYSICAL_SETTLE).underlying(SWAP).build());
 }
示例#8
0
 //-------------------------------------------------------------------------
 /// <summary>
 /// Obtains an instance of a resolved Swaption trade.
 /// </summary>
 /// <param name="info">  the trade info </param>
 /// <param name="product">  the product </param>
 /// <param name="premium">  the premium </param>
 /// <returns> the resolved trade </returns>
 public static ResolvedSwaptionTrade of(TradeInfo info, ResolvedSwaption product, Payment premium)
 {
     return(new ResolvedSwaptionTrade(info, product, premium));
 }
示例#9
0
 /// <summary>
 /// Sets the resolved Swaption product.
 /// <para>
 /// The product captures the contracted financial details of the trade.
 /// </para>
 /// </summary>
 /// <param name="product">  the new value, not null </param>
 /// <returns> this, for chaining, not null </returns>
 public Builder product(ResolvedSwaption product)
 {
     JodaBeanUtils.notNull(product, "product");
     this.product_Renamed = product;
     return(this);
 }
示例#10
0
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(ResolvedSwaptionTrade beanToCopy)
 {
     this.info_Renamed    = beanToCopy.Info;
     this.product_Renamed = beanToCopy.Product;
     this.premium_Renamed = beanToCopy.Premium;
 }