public IAssetInstrument SetStrike(double strike) => new AsianBasisSwap { TradeId = TradeId, PaySwaplets = PaySwaplets.Select(x => (AsianSwap)x.SetStrike(strike)).ToArray(), RecSwaplets = RecSwaplets.Select(x => (AsianSwap)x.Clone()).ToArray(), };
public Dictionary <string, List <DateTime> > PastFixingDates(DateTime valDate) => PaySwaplets.SelectMany(x => x.PastFixingDates(valDate)) .Concat(RecSwaplets.SelectMany(x => x.PastFixingDates(valDate))) .Distinct() .ToDictionary(x => x.Key, x => x.Value);
public string[] IrCurves(IAssetFxModel model) => PaySwaplets.SelectMany(x => x.IrCurves(model)).Concat(RecSwaplets.SelectMany(x => x.IrCurves(model))).Distinct().ToArray();