예제 #1
0
        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);
        }
예제 #2
0
        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);
        }