public static Swaption Create(Swap swap, Payment[] premium, EuropeanExercise exercise, bool automaticExercise) { var swaption = new Swaption { swap = swap, premium = premium }; var europeanExercise = exercise; swaption.exerciseProcedure = new ExerciseProcedure(); if (automaticExercise) { XsdClassesFieldResolver.ExerciseProcedure_SetAutomaticExercise(swaption.exerciseProcedure, new AutomaticExercise()); } else//manual exercise { XsdClassesFieldResolver.ExerciseProcedure_SetManualExercise(swaption.exerciseProcedure, new ManualExercise()); } XsdClassesFieldResolver.Swaption_SetEuropeanExercise(swaption, europeanExercise); return(swaption); }
public static Swaption Create(Swap swap, decimal premiumAmount, DateTime expirationDate) { var swaption = new Swaption { swap = swap, premium = new[] { new Payment() } }; swaption.premium[0].paymentAmount = MoneyHelper.GetAmount(premiumAmount); var europeanExercise = new EuropeanExercise { expirationDate = new AdjustableOrRelativeDate() }; var adjustableDate = new AdjustableDate { unadjustedDate = new IdentifiedDate { Value = expirationDate } }; europeanExercise.expirationDate.Item = adjustableDate; XsdClassesFieldResolver.Swaption_SetEuropeanExercise(swaption, europeanExercise); return(swaption); }