示例#1
0
            public override Builder set(string propertyName, object newValue)
            {
                switch (propertyName.GetHashCode())
                {
                case 1574023291:         // securityId
                    this.securityId_Renamed = (SecurityId)newValue;
                    break;

                case 1585636160:         // notional
                    this.notional_Renamed = (AdjustablePayment)newValue;
                    break;

                case 1905311443:         // dayCount
                    this.dayCount_Renamed = (DayCount)newValue;
                    break;

                case -1895216418:         // yieldConvention
                    this.yieldConvention_Renamed = (BillYieldConvention)newValue;
                    break;

                case 866287159:         // legalEntityId
                    this.legalEntityId_Renamed = (LegalEntityId)newValue;
                    break;

                case 135924714:         // settlementDateOffset
                    this.settlementDateOffset_Renamed = (DaysAdjustment)newValue;
                    break;

                default:
                    throw new NoSuchElementException("Unknown property: " + propertyName);
                }
                return(this);
            }
示例#2
0
 private CdsIndexTrade(TradeInfo info, CdsIndex product, AdjustablePayment upfrontFee)
 {
     JodaBeanUtils.notNull(info, "info");
     JodaBeanUtils.notNull(product, "product");
     this.info       = info;
     this.product    = product;
     this.upfrontFee = upfrontFee;
 }
示例#3
0
 private IborCapFloorTrade(TradeInfo info, IborCapFloor product, AdjustablePayment premium)
 {
     JodaBeanUtils.notNull(info, "info");
     JodaBeanUtils.notNull(product, "product");
     this.info    = info;
     this.product = product;
     this.premium = premium;
 }
示例#4
0
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(Bill beanToCopy)
 {
     this.securityId_Renamed           = beanToCopy.SecurityId;
     this.notional_Renamed             = beanToCopy.Notional;
     this.dayCount_Renamed             = beanToCopy.DayCount;
     this.yieldConvention_Renamed      = beanToCopy.YieldConvention;
     this.legalEntityId_Renamed        = beanToCopy.LegalEntityId;
     this.settlementDateOffset_Renamed = beanToCopy.SettlementDateOffset;
 }
 private FxSingleBarrierOptionTrade(TradeInfo info, FxSingleBarrierOption product, AdjustablePayment premium)
 {
     JodaBeanUtils.notNull(info, "info");
     JodaBeanUtils.notNull(product, "product");
     JodaBeanUtils.notNull(premium, "premium");
     this.info    = info;
     this.product = product;
     this.premium = premium;
 }
示例#6
0
 /// <summary>
 /// Creates an instance. </summary>
 /// <param name="securityId">  the value of the property, not null </param>
 /// <param name="notional">  the value of the property, not null </param>
 /// <param name="dayCount">  the value of the property, not null </param>
 /// <param name="yieldConvention">  the value of the property, not null </param>
 /// <param name="legalEntityId">  the value of the property, not null </param>
 /// <param name="settlementDateOffset">  the value of the property, not null </param>
 internal Bill(SecurityId securityId, AdjustablePayment notional, DayCount dayCount, BillYieldConvention yieldConvention, LegalEntityId legalEntityId, DaysAdjustment settlementDateOffset)
 {
     JodaBeanUtils.notNull(securityId, "securityId");
     JodaBeanUtils.notNull(notional, "notional");
     JodaBeanUtils.notNull(dayCount, "dayCount");
     JodaBeanUtils.notNull(yieldConvention, "yieldConvention");
     JodaBeanUtils.notNull(legalEntityId, "legalEntityId");
     JodaBeanUtils.notNull(settlementDateOffset, "settlementDateOffset");
     this.securityId           = securityId;
     this.notional             = notional;
     this.dayCount             = dayCount;
     this.yieldConvention      = yieldConvention;
     this.legalEntityId        = legalEntityId;
     this.settlementDateOffset = settlementDateOffset;
     validate();
 }
示例#7
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 = (CdsIndex)newValue;
                    break;

                case 963468344:         // upfrontFee
                    this.upfrontFee_Renamed = (AdjustablePayment)newValue;
                    break;

                default:
                    throw new NoSuchElementException("Unknown property: " + propertyName);
                }
                return(this);
            }
            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 = (FxSingleBarrierOption)newValue;
                    break;

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

                default:
                    throw new NoSuchElementException("Unknown property: " + propertyName);
                }
                return(this);
            }
