コード例 #1
0
 private Date GetSpotDate(Date startDate, FxOption fxOption)
 {
     return(MarketExtensions.GetFxSpotDate(startDate,
                                           fxOption.UnderlyingFxSpotSettlement,
                                           fxOption.FgnCcy,
                                           fxOption.DomCcy,
                                           fxOption.FgnCalendar,
                                           fxOption.DomCalendar));
 }
コード例 #2
0
ファイル: BaseCurveObject.cs プロジェクト: stepinto163/Qdp
        protected FxSpot CreateFxSpot(RateMktData rateMktData)
        {
            var definition = (Definition as InstrumentCurveDefinition);

            var fgnCcy = definition.BaseCurveDefinition.CurveConvention.Currency.ToCurrencyCode();
            var domCcy = definition.CurveConvention.Currency.ToCurrencyCode();

            if (domCcy == fgnCcy)
            {
                return(null);
            }

            var fgnCalendar = CalendarImpl.Get(definition.BaseCurveDefinition.CurveConvention.Calendar);
            var domCalendar = CalendarImpl.Get(definition.CurveConvention.Calendar);
            var spotDate    = MarketExtensions.GetFxSpotDate(
                Market.ReferenceDate,
                new DayGap(rateMktData.Tenor),
                fgnCcy,
                domCcy,
                fgnCalendar,
                domCalendar
                );

            return(new FxSpot(
                       Market.ReferenceDate,
                       spotDate,
                       rateMktData.Rate,
                       domCalendar,
                       domCcy,
                       1.0,
                       fgnCalendar,
                       fgnCcy,
                       rateMktData.Rate,
                       domCcy
                       ));
        }