コード例 #1
0
        // calculate the last fixing date
        private LocalDate calculateLastFixingDate(LocalDate valuationDate, ReferenceData refData)
        {
            IborFixingDepositTrade    trade   = template.createTrade(valuationDate, BuySell.BUY, 0d, 0d, refData);
            ResolvedIborFixingDeposit deposit = trade.Product.resolve(refData);

            return(deposit.FloatingRate.FixingDate);
        }
        public virtual void test_metadata_last_fixing()
        {
            IborFixingDepositCurveNode node       = IborFixingDepositCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD).withDate(CurveNodeDate.LAST_FIXING);
            ImmutableMarketData        marketData = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, 0.0d).build();
            IborFixingDepositTrade     trade      = node.trade(1d, marketData, REF_DATA);
            ResolvedIborFixingDeposit  product    = trade.Product.resolve(REF_DATA);
            LocalDate fixingDate            = ((IborRateComputation)product.FloatingRate).FixingDate;
            DatedParameterMetadata metadata = node.metadata(VAL_DATE, REF_DATA);

            assertEquals(((TenorDateParameterMetadata)metadata).Date, fixingDate);
            assertEquals(((TenorDateParameterMetadata)metadata).Tenor.Period, TEMPLATE.DepositPeriod);
        }