コード例 #1
0
ファイル: AssetProductFactory.cs プロジェクト: biqueta/qwack
        public static AsianBasisSwap CreateBulletBasisSwap(DateTime payFixing, DateTime recFixing, double strike, string assetIdPay, string assetIdRec, Currency currency, double notionalPay, double notionalRec)
        {
            var payDate = payFixing.Max(recFixing);
            var swapPay = new Forward
            {
                AssetId     = assetIdPay,
                ExpiryDate  = payFixing,
                PaymentDate = payDate,
                Notional    = notionalPay,
                Strike      = strike,
            }.AsBulletSwap();
            var swapRec = new Forward
            {
                AssetId     = assetIdRec,
                ExpiryDate  = recFixing,
                PaymentDate = payDate,
                Notional    = notionalRec,
                Strike      = 0.0,
            }.AsBulletSwap();

            var swap = new AsianBasisSwap
            {
                PaySwaplets = new[] { swapPay },
                RecSwaplets = new[] { swapRec },
            };

            return(swap);
        }
コード例 #2
0
ファイル: AssetProductFactory.cs プロジェクト: biqueta/qwack
        public static AsianBasisSwap CreateTermAsianBasisSwap(DateTime start, DateTime end, double strike, string assetIdPay, string assetIdRec, Calendar fixingCalendarPay, Calendar fixingCalendarRec, DateTime payDate, Currency currency, Frequency spotLagPay = new Frequency(), Frequency spotLagRec = new Frequency(), double notionalPay = 1, double notionalRec = 1, DateGenerationType fixingDateType = DateGenerationType.BusinessDays)
        {
            var swapPay = CreateTermAsianSwap(start, end, -strike, assetIdPay, fixingCalendarPay, payDate, currency, TradeDirection.Long, spotLagPay, notionalPay);
            var swapRec = CreateTermAsianSwap(start, end, 0, assetIdRec, fixingCalendarRec, payDate, currency, TradeDirection.Short, spotLagRec, notionalRec);

            var swap = new AsianBasisSwap
            {
                PaySwaplets = new [] { swapPay },
                RecSwaplets = new [] { swapRec },
            };

            return(swap);
        }