/// <summary> /// CallableStructuredDeal constructor creating deal list. /// </summary> public CallableStructuredDeal() { Description = Property.DisplayName(typeof(CallableStructuredDeal)); Exercise_Dates = new ExercisePropertiesList(); fItems = new DealList(); Issuer = string.Empty; Survival_Probability = string.Empty; Option_Type = OptionType.Call; Settlement_Style = SettlementType2.Embedded; Recovery_Rate = string.Empty; }
/// <summary> /// Create a list of sorted exercise items with exercise date >= baseDate and exercise date <= deal's end date. /// </summary> internal static ExerciseList CreateExerciseList(double baseDate, double endDate, ExercisePropertiesList exercisePropertiesList, double principal) { return((from exerciseProperties in exercisePropertiesList let exerciseDate = exerciseProperties.Exercise_Date where !(exerciseDate < baseDate || exerciseDate > endDate) select new InterestRateOptionPricer.ExerciseItem { ExerciseDate = exerciseDate, SettlementDate = exerciseProperties.Settlement_Date, ExerciseFee = principal * exerciseProperties.Exercise_Fee }).ToList()); }