Пример #1
0
 public IAssetInstrument Clone() => new AsianSwap
 {
     TradeId            = TradeId,
     Notional           = Notional,
     Direction          = Direction,
     AverageStartDate   = AverageStartDate,
     AverageEndDate     = AverageEndDate,
     FixingDates        = (DateTime[])FixingDates.Clone(),
     FixingCalendar     = FixingCalendar,
     PaymentCalendar    = PaymentCalendar,
     SpotLag            = SpotLag,
     SpotLagRollType    = SpotLagRollType,
     PaymentLag         = PaymentLag,
     PaymentLagRollType = PaymentLagRollType,
     PaymentDate        = PaymentDate,
     PaymentCurrency    = PaymentCurrency,
     AssetFixingId      = AssetFixingId,
     AssetId            = AssetId,
     DiscountCurve      = DiscountCurve,
     FxConversionType   = FxConversionType,
     FxFixingDates      = FxFixingDates == null ? null : (DateTime[])FxFixingDates.Clone(),
     FxFixingId         = FxFixingId,
     Strike             = Strike,
     Counterparty       = Counterparty,
     HedgingSet         = HedgingSet,
     PortfolioName      = PortfolioName
 };
Пример #2
0
 public IAssetInstrument Clone()
 {
     return(new AsianLookbackOption
     {
         TradeId = TradeId,
         Notional = Notional,
         Direction = Direction,
         ObsStartDate = ObsStartDate,
         ObsEndDate = ObsStartDate,
         FixingDates = (DateTime[])FixingDates.Clone(),
         FixingCalendar = FixingCalendar,
         PaymentCalendar = PaymentCalendar,
         SpotLag = SpotLag,
         SpotLagRollType = SpotLagRollType,
         PaymentLag = PaymentLag,
         PaymentLagRollType = PaymentLagRollType,
         PaymentDate = PaymentDate,
         PaymentCurrency = PaymentCurrency,
         AssetFixingId = AssetFixingId,
         AssetId = AssetId,
         DiscountCurve = DiscountCurve,
         FxConversionType = FxConversionType,
         FxFixingDates = FxFixingDates == null ? null : (DateTime[])FxFixingDates.Clone(),
         FxFixingId = FxFixingId,
     });
 }
Пример #3
0
 public IAssetInstrument Clone() => new MultiPeriodBackpricingOption
 {
     TradeId            = TradeId,
     Notional           = Notional,
     Direction          = Direction,
     PeriodDates        = PeriodDates,
     DecisionDate       = DecisionDate,
     FixingDates        = FixingDates.Select(x => (DateTime[])x.Clone()).ToList(),
     FixingCalendar     = FixingCalendar,
     PaymentCalendar    = PaymentCalendar,
     SpotLag            = SpotLag,
     SpotLagRollType    = SpotLagRollType,
     PaymentLag         = PaymentLag,
     PaymentLagRollType = PaymentLagRollType,
     PaymentDate        = PaymentDate,
     PaymentCurrency    = PaymentCurrency,
     AssetFixingId      = AssetFixingId,
     AssetId            = AssetId,
     DiscountCurve      = DiscountCurve,
     FxConversionType   = FxConversionType,
     FxFixingDates      = FxFixingDates?.Select(x => (DateTime[])x.Clone()).ToList(),
     FxFixingId         = FxFixingId,
     CallPut            = CallPut,
     Counterparty       = Counterparty,
     PortfolioName      = PortfolioName,
     SettlementDate     = SettlementDate
 };
Пример #4
0
 Enumerable.SequenceEqual(FixingDates ?? Array.Empty <DateTime>(), swap.FixingDates ?? Array.Empty <DateTime>()) &&
Пример #5
0
 public Dictionary <string, List <DateTime> > PastFixingDates(DateTime valDate) => valDate <= FixingDates.First() ?
 new Dictionary <string, List <DateTime> >() :
 new Dictionary <string, List <DateTime> >
 {
     { AssetId, FixingDates.Where(d => d < valDate).ToList() }
 };
Пример #6
0
 public Dictionary <string, List <DateTime> > PastFixingDates(DateTime valDate) => valDate <= FixingDates.Min(x => x.Min())?
 new Dictionary <string, List <DateTime> >() :
 new Dictionary <string, List <DateTime> >
 {
     { AssetId, FixingDates.SelectMany(x => x).Where(d => d < valDate).ToList() }
 };
Пример #7
0
 Enumerable.SequenceEqual(FixingDates, option.FixingDates) &&
Пример #8
0
 EqualityComparer <DateTime[]> .Default.Equals(FixingDates, swap.FixingDates) &&