示例#9
0
 /// <summary>
 /// Sets the upfront fee of the product.
 /// <para>
 /// This specifies a single amount payable by the buyer to the seller.
 /// Thus the sign must be compatible with the product Pay/Receive flag.
 /// </para>
 /// <para>
 /// Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.
 /// </para>
 /// </summary>
 /// <param name="upfrontFee">  the new value </param>
 /// <returns> this, for chaining, not null </returns>
 public Builder upfrontFee(AdjustablePayment upfrontFee)
 {
     this.upfrontFee_Renamed = upfrontFee;
     return(this);
 }
示例#10
0
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(CdsIndexTrade beanToCopy)
 {
     this.info_Renamed       = beanToCopy.Info;
     this.product_Renamed    = beanToCopy.Product;
     this.upfrontFee_Renamed = beanToCopy.upfrontFee;
 }
示例#11
0
 /// <summary>
 /// Sets the optional premium of the product.
 /// <para>
 /// For most Ibor cap/floor products, a premium is paid upfront. This typically occurs instead
 /// of periodic payments based on fixed or Ibor rates over the lifetime of the product.
 /// </para>
 /// <para>
 /// The premium sign must be compatible with the product Pay/Receive flag.
 /// </para>
 /// </summary>
 /// <param name="premium">  the new value </param>
 /// <returns> this, for chaining, not null </returns>
 public Builder premium(AdjustablePayment premium)
 {
     this.premium_Renamed = premium;
     return(this);
 }
 public CdsTrade createTrade(StandardId legalEntityId, LocalDate tradeDate, BuySell buySell, double notional, double fixedRate, AdjustablePayment upFrontFee, ReferenceData refData)
 {
     return(accrualStart.Equals(AccrualStart.IMM_DATE) ? convention.createTrade(legalEntityId, tradeDate, tenor, buySell, notional, fixedRate, upFrontFee, refData) : convention.createTrade(legalEntityId, tradeDate, tradeDate.plusDays(1), tenor, buySell, notional, fixedRate, upFrontFee, refData));
 }
示例#13
0
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(FxVanillaOptionTrade beanToCopy)
 {
     this.info_Renamed    = beanToCopy.Info;
     this.product_Renamed = beanToCopy.Product;
     this.premium_Renamed = beanToCopy.Premium;
 }
示例#14
0
 /// <summary>
 /// Sets the adjustable notional payment of the bill notional, the amount must be positive. </summary>
 /// <param name="notional">  the new value, not null </param>
 /// <returns> this, for chaining, not null </returns>
 public Builder notional(AdjustablePayment notional)
 {
     JodaBeanUtils.notNull(notional, "notional");
     this.notional_Renamed = notional;
     return(this);
 }
 /// <summary>
 /// Obtains an instance of a Swaption trade with an adjustable payment.
 /// </summary>
 /// <param name="info">  the trade info </param>
 /// <param name="product">  the product </param>
 /// <param name="premium">  the premium </param>
 /// <returns> the trade </returns>
 public static SwaptionTrade of(TradeInfo info, Swaption product, AdjustablePayment premium)
 {
     return(new SwaptionTrade(info, product, premium));
 }
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(FxSingleBarrierOptionTrade beanToCopy)
 {
     this.info_Renamed    = beanToCopy.Info;
     this.product_Renamed = beanToCopy.Product;
     this.premium_Renamed = beanToCopy.Premium;
 }
示例#17
0
 /// <summary>
 /// Restricted copy constructor. </summary>
 /// <param name="beanToCopy">  the bean to copy from, not null </param>
 internal Builder(IborCapFloorTrade beanToCopy)
 {
     this.info_Renamed    = beanToCopy.Info;
     this.product_Renamed = beanToCopy.Product;
     this.premium_Renamed = beanToCopy.premium;
 }
 /// <summary>
 /// Sets the premium of the FX option.
 /// <para>
 /// The premium sign should be compatible with the product Long/Short flag.
 /// This means that the premium is negative for long and positive for short.
 /// </para>
 /// </summary>
 /// <param name="premium">  the new value, not null </param>
 /// <returns> this, for chaining, not null </returns>
 public Builder premium(AdjustablePayment premium)
 {
     JodaBeanUtils.notNull(premium, "premium");
     this.premium_Renamed = premium;
     return(this);
 }
示例#19
0
 public CdsTrade createTrade(StandardId legalEntityId, LocalDate tradeDate, BuySell buySell, double notional, double fixedRate, AdjustablePayment upFrontFee, ReferenceData refData)
 {
     ArgChecker.inOrderNotEqual(tradeDate, endDate, "tradeDate", "endDate");
     return(convention.createTrade(legalEntityId, tradeDate, startDate, endDate, buySell, notional, fixedRate, upFrontFee, refData));
 }