예제 #1
0
        /// <summary>
        /// Creates a vanilla fx option.
        /// </summary>
        /// <param name="buyerPartyReference"></param>
        /// <param name="sellerPartyReference"></param>
        /// <param name="quotedAs"></param>
        /// <param name="expiryDate"></param>
        /// <param name="exerciseStyle"> </param>
        /// <param name="putCurrencyAmount"></param>
        /// <param name="callCurrencyAmount"></param>
        /// <param name="fxStrikePrice"></param>
        /// <param name="valueDate"></param>
        /// <param name="premia"></param>
        /// <returns></returns>
        public static FxOptionLeg CreateVanillaOption(PartyOrTradeSideReference buyerPartyReference,
                                                      PartyOrTradeSideReference sellerPartyReference, //FxOptionType optionType,
                                                      QuotedAs quotedAs, ExpiryDateTime expiryDate, ExerciseStyleEnum exerciseStyle,
                                                      Money putCurrencyAmount, Money callCurrencyAmount, FxStrikePrice fxStrikePrice,
                                                      DateTime valueDate, List <FxOptionPremium> premia)
        {
            var fxOption = new FxOptionLeg
            {
                putCurrencyAmount         = putCurrencyAmount,
                callCurrencyAmount        = callCurrencyAmount,
                fxStrikePrice             = fxStrikePrice,
                quotedAs                  = quotedAs,
                valueDate                 = valueDate,
                buyerPartyReference       = buyerPartyReference,
                sellerPartyReferenceField = sellerPartyReference,
                fxOptionPremium           = premia.ToArray(),
                expiryDateTime            = expiryDate,
                exerciseStyle             = exerciseStyle
            };

            return(fxOption);
        }
예제 #2
0
        /// <summary>
        /// Creates a vanilla fx option.
        /// </summary>
        /// <param name="buyerPartyReference"></param>
        /// <param name="sellerPartyReference"></param>
        /// <param name="fxEuropeanExercise"></param>
        /// <param name="soldAs"></param>
        /// <param name="fxCashSettlement"></param>
        /// <param name="putCurrencyAmount"></param>
        /// <param name="callCurrencyAmount"></param>
        /// <param name="fxStrikePrice"></param>
        /// <param name="valueDate"></param>
        /// <param name="premia"></param>
        /// <returns></returns>
        public static FxOption CreateVanillaFXOption(PartyReference buyerPartyReference,
                                                     PartyReference sellerPartyReference, FxEuropeanExercise fxEuropeanExercise,
                                                     PutCallEnum soldAs, FxCashSettlement fxCashSettlement,
                                                     //QuotedAs quotedAs, ExpiryDateTime expiryDate, ExerciseStyleEnum exerciseStyle,
                                                     NonNegativeMoney putCurrencyAmount, NonNegativeMoney callCurrencyAmount, FxStrikePrice fxStrikePrice,
                                                     DateTime valueDate, List <FxOptionPremium> premia)
        {
            var fxOption = new FxOption
            {
                putCurrencyAmount    = putCurrencyAmount,
                callCurrencyAmount   = callCurrencyAmount,
                strike               = fxStrikePrice,
                buyerPartyReference  = buyerPartyReference,
                sellerPartyReference = sellerPartyReference,
                premium              = premia.ToArray(),
                soldAs               = soldAs,
                cashSettlement       = fxCashSettlement,
                Item = fxEuropeanExercise
            };

            return(fxOption);
        